diff --git a/met/src/libcode/vx_tc_util/genesis_info.cc b/met/src/libcode/vx_tc_util/genesis_info.cc index 6ddeb9cd7f..91c708ff82 100644 --- a/met/src/libcode/vx_tc_util/genesis_info.cc +++ b/met/src/libcode/vx_tc_util/genesis_info.cc @@ -259,6 +259,7 @@ void GenesisInfo::set_dland(double d) { bool GenesisInfo::set(const TrackInfo &ti, const GenesisEventInfo &event_info) { + // Initialize clear(); @@ -298,6 +299,12 @@ int GenesisInfo::genesis_fhr() const { //////////////////////////////////////////////////////////////////////// +const TrackPoint * GenesisInfo::genesis() const { + return(is_bad_data(GenesisIndex) ? 0 : &(Point[GenesisIndex])); +} + +//////////////////////////////////////////////////////////////////////// + bool GenesisInfo::is_match(const TrackPoint &p, const double rad, const int beg, const int end) const { @@ -312,8 +319,10 @@ bool GenesisInfo::is_match(const TrackPoint &p, const double rad, bool GenesisInfo::is_match(const GenesisInfo &gi, const double rad, const int beg, const int end) const { - return(is_bad_data(GenesisIndex) ? false : - is_match(gi[GenesisIndex], rad, beg, end)); + // Input genesis point + const TrackPoint *p = gi.genesis(); + + return(p ? is_match(*p, rad, beg, end) : false); } //////////////////////////////////////////////////////////////////////// diff --git a/met/src/libcode/vx_tc_util/genesis_info.h b/met/src/libcode/vx_tc_util/genesis_info.h index 39ef811c60..9ef8afb742 100644 --- a/met/src/libcode/vx_tc_util/genesis_info.h +++ b/met/src/libcode/vx_tc_util/genesis_info.h @@ -90,6 +90,8 @@ class GenesisInfo : public TrackInfo { // get stuff // + const TrackPoint *genesis() const; + double lat() const; double lon() const; double dland() const; diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen.cc b/met/src/tools/tc_utils/tc_gen/tc_gen.cc index 87f1cb235f..743db7fd44 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen.cc +++ b/met/src/tools/tc_utils/tc_gen/tc_gen.cc @@ -597,9 +597,7 @@ int find_genesis_match(const GenesisInfo &fcst_gi, const TrackInfoArray &ota, bool point2track, double rad, int beg, int end) { - int i, j; - int i_best = bad_data_int; - int i_oper = bad_data_int; + int i, j, i_best, i_oper; ConcatString case_cs; case_cs << fcst_gi.technique() << " "