diff --git a/docs/Users_Guide/config_options.rst b/docs/Users_Guide/config_options.rst index 12bdda337f..195edca40a 100644 --- a/docs/Users_Guide/config_options.rst +++ b/docs/Users_Guide/config_options.rst @@ -514,8 +514,9 @@ containing a "key" string and "val" string. This defines a mapping of message type group names to a comma-separated list of values. This map is defined in the config files for PB2NC, Point-Stat, or Ensemble-Stat. Modify this map to define sets of message types that should be processed together as -a group. The "SURFACE" entry must be present to define message types for -which surface verification logic should be applied. +a group. The "SURFACE" entry defines message types for which surface verification +logic should be applied. If not defined, the default values listed below are +used. .. code-block:: none diff --git a/src/basic/vx_util/util_constants.h b/src/basic/vx_util/util_constants.h index 24ed650a80..05a5996685 100644 --- a/src/basic/vx_util/util_constants.h +++ b/src/basic/vx_util/util_constants.h @@ -80,6 +80,11 @@ static const char surface_msg_typ_group_str [] = "SURFACE"; // Surface message t static const char landsf_msg_typ_group_str [] = "LANDSF"; // Surface land message type group static const char watersf_msg_typ_group_str [] = "WATERSF"; // Surface water message type group +// Default message type group values +static const char default_msg_typ_group_surface [] = "ADPSFC,SFCSHP,MSONET"; +static const char default_msg_typ_group_landsf [] = "ADPSFC,MSONET"; +static const char default_msg_typ_group_watersf [] = "SFCSHP"; + // Commonly used regular expressions static const char yyyymmdd_hhmmss_reg_exp[] = "[0-9]\\{8,8\\}_[0-9]\\{6,6\\}"; diff --git a/src/tools/core/ensemble_stat/ensemble_stat_conf_info.cc b/src/tools/core/ensemble_stat/ensemble_stat_conf_info.cc index 714906c100..9a81994d67 100644 --- a/src/tools/core/ensemble_stat/ensemble_stat_conf_info.cc +++ b/src/tools/core/ensemble_stat/ensemble_stat_conf_info.cc @@ -165,15 +165,12 @@ void EnsembleStatConfInfo::process_config(GrdFileType etype, msg_typ_group_map = parse_conf_message_type_group_map(&conf); // Conf: message_type_group_map(SURFACE) - if(msg_typ_group_map.count((string)surface_msg_typ_group_str) == 0) { - mlog << Error << "\nEnsembleStatConfInfo::process_config() -> " - << "\"" << conf_key_message_type_group_map - << "\" must contain an entry for \"" - << surface_msg_typ_group_str << "\".\n\n"; - exit(1); + ConcatString cs = surface_msg_typ_group_str; + if(msg_typ_group_map.count(cs) > 0) { + msg_typ_sfc = msg_typ_group_map[cs]; } else { - msg_typ_sfc = msg_typ_group_map[(string)surface_msg_typ_group_str]; + msg_typ_sfc.parse_css(default_msg_typ_group_surface); } // Conf: ens_member_ids diff --git a/src/tools/core/point_stat/point_stat_conf_info.cc b/src/tools/core/point_stat/point_stat_conf_info.cc index 6579d04574..7b811ce17a 100644 --- a/src/tools/core/point_stat/point_stat_conf_info.cc +++ b/src/tools/core/point_stat/point_stat_conf_info.cc @@ -1018,18 +1018,30 @@ void PointStatVxOpt::set_vx_pd(PointStatConfInfo *conf_info) { if(conf_info->msg_typ_group_map.count(cs) > 0) { vx_pd.set_msg_typ_sfc(conf_info->msg_typ_group_map[cs]); } + else { + sa.parse_css(default_msg_typ_group_surface); + vx_pd.set_msg_typ_sfc(sa); + } // Store the surface land message type group cs = landsf_msg_typ_group_str; if(conf_info->msg_typ_group_map.count(cs) > 0) { vx_pd.set_msg_typ_lnd(conf_info->msg_typ_group_map[cs]); } + else { + sa.parse_css(default_msg_typ_group_landsf); + vx_pd.set_msg_typ_lnd(sa); + } // Store the surface water message type group cs = watersf_msg_typ_group_str; if(conf_info->msg_typ_group_map.count(cs) > 0) { vx_pd.set_msg_typ_wtr(conf_info->msg_typ_group_map[cs]); } + else { + sa.parse_css(default_msg_typ_group_watersf); + vx_pd.set_msg_typ_wtr(sa); + } // Define the verifying message type name and values for(i=0; i