diff --git a/parm/metplus/EnsembleStat_SFC.conf b/parm/metplus/EnsembleStat_ADPSFC.conf similarity index 84% rename from parm/metplus/EnsembleStat_SFC.conf rename to parm/metplus/EnsembleStat_ADPSFC.conf index 14c5c7b85a..627f99010d 100644 --- a/parm/metplus/EnsembleStat_SFC.conf +++ b/parm/metplus/EnsembleStat_ADPSFC.conf @@ -70,15 +70,15 @@ ENSEMBLE_STAT_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus EnsembleStat logging level -# 0 quiet to 5 loud, Verbosity setting for METplus EnsembleStat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -LOG_ENSEMBLE_STAT_VERBOSITY = 3 - +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# +# Observation data time window(s). +# OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 - OBS_ENSEMBLE_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_ENSEMBLE_STAT_WINDOW_END = {OBS_WINDOW_END} @@ -93,14 +93,12 @@ ENSEMBLE_STAT_ENS_THRESH = 0.05 # ens.vld_thresh value in the MET config file ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 -FIELDNAME_IN_MET_FILEDIR_NAMES = {{fieldname_in_met_filedir_names}} - ENSEMBLE_STAT_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #ENSEMBLE_STAT_OBS_QUALITY_EXC = # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. -# If the variable is not defined, or the value is not set -# than the MET default is used. +# If the variable is not defined, or the value is not set, then the MET +# default is used. ENSEMBLE_STAT_MET_OBS_ERR_TABLE = {MET_BASE}/table_files/obs_error_table.txt @@ -114,11 +112,9 @@ ENSEMBLE_STAT_REGRID_TO_GRID = NONE ENSEMBLE_STAT_CENSOR_THRESH = ENSEMBLE_STAT_CENSOR_VAL = -ENSEMBLE_STAT_MESSAGE_TYPE = ADP{FIELDNAME_IN_MET_FILEDIR_NAMES} - +ENSEMBLE_STAT_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}} ENSEMBLE_STAT_DUPLICATE_FLAG = NONE ENSEMBLE_STAT_SKIP_CONST = FALSE - ENSEMBLE_STAT_OBS_ERROR_FLAG = FALSE ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE = 1.0 @@ -191,58 +187,57 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE # FCST_VAR1_NAME = TMP FCST_VAR1_LEVELS = Z2 -FCST_VAR1_THRESH = >=268, >=273, >=278, >=293, >=298, >=303 +FCST_VAR1_THRESH = ge268, ge273, ge278, ge293, ge298, ge303 OBS_VAR1_NAME = TMP OBS_VAR1_LEVELS = Z2 -OBS_VAR1_THRESH = >=268, >=273, >=278, >=293, >=298, >=303 +OBS_VAR1_THRESH = ge268, ge273, ge278, ge293, ge298, ge303 OBS_VAR1_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR2_NAME = DPT FCST_VAR2_LEVELS = Z2 -FCST_VAR2_THRESH = >=263, >=268, >=273, >=288, >=293, >=298 +FCST_VAR2_THRESH = ge263, ge268, ge273, ge288, ge293, ge298 OBS_VAR2_NAME = DPT OBS_VAR2_LEVELS = Z2 -OBS_VAR2_THRESH = >=263, >=268, >=273, >=288, >=293, >=298 +OBS_VAR2_THRESH = ge263, ge268, ge273, ge288, ge293, ge298 OBS_VAR2_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR3_NAME = WIND FCST_VAR3_LEVELS = Z10 -FCST_VAR3_THRESH = >=5, >=10, >=15 -FCST_VAR3_OPTIONS = GRIB2_pdt = 0; ;; derive instantaneous 10-m wind from U/V components, overriding max 10-m wind +FCST_VAR3_THRESH = ge5, ge10, ge15 +FCST_VAR3_OPTIONS = GRIB2_pdt = 0; ;; Derive instantaneous 10-m wind from U/V components, overriding max 10-m wind. OBS_VAR3_NAME = WIND OBS_VAR3_LEVELS = Z10 -OBS_VAR3_THRESH = >=5, >=10, >=15 +OBS_VAR3_THRESH = ge5, ge10, ge15 OBS_VAR3_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR4_NAME = TCDC FCST_VAR4_LEVELS = L0 -FCST_VAR4_THRESH = <25, >75 -FCST_VAR4_OPTIONS = GRIB_lvl_typ = 200; GRIB2_ipdtmpl_index=[27]; GRIB2_ipdtmpl_val=[255]; interp = { type = [ { method = NEAREST; width = 1; } ]; } +FCST_VAR4_THRESH = lt25, gt75 +FCST_VAR4_OPTIONS = GRIB_lvl_typ = 200; + GRIB2_ipdtmpl_index=[27]; + GRIB2_ipdtmpl_val=[255]; + interp = { type = [ { method = NEAREST; width = 1; } ]; } OBS_VAR4_NAME = TCDC OBS_VAR4_LEVELS = L0 -OBS_VAR4_THRESH = <25, >75 +OBS_VAR4_THRESH = lt25, gt75 -#BOTH_VAR5_NAME = VIS -#BOTH_VAR5_LEVELS = L0 -#BOTH_VAR5_THRESH = <1609, <8045, >=8045 -#BOTH_VAR5_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } FCST_VAR5_NAME = VIS FCST_VAR5_LEVELS = L0 -FCST_VAR5_THRESH = <1609, <8045, >=8045 +FCST_VAR5_THRESH = lt1609, lt8045, ge8045 FCST_VAR5_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } OBS_VAR5_NAME = VIS OBS_VAR5_LEVELS = L0 -OBS_VAR5_THRESH = <1609, <8045, >=8045 +OBS_VAR5_THRESH = lt1609, lt8045, ge8045 FCST_VAR6_NAME = HGT FCST_VAR6_LEVELS = L0 -FCST_VAR6_THRESH = <152, <1520, >=914 -FCST_VAR6_OPTIONS = GRIB_lvl_typ = 215; desc = "CEILING"; +FCST_VAR6_THRESH = lt152, lt1520, ge914 +FCST_VAR6_OPTIONS = GRIB_lvl_typ = 215; + desc = "CEILING"; OBS_VAR6_NAME = CEILING OBS_VAR6_LEVELS = L0 -#OBS_VAR6_OPTIONS = GRIB_lvl_typ = 215; interp = { type = [ { method = NEAREST; width = 1; } ]; } +OBS_VAR6_THRESH = lt152, lt305, ge914 OBS_VAR6_OPTIONS = GRIB_lvl_typ = 215 -OBS_VAR6_THRESH = <152, <305, >=914 [dir] # @@ -295,7 +290,7 @@ OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = {{obs_input_fn_template}} # OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = # -# Template for forecast input to EnsembleStat relative to +# Template for forecast input to EnsembleStat relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -306,7 +301,7 @@ FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} # Template for output from EnsembleStat relative to ENSEMBLE_STAT_OUTPUT_DIR. # ENSEMBLE_STAT_OUTPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_ADP{FIELDNAME_IN_MET_FILEDIR_NAMES}_{OBTYPE}_{lead?fmt=%H%M%S}L +ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L # # Template for climatology input to EnsembleStat relative to # ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/EnsembleStat_UPA.conf b/parm/metplus/EnsembleStat_ADPUPA.conf similarity index 86% rename from parm/metplus/EnsembleStat_UPA.conf rename to parm/metplus/EnsembleStat_ADPUPA.conf index 4bc2bad3d0..d843a2e123 100644 --- a/parm/metplus/EnsembleStat_UPA.conf +++ b/parm/metplus/EnsembleStat_ADPUPA.conf @@ -70,15 +70,15 @@ ENSEMBLE_STAT_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus EnsembleStat logging level -# 0 quiet to 5 loud, Verbosity setting for METplus EnsembleStat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -LOG_ENSEMBLE_STAT_VERBOSITY = 3 - +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# +# Observation data time window(s). +# OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 - OBS_ENSEMBLE_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_ENSEMBLE_STAT_WINDOW_END = {OBS_WINDOW_END} @@ -93,14 +93,12 @@ ENSEMBLE_STAT_ENS_THRESH = 0.05 # ens.vld_thresh value in the MET config file ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 -FIELDNAME_IN_MET_FILEDIR_NAMES = {{fieldname_in_met_filedir_names}} - ENSEMBLE_STAT_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #ENSEMBLE_STAT_OBS_QUALITY_EXC = # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. -# If the variable is not defined, or the value is not set -# than the MET default is used. +# If the variable is not defined, or the value is not set, then the MET +# default is used. ENSEMBLE_STAT_MET_OBS_ERR_TABLE = {MET_BASE}/table_files/obs_error_table.txt @@ -114,11 +112,9 @@ ENSEMBLE_STAT_REGRID_TO_GRID = NONE ENSEMBLE_STAT_CENSOR_THRESH = ENSEMBLE_STAT_CENSOR_VAL = -ENSEMBLE_STAT_MESSAGE_TYPE = ADP{FIELDNAME_IN_MET_FILEDIR_NAMES} - +ENSEMBLE_STAT_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}} ENSEMBLE_STAT_DUPLICATE_FLAG = NONE ENSEMBLE_STAT_SKIP_CONST = FALSE - ENSEMBLE_STAT_OBS_ERROR_FLAG = FALSE ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE = 1.0 @@ -191,100 +187,101 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE # FCST_VAR1_NAME = TMP FCST_VAR1_LEVELS = P850 -FCST_VAR1_THRESH = >=288, >=293, >=298 +FCST_VAR1_THRESH = ge288, ge293, ge298 OBS_VAR1_NAME = TMP OBS_VAR1_LEVELS = P850 -OBS_VAR1_THRESH = >=288, >=293, >=298 +OBS_VAR1_THRESH = ge288, ge293, ge298 OBS_VAR1_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR2_NAME = TMP FCST_VAR2_LEVELS = P700 -FCST_VAR2_THRESH = >=273, >=278, >=283 +FCST_VAR2_THRESH = ge273, ge278, ge283 OBS_VAR2_NAME = TMP OBS_VAR2_LEVELS = P700 -OBS_VAR2_THRESH = >=273, >=278, >=283 +OBS_VAR2_THRESH = ge273, ge278, ge283 OBS_VAR2_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR3_NAME = TMP FCST_VAR3_LEVELS = P500 -FCST_VAR3_THRESH = >=258, >=263, >=268 +FCST_VAR3_THRESH = ge258, ge263, ge268 OBS_VAR3_NAME = TMP OBS_VAR3_LEVELS = P500 -OBS_VAR3_THRESH = >=258, >=263, >=268 +OBS_VAR3_THRESH = ge258, ge263, ge268 OBS_VAR3_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR4_NAME = DPT FCST_VAR4_LEVELS = P850 -FCST_VAR4_THRESH = >=273, >=278, >=283 +FCST_VAR4_THRESH = ge273, ge278, ge283 OBS_VAR4_NAME = DPT OBS_VAR4_LEVELS = P850 -OBS_VAR4_THRESH = >=273, >=278, >=283 +OBS_VAR4_THRESH = ge273, ge278, ge283 OBS_VAR4_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR5_NAME = DPT FCST_VAR5_LEVELS = P700 -FCST_VAR5_THRESH = >=263, >=286, >=273 +FCST_VAR5_THRESH = ge263, ge286, ge273 OBS_VAR5_NAME = DPT OBS_VAR5_LEVELS = P700 -OBS_VAR5_THRESH = >=263, >=286, >=273 +OBS_VAR5_THRESH = ge263, ge286, ge273 OBS_VAR5_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR6_NAME = WIND FCST_VAR6_LEVELS = P850 -FCST_VAR6_THRESH = >=5, >=10, >=15 +FCST_VAR6_THRESH = ge5, ge10, ge15 OBS_VAR6_NAME = WIND OBS_VAR6_LEVELS = P850 -OBS_VAR6_THRESH = >=5, >=10, >=15 +OBS_VAR6_THRESH = ge5, ge10, ge15 OBS_VAR6_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR7_NAME = WIND FCST_VAR7_LEVELS = P700 -FCST_VAR7_THRESH = >=10, >=15, >=20 +FCST_VAR7_THRESH = ge10, ge15, ge20 OBS_VAR7_NAME = WIND OBS_VAR7_LEVELS = P700 -OBSVAR7_THRESH = >=10, >=15, >=20 +OBS_VAR7_THRESH = ge10, ge15, ge20 OBS_VAR7_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR8_NAME = WIND FCST_VAR8_LEVELS = P500 -FCST_VAR8_THRESH = >=15, >=21, >=26 +FCST_VAR8_THRESH = ge15, ge21, ge26 OBS_VAR8_NAME = WIND OBS_VAR8_LEVELS = P500 -OBS_VAR8_THRESH = >=15, >=21, >=26 +OBS_VAR8_THRESH = ge15, ge21, ge26 OBS_VAR8_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR9_NAME = WIND FCST_VAR9_LEVELS = P250 -FCST_VAR9_THRESH = >=26, >=31, >=36, >=46, >=62 +FCST_VAR9_THRESH = ge26, ge31, ge36, ge46, ge62 OBS_VAR9_NAME = WIND OBS_VAR9_LEVELS = P250 -OBS_VAR9_THRESH = >=26, >=31, >=36, >=46, >=62 +OBS_VAR9_THRESH = ge26, ge31, ge36, ge46, ge62 OBS_VAR9_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR10_NAME = HGT FCST_VAR10_LEVELS = P500 -FCST_VAR10_THRESH = >=5400, >=5600, >=5880 +FCST_VAR10_THRESH = ge5400, ge5600, ge5880 OBS_VAR10_NAME = HGT OBS_VAR10_LEVELS = P500 -OBS_VAR10_THRESH = >=5400, >=5600, >=5880 +OBS_VAR10_THRESH = ge5400, ge5600, ge5880 OBS_VAR10_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; } FCST_VAR11_NAME = CAPE FCST_VAR11_LEVELS = L0 +FCST_VAR11_THRESH = le1000, gt1000&<2500, ge2500&<4000, ge2500 FCST_VAR11_OPTIONS = cnt_thresh = [ >0 ]; -FCST_VAR11_THRESH = <=1000, >1000&&<2500, >=2500&&<4000, >=2500 OBS_VAR11_NAME = CAPE OBS_VAR11_LEVELS = L0-100000 -OBS_VAR11_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; -OBS_VAR11_THRESH = <=1000, >1000&&<2500, >=2500&&<4000, >=2500 +OBS_VAR11_THRESH = le1000, gt1000&<2500, ge2500&<4000, ge2500 +OBS_VAR11_OPTIONS = cnt_thresh = [ >0 ]; + cnt_logic = UNION; FCST_VAR12_NAME = HPBL FCST_VAR12_LEVELS = Z0 -FCST_VAR12_THRESH = <500, <1500, >1500 +FCST_VAR12_THRESH = lt500, lt1500, gt1500 OBS_VAR12_NAME = PBL OBS_VAR12_LEVELS = L0 +OBS_VAR12_THRESH = lt500, lt1500, gt1500 OBS_VAR12_OPTIONS = desc = "TKE"; -OBS_VAR12_THRESH = <500, <1500, >1500 [dir] # @@ -337,7 +334,7 @@ OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = {{obs_input_fn_template}} # OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = # -# Template for forecast input to EnsembleStat relative to +# Template for forecast input to EnsembleStat relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -348,7 +345,7 @@ FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} # Template for output from EnsembleStat relative to ENSEMBLE_STAT_OUTPUT_DIR. # ENSEMBLE_STAT_OUTPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_ADP{FIELDNAME_IN_MET_FILEDIR_NAMES}_{OBTYPE}_{lead?fmt=%H%M%S}L +ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L # # Template for climatology input to EnsembleStat relative to # ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/EnsembleStat_APCP01h.conf b/parm/metplus/EnsembleStat_APCP.conf similarity index 90% rename from parm/metplus/EnsembleStat_APCP01h.conf rename to parm/metplus/EnsembleStat_APCP.conf index aa85f5dc51..88e86b4563 100644 --- a/parm/metplus/EnsembleStat_APCP01h.conf +++ b/parm/metplus/EnsembleStat_APCP.conf @@ -70,15 +70,15 @@ ENSEMBLE_STAT_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus EnsembleStat logging level -# 0 quiet to 5 loud, Verbosity setting for METplus EnsembleStat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_ENSEMBLE_STAT_VERBOSITY = 2 - +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# +# Observation data time window(s). +# OBS_FILE_WINDOW_BEGIN = 0 OBS_FILE_WINDOW_END = 0 - OBS_ENSEMBLE_STAT_WINDOW_BEGIN = 0 OBS_ENSEMBLE_STAT_WINDOW_END = 0 @@ -93,11 +93,9 @@ ENSEMBLE_STAT_ENS_THRESH = 0.05 # ens.vld_thresh value in the MET config file ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 -FIELDNAME_IN_MET_FILEDIR_NAMES = {{fieldname_in_met_filedir_names}} - # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. -# If the variable is not defined, or the value is not set -# than the MET default is used. +# If the variable is not defined, or the value is not set, then the MET +# default is used. ENSEMBLE_STAT_MET_OBS_ERR_TABLE = {MET_BASE}/table_files/obs_error_table.txt @@ -112,10 +110,8 @@ ENSEMBLE_STAT_CENSOR_THRESH = ENSEMBLE_STAT_CENSOR_VAL = ENSEMBLE_STAT_MESSAGE_TYPE = - ENSEMBLE_STAT_DUPLICATE_FLAG = UNIQUE ENSEMBLE_STAT_SKIP_CONST = TRUE - ENSEMBLE_STAT_OBS_ERROR_FLAG = TRUE ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE = 1.0 @@ -181,20 +177,17 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_NMEP = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE # -# Precipitation accumulation interval in 2-digit hours. -# -ACCUM_HH = {{accum_hh}} -# # Forecast and observation variables and levels as specified in the fcst # field dictionary of the MET configuration file. Specify as FCST_VARn_NAME, # FCST_VARn_LEVELS, (optional) FCST_VARn_OPTION and OBS_VARn_NAME, # OBS_VARn_LEVELS, (optional) OBS_VARn_OPTION. # -FCST_VAR1_NAME = {{fieldname_in_fcst_input}} -FCST_VAR1_LEVELS = A{ACCUM_HH} -FCST_VAR1_OPTIONS = ens_ssvar_bin_size = 50.0; ens_phist_bin_size = 0.05; -OBS_VAR1_NAME = {{fieldname_in_obs_input}} -OBS_VAR1_LEVELS = A{ACCUM_HH} +FCST_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +FCST_VAR1_LEVELS = A{{accum_hh}} +FCST_VAR1_OPTIONS = ens_ssvar_bin_size = 50.0; + ens_phist_bin_size = 0.05; +OBS_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR1_LEVELS = A{{accum_hh}} OBS_VAR1_OPTIONS = {FCST_VAR1_OPTIONS} [dir] @@ -248,7 +241,7 @@ OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = # OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = {{obs_input_fn_template}} # -# Template for forecast input to EnsembleStat relative to +# Template for forecast input to EnsembleStat relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -259,7 +252,7 @@ FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} # Template for output from EnsembleStat relative to ENSEMBLE_STAT_OUTPUT_DIR. # ENSEMBLE_STAT_OUTPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{FIELDNAME_IN_MET_FILEDIR_NAMES}_{OBTYPE}_{lead?fmt=%H%M%S}L +ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L # # Template for climatology input to EnsembleStat relative to # ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/EnsembleStat_APCPgt01h.conf b/parm/metplus/EnsembleStat_APCPgt01h.conf deleted file mode 100644 index e748642b9b..0000000000 --- a/parm/metplus/EnsembleStat_APCPgt01h.conf +++ /dev/null @@ -1,285 +0,0 @@ -# EnsembleStat METplus Configuration - -[config] - -# List of applications (tools) to run. -PROCESS_LIST = EnsembleStat - -# time looping - options are INIT, VALID, RETRO, and REALTIME -# If set to INIT or RETRO: -# INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set -# If set to VALID or REALTIME: -# VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set -LOOP_BY = INIT - -# Format of INIT_BEG and INIT_END using % items -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d%H expands to YYYYMMDDHH -INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT -INIT_BEG = {{cdate}} - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END = {{cdate}} - -# Increment between METplus runs (in seconds if no units are specified). -# Must be >= 60 seconds. -INIT_INCREMENT = 3600 - -# List of forecast leads to process for each run time (init or valid) -# In hours if units are not specified -# If unset, defaults to 0 (don't loop through forecast leads) -LEAD_SEQ = {{fhr_list}} -# -# Order of loops to process data - Options are times, processes -# Not relevant if only one item is in the PROCESS_LIST -# times = run all wrappers in the PROCESS_LIST for a single run time, then -# increment the run time and run all wrappers again until all times have -# been evaluated. -# processes = run the first wrapper in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST until all -# wrappers have been run -# -LOOP_ORDER = times -# -# Specify the name of the METplus log file. -# -LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} -# -# Specify the location and name of the final METplus conf file. -# -METPLUS_CONF = {ENSEMBLE_STAT_OUTPUT_DIR}/metplus_final.{{metplus_config_fn}} -# -# Location of MET configuration file to pass to EnsembleStat. -# -# References PARM_BASE, which is the location of the parm directory -# corresponding to the ush directory of the run_metplus.py script that -# is called or the value of the environment variable METPLUS_PARM_BASE -# if set. -# -ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped -# -# Name to identify model (forecast) data in output. -# -MODEL = {{vx_fcst_model_name}} - -ENSEMBLE_STAT_DESC = NA -# -# Name to identify observation data in output. -# -OBTYPE = {{obtype}} -# -# Forecast data description variables. -# -FCST_IS_PROB = false - -FCST_NATIVE_DATA_TYPE = GRIB -OBS_NATIVE_DATA_TYPE = GRIB - -# The METplus EnsembleStat logging level -# 0 quiet to 5 loud, Verbosity setting for METplus EnsembleStat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_ENSEMBLE_STAT_VERBOSITY = 2 - -OBS_FILE_WINDOW_BEGIN = 0 -OBS_FILE_WINDOW_END = 0 - -OBS_ENSEMBLE_STAT_WINDOW_BEGIN = 0 -OBS_ENSEMBLE_STAT_WINDOW_END = 0 - -# number of expected members for ensemble. Should correspond with the -# number of items in the list for FCST_ENSEMBLE_STAT_INPUT_TEMPLATE -ENSEMBLE_STAT_N_MEMBERS = {{num_ens_members}} - -# ens.ens_thresh value in the MET config file -# threshold for ratio of valid files to expected files to allow app to run -ENSEMBLE_STAT_ENS_THRESH = 0.05 - -# ens.vld_thresh value in the MET config file -ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 - -FIELDNAME_IN_MET_FILEDIR_NAMES = {{fieldname_in_met_filedir_names}} - -# ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. -# If the variable is not defined, or the value is not set -# than the MET default is used. -ENSEMBLE_STAT_MET_OBS_ERR_TABLE = {MET_BASE}/table_files/obs_error_table.txt - - -# Used in the MET config file for: regrid to_grid field -ENSEMBLE_STAT_REGRID_TO_GRID = FCST -ENSEMBLE_STAT_REGRID_METHOD = BUDGET -ENSEMBLE_STAT_REGRID_WIDTH = 2 -ENSEMBLE_STAT_REGRID_VLD_THRESH = 0.5 -ENSEMBLE_STAT_REGRID_SHAPE = SQUARE - -ENSEMBLE_STAT_CENSOR_THRESH = -ENSEMBLE_STAT_CENSOR_VAL = - -ENSEMBLE_STAT_MESSAGE_TYPE = - -ENSEMBLE_STAT_DUPLICATE_FLAG = UNIQUE -ENSEMBLE_STAT_SKIP_CONST = TRUE - -ENSEMBLE_STAT_OBS_ERROR_FLAG = TRUE - -ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE = 1.0 -ENSEMBLE_STAT_ENS_PHIST_BIN_SIZE = 0.05 - -#ENSEMBLE_STAT_CLIMO_MEAN_FILE_NAME = -#ENSEMBLE_STAT_CLIMO_MEAN_FIELD = -#ENSEMBLE_STAT_CLIMO_MEAN_REGRID_METHOD = -#ENSEMBLE_STAT_CLIMO_MEAN_REGRID_WIDTH = -#ENSEMBLE_STAT_CLIMO_MEAN_REGRID_VLD_THRESH = -#ENSEMBLE_STAT_CLIMO_MEAN_REGRID_SHAPE = -#ENSEMBLE_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#ENSEMBLE_STAT_CLIMO_MEAN_MATCH_MONTH = -#ENSEMBLE_STAT_CLIMO_MEAN_DAY_INTERVAL = 31 -#ENSEMBLE_STAT_CLIMO_MEAN_HOUR_INTERVAL = 6 - -#ENSEMBLE_STAT_CLIMO_STDEV_FILE_NAME = -#ENSEMBLE_STAT_CLIMO_STDEV_FIELD = -#ENSEMBLE_STAT_CLIMO_STDEV_REGRID_METHOD = -#ENSEMBLE_STAT_CLIMO_STDEV_REGRID_WIDTH = -#ENSEMBLE_STAT_CLIMO_STDEV_REGRID_VLD_THRESH = -#ENSEMBLE_STAT_CLIMO_STDEV_REGRID_SHAPE = -#ENSEMBLE_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = -#ENSEMBLE_STAT_CLIMO_STDEV_MATCH_MONTH = -#ENSEMBLE_STAT_CLIMO_STDEV_DAY_INTERVAL = 31 -#ENSEMBLE_STAT_CLIMO_STDEV_HOUR_INTERVAL = 6 - - -ENSEMBLE_STAT_CLIMO_CDF_BINS = 1 -ENSEMBLE_STAT_CLIMO_CDF_CENTER_BINS = False -ENSEMBLE_STAT_CLIMO_CDF_WRITE_BINS = False - -ENSEMBLE_STAT_MASK_GRID = - -ENSEMBLE_STAT_CI_ALPHA = 0.05 - -ENSEMBLE_STAT_INTERP_FIELD = BOTH -ENSEMBLE_STAT_INTERP_VLD_THRESH = 1.0 -ENSEMBLE_STAT_INTERP_SHAPE = SQUARE -ENSEMBLE_STAT_INTERP_METHOD = NEAREST -ENSEMBLE_STAT_INTERP_WIDTH = 1 - -ENSEMBLE_STAT_OUTPUT_FLAG_ECNT = STAT -ENSEMBLE_STAT_OUTPUT_FLAG_RPS = NONE -ENSEMBLE_STAT_OUTPUT_FLAG_RHIST = STAT -ENSEMBLE_STAT_OUTPUT_FLAG_PHIST = STAT -ENSEMBLE_STAT_OUTPUT_FLAG_ORANK = STAT -ENSEMBLE_STAT_OUTPUT_FLAG_SSVAR = STAT -ENSEMBLE_STAT_OUTPUT_FLAG_RELP = STAT - -ENSEMBLE_STAT_ENSEMBLE_FLAG_LATLON = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_MEAN = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_STDEV = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_MINUS = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_PLUS = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_MIN = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_MAX = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_RANGE = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_VLD_COUNT = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_FREQUENCY = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_NEP = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_NMEP = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = FALSE -ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE -# -# Precipitation accumulation interval in 2-digit hours. -# -ACCUM_HH = {{accum_hh}} -# -# Forecast and observation variables and levels as specified in the fcst -# field dictionary of the MET configuration file. Specify as FCST_VARn_NAME, -# FCST_VARn_LEVELS, (optional) FCST_VARn_OPTION and OBS_VARn_NAME, -# OBS_VARn_LEVELS, (optional) OBS_VARn_OPTION. -# -FCST_VAR1_NAME = {{fieldname_in_met_output}} -FCST_VAR1_LEVELS = A{ACCUM_HH} -FCST_VAR1_OPTIONS = ens_ssvar_bin_size = 50.0; ens_phist_bin_size = 0.05; -OBS_VAR1_NAME = {{fieldname_in_met_output}} -OBS_VAR1_LEVELS = A{ACCUM_HH} -OBS_VAR1_OPTIONS = {FCST_VAR1_OPTIONS} - -[dir] -# -# OUTPUT_BASE apparently has to be set to something; it cannot be left -# to its default value. But it is not explicitly used elsewhere in this -# configuration file. -# -OUTPUT_BASE = {{output_base}} -# -# Point observation input directory for EnsembleStat. -# -OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = -# -# Grid observation input directory for EnsembleStat. -# -OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {{obs_input_dir}} -# -# Forecast model input directory for EnsembleStat. -# -FCST_ENSEMBLE_STAT_INPUT_DIR = {{fcst_input_dir}} -# -# Directory containing climatology mean input to EnsembleStat. Not used -# in this example -# -ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = -# -# Directory containing climatology mean input to EnsembleStat. Not used -# in this example. -# -ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# -# Output directory for EnsembleStat. -# -ENSEMBLE_STAT_OUTPUT_DIR = {{output_dir}} -# -# Directory for staging data. -# -STAGING_DIR = {{staging_dir}} - -# End of [dir] section and start of [filename_templates] section. -[filename_templates] -# -# Template for point observation input to EnsembleStat relative to -# OBS_ENSEMBLE_STAT_POINT_INPUT_DIR. -# -OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = -# -# Template for gridded observation input to EnsembleStat relative to -# OBS_ENSEMBLE_STAT_GRID_INPUT_DIR. -# -OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = {{obs_input_fn_template}} -# -# Template for forecast input to EnsembleStat relative to -# FCST_ENSEMBLE_STAT_INPUT_DIR. -# -# Note that this can be a comma separated list of ensemble members -# or a single line, - filename wildcard characters may be used, ? or *. -# -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} -# -# Template for output from EnsembleStat relative to ENSEMBLE_STAT_OUTPUT_DIR. -# -ENSEMBLE_STAT_OUTPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{FIELDNAME_IN_MET_FILEDIR_NAMES}_{OBTYPE}_{lead?fmt=%H%M%S}L - -# -# Template for climatology input to EnsembleStat relative to -# ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. -# -ENSEMBLE_STAT_CLIMO_MEAN_INPUT_TEMPLATE = -# -# Template for climatology input to EnsembleStat relative to -# ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. -# -ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -# -# Variable used to specify one or more verification mask files for -# EnsembleStat. Not used for this example. -# -ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE = {MET_INSTALL_DIR}/share/met/poly/CONUS.poly diff --git a/parm/metplus/EnsembleStat_ASNOW.conf b/parm/metplus/EnsembleStat_ASNOW.conf index f472a109ff..9d12890e7f 100644 --- a/parm/metplus/EnsembleStat_ASNOW.conf +++ b/parm/metplus/EnsembleStat_ASNOW.conf @@ -70,15 +70,15 @@ ENSEMBLE_STAT_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus EnsembleStat logging level -# 0 quiet to 5 loud, Verbosity setting for METplus EnsembleStat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_ENSEMBLE_STAT_VERBOSITY = 2 - +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# +# Observation data time window(s). +# OBS_FILE_WINDOW_BEGIN = 0 OBS_FILE_WINDOW_END = 0 - OBS_ENSEMBLE_STAT_WINDOW_BEGIN = 0 OBS_ENSEMBLE_STAT_WINDOW_END = 0 @@ -93,11 +93,9 @@ ENSEMBLE_STAT_ENS_THRESH = 0.05 # ens.vld_thresh value in the MET config file ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 -FIELDNAME_IN_MET_FILEDIR_NAMES = {{fieldname_in_met_filedir_names}} - # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. -# If the variable is not defined, or the value is not set -# than the MET default is used. +# If the variable is not defined, or the value is not set, then the MET +# default is used. ENSEMBLE_STAT_MET_OBS_ERR_TABLE = {MET_BASE}/table_files/obs_error_table.txt @@ -112,10 +110,8 @@ ENSEMBLE_STAT_CENSOR_THRESH = ENSEMBLE_STAT_CENSOR_VAL = ENSEMBLE_STAT_MESSAGE_TYPE = - ENSEMBLE_STAT_DUPLICATE_FLAG = UNIQUE ENSEMBLE_STAT_SKIP_CONST = TRUE - ENSEMBLE_STAT_OBS_ERROR_FLAG = TRUE ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE = 1.0 @@ -181,21 +177,19 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_NMEP = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE # -# Precipitation accumulation interval in 2-digit hours. -# -ACCUM_HH = {{accum_hh}} -# # Forecast and observation variables and levels as specified in the fcst # field dictionary of the MET configuration file. Specify as FCST_VARn_NAME, # FCST_VARn_LEVELS, (optional) FCST_VARn_OPTION and OBS_VARn_NAME, # OBS_VARn_LEVELS, (optional) OBS_VARn_OPTION. # -FCST_VAR1_NAME = {{fieldname_in_met_output}} -FCST_VAR1_LEVELS = A{ACCUM_HH} -FCST_VAR1_OPTIONS = ens_ssvar_bin_size = 50.0; ens_phist_bin_size = 0.05; +FCST_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +FCST_VAR1_LEVELS = A{{accum_hh}} +FCST_VAR1_OPTIONS = ens_ssvar_bin_size = 50.0; + ens_phist_bin_size = 0.05; OBS_VAR1_NAME = {{fieldname_in_obs_input}} -OBS_VAR1_LEVELS = A{ACCUM_HH} -OBS_VAR1_OPTIONS = {FCST_VAR1_OPTIONS}; convert(x) = 100.0*x; +OBS_VAR1_LEVELS = A{{accum_hh}} +OBS_VAR1_OPTIONS = {FCST_VAR1_OPTIONS}; + convert(x) = 100.0*x; [dir] # @@ -248,7 +242,7 @@ OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = # OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = {{obs_input_fn_template}} # -# Template for forecast input to EnsembleStat relative to +# Template for forecast input to EnsembleStat relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -259,7 +253,7 @@ FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} # Template for output from EnsembleStat relative to ENSEMBLE_STAT_OUTPUT_DIR. # ENSEMBLE_STAT_OUTPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{FIELDNAME_IN_MET_FILEDIR_NAMES}{{accum_hh}}h_{OBTYPE}_{lead?fmt=%H%M%S}L +ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L # # Template for climatology input to EnsembleStat relative to # ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/EnsembleStat_REFC.conf b/parm/metplus/EnsembleStat_REFC.conf index d6fe4874c8..332d665bb9 100644 --- a/parm/metplus/EnsembleStat_REFC.conf +++ b/parm/metplus/EnsembleStat_REFC.conf @@ -70,15 +70,15 @@ ENSEMBLE_STAT_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus EnsembleStat logging level -# 0 quiet to 5 loud, Verbosity setting for METplus EnsembleStat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_ENSEMBLE_STAT_VERBOSITY = 2 - +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# +# Observation data time window(s). +# OBS_FILE_WINDOW_BEGIN = -300 OBS_FILE_WINDOW_END = 300 - OBS_ENSEMBLE_STAT_WINDOW_BEGIN = 0 OBS_ENSEMBLE_STAT_WINDOW_END = 0 @@ -93,11 +93,9 @@ ENSEMBLE_STAT_ENS_THRESH = 0.05 # ens.vld_thresh value in the MET config file ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 -FIELDNAME_IN_MET_FILEDIR_NAMES = {{fieldname_in_met_filedir_names}} - # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. -# If the variable is not defined, or the value is not set -# than the MET default is used. +# If the variable is not defined, or the value is not set, then the MET +# default is used. ENSEMBLE_STAT_MET_OBS_ERR_TABLE = @@ -114,10 +112,8 @@ ENSEMBLE_STAT_CENSOR_VAL = # Should this parameter be set to something other than ADPSFC (maybe # just leave empty) since we are not verifying surface fields? ENSEMBLE_STAT_MESSAGE_TYPE = ADPSFC - ENSEMBLE_STAT_DUPLICATE_FLAG = NONE ENSEMBLE_STAT_SKIP_CONST = TRUE - ENSEMBLE_STAT_OBS_ERROR_FLAG = FALSE ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE = 1.0 @@ -190,10 +186,16 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE # FCST_VAR1_NAME = {{fieldname_in_fcst_input}} FCST_VAR1_LEVELS = L0 -FCST_VAR1_OPTIONS = ens_ssvar_bin_size = 50.0; ens_phist_bin_size = 0.05; +FCST_VAR1_OPTIONS = ens_ssvar_bin_size = 50.0; + ens_phist_bin_size = 0.05; OBS_VAR1_NAME = {{fieldname_in_obs_input}} OBS_VAR1_LEVELS = Z500 -OBS_VAR1_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; ens_ssvar_bin_size = 50.0; ens_phist_bin_size = 0.05; +OBS_VAR1_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + ens_ssvar_bin_size = 50.0; + ens_phist_bin_size = 0.05; [dir] # @@ -246,7 +248,7 @@ OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = # OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = {{obs_input_fn_template}} # -# Template for forecast input to EnsembleStat relative to +# Template for forecast input to EnsembleStat relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -257,7 +259,7 @@ FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} # Template for output from EnsembleStat relative to ENSEMBLE_STAT_OUTPUT_DIR. # ENSEMBLE_STAT_OUTPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{FIELDNAME_IN_MET_FILEDIR_NAMES}_{OBTYPE}_{lead?fmt=%H%M%S}L +ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L # # Template for climatology input to EnsembleStat relative to # ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/EnsembleStat_RETOP.conf b/parm/metplus/EnsembleStat_RETOP.conf index 55ac5fc8b1..2066d2aaba 100644 --- a/parm/metplus/EnsembleStat_RETOP.conf +++ b/parm/metplus/EnsembleStat_RETOP.conf @@ -70,15 +70,15 @@ ENSEMBLE_STAT_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus EnsembleStat logging level -# 0 quiet to 5 loud, Verbosity setting for METplus EnsembleStat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_ENSEMBLE_STAT_VERBOSITY = 2 - +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# +# Observation data time window(s). +# OBS_FILE_WINDOW_BEGIN = -300 OBS_FILE_WINDOW_END = 300 - OBS_ENSEMBLE_STAT_WINDOW_BEGIN = 0 OBS_ENSEMBLE_STAT_WINDOW_END = 0 @@ -93,11 +93,9 @@ ENSEMBLE_STAT_ENS_THRESH = 0.05 # ens.vld_thresh value in the MET config file ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 -FIELDNAME_IN_MET_FILEDIR_NAMES = {{fieldname_in_met_filedir_names}} - # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. -# If the variable is not defined, or the value is not set -# than the MET default is used. +# If the variable is not defined, or the value is not set, then the MET +# default is used. ENSEMBLE_STAT_MET_OBS_ERR_TABLE = @@ -114,10 +112,8 @@ ENSEMBLE_STAT_CENSOR_VAL = # Should this parameter be set to something other than ADPSFC (maybe # just leave empty) since we are not verifying surface fields? ENSEMBLE_STAT_MESSAGE_TYPE = ADPSFC - ENSEMBLE_STAT_DUPLICATE_FLAG = NONE ENSEMBLE_STAT_SKIP_CONST = TRUE - ENSEMBLE_STAT_OBS_ERROR_FLAG = FALSE ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE = 1.0 @@ -190,12 +186,18 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE # FCST_VAR1_NAME = {{fieldname_in_fcst_input}} FCST_VAR1_LEVELS = L0 -# convert from meters to kilofeet: M_to_KFT(x) = x * 3.28084 * 0.001; -FCST_VAR1_OPTIONS = convert(x) = x * 3.28084 * 0.001; ens_ssvar_bin_size = 50.0; ens_phist_bin_size = 0.05; +FCST_VAR1_OPTIONS = convert(x) = x * 3.28084 * 0.001; ;; Convert from meters to kilofeet. + ens_ssvar_bin_size = 50.0; + ens_phist_bin_size = 0.05; OBS_VAR1_NAME = {{fieldname_in_obs_input}} OBS_VAR1_LEVELS = Z500 -# convert from kilometers to kilofeet: KM_to_KFT(x) = x * 3280.84 * 0.001; -OBS_VAR1_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; ens_ssvar_bin_size = 50.0; ens_phist_bin_size = 0.05; +OBS_VAR1_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; ;; Convert from kilometers to kilofeet. + ens_ssvar_bin_size = 50.0; + ens_phist_bin_size = 0.05; [dir] # @@ -248,7 +250,7 @@ OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = # OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = {{obs_input_fn_template}} # -# Template for forecast input to EnsembleStat relative to +# Template for forecast input to EnsembleStat relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -259,7 +261,7 @@ FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} # Template for output from EnsembleStat relative to ENSEMBLE_STAT_OUTPUT_DIR. # ENSEMBLE_STAT_OUTPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{FIELDNAME_IN_MET_FILEDIR_NAMES}_{OBTYPE}_{lead?fmt=%H%M%S}L +ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L # # Template for climatology input to EnsembleStat relative to # ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/GenEnsProd_SFC.conf b/parm/metplus/GenEnsProd_ADPSFC.conf similarity index 84% rename from parm/metplus/GenEnsProd_SFC.conf rename to parm/metplus/GenEnsProd_ADPSFC.conf index 47b49b9adb..cb253f575b 100644 --- a/parm/metplus/GenEnsProd_SFC.conf +++ b/parm/metplus/GenEnsProd_ADPSFC.conf @@ -61,11 +61,10 @@ GEN_ENS_PROD_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus GenEnsProd logging level -# 0 quiet to 5 loud, Verbosity setting for MET gen_ens_prod output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_GEN_ENS_PROD_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} ### # File I/O @@ -76,7 +75,7 @@ OBTYPE = {{obtype}} # GEN_ENS_PROD_INPUT_DIR = {{fcst_input_dir}} # -# Template for forecast input to GenEnsProd relative to +# Template for forecast input to GenEnsProd relative to # GEN_ENS_PROD_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -100,7 +99,7 @@ GEN_ENS_PROD_OUTPUT_DIR = {{output_dir}} # # Template for output from GenEnsProd relative to GEN_ENS_PROD_OUTPUT_DIR. # -GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{MODEL}_ADP{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d_%H%M%S}V.nc +GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d_%H%M%S}V.nc # # Directory for staging data. # @@ -113,38 +112,42 @@ GEN_ENS_PROD_N_MEMBERS = {{num_ens_members}} ### # Field Info ### - -# Ensemble Variables and levels as specified in the ens field dictionary +# +# Ensemble variables and levels as specified in the ens field dictionary # of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, # (optional) ENS_VARn_OPTION +# ENS_VAR1_NAME = TMP ENS_VAR1_LEVELS = Z02 -ENS_VAR1_THRESH = >=268, >=273, >=278, >=293, >=298, >=303 +ENS_VAR1_THRESH = ge268, ge273, ge278, ge293, ge298, ge303 ENS_VAR2_NAME = DPT ENS_VAR2_LEVELS = Z2 -ENS_VAR2_THRESH = >=263, >=268, >=273, >=288, >=293, >=298 +ENS_VAR2_THRESH = ge263, ge268, ge273, ge288, ge293, ge298 ENS_VAR3_NAME = WIND ENS_VAR3_LEVELS = Z10 -ENS_VAR3_THRESH = >=5, >=10, >=15 -ENS_VAR3_OPTIONS = GRIB2_pdt = 0; ;; derive instantaneous 10-m wind from U/V components, overriding max 10-m wind +ENS_VAR3_THRESH = ge5, ge10, ge15 +ENS_VAR3_OPTIONS = GRIB2_pdt = 0; ;; Derive instantaneous 10-m wind from U/V components, overriding max 10-m wind. ENS_VAR4_NAME = TCDC ENS_VAR4_LEVELS = L0 -ENS_VAR4_THRESH = <25, >75 -ENS_VAR4_OPTIONS = GRIB_lvl_typ = 200; GRIB2_ipdtmpl_index=[27]; GRIB2_ipdtmpl_val=[255]; interp = { type = [ { method = NEAREST; width = 1; } ]; } +ENS_VAR4_THRESH = lt25, gt75 +ENS_VAR4_OPTIONS = GRIB_lvl_typ = 200; + GRIB2_ipdtmpl_index=[27]; + GRIB2_ipdtmpl_val=[255]; + interp = { type = [ { method = NEAREST; width = 1; } ]; } ENS_VAR5_NAME = VIS ENS_VAR5_LEVELS = L0 -ENS_VAR5_THRESH = <1609, <8045, >=8045 +ENS_VAR5_THRESH = lt1609, lt8045, ge8045 ENS_VAR5_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } ENS_VAR6_NAME = HGT ENS_VAR6_LEVELS = L0 -ENS_VAR6_THRESH = <152, <1520, >=914 -ENS_VAR6_OPTIONS = GRIB_lvl_typ = 215; desc = "CEILING"; - +ENS_VAR6_THRESH = lt152, lt1520, ge914 +ENS_VAR6_OPTIONS = GRIB_lvl_typ = 215; + desc = "CEILING"; ### # GenEnsProd diff --git a/parm/metplus/GenEnsProd_UPA.conf b/parm/metplus/GenEnsProd_ADPUPA.conf similarity index 85% rename from parm/metplus/GenEnsProd_UPA.conf rename to parm/metplus/GenEnsProd_ADPUPA.conf index ee1ceb42ca..863427752f 100644 --- a/parm/metplus/GenEnsProd_UPA.conf +++ b/parm/metplus/GenEnsProd_ADPUPA.conf @@ -61,11 +61,10 @@ GEN_ENS_PROD_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus GenEnsProd logging level -# 0 quiet to 5 loud, Verbosity setting for MET gen_ens_prod output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_GEN_ENS_PROD_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} ### # File I/O @@ -76,7 +75,7 @@ OBTYPE = {{obtype}} # GEN_ENS_PROD_INPUT_DIR = {{fcst_input_dir}} # -# Template for forecast input to GenEnsProd relative to +# Template for forecast input to GenEnsProd relative to # GEN_ENS_PROD_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -100,7 +99,7 @@ GEN_ENS_PROD_OUTPUT_DIR = {{output_dir}} # # Template for output from GenEnsProd relative to GEN_ENS_PROD_OUTPUT_DIR. # -GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{MODEL}_ADP{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d_%H%M%S}V.nc +GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d_%H%M%S}V.nc # # Directory for staging data. # @@ -113,58 +112,59 @@ GEN_ENS_PROD_N_MEMBERS = {{num_ens_members}} ### # Field Info ### - -# Ensemble Variables and levels as specified in the ens field dictionary +# +# Ensemble variables and levels as specified in the ens field dictionary # of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, # (optional) ENS_VARn_OPTION +# ENS_VAR1_NAME = TMP ENS_VAR1_LEVELS = P850 -ENS_VAR1_THRESH = >=288, >=293, >=298 +ENS_VAR1_THRESH = ge288, ge293, ge298 ENS_VAR2_NAME = TMP ENS_VAR2_LEVELS = P700 -ENS_VAR2_THRESH = >=273, >=278, >=283 +ENS_VAR2_THRESH = ge273, ge278, ge283 ENS_VAR3_NAME = TMP ENS_VAR3_LEVELS = P500 -ENS_VAR3_THRESH = >=258, >=263, >=268 +ENS_VAR3_THRESH = ge258, ge263, ge268 ENS_VAR4_NAME = DPT ENS_VAR4_LEVELS = P850 -ENS_VAR4_THRESH = >=273, >=278, >=283 +ENS_VAR4_THRESH = ge273, ge278, ge283 ENS_VAR5_NAME = DPT ENS_VAR5_LEVELS = P700 -ENS_VAR5_THRESH = >=263, >=268, >=273 +ENS_VAR5_THRESH = ge263, ge268, ge273 ENS_VAR6_NAME = WIND ENS_VAR6_LEVELS = P850 -ENS_VAR6_THRESH = >=5, >=10, >=15 +ENS_VAR6_THRESH = ge5, ge10, ge15 ENS_VAR7_NAME = WIND ENS_VAR7_LEVELS = P700 -ENS_VAR7_THRESH = >=10, >=15, >=20 +ENS_VAR7_THRESH = ge10, ge15, ge20 ENS_VAR8_NAME = WIND ENS_VAR8_LEVELS = P500 -ENS_VAR8_THRESH = >=15, >=21, >=26 +ENS_VAR8_THRESH = ge15, ge21, ge26 ENS_VAR9_NAME = WIND ENS_VAR9_LEVELS = P250 -ENS_VAR9_THRESH = >=26, >=31, >=36, >=46, >=62 +ENS_VAR9_THRESH = ge26, ge31, ge36, ge46, ge62 ENS_VAR10_NAME = HGT ENS_VAR10_LEVELS = P500 -ENS_VAR10_THRESH = >=5400, >=5600, >=5880 +ENS_VAR10_THRESH = ge5400, ge5600, ge5880 ENS_VAR11_NAME = CAPE ENS_VAR11_LEVELS = L0 +ENS_VAR11_THRESH = le1000, gt1000&<2500, gt2500&<4000, gt2500 ENS_VAR11_OPTIONS = cnt_thresh = [ >0 ]; -ENS_VAR11_THRESH = <=1000, >1000&&<2500, >2500&&<4000, >2500 ENS_VAR12_NAME = HPBL ENS_VAR12_LEVELS = Z0 -ENS_VAR12_THRESH = <500, <1500, >1500 +ENS_VAR12_THRESH = lt500, lt1500, gt1500 ### # GenEnsProd diff --git a/parm/metplus/GenEnsProd_APCP01h.conf b/parm/metplus/GenEnsProd_APCP.conf similarity index 93% rename from parm/metplus/GenEnsProd_APCP01h.conf rename to parm/metplus/GenEnsProd_APCP.conf index d60c8d3ce0..0d05843a87 100644 --- a/parm/metplus/GenEnsProd_APCP01h.conf +++ b/parm/metplus/GenEnsProd_APCP.conf @@ -61,11 +61,10 @@ GEN_ENS_PROD_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus GenEnsProd logging level -# 0 quiet to 5 loud, Verbosity setting for MET gen_ens_prod output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_GEN_ENS_PROD_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} ### # File I/O @@ -76,7 +75,7 @@ OBTYPE = {{obtype}} # GEN_ENS_PROD_INPUT_DIR = {{fcst_input_dir}} # -# Template for forecast input to GenEnsProd relative to +# Template for forecast input to GenEnsProd relative to # GEN_ENS_PROD_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -113,11 +112,12 @@ GEN_ENS_PROD_N_MEMBERS = {{num_ens_members}} ### # Field Info ### - -# Ensemble Variables and levels as specified in the ens field dictionary +# +# Ensemble variables and levels as specified in the ens field dictionary # of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, # (optional) ENS_VARn_OPTION -ENS_VAR1_NAME = {{fieldname_in_fcst_input}} +# +ENS_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} ENS_VAR1_LEVELS = A{{accum_hh}} ENS_VAR1_THRESH = {{field_thresholds}} diff --git a/parm/metplus/GenEnsProd_APCPgt01h.conf b/parm/metplus/GenEnsProd_APCPgt01h.conf deleted file mode 100644 index 08886087d9..0000000000 --- a/parm/metplus/GenEnsProd_APCPgt01h.conf +++ /dev/null @@ -1,204 +0,0 @@ -# GenEnsProd METplus Configuration - -[config] - -# List of applications (tools) to run. -PROCESS_LIST = GenEnsProd - -# time looping - options are INIT, VALID, RETRO, and REALTIME -# If set to INIT or RETRO: -# INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set -# If set to VALID or REALTIME: -# VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set -LOOP_BY = INIT - -# Format of INIT_BEG and INIT_END using % items -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d%H expands to YYYYMMDDHH -INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT -INIT_BEG = {{cdate}} - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END = {{cdate}} - -# Increment between METplus runs (in seconds if no units are specified). -# Must be >= 60 seconds. -INIT_INCREMENT = 3600 - -# List of forecast leads to process for each run time (init or valid) -# In hours if units are not specified -# If unset, defaults to 0 (don't loop through forecast leads) -LEAD_SEQ = {{fhr_list}} -# -# Order of loops to process data - Options are times, processes -# Not relevant if only one item is in the PROCESS_LIST -# times = run all wrappers in the PROCESS_LIST for a single run time, then -# increment the run time and run all wrappers again until all times have -# been evaluated. -# processes = run the first wrapper in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST until all -# wrappers have been run -# -LOOP_ORDER = times -# -# Specify the name of the METplus log file. -# -LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} -# -# Specify the location and name of the final METplus conf file. -# -METPLUS_CONF = {GEN_ENS_PROD_OUTPUT_DIR}/metplus_final.{{metplus_config_fn}} -# -# Name to identify model (forecast) data in output. -# -MODEL = {{vx_fcst_model_name}} - -GEN_ENS_PROD_DESC = NA -# -# Name to identify observation data in output. -# -OBTYPE = {{obtype}} - -# The METplus GenEnsProd logging level -# 0 quiet to 5 loud, Verbosity setting for MET gen_ens_prod output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_GEN_ENS_PROD_VERBOSITY = 2 - -### -# File I/O -### - -# -# Forecast model input directory for GenEnsProd. -# -GEN_ENS_PROD_INPUT_DIR = {{fcst_input_dir}} -# -# Template for forecast input to GenEnsProd relative to -# GEN_ENS_PROD_INPUT_DIR. -# -# Note that this can be a comma separated list of ensemble members -# or a single line, - filename wildcard characters may be used, ? or *. -# -GEN_ENS_PROD_INPUT_TEMPLATE = {{fcst_input_fn_template}} - -# Forecast data description variables -FCST_IS_PROB = false - -# GEN_ENS_PROD_CTRL_INPUT_DIR = {INPUT_BASE} -# GEN_ENS_PROD_CTRL_INPUT_TEMPLATE = -# {init?fmt=%Y%m%d%H}/mem1/postprd/{ENV[NET]}.t{init?fmt=%H}z.bgdawpf{lead?fmt=%HHH}.tm{init?fmt=%H}.grib2 - -# -# Output directory for GenEnsProd. -# -# OUTPUT_BASE apparently has to be set to something; it cannot be left -# to its default value. But it is not explicitly used elsewhere in this -# configuration file. -# -OUTPUT_BASE = {{output_base}} -GEN_ENS_PROD_OUTPUT_DIR = {{output_dir}} -# -# Template for output from GenEnsProd relative to GEN_ENS_PROD_OUTPUT_DIR. -# -GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d_%H%M%S}V.nc -# -# Directory for staging data. -# -STAGING_DIR = {{staging_dir}} -# -# There are n ensembles but 1 is used as control, so specify n-1 members. -# -GEN_ENS_PROD_N_MEMBERS = {{num_ens_members}} - -### -# Field Info -### - -# Ensemble Variables and levels as specified in the ens field dictionary -# of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, -# (optional) ENS_VARn_OPTION -# Note: -# For APCP variables with accumulation periods greater than 1 hour (e.g. -# 03h, 06h, 24h), ENS_VAR1_NAME in the corresponding METplus configuration -# file specifies the name of the field in the NetCDF file(s) generated by -# MET's pcp_combine tool. This tool reads in the grib2 file(s) containing -# 1 hour accumulation data and outputs NetCDF file(s) with the appropriate -# > 1 hour accumulation. These output NetCDF files name their arrays as -# specified by the environment variable fieldname_in_met_output. Thus, -# that is the value we set ENS_VAR1_NAME to here, not to the name of the -# variable in the grib2 file. -ENS_VAR1_NAME = {{fieldname_in_met_output}} -ENS_VAR1_LEVELS = A{{accum_hh}} -ENS_VAR1_THRESH = {{field_thresholds}} - -### -# GenEnsProd -### - -# GEN_ENS_PROD_REGRID_TO_GRID = NONE -# GEN_ENS_PROD_REGRID_METHOD = NEAREST -# GEN_ENS_PROD_REGRID_WIDTH = 1 -# GEN_ENS_PROD_REGRID_VLD_THRESH = 0.5 -# GEN_ENS_PROD_REGRID_SHAPE = SQUARE - -# GEN_ENS_PROD_CENSOR_THRESH = -# GEN_ENS_PROD_CENSOR_VAL = -# GEN_ENS_PROD_CAT_THRESH = -# GEN_ENS_PROD_NC_VAR_STR = - -# Threshold for ratio of valid files to expected files to allow app to run -GEN_ENS_PROD_ENS_THRESH = 0.05 - -GEN_ENS_PROD_NBRHD_PROB_WIDTH = 27 -GEN_ENS_PROD_NBRHD_PROB_SHAPE = CIRCLE -GEN_ENS_PROD_NBRHD_PROB_VLD_THRESH = 0.0 - -# GEN_ENS_PROD_NMEP_SMOOTH_VLD_THRESH = 0.0 -# GEN_ENS_PROD_NMEP_SMOOTH_SHAPE = CIRCLE -# GEN_ENS_PROD_NMEP_SMOOTH_GAUSSIAN_DX = 81.27 -# GEN_ENS_PROD_NMEP_SMOOTH_GAUSSIAN_RADIUS = 120 -# GEN_ENS_PROD_NMEP_SMOOTH_METHOD = GAUSSIAN -# GEN_ENS_PROD_NMEP_SMOOTH_WIDTH = 1 - -# GEN_ENS_PROD_CLIMO_MEAN_FILE_NAME = -# GEN_ENS_PROD_CLIMO_MEAN_FIELD = -# GEN_ENS_PROD_CLIMO_MEAN_REGRID_METHOD = -# GEN_ENS_PROD_CLIMO_MEAN_REGRID_WIDTH = -# GEN_ENS_PROD_CLIMO_MEAN_REGRID_VLD_THRESH = -# GEN_ENS_PROD_CLIMO_MEAN_REGRID_SHAPE = -# GEN_ENS_PROD_CLIMO_MEAN_TIME_INTERP_METHOD = -# GEN_ENS_PROD_CLIMO_MEAN_MATCH_MONTH = -# GEN_ENS_PROD_CLIMO_MEAN_DAY_INTERVAL = 31 -# GEN_ENS_PROD_CLIMO_MEAN_HOUR_INTERVAL = 6 - -# GEN_ENS_PROD_CLIMO_STDEV_FILE_NAME = -# GEN_ENS_PROD_CLIMO_STDEV_FIELD = -# GEN_ENS_PROD_CLIMO_STDEV_REGRID_METHOD = -# GEN_ENS_PROD_CLIMO_STDEV_REGRID_WIDTH = -# GEN_ENS_PROD_CLIMO_STDEV_REGRID_VLD_THRESH = -# GEN_ENS_PROD_CLIMO_STDEV_REGRID_SHAPE = -# GEN_ENS_PROD_CLIMO_STDEV_TIME_INTERP_METHOD = -# GEN_ENS_PROD_CLIMO_STDEV_MATCH_MONTH = -# GEN_ENS_PROD_CLIMO_STDEV_DAY_INTERVAL = 31 -# GEN_ENS_PROD_CLIMO_STDEV_HOUR_INTERVAL = 6 - -GEN_ENS_PROD_ENSEMBLE_FLAG_LATLON = TRUE -GEN_ENS_PROD_ENSEMBLE_FLAG_MEAN = TRUE -GEN_ENS_PROD_ENSEMBLE_FLAG_STDEV = TRUE -GEN_ENS_PROD_ENSEMBLE_FLAG_MINUS = FALSE -GEN_ENS_PROD_ENSEMBLE_FLAG_PLUS = FALSE -GEN_ENS_PROD_ENSEMBLE_FLAG_MIN = FALSE -GEN_ENS_PROD_ENSEMBLE_FLAG_MAX = FALSE -GEN_ENS_PROD_ENSEMBLE_FLAG_RANGE = TRUE -GEN_ENS_PROD_ENSEMBLE_FLAG_VLD_COUNT = TRUE -GEN_ENS_PROD_ENSEMBLE_FLAG_FREQUENCY = TRUE -GEN_ENS_PROD_ENSEMBLE_FLAG_NEP = TRUE -GEN_ENS_PROD_ENSEMBLE_FLAG_NMEP = TRUE -GEN_ENS_PROD_ENSEMBLE_FLAG_CLIMO = FALSE -GEN_ENS_PROD_ENSEMBLE_FLAG_CLIMO_CDF = FALSE - -# GEN_ENS_PROD_ENS_MEMBER_IDS = -# GEN_ENS_PROD_CONTROL_ID = diff --git a/parm/metplus/GenEnsProd_ASNOW.conf b/parm/metplus/GenEnsProd_ASNOW.conf index c552ec047c..ea9dac02d9 100644 --- a/parm/metplus/GenEnsProd_ASNOW.conf +++ b/parm/metplus/GenEnsProd_ASNOW.conf @@ -61,11 +61,10 @@ GEN_ENS_PROD_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus GenEnsProd logging level -# 0 quiet to 5 loud, Verbosity setting for MET gen_ens_prod output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_GEN_ENS_PROD_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} ### # File I/O @@ -76,7 +75,7 @@ OBTYPE = {{obtype}} # GEN_ENS_PROD_INPUT_DIR = {{fcst_input_dir}} # -# Template for forecast input to GenEnsProd relative to +# Template for forecast input to GenEnsProd relative to # GEN_ENS_PROD_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -100,7 +99,7 @@ GEN_ENS_PROD_OUTPUT_DIR = {{output_dir}} # # Template for output from GenEnsProd relative to GEN_ENS_PROD_OUTPUT_DIR. # -GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{MODEL}_{{fieldname_in_met_filedir_names}}_{{accum_hh}}h_{OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d_%H%M%S}V.nc +GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d_%H%M%S}V.nc # # Directory for staging data. # @@ -114,10 +113,12 @@ GEN_ENS_PROD_N_MEMBERS = {{num_ens_members}} # Field Info ### -# Ensemble Variables and levels as specified in the ens field dictionary +# +# Ensemble variables and levels as specified in the ens field dictionary # of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, # (optional) ENS_VARn_OPTION -ENS_VAR1_NAME = {{fieldname_in_met_output}} +# +ENS_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} ENS_VAR1_LEVELS = A{{accum_hh}} ENS_VAR1_THRESH = {{field_thresholds}} diff --git a/parm/metplus/GenEnsProd_REFC.conf b/parm/metplus/GenEnsProd_REFC.conf index 8c02f71d64..553c23f69e 100644 --- a/parm/metplus/GenEnsProd_REFC.conf +++ b/parm/metplus/GenEnsProd_REFC.conf @@ -61,11 +61,10 @@ GEN_ENS_PROD_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus GenEnsProd logging level -# 0 quiet to 5 loud, Verbosity setting for MET gen_ens_prod output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_GEN_ENS_PROD_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} ### # File I/O @@ -76,7 +75,7 @@ OBTYPE = {{obtype}} # GEN_ENS_PROD_INPUT_DIR = {{fcst_input_dir}} # -# Template for forecast input to GenEnsProd relative to +# Template for forecast input to GenEnsProd relative to # GEN_ENS_PROD_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -113,10 +112,11 @@ GEN_ENS_PROD_N_MEMBERS = {{num_ens_members}} ### # Field Info ### - -# Ensemble Variables and levels as specified in the ens field dictionary +# +# Ensemble variables and levels as specified in the ens field dictionary # of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, # (optional) ENS_VARn_OPTION +# ENS_VAR1_NAME = {{fieldname_in_fcst_input}} ENS_VAR1_LEVELS = L0 ENS_VAR1_THRESH = {{field_thresholds}} diff --git a/parm/metplus/GenEnsProd_RETOP.conf b/parm/metplus/GenEnsProd_RETOP.conf index 111b3bfccc..49e5e5c3b6 100644 --- a/parm/metplus/GenEnsProd_RETOP.conf +++ b/parm/metplus/GenEnsProd_RETOP.conf @@ -61,11 +61,10 @@ GEN_ENS_PROD_DESC = NA # Name to identify observation data in output. # OBTYPE = {{obtype}} - -# The METplus GenEnsProd logging level -# 0 quiet to 5 loud, Verbosity setting for MET gen_ens_prod output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_GEN_ENS_PROD_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} ### # File I/O @@ -76,7 +75,7 @@ OBTYPE = {{obtype}} # GEN_ENS_PROD_INPUT_DIR = {{fcst_input_dir}} # -# Template for forecast input to GenEnsProd relative to +# Template for forecast input to GenEnsProd relative to # GEN_ENS_PROD_INPUT_DIR. # # Note that this can be a comma separated list of ensemble members @@ -113,15 +112,15 @@ GEN_ENS_PROD_N_MEMBERS = {{num_ens_members}} ### # Field Info ### - -# Ensemble Variables and levels as specified in the ens field dictionary +# +# Ensemble variables and levels as specified in the ens field dictionary # of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, # (optional) ENS_VARn_OPTION +# ENS_VAR1_NAME = {{fieldname_in_fcst_input}} ENS_VAR1_LEVELS = L0 ENS_VAR1_THRESH = {{field_thresholds}} -# convert from meters to kilofeet: M_to_KFT(x) = x * 3.28084 * 0.001; -ENS_VAR1_OPTIONS = convert(x) = x * 3.28084 * 0.001; +ENS_VAR1_OPTIONS = convert(x) = x * 3.28084 * 0.001; ;; Convert from meters to kilofeet. ### # GenEnsProd diff --git a/parm/metplus/GridStat_APCP01h.conf b/parm/metplus/GridStat_APCP.conf similarity index 84% rename from parm/metplus/GridStat_APCP01h.conf rename to parm/metplus/GridStat_APCP.conf index d287041e35..51e5125951 100644 --- a/parm/metplus/GridStat_APCP01h.conf +++ b/parm/metplus/GridStat_APCP.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -79,7 +80,6 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_INTERP_TYPE_WIDTH = 1 #GRID_STAT_GRID_WEIGHT_FLAG = - # # Name to identify model (forecast) data in output. # @@ -89,13 +89,10 @@ GRID_STAT_REGRID_SHAPE = SQUARE # makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_{{ensmem_name}} - -FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. Here, # we store the value of the original lead in this column, i.e. the lead @@ -115,52 +112,39 @@ GRID_STAT_DESC = NA GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; # -# String to search for in the foreast input files for forecast variable -# 1. -# -FCST_VAR1_NAME = {{fieldname_in_fcst_input}} -# -# List of levels to evaluate for forecast variable 1. -# -ACCUM_HH = {{accum_hh}} -FCST_VAR1_LEVELS = A{ACCUM_HH} -# -# Lead to use both in naming of the output .stat and .nc files and for -# lead values in those files. -# -# The specification of set_attr_lead below causes MET/METplus to use the -# lead values in the variable LEAD_SEQ set above, which are the same for -# all ensemble forecast members (i.e. regardless of whether members are -# time lagged with respect to the nominal cycle date specified by cdate). -# If set_attr_lead were not specified as below, then MET/METplus would -# get the lead from the input forecast file, and that would in general -# differ from one ensemble member to the next depending on whether the -# member is time-lagged. That would cause confusion, so here, we always -# use lead values with zero lead corresponding to cdate. -# +# List of forecast and corresponding observation fields to process. +# +# Note on use of set_attr_lead and ensemble member time-lagging: +# ------------------------------------------------------------- +# The set_attr_lead parameter appearing below in [FCST|OBS]_VAR_OPTIONS +# specifies the lead to use both in naming of the output .stat and .nc +# files and for setting the lead values contained in those files. This +# option causes MET/METplus to use the lead values in the variable LEAD_SEQ +# set above, which are the same for all ensemble forecast members (i.e. +# regardless of whether members are time lagged with respect to the +# nominal cycle date specified by cdate). If set_attr_lead were not +# specified as below, then MET/METplus would get the lead from the input +# forecast file, and that would in general differ from one ensemble member +# to the next depending on whether the member is time-lagged. That would +# cause confusion, so here, we always use lead values with zero lead +# corresponding to the nominal cdate. +# +FCST_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +FCST_VAR1_LEVELS = A{{accum_hh}} +FCST_VAR1_THRESH = {{field_thresholds}} FCST_VAR1_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR1_LEVELS = A{{accum_hh}} +OBS_VAR1_THRESH = {{field_thresholds}} + # -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# -# String to search for in the observation input files for observation -# variable 1. -# -OBS_VAR1_NAME = {{fieldname_in_obs_input}} -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -OBS_VAR1_LEVELS = A{ACCUM_HH} -# -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# Forecast data time window(s). # FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 OBS_GRID_STAT_FILE_WINDOW_END = 0 diff --git a/parm/metplus/GridStat_APCPgt01h.conf b/parm/metplus/GridStat_APCPgt01h.conf deleted file mode 100644 index 1fe5412311..0000000000 --- a/parm/metplus/GridStat_APCPgt01h.conf +++ /dev/null @@ -1,336 +0,0 @@ -# GridStat METplus Configuration - -[config] - -# List of applications (tools) to run. -PROCESS_LIST = GridStat - -# time looping - options are INIT, VALID, RETRO, and REALTIME -# If set to INIT or RETRO: -# INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set -# If set to VALID or REALTIME: -# VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set -LOOP_BY = INIT - -# Format of INIT_BEG and INIT_END using % items -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d%H expands to YYYYMMDDHH -INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT -INIT_BEG = {{cdate}} - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END = {{cdate}} - -# Increment between METplus runs (in seconds if no units are specified). -# Must be >= 60 seconds. -INIT_INCREMENT = 3600 - -# List of forecast leads to process for each run time (init or valid) -# In hours if units are not specified -# If unset, defaults to 0 (don't loop through forecast leads) -LEAD_SEQ = {{fhr_list}} -# -# Order of loops to process data - Options are times, processes -# Not relevant if only one item is in the PROCESS_LIST -# times = run all wrappers in the PROCESS_LIST for a single run time, then -# increment the run time and run all wrappers again until all times have -# been evaluated. -# processes = run the first wrapper in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST until all -# wrappers have been run -# -LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 -# -# Specify the name of the METplus log file. -# -LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} -# -# Specify the location and name of the final METplus conf file. -# -METPLUS_CONF = {GRID_STAT_OUTPUT_DIR}/metplus_final.{{metplus_config_fn}} -# -# Location of MET configuration file to pass to GridStat. -# -# References PARM_BASE, which is the location of the parm directory -# corresponding to the ush directory of the run_metplus.py script that -# is called or the value of the environment variable METPLUS_PARM_BASE -# if set. -# -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - -# grid to remap data. Value is set as the 'to_grid' variable in the 'regrid' dictionary -# See MET User's Guide for more information -GRID_STAT_REGRID_TO_GRID = FCST -GRID_STAT_REGRID_VLD_THRESH = 0.5 -GRID_STAT_REGRID_METHOD = BUDGET -GRID_STAT_REGRID_WIDTH = 2 -GRID_STAT_REGRID_SHAPE = SQUARE - -#GRID_STAT_INTERP_FIELD = BOTH -#GRID_STAT_INTERP_VLD_THRESH = 1.0 -#GRID_STAT_INTERP_SHAPE = SQUARE -#GRID_STAT_INTERP_TYPE_METHOD = NEAREST -#GRID_STAT_INTERP_TYPE_WIDTH = 1 - -#GRID_STAT_GRID_WEIGHT_FLAG = - -# -# Name to identify model (forecast) data in output. -# -# The variable MODEL is recorded in the stat files, and the data in -# these files is then plotted (e.g. using METViewer). Here, we add a -# suffix to MODEL that identifies the forecast ensemble member. This -# makes it easier to identify each curve. -# -MODEL = {{vx_fcst_model_name}}_{{ensmem_name}} - -FCST_NATIVE_DATA_TYPE = GRIB -# -# Name to identify observation data in output. -# -OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB -# -# Value to enter under the DESC column in the output stat file. Here, -# we store the value of the original lead in this column, i.e. the lead -# with zero corresponding to the actual start time of the forecast (which -# is (cdate - time_lag)), not to cdate. This is just the lead in -# LEAD_SEQ with the time lag (time_lag) of the current forecast member -# added on. -# -# Uncomment this line only after upgrading to METplus 5.x. -#GRID_STAT_DESC = {lead?fmt=%H%M%S?shift={{time_lag}}} -GRID_STAT_DESC = NA - -# List of variables to compare in GridStat - FCST_VAR1 variables correspond -# to OBS_VAR1 variables -# Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations -# are needed for different tools - -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; -# -# String to search for in the foreast input files for forecast variable -# 1. -# -# Note that this configuration file reads in forecast files created by -# another MET tool (PcpCombine) that names the arrays in its output -# according to fieldname_in_met_output, so the input forecast field name -# to look for here must also given by fieldname_in_met_output. -# -FCST_VAR1_NAME = {{fieldname_in_met_output}} -# -# List of levels to evaluate for forecast variable 1. -# -ACCUM_HH = {{accum_hh}} -FCST_VAR1_LEVELS = A{ACCUM_HH} -# -# Lead to use both in naming of the output .stat and .nc files and for -# lead values in those files. -# -# The specification of set_attr_lead below causes MET/METplus to use the -# lead values in the variable LEAD_SEQ set above, which are the same for -# all ensemble forecast members (i.e. regardless of whether members are -# time lagged with respect to the nominal cycle date specified by cdate). -# If set_attr_lead were not specified as below, then MET/METplus would -# get the lead from the input forecast file, and that would in general -# differ from one ensemble member to the next depending on whether the -# member is time-lagged. That would cause confusion, so here, we always -# use lead values with zero lead corresponding to cdate. -# -FCST_VAR1_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; -# -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# -# String to search for in the observation input files for observation -# variable 1. -# -# As with the forecast input files, the observation input files to this -# configuration file are from another MET tool (PcpCombine) that have -# output array names specified by fieldname_in_met_output, so here we -# use this variable to search for the field name in the input observation -# files. -# -OBS_VAR1_NAME = {{fieldname_in_met_output}} -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -OBS_VAR1_LEVELS = A{ACCUM_HH} -# -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. -# -FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 -FCST_GRID_STAT_FILE_WINDOW_END = 0 -OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 -OBS_GRID_STAT_FILE_WINDOW_END = 0 - -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information -GRID_STAT_NEIGHBORHOOD_FIELD = BOTH - -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = 3,5,7 - -# shape value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE - -# cov thresh list passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 - -# Set to true to run GridStat separately for each field specified -# Set to false to create one run of GridStat per run time that -# includes all fields specified. -GRID_STAT_ONCE_PER_FIELD = False -# -# Set to true if forecast data is probabilistic. -# -FCST_IS_PROB = False -# -# Only used if FCST_IS_PROB is true - sets probabilistic threshold -# -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} - -# Climatology data -#GRID_STAT_CLIMO_MEAN_FILE_NAME = -#GRID_STAT_CLIMO_MEAN_FIELD = -#GRID_STAT_CLIMO_MEAN_REGRID_METHOD = -#GRID_STAT_CLIMO_MEAN_REGRID_WIDTH = -#GRID_STAT_CLIMO_MEAN_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_MEAN_REGRID_SHAPE = -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_MEAN_MATCH_MONTH = -#GRID_STAT_CLIMO_MEAN_DAY_INTERVAL = -#GRID_STAT_CLIMO_MEAN_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_STDEV_FILE_NAME = -#GRID_STAT_CLIMO_STDEV_FIELD = -#GRID_STAT_CLIMO_STDEV_REGRID_METHOD = -#GRID_STAT_CLIMO_STDEV_REGRID_WIDTH = -#GRID_STAT_CLIMO_STDEV_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_STDEV_REGRID_SHAPE = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_MATCH_MONTH = -#GRID_STAT_CLIMO_STDEV_DAY_INTERVAL = -#GRID_STAT_CLIMO_STDEV_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_CDF_BINS = 1 -#GRID_STAT_CLIMO_CDF_CENTER_BINS = False -#GRID_STAT_CLIMO_CDF_WRITE_BINS = True - -GRID_STAT_MASK_GRID = - -# Statistical output types -GRID_STAT_OUTPUT_FLAG_FHO = STAT -GRID_STAT_OUTPUT_FLAG_CTC = STAT -GRID_STAT_OUTPUT_FLAG_CTS = STAT -#GRID_STAT_OUTPUT_FLAG_MCTC = NONE -#GRID_STAT_OUTPUT_FLAG_MCTS = NONE -GRID_STAT_OUTPUT_FLAG_CNT = STAT -#GRID_STAT_OUTPUT_FLAG_SL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_SAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VCNT = NONE -#GRID_STAT_OUTPUT_FLAG_PCT = NONE -#GRID_STAT_OUTPUT_FLAG_PSTD = NONE -#GRID_STAT_OUTPUT_FLAG_PJC = NONE -#GRID_STAT_OUTPUT_FLAG_PRC = NONE -#GRID_STAT_OUTPUT_FLAG_ECLV = BOTH -GRID_STAT_OUTPUT_FLAG_NBRCTC = STAT -GRID_STAT_OUTPUT_FLAG_NBRCTS = STAT -GRID_STAT_OUTPUT_FLAG_NBRCNT = STAT -#GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -# NetCDF matched pairs output file -#GRID_STAT_NC_PAIRS_VAR_NAME = -GRID_STAT_NC_PAIRS_FLAG_LATLON = FALSE -GRID_STAT_NC_PAIRS_FLAG_RAW = FALSE -GRID_STAT_NC_PAIRS_FLAG_DIFF = FALSE -GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE -#GRID_STAT_NC_PAIRS_FLAG_CLIMO_CDP = FALSE -GRID_STAT_NC_PAIRS_FLAG_WEIGHT = FALSE -GRID_STAT_NC_PAIRS_FLAG_NBRHD = FALSE -#GRID_STAT_NC_PAIRS_FLAG_FOURIER = FALSE -#GRID_STAT_NC_PAIRS_FLAG_GRADIENT = FALSE -#GRID_STAT_NC_PAIRS_FLAG_DISTANCE_MAP = FALSE -GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE - -# End of [config] section and start of [dir] section. -[dir] -# -# Directory containing observation input to GridStat. -# -OBS_GRID_STAT_INPUT_DIR = {{obs_input_dir}} -# -# Directory containing forecast input to GridStat. -# -FCST_GRID_STAT_INPUT_DIR = {{fcst_input_dir}} -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_DIR = -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_DIR = -# -# Directory in which to write output from GridStat. -# -# OUTPUT_BASE apparently has to be set to something; it cannot be left -# to its default value. But it is not explicitly used elsewhere in this -# configuration file. -# -OUTPUT_BASE = {{output_base}} -GRID_STAT_OUTPUT_DIR = {{output_dir}} -# -# Directory for staging data. -# -STAGING_DIR = {{staging_dir}} - -# End of [dir] section and start of [filename_templates] section. -[filename_templates] -# -# Template for observation input to GridStat relative to -# OBS_GRID_STAT_INPUT_DIR. -# -OBS_GRID_STAT_INPUT_TEMPLATE = {{obs_input_fn_template}} -# -# Template for forecast input to GridStat relative to -# FCST_GRID_STAT_INPUT_DIR. -# -FCST_GRID_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} -# -# Template for output from GridStat relative to GRID_STAT_OUTPUT_DIR. -# -GRID_STAT_OUTPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -# -# Variable used to specify one or more verification mask files for -# GridStat. Not used for this example. -# -GRID_STAT_VERIFICATION_MASK_TEMPLATE = {MET_INSTALL_DIR}/share/met/poly/CONUS.poly diff --git a/parm/metplus/GridStat_ASNOW.conf b/parm/metplus/GridStat_ASNOW.conf index 96c0f97bc3..3960a10c30 100644 --- a/parm/metplus/GridStat_ASNOW.conf +++ b/parm/metplus/GridStat_ASNOW.conf @@ -1,10 +1,8 @@ # GridStat METplus Configuration -# section heading for [config] variables - all items below this line and -# before the next section heading correspond to the [config] section [config] -# List of applications to run - only GridStat for this case +# List of applications (tools) to run. PROCESS_LIST = GridStat # time looping - options are INIT, VALID, RETRO, and REALTIME @@ -33,8 +31,8 @@ INIT_INCREMENT = 3600 # List of forecast leads to process for each run time (init or valid) # In hours if units are not specified # If unset, defaults to 0 (don't loop through forecast leads) -LEAD_SEQ = {{fhr_list}} - +LEAD_SEQ = {{fhr_list}} +# # Order of loops to process data - Options are times, processes # Not relevant if only one item is in the PROCESS_LIST # times = run all wrappers in the PROCESS_LIST for a single run time, then @@ -43,11 +41,12 @@ LEAD_SEQ = {{fhr_list}} # processes = run the first wrapper in the PROCESS_LIST for all times # specified, then repeat for the next item in the PROCESS_LIST until all # wrappers have been run +# LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 - +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -86,13 +85,10 @@ GRID_STAT_REGRID_SHAPE = SQUARE # makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_{{ensmem_name}} - -FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # @@ -105,40 +101,24 @@ GRID_STAT_DESC = NA GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; # -# String to search for in the foreast input files for forecast variable -# 1. -# -FCST_VAR1_NAME = {{fieldname_in_met_output}} +# List of forecast and corresponding observation fields to process. # -# List of levels to evaluate for forecast variable 1. -# -ACCUM_HH = {{accum_hh}} -FCST_VAR1_LEVELS = A{ACCUM_HH} +FCST_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +FCST_VAR1_LEVELS = A{{accum_hh}} +FCST_VAR1_THRESH = {{field_thresholds}} FCST_VAR1_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; - -OBS_VAR1_OPTIONS = convert(x) = 100.0*x; -# -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# -# String to search for in the observation input files for observation -# variable 1. -# OBS_VAR1_NAME = {{fieldname_in_obs_input}} +OBS_VAR1_LEVELS = A{{accum_hh}} +OBS_VAR1_THRESH = {{field_thresholds}} +OBS_VAR1_OPTIONS = convert(x) = 100.0*x; # -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -OBS_VAR1_LEVELS = A{ACCUM_HH} -# -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# Forecast data time window(s). # FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 OBS_GRID_STAT_FILE_WINDOW_END = 0 @@ -168,7 +148,7 @@ FCST_IS_PROB = False # FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}{ACCUM_HH}h_{OBTYPE} +GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/GridStat_REFC.conf b/parm/metplus/GridStat_REFC.conf index 3cc6e62d1f..c7f34d27f9 100644 --- a/parm/metplus/GridStat_REFC.conf +++ b/parm/metplus/GridStat_REFC.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -88,13 +89,10 @@ GRID_STAT_GRID_WEIGHT_FLAG = NONE # makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_{{ensmem_name}} - -FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. Here, # we store the value of the original lead in this column, i.e. the lead @@ -112,56 +110,47 @@ GRID_STAT_DESC = NA # Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations # are needed for different tools -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = []; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; -# -# String to search for in the foreast input files for forecast variable -# 1. +GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; +# +# List of forecast and corresponding observation fields to process. +# +# Note on use of set_attr_lead and ensemble member time-lagging: +# ------------------------------------------------------------- +# The set_attr_lead parameter appearing below in [FCST|OBS]_VAR_OPTIONS +# specifies the lead to use both in naming of the output .stat and .nc +# files and for setting the lead values contained in those files. This +# option causes MET/METplus to use the lead values in the variable LEAD_SEQ +# set above, which are the same for all ensemble forecast members (i.e. +# regardless of whether members are time lagged with respect to the +# nominal cycle date specified by cdate). If set_attr_lead were not +# specified as below, then MET/METplus would get the lead from the input +# forecast file, and that would in general differ from one ensemble member +# to the next depending on whether the member is time-lagged. That would +# cause confusion, so here, we always use lead values with zero lead +# corresponding to the nominal cdate. # FCST_VAR1_NAME = {{fieldname_in_fcst_input}} -# -# List of levels to evaluate for forecast variable 1. -# FCST_VAR1_LEVELS = L0 -# -# Lead to use both in naming of the output .stat and .nc files and for -# lead values in those files. -# -# The specification of set_attr_lead below causes MET/METplus to use the -# lead values in the variable LEAD_SEQ set above, which are the same for -# all ensemble forecast members (i.e. regardless of whether members are -# time lagged with respect to the nominal cycle date specified by cdate). -# If set_attr_lead were not specified as below, then MET/METplus would -# get the lead from the input forecast file, and that would in general -# differ from one ensemble member to the next depending on whether the -# member is time-lagged. That would cause confusion, so here, we always -# use lead values with zero lead corresponding to cdate. -# +FCST_VAR1_THRESH = {{field_thresholds}} FCST_VAR1_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; cnt_thresh = [ >15 ]; cnt_logic = UNION; -# -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# -# String to search for in the observation input files for observation -# variable 1. -# OBS_VAR1_NAME = {{fieldname_in_obs_input}} -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# OBS_VAR1_LEVELS = Z500 -OBS_VAR1_OPTIONS = censor_thresh = [eq-999, <-20]; censor_val = [-9999, -20]; cnt_thresh = [ >15 ]; cnt_logic = UNION; +OBS_VAR1_THRESH = {{field_thresholds}} +OBS_VAR1_OPTIONS = censor_thresh = [eq-999, <-20]; + censor_val = [-9999, -20]; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + # -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# Forecast data time window(s). # #FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 #FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = -300 OBS_GRID_STAT_FILE_WINDOW_END = 300 @@ -192,15 +181,6 @@ FCST_IS_PROB = False FCST_GRID_STAT_PROB_THRESH = ==0.1 GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} -# -# Set to true if observation data is probabilistic. Only used if -# configuring forecast data as the 'OBS' input. -# -OBS_IS_PROB = false -# -# Only used if OBS_IS_PROB is true - sets probabilistic threshold. -# -OBS_GRID_STAT_PROB_THRESH = ==0.1 # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/GridStat_RETOP.conf b/parm/metplus/GridStat_RETOP.conf index 6a836b1153..be91a0ba03 100644 --- a/parm/metplus/GridStat_RETOP.conf +++ b/parm/metplus/GridStat_RETOP.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -88,13 +89,10 @@ GRID_STAT_GRID_WEIGHT_FLAG = NONE # makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_{{ensmem_name}} - -FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. Here, # we store the value of the original lead in this column, i.e. the lead @@ -112,57 +110,49 @@ GRID_STAT_DESC = NA # Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations # are needed for different tools -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = []; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; -# -# String to search for in the foreast input files for forecast variable -# 1. +GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; +# +# List of forecast and corresponding observation fields to process. +# +# Note on use of set_attr_lead and ensemble member time-lagging: +# ------------------------------------------------------------- +# The set_attr_lead parameter appearing below in [FCST|OBS]_VAR_OPTIONS +# specifies the lead to use both in naming of the output .stat and .nc +# files and for setting the lead values contained in those files. This +# option causes MET/METplus to use the lead values in the variable LEAD_SEQ +# set above, which are the same for all ensemble forecast members (i.e. +# regardless of whether members are time lagged with respect to the +# nominal cycle date specified by cdate). If set_attr_lead were not +# specified as below, then MET/METplus would get the lead from the input +# forecast file, and that would in general differ from one ensemble member +# to the next depending on whether the member is time-lagged. That would +# cause confusion, so here, we always use lead values with zero lead +# corresponding to the nominal cdate. # FCST_VAR1_NAME = {{fieldname_in_fcst_input}} -# -# List of levels to evaluate for forecast variable 1. -# FCST_VAR1_LEVELS = L0 -# -# Lead to use both in naming of the output .stat and .nc files and for -# lead values in those files. -# -# The specification of set_attr_lead below causes MET/METplus to use the -# lead values in the variable LEAD_SEQ set above, which are the same for -# all ensemble forecast members (i.e. regardless of whether members are -# time lagged with respect to the nominal cycle date specified by cdate). -# If set_attr_lead were not specified as below, then MET/METplus would -# get the lead from the input forecast file, and that would in general -# differ from one ensemble member to the next depending on whether the -# member is time-lagged. That would cause confusion, so here, we always -# use lead values with zero lead corresponding to cdate. -# +FCST_VAR1_THRESH = {{field_thresholds}} FCST_VAR1_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; convert(x) = x * 3.28084 * 0.001; cnt_thresh = [ >0 ]; cnt_logic = UNION; -# -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# -# String to search for in the observation input files for observation -# variable 1. -# OBS_VAR1_NAME = {{fieldname_in_obs_input}} -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# OBS_VAR1_LEVELS = Z500 -OBS_VAR1_OPTIONS = convert(x) = x * 3280.84 * 0.001; censor_thresh = [<=-9.84252,eq-3.28084]; censor_val = [-9999,-16.4042]; cnt_thresh = [ >0 ]; cnt_logic = UNION; +OBS_VAR1_THRESH = {{field_thresholds}} +OBS_VAR1_OPTIONS = convert(x) = x * 3280.84 * 0.001; + censor_thresh = [<=-9.84252,eq-3.28084]; + censor_val = [-9999,-16.4042]; + cnt_thresh = [ >0 ]; + cnt_logic = UNION; + # -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# Forecast data time window(s). # #FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 #FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = -300 OBS_GRID_STAT_FILE_WINDOW_END = 300 @@ -193,15 +183,6 @@ FCST_IS_PROB = False FCST_GRID_STAT_PROB_THRESH = ==0.1 GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} -# -# Set to true if observation data is probabilistic. Only used if -# configuring forecast data as the 'OBS' input. -# -OBS_IS_PROB = false -# -# Only used if OBS_IS_PROB is true - sets probabilistic threshold. -# -OBS_GRID_STAT_PROB_THRESH = ==0.1 # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/GridStat_ensmean_APCPgt01h.conf b/parm/metplus/GridStat_ensmean_APCP.conf similarity index 75% rename from parm/metplus/GridStat_ensmean_APCPgt01h.conf rename to parm/metplus/GridStat_ensmean_APCP.conf index ff277bbcbb..6d3956c8e6 100644 --- a/parm/metplus/GridStat_ensmean_APCPgt01h.conf +++ b/parm/metplus/GridStat_ensmean_APCP.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -89,84 +90,34 @@ GRID_STAT_REGRID_SHAPE = SQUARE # mean. This makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_ensmean - -FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # GRID_STAT_DESC = NA -# List of variables to compare in GridStat - FCST_VAR1 variables correspond -# to OBS_VAR1 variables -# Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations -# are needed for different tools - GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; # -# String to search for in the foreast input files for forecast variable -# 1. -# -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the NetCDF file(s) generated by -# MET's pcp_combine tool. The latter reads in grib2 file(s) containing -# 1 hour accumulation data (in this case, from forecasts) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files from pcp_combine name their arrays as specified by -# the environment variable FIELDNAME_IN_MET_OUTPUT. The gen_ens_prod -# tool then takes this array name and, in its output NetCDF files, -# creates arrays whose names consist of the original array name in the -# pcp_combine output (FIELDNAME_IN_MET_OUTPUT) plus a suffix that specifies -# additional properties of the data in the array such as the level (which -# in this case is the accumulation period), the type of statistic, etc. -# In this case, this suffix is "_A3_ENS_MEAN". Thus, below, FCST_VAR1_NAME -# must be set to the value of FIELDNAME_IN_MET_OUTPUT with "_A3_ENS_MEAN" -# appended to it. -# -#FCST_VAR1_NAME = APCP_A3_ENS_MEAN -FCST_VAR1_NAME = {{fieldname_in_met_output}}_A{{accum_no_pad}}_ENS_MEAN -# -# List of levels to evaluate for forecast variable 1. -# -ACCUM_HH = {{accum_hh}} -FCST_VAR1_LEVELS = A{ACCUM_HH} +# List of forecast and corresponding observation fields to process. # -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# -# String to search for in the observation input files for observation -# variable 1. -# -# Note: -# This is the name of the field in the NetCDF file created by MET's -# pcp_combine tool. This tool reads in the grib2 file(s) containing -# 1 hour accumulation data (in this case, from observations) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files name their arrays as specified by the environment -# variable FIELDNAME_IN_MET_OUTPUT. Thus, that is the value we set -# OBS_VAR1_NAME to here, not to the name of the variable in the grib2 -# file. -# -OBS_VAR1_NAME = {{fieldname_in_met_output}} -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -OBS_VAR1_LEVELS = A{ACCUM_HH} +FCST_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_MEAN +FCST_VAR1_LEVELS = A{{accum_hh}} +FCST_VAR1_THRESH = {{field_thresholds}} +OBS_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR1_LEVELS = A{{accum_hh}} +OBS_VAR1_THRESH = {{field_thresholds}} + # -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# Forecast data time window(s). # FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 OBS_GRID_STAT_FILE_WINDOW_END = 0 diff --git a/parm/metplus/GridStat_ensmean_APCP01h.conf b/parm/metplus/GridStat_ensmean_APCP01h.conf deleted file mode 100644 index e087841431..0000000000 --- a/parm/metplus/GridStat_ensmean_APCP01h.conf +++ /dev/null @@ -1,335 +0,0 @@ -# Ensemble mean GridStat METplus Configuration - -[config] - -# List of applications (tools) to run. -PROCESS_LIST = GridStat - -# time looping - options are INIT, VALID, RETRO, and REALTIME -# If set to INIT or RETRO: -# INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set -# If set to VALID or REALTIME: -# VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set -LOOP_BY = INIT - -# Format of INIT_BEG and INIT_END using % items -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d%H expands to YYYYMMDDHH -INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT -INIT_BEG = {{cdate}} - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END = {{cdate}} - -# Increment between METplus runs (in seconds if no units are specified). -# Must be >= 60 seconds. -INIT_INCREMENT = 3600 - -# List of forecast leads to process for each run time (init or valid) -# In hours if units are not specified -# If unset, defaults to 0 (don't loop through forecast leads) -LEAD_SEQ = {{fhr_list}} -# -# Order of loops to process data - Options are times, processes -# Not relevant if only one item is in the PROCESS_LIST -# times = run all wrappers in the PROCESS_LIST for a single run time, then -# increment the run time and run all wrappers again until all times have -# been evaluated. -# processes = run the first wrapper in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST until all -# wrappers have been run -# -LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 -# -# Specify the name of the METplus log file. -# -LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} -# -# Specify the location and name of the final METplus conf file. -# -METPLUS_CONF = {GRID_STAT_OUTPUT_DIR}/metplus_final.{{metplus_config_fn}} -# -# Location of MET configuration file to pass to GridStat. -# -# References PARM_BASE, which is the location of the parm directory -# corresponding to the ush directory of the run_metplus.py script that -# is called or the value of the environment variable METPLUS_PARM_BASE -# if set. -# -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - -# grid to remap data. Value is set as the 'to_grid' variable in the 'regrid' dictionary -# See MET User's Guide for more information -GRID_STAT_REGRID_TO_GRID = FCST -GRID_STAT_REGRID_VLD_THRESH = 0.5 -GRID_STAT_REGRID_METHOD = BUDGET -GRID_STAT_REGRID_WIDTH = 2 -GRID_STAT_REGRID_SHAPE = SQUARE - -#GRID_STAT_INTERP_FIELD = BOTH -#GRID_STAT_INTERP_VLD_THRESH = 1.0 -#GRID_STAT_INTERP_SHAPE = SQUARE -#GRID_STAT_INTERP_TYPE_METHOD = NEAREST -#GRID_STAT_INTERP_TYPE_WIDTH = 1 - -#GRID_STAT_GRID_WEIGHT_FLAG = - -# -# Name to identify model (forecast) data in output. -# -# The variable MODEL is recorded in the stat files, and the data in -# these files is then plotted (e.g. using METViewer). Here, we add a -# suffix to MODEL that identifies the data as that for the ensemble -# mean. This makes it easier to identify each curve. -# -MODEL = {{vx_fcst_model_name}}_ensmean - -FCST_NATIVE_DATA_TYPE = GRIB -# -# Name to identify observation data in output. -# -OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB -# -# Value to enter under the DESC column in the output stat file. -# -GRID_STAT_DESC = NA - -# List of variables to compare in GridStat - FCST_VAR1 variables correspond -# to OBS_VAR1 variables -# Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations -# are needed for different tools - -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; -# -# String to search for in the foreast input files for forecast variable -# 1. -# -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the grib2 file(s) (in this case -# of forecasts) and outputs NetCDF file(s) in which the array names -# consist of the value of fieldname_in_met_output plus a suffix that -# specifies additional properties of the data in the array such as the -# level (which in this case is the accumulation period), the type of -# statistic, etc. In this case, this suffix is "_A01_ENS_MEAN". Thus, -# below, FCST_VAR1_NAME must be set to the value of fieldname_in_met_output -# with "_A01_ENS_MEAN" appended to it. -#FCST_VAR1_NAME = APCP_01_A01_ENS_MEAN -# -# Question: -# Why is the name of the array in the input NetCDF file (created by -# GenEnsProd) that this task reads contains ..._A01_ENS_MEAN instead of -# ..._A1_ENS_MEAN, as is the case for greater than 1-hour accumulation? -# If that were the case, we could use ACCUM_NO_PAD here instead of hard- -# coding the "A01", which would make it consistent with what is done in -# the METplus conf files for accumulation > 1 hour (e.g. 3, 6, and 24 -# hour). -# -#FCST_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{ENV[ACCUM_NO_PAD]}_ENS_MEAN -FCST_VAR1_NAME = {{fieldname_in_met_output}}_A01_ENS_MEAN -# -# List of levels to evaluate for forecast variable 1. -# -ACCUM_HH = {{accum_hh}} -FCST_VAR1_LEVELS = A{ACCUM_HH} -# -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# -# String to search for in the observation input files for observation -# variable 1. -# -# Note: -# This is the name of the field in the grib2 observation file. Thus, -# it should not be set to {{fieldname_in_met_output}} because the -# value of fieldname_in_met_output is in general not the same as the -# name of the field in the grib2 observation file (although it can be -# for certain fields). If you do and it doesn't match, you may get an -# error like this from METplus: -# ERROR : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field abbreviation ... -# -#OBS_VAR1_NAME = APCP -OBS_VAR1_NAME = {{fieldname_in_obs_input}} -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -OBS_VAR1_LEVELS = A{ACCUM_HH} -# -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. -# -FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 -FCST_GRID_STAT_FILE_WINDOW_END = 0 -OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 -OBS_GRID_STAT_FILE_WINDOW_END = 0 - -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information -GRID_STAT_NEIGHBORHOOD_FIELD = BOTH - -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = 3,5,7 - -# shape value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE - -# cov thresh list passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 - -# Set to true to run GridStat separately for each field specified -# Set to false to create one run of GridStat per run time that -# includes all fields specified. -GRID_STAT_ONCE_PER_FIELD = False -# -# Set to true if forecast data is probabilistic. -# -FCST_IS_PROB = False -# -# Only used if FCST_IS_PROB is true - sets probabilistic threshold -# -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} - -# Climatology data -#GRID_STAT_CLIMO_MEAN_FILE_NAME = -#GRID_STAT_CLIMO_MEAN_FIELD = -#GRID_STAT_CLIMO_MEAN_REGRID_METHOD = -#GRID_STAT_CLIMO_MEAN_REGRID_WIDTH = -#GRID_STAT_CLIMO_MEAN_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_MEAN_REGRID_SHAPE = -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_MEAN_MATCH_MONTH = -#GRID_STAT_CLIMO_MEAN_DAY_INTERVAL = -#GRID_STAT_CLIMO_MEAN_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_STDEV_FILE_NAME = -#GRID_STAT_CLIMO_STDEV_FIELD = -#GRID_STAT_CLIMO_STDEV_REGRID_METHOD = -#GRID_STAT_CLIMO_STDEV_REGRID_WIDTH = -#GRID_STAT_CLIMO_STDEV_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_STDEV_REGRID_SHAPE = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_MATCH_MONTH = -#GRID_STAT_CLIMO_STDEV_DAY_INTERVAL = -#GRID_STAT_CLIMO_STDEV_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_CDF_BINS = 1 -#GRID_STAT_CLIMO_CDF_CENTER_BINS = False -#GRID_STAT_CLIMO_CDF_WRITE_BINS = True - -GRID_STAT_MASK_GRID = - -# Statistical output types -GRID_STAT_OUTPUT_FLAG_FHO = STAT -GRID_STAT_OUTPUT_FLAG_CTC = STAT -GRID_STAT_OUTPUT_FLAG_CTS = STAT -#GRID_STAT_OUTPUT_FLAG_MCTC = NONE -#GRID_STAT_OUTPUT_FLAG_MCTS = NONE -GRID_STAT_OUTPUT_FLAG_CNT = STAT -#GRID_STAT_OUTPUT_FLAG_SL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_SAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VCNT = NONE -#GRID_STAT_OUTPUT_FLAG_PCT = NONE -#GRID_STAT_OUTPUT_FLAG_PSTD = NONE -#GRID_STAT_OUTPUT_FLAG_PJC = NONE -#GRID_STAT_OUTPUT_FLAG_PRC = NONE -#GRID_STAT_OUTPUT_FLAG_ECLV = BOTH -GRID_STAT_OUTPUT_FLAG_NBRCTC = STAT -GRID_STAT_OUTPUT_FLAG_NBRCTS = STAT -GRID_STAT_OUTPUT_FLAG_NBRCNT = STAT -#GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -# NetCDF matched pairs output file -#GRID_STAT_NC_PAIRS_VAR_NAME = -GRID_STAT_NC_PAIRS_FLAG_LATLON = FALSE -GRID_STAT_NC_PAIRS_FLAG_RAW = FALSE -GRID_STAT_NC_PAIRS_FLAG_DIFF = FALSE -GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE -#GRID_STAT_NC_PAIRS_FLAG_CLIMO_CDP = FALSE -GRID_STAT_NC_PAIRS_FLAG_WEIGHT = FALSE -GRID_STAT_NC_PAIRS_FLAG_NBRHD = FALSE -#GRID_STAT_NC_PAIRS_FLAG_FOURIER = FALSE -#GRID_STAT_NC_PAIRS_FLAG_GRADIENT = FALSE -#GRID_STAT_NC_PAIRS_FLAG_DISTANCE_MAP = FALSE -GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE - -# End of [config] section and start of [dir] section. -[dir] -# -# Directory containing observation input to GridStat. -# -OBS_GRID_STAT_INPUT_DIR = {{obs_input_dir}} -# -# Directory containing forecast input to GridStat. -# -FCST_GRID_STAT_INPUT_DIR = {{fcst_input_dir}} -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_DIR = -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_DIR = -# -# Directory in which to write output from GridStat. -# -# OUTPUT_BASE apparently has to be set to something; it cannot be left -# to its default value. But it is not explicitly used elsewhere in this -# configuration file. -# -OUTPUT_BASE = {{output_base}} -GRID_STAT_OUTPUT_DIR = {{output_dir}} -# -# Directory for staging data. -# -STAGING_DIR = {{staging_dir}} - -# End of [dir] section and start of [filename_templates] section. -[filename_templates] -# -# Template for observation input to GridStat relative to -# OBS_GRID_STAT_INPUT_DIR. -# -OBS_GRID_STAT_INPUT_TEMPLATE = {{obs_input_fn_template}} -# -# Template for forecast input to GridStat relative to -# FCST_GRID_STAT_INPUT_DIR. -# -FCST_GRID_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} -# -# Template for output from GridStat relative to GRID_STAT_OUTPUT_DIR. -# -GRID_STAT_OUTPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -# -# Variable used to specify one or more verification mask files for -# GridStat. Not used for this example. -# -GRID_STAT_VERIFICATION_MASK_TEMPLATE = {MET_INSTALL_DIR}/share/met/poly/CONUS.poly diff --git a/parm/metplus/GridStat_ensmean_ASNOW.conf b/parm/metplus/GridStat_ensmean_ASNOW.conf index 9b78d6e31f..6fb8951a3f 100644 --- a/parm/metplus/GridStat_ensmean_ASNOW.conf +++ b/parm/metplus/GridStat_ensmean_ASNOW.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -89,13 +90,10 @@ GRID_STAT_REGRID_SHAPE = SQUARE # mean. This makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_ensmean - -FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # @@ -108,70 +106,23 @@ GRID_STAT_DESC = NA GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; # -# String to search for in the foreast input files for forecast variable -# 1. -# -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the grib2 file(s) (in this case -# of forecasts) and outputs NetCDF file(s) in which the array names -# consist of the value of fieldname_in_met_output plus a suffix that -# specifies additional properties of the data in the array such as the -# level (which in this case is the accumulation period), the type of -# statistic, etc. In this case, this suffix is "_A01_ENS_MEAN". Thus, -# below, FCST_VAR1_NAME must be set to the value of fieldname_in_met_output -# with "_A01_ENS_MEAN" appended to it. -#FCST_VAR1_NAME = APCP_01_A01_ENS_MEAN -# -# Question: -# Why is the name of the array in the input NetCDF file (created by -# GenEnsProd) that this task reads contains ..._A01_ENS_MEAN instead of -# ..._A1_ENS_MEAN, as is the case for greater than 1-hour accumulation? -# If that were the case, we could use ACCUM_NO_PAD here instead of hard- -# coding the "A01", which would make it consistent with what is done in -# the METplus conf files for accumulation > 1 hour (e.g. 3, 6, and 24 -# hour). -# -#FCST_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{ENV[ACCUM_NO_PAD]}_ENS_MEAN -FCST_VAR1_NAME = {{fieldname_in_met_output}}_A{{accum_no_pad}}_ENS_MEAN -# -# List of levels to evaluate for forecast variable 1. -# -ACCUM_HH = {{accum_hh}} -FCST_VAR1_LEVELS = A{ACCUM_HH} -# -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# -# String to search for in the observation input files for observation -# variable 1. -# -# Note: -# This is the name of the field in the grib2 observation file. Thus, -# it should not be set to {{fieldname_in_met_output}} because the -# value of fieldname_in_met_output is in general not the same as the -# name of the field in the grib2 observation file (although it can be -# for certain fields). If you do and it doesn't match, you may get an -# error like this from METplus: -# ERROR : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field abbreviation ... -# -#OBS_VAR1_NAME = APCP -OBS_VAR1_NAME = {{fieldname_in_obs_input}} +# List of forecast and corresponding observation fields to process. # -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -OBS_VAR1_LEVELS = A{ACCUM_HH} +FCST_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_MEAN +FCST_VAR1_LEVELS = A{{accum_hh}} +FCST_VAR1_THRESH = {{field_thresholds}} +OBS_VAR1_NAME = {{fieldname_in_obs_input}} +OBS_VAR1_LEVELS = A{{accum_hh}} +OBS_VAR1_THRESH = {{field_thresholds}} OBS_VAR1_OPTIONS = convert(x) = 100.0*x; # -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# Forecast data time window(s). # FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 OBS_GRID_STAT_FILE_WINDOW_END = 0 @@ -201,7 +152,7 @@ FCST_IS_PROB = False # FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}{{accum_hh}}h_{OBTYPE} +GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/GridStat_ensmean_REFC.conf b/parm/metplus/GridStat_ensmean_REFC.conf index d8a6cc83ff..451c82dfd5 100644 --- a/parm/metplus/GridStat_ensmean_REFC.conf +++ b/parm/metplus/GridStat_ensmean_REFC.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -92,7 +93,6 @@ MODEL = {{vx_fcst_model_name}}_ensmean # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # @@ -103,7 +103,7 @@ GRID_STAT_DESC = NA # Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations # are needed for different tools -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = []; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; +GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; # # String to search for in the foreast input files for forecast variable # 1. @@ -111,25 +111,16 @@ GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = []; cnt_thresh = [NA]; cnt_logic = # Note: # This is the name of the field in the NetCDF file(s) created by MET's # gen_ens_prod tool. This tool reads in the grib2 file(s) (in this case -# of forecasts) and outputs NetCDF file(s) in which the array names +# of forecasts) and outputs NetCDF file(s) in which the array names # consist of the value of fieldname_in_met_output plus a suffix that # specifies additional properties of the data in the array such as the -# level, the type of statistic, etc. In this case, this suffix is +# level, the type of statistic, etc. In this case, this suffix is # "_L0_ENS_MEAN". Thus, below, FCST_VAR1_NAME must be set to the value # of fieldname_in_met_output with "_L0_ENS_MEAN" appended to it. # FCST_VAR1_NAME = {{fieldname_in_met_output}}_L0_ENS_MEAN -# -# List of levels to evaluate for forecast variable 1. -# FCST_VAR1_LEVELS = L0 - -#FCST_VAR1_OPTIONS = cnt_thresh = [ >15 ]; cnt_logic = UNION; -# -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} +FCST_VAR1_THRESH = {{field_thresholds}} # # String to search for in the observation input files for observation # variable 1. @@ -144,19 +135,20 @@ BOTH_VAR1_THRESH = {{field_thresholds}} # ERROR : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field abbreviation ... # OBS_VAR1_NAME = {{fieldname_in_obs_input}} -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# OBS_VAR1_LEVELS = Z500 -OBS_VAR1_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; +OBS_VAR1_THRESH = {{field_thresholds}} +OBS_VAR1_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; # -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# Forecast data time window(s). # #FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 #FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = -300 OBS_GRID_STAT_FILE_WINDOW_END = 300 @@ -187,15 +179,6 @@ FCST_IS_PROB = False FCST_GRID_STAT_PROB_THRESH = ==0.1 GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} -# -# Set to true if observation data is probabilistic. Only used if -# configuring forecast data as the 'OBS' input. -# -OBS_IS_PROB = false -# -# Only used if OBS_IS_PROB is true - sets probabilistic threshold. -# -OBS_GRID_STAT_PROB_THRESH = ==0.1 # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/GridStat_ensmean_RETOP.conf b/parm/metplus/GridStat_ensmean_RETOP.conf index bc037c4567..a881ed3ab5 100644 --- a/parm/metplus/GridStat_ensmean_RETOP.conf +++ b/parm/metplus/GridStat_ensmean_RETOP.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -92,7 +93,6 @@ MODEL = {{vx_fcst_model_name}}_ensmean # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # @@ -103,7 +103,7 @@ GRID_STAT_DESC = NA # Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations # are needed for different tools -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = []; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; +GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; # # String to search for in the foreast input files for forecast variable # 1. @@ -111,25 +111,18 @@ GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = []; cnt_thresh = [NA]; cnt_logic = # Note: # This is the name of the field in the NetCDF file(s) created by MET's # gen_ens_prod tool. This tool reads in the grib2 file(s) (in this case -# of forecasts) and outputs NetCDF file(s) in which the array names +# of forecasts) and outputs NetCDF file(s) in which the array names # consist of the value of fieldname_in_met_output plus a suffix that # specifies additional properties of the data in the array such as the -# level, the type of statistic, etc. In this case, this suffix is +# level, the type of statistic, etc. In this case, this suffix is # "_L0_ENS_MEAN". Thus, below, FCST_VAR1_NAME must be set to the value # of fieldname_in_met_output with "_L0_ENS_MEAN" appended to it. # FCST_VAR1_NAME = {{fieldname_in_met_output}}_L0_ENS_MEAN -# -# List of levels to evaluate for forecast variable 1. -# FCST_VAR1_LEVELS = L0 +FCST_VAR1_THRESH = {{field_thresholds}} FCST_VAR1_OPTIONS = convert(x) = x * 3.28084 * 0.001; # -# List of thresholds to evaluate for each name/level combination for -# both obs and forecast variable 1. -# -BOTH_VAR1_THRESH = {{field_thresholds}} -# # String to search for in the observation input files for observation # variable 1. # @@ -143,19 +136,21 @@ BOTH_VAR1_THRESH = {{field_thresholds}} # ERROR : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field abbreviation ... # OBS_VAR1_NAME = {{fieldname_in_obs_input}} -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# OBS_VAR1_LEVELS = Z500 -OBS_VAR1_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; +OBS_VAR1_THRESH = {{field_thresholds}} +OBS_VAR1_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; # -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# Forecast data time window(s). # #FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 #FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = -300 OBS_GRID_STAT_FILE_WINDOW_END = 300 @@ -186,15 +181,6 @@ FCST_IS_PROB = False FCST_GRID_STAT_PROB_THRESH = ==0.1 GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} -# -# Set to true if observation data is probabilistic. Only used if -# configuring forecast data as the 'OBS' input. -# -OBS_IS_PROB = false -# -# Only used if OBS_IS_PROB is true - sets probabilistic threshold. -# -OBS_GRID_STAT_PROB_THRESH = ==0.1 # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/GridStat_ensprob_APCP01h.conf b/parm/metplus/GridStat_ensprob_APCP.conf similarity index 76% rename from parm/metplus/GridStat_ensprob_APCP01h.conf rename to parm/metplus/GridStat_ensprob_APCP.conf index 621fe93e53..3e16de248d 100644 --- a/parm/metplus/GridStat_ensprob_APCP01h.conf +++ b/parm/metplus/GridStat_ensprob_APCP.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -79,7 +80,6 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_INTERP_TYPE_WIDTH = 1 #GRID_STAT_GRID_WEIGHT_FLAG = - # # Name to identify model (forecast) data in output. # @@ -89,13 +89,10 @@ GRID_STAT_REGRID_SHAPE = SQUARE # This makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_ensprob - -FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # @@ -108,95 +105,99 @@ GRID_STAT_DESC = NA GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; -# Name of forecast variables -# thresholds in mm, equal to >0, .01",.05",.10" +{%- set field_thresholds = [] %} +{%- if accum_hh == '01' %} + {%- set field_thresholds = ['gt0.0', 'ge0.254', 'ge0.508', 'ge2.54'] %} +{%- elif accum_hh == '03' %} + {%- set field_thresholds = ['gt0.0', 'ge0.508', 'ge2.54', 'ge6.350'] %} +{%- elif accum_hh == '06' %} + {%- set field_thresholds = ['gt0.0', 'ge2.54', 'ge6.350', 'ge12.700'] %} +{%- elif accum_hh == '24' %} + {%- set field_thresholds = ['gt0.0', 'ge6.350', 'ge12.700', 'ge25.400'] %} +{%- endif %} +# +# List of forecast and corresponding observation fields to process. +# # FREQ # Process as probability -FCST_VAR1_NAME = {{fieldname_in_met_output}}_A01_ENS_FREQ_gt0.0 -FCST_VAR1_LEVELS = A01 +# +FCST_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[0]}} +FCST_VAR1_LEVELS = A{{accum_hh}} FCST_VAR1_THRESH = ==0.1 +OBS_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR1_LEVELS = A{{accum_hh}} +OBS_VAR1_THRESH = {{field_thresholds[0]}} -OBS_VAR1_NAME = {{fieldname_in_obs_input}} -OBS_VAR1_LEVELS = A01 -OBS_VAR1_THRESH = >0.0 - -FCST_VAR2_NAME = {{fieldname_in_met_output}}_A01_ENS_FREQ_ge0.254 -FCST_VAR2_LEVELS = A01 +FCST_VAR2_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[1]}} +FCST_VAR2_LEVELS = A{{accum_hh}} FCST_VAR2_THRESH = ==0.1 +OBS_VAR2_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR2_LEVELS = A{{accum_hh}} +OBS_VAR2_THRESH = {{field_thresholds[1]}} -OBS_VAR2_NAME = {{fieldname_in_obs_input}} -OBS_VAR2_LEVELS = A01 -OBS_VAR2_THRESH = >=0.254 - -FCST_VAR3_NAME = {{fieldname_in_met_output}}_A01_ENS_FREQ_ge0.508 -FCST_VAR3_LEVELS = A01 +FCST_VAR3_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[2]}} +FCST_VAR3_LEVELS = A{{accum_hh}} FCST_VAR3_THRESH = ==0.1 +OBS_VAR3_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR3_LEVELS = A{{accum_hh}} +OBS_VAR3_THRESH = {{field_thresholds[2]}} -OBS_VAR3_NAME = {{fieldname_in_obs_input}} -OBS_VAR3_LEVELS = A01 -OBS_VAR3_THRESH = >=0.508 - -FCST_VAR4_NAME = {{fieldname_in_met_output}}_A01_ENS_FREQ_ge2.54 -FCST_VAR4_LEVELS = A01 +FCST_VAR4_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[3]}} +FCST_VAR4_LEVELS = A{{accum_hh}} FCST_VAR4_THRESH = ==0.1 +OBS_VAR4_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR4_LEVELS = A{{accum_hh}} +OBS_VAR4_THRESH = {{field_thresholds[3]}} -OBS_VAR4_NAME = {{fieldname_in_obs_input}} -OBS_VAR4_LEVELS = A01 -OBS_VAR4_THRESH = >=2.54 - +# #Process as scalars for neighborhood methods ## Note that the number of forecast and obs thresholds must match ## but won't actually be applied to NBRCNT outputs with "nbrhd.field = OBS;" -FCST_VAR5_NAME = {{fieldname_in_met_output}}_A01_ENS_FREQ_gt0.0 -FCST_VAR5_LEVELS = A01 +# +FCST_VAR5_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[0]}} +FCST_VAR5_LEVELS = A{{accum_hh}} FCST_VAR5_THRESH = ==0.1 FCST_VAR5_OPTIONS = prob = FALSE; - -OBS_VAR5_NAME = {{fieldname_in_obs_input}} -OBS_VAR5_LEVELS = A01 -OBS_VAR5_THRESH = >0.0 +OBS_VAR5_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR5_LEVELS = A{{accum_hh}} +OBS_VAR5_THRESH = {{field_thresholds[0]}} OBS_VAR5_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -FCST_VAR6_NAME = {{fieldname_in_met_output}}_A01_ENS_FREQ_ge0.254 -FCST_VAR6_LEVELS = A01 +FCST_VAR6_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[1]}} +FCST_VAR6_LEVELS = A{{accum_hh}} FCST_VAR6_THRESH = ==0.1 FCST_VAR6_OPTIONS = prob = FALSE; - -OBS_VAR6_NAME = {{fieldname_in_obs_input}} -OBS_VAR6_LEVELS = A01 -OBS_VAR6_THRESH = >=0.254 +OBS_VAR6_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR6_LEVELS = A{{accum_hh}} +OBS_VAR6_THRESH = {{field_thresholds[1]}} OBS_VAR6_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -FCST_VAR7_NAME = {{fieldname_in_met_output}}_A01_ENS_FREQ_ge0.508 -FCST_VAR7_LEVELS = A01 +FCST_VAR7_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[2]}} +FCST_VAR7_LEVELS = A{{accum_hh}} FCST_VAR7_THRESH = ==0.1 FCST_VAR7_OPTIONS = prob = FALSE; - -OBS_VAR7_NAME = {{fieldname_in_obs_input}} -OBS_VAR7_LEVELS = A01 -OBS_VAR7_THRESH = >=0.508 +OBS_VAR7_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR7_LEVELS = A{{accum_hh}} +OBS_VAR7_THRESH = {{field_thresholds[2]}} OBS_VAR7_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -FCST_VAR8_NAME = {{fieldname_in_met_output}}_A01_ENS_FREQ_ge2.54 -FCST_VAR8_LEVELS = A01 +FCST_VAR8_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[3]}} +FCST_VAR8_LEVELS = A{{accum_hh}} FCST_VAR8_THRESH = ==0.1 FCST_VAR8_OPTIONS = prob = FALSE; - -OBS_VAR8_NAME = {{fieldname_in_obs_input}} -OBS_VAR8_LEVELS = A01 -OBS_VAR8_THRESH = >=2.54 +OBS_VAR8_NAME = {{fieldname_in_met_output}}_{{accum_hh}} +OBS_VAR8_LEVELS = A{{accum_hh}} +OBS_VAR8_THRESH = {{field_thresholds[3]}} OBS_VAR8_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -#FCST_GRID_STAT_FILE_TYPE = - -#OBS_GRID_STAT_FILE_TYPE = - -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# +# Forecast data time window(s). # FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 OBS_GRID_STAT_FILE_WINDOW_END = 0 diff --git a/parm/metplus/GridStat_ensprob_APCP03h.conf b/parm/metplus/GridStat_ensprob_APCP03h.conf deleted file mode 100644 index de4fef9d52..0000000000 --- a/parm/metplus/GridStat_ensprob_APCP03h.conf +++ /dev/null @@ -1,413 +0,0 @@ -# Ensemble probabilistic GridStat METplus Configuration - -[config] - -# List of applications (tools) to run. -PROCESS_LIST = GridStat - -# time looping - options are INIT, VALID, RETRO, and REALTIME -# If set to INIT or RETRO: -# INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set -# If set to VALID or REALTIME: -# VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set -LOOP_BY = INIT - -# Format of INIT_BEG and INIT_END using % items -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d%H expands to YYYYMMDDHH -INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT -INIT_BEG = {{cdate}} - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END = {{cdate}} - -# Increment between METplus runs (in seconds if no units are specified). -# Must be >= 60 seconds. -INIT_INCREMENT = 3600 - -# List of forecast leads to process for each run time (init or valid) -# In hours if units are not specified -# If unset, defaults to 0 (don't loop through forecast leads) -LEAD_SEQ = {{fhr_list}} -# -# Order of loops to process data - Options are times, processes -# Not relevant if only one item is in the PROCESS_LIST -# times = run all wrappers in the PROCESS_LIST for a single run time, then -# increment the run time and run all wrappers again until all times have -# been evaluated. -# processes = run the first wrapper in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST until all -# wrappers have been run -# -LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 -# -# Specify the name of the METplus log file. -# -LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} -# -# Specify the location and name of the final METplus conf file. -# -METPLUS_CONF = {GRID_STAT_OUTPUT_DIR}/metplus_final.{{metplus_config_fn}} -# -# Location of MET configuration file to pass to GridStat. -# -# References PARM_BASE, which is the location of the parm directory -# corresponding to the ush directory of the run_metplus.py script that -# is called or the value of the environment variable METPLUS_PARM_BASE -# if set. -# -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - -# grid to remap data. Value is set as the 'to_grid' variable in the 'regrid' dictionary -# See MET User's Guide for more information -GRID_STAT_REGRID_TO_GRID = FCST -GRID_STAT_REGRID_VLD_THRESH = 0.5 -GRID_STAT_REGRID_METHOD = BUDGET -GRID_STAT_REGRID_WIDTH = 2 -GRID_STAT_REGRID_SHAPE = SQUARE - -#GRID_STAT_INTERP_FIELD = BOTH -#GRID_STAT_INTERP_VLD_THRESH = 1.0 -#GRID_STAT_INTERP_SHAPE = SQUARE -#GRID_STAT_INTERP_TYPE_METHOD = NEAREST -#GRID_STAT_INTERP_TYPE_WIDTH = 1 - -#GRID_STAT_GRID_WEIGHT_FLAG = - -# -# Name to identify model (forecast) data in output. -# -# The variable MODEL is recorded in the stat files, and the data in -# these files is then plotted (e.g. using METViewer). Here, we add a -# suffix to MODEL that identifies the data as ensemble-probabilistic. -# This makes it easier to identify each curve. -# -MODEL = {{vx_fcst_model_name}}_ensprob - -FCST_NATIVE_DATA_TYPE = GRIB -# -# Name to identify observation data in output. -# -OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB -# -# Value to enter under the DESC column in the output stat file. -# -GRID_STAT_DESC = NA - -# List of variables to compare in GridStat - FCST_VAR1 variables correspond -# to OBS_VAR1 variables -# Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations -# are needed for different tools - -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; - -FIELDNAME_IN_MET_OUTPUT = {{fieldname_in_met_output}} -# -# FREQ -# Process as probability - -# -# String to search for in the foreast input files for forecast variable -# 1. -# -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the NetCDF file(s) generated by -# MET's pcp_combine tool. The latter reads in grib2 file(s) containing -# 1 hour accumulation data (in this case, from forecasts) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files from pcp_combine name their arrays as specified by -# FIELDNAME_IN_MET_OUTPUT. The gen_ens_prod tool then takes this array -# name and, in its output NetCDF files, creates arrays whose names consist -# of the original array name in the pcp_combine output (FIELDNAME_IN_MET_OUTPUT) -# plus a suffix that specifies additional properties of the data in the -# array such as the level (which in this case is the accumulation period), -# the type of statistic, etc. In this case, this suffix is "_A3_ENS_FREQ_gt0.0". -# Thus, below, FCST_VAR1_NAME must be set to the value of FIELDNAME_IN_MET_OUTPUT -# with "_A3_ENS_FREQ_gt0.0" appended to it. -# The same is true of other forecast fields below except the suffix is -# different. -# -#FCST_VAR1_NAME = APCP_A3_ENS_FREQ_gt0.0 -FCST_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT}_A3_ENS_FREQ_gt0.0 -FCST_VAR1_LEVELS = A03 -FCST_VAR1_THRESH = ==0.1 -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -# Note: -# This is the name of the field in the NetCDF file created by MET's -# pcp_combine tool. This tool reads in the grib2 file(s) containing -# 1 hour accumulation data (in this case, from observations) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files name their arrays as specified by the environment -# variable FIELDNAME_IN_MET_OUTPUT. Thus, that is the value we set -# OBS_VAR1_NAME to here, not to the name of the variable in the grib2 -# file. -# -#OBS_VAR1_NAME = APCP -OBS_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR1_LEVELS = A03 -OBS_VAR1_THRESH = >0.0 - -#FCST_VAR2_NAME = APCP_A3_ENS_FREQ_ge0.508 -FCST_VAR2_NAME = {FIELDNAME_IN_MET_OUTPUT}_A3_ENS_FREQ_ge0.508 -FCST_VAR2_LEVELS = A03 -FCST_VAR2_THRESH = ==0.1 - -#OBS_VAR2_NAME = APCP -OBS_VAR2_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR2_LEVELS = A03 -OBS_VAR2_THRESH = >=0.508 - -#FCST_VAR3_NAME = APCP_A3_ENS_FREQ_ge2.54 -FCST_VAR3_NAME = {FIELDNAME_IN_MET_OUTPUT}_A3_ENS_FREQ_ge2.54 -FCST_VAR3_LEVELS = A03 -FCST_VAR3_THRESH = ==0.1 - -#OBS_VAR3_NAME = APCP -OBS_VAR3_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR3_LEVELS = A03 -OBS_VAR3_THRESH = >=2.54 - -#FCST_VAR4_NAME = APCP_A3_ENS_FREQ_ge6.350 -FCST_VAR4_NAME = {FIELDNAME_IN_MET_OUTPUT}_A3_ENS_FREQ_ge6.350 -FCST_VAR4_LEVELS = A03 -FCST_VAR4_THRESH = ==0.1 - -#OBS_VAR4_NAME = APCP -OBS_VAR4_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR4_LEVELS = A03 -OBS_VAR4_THRESH = >=6.350 - -#Process as scalars for neighborhood methods -## Note that the number of forecast and obs thresholds must match -## but won't actually be applied to NBRCNT outputs with "nbrhd.field = OBS;" -#FCST_VAR5_NAME = APCP_A3_ENS_FREQ_gt0.0 -FCST_VAR5_NAME = {FIELDNAME_IN_MET_OUTPUT}_A3_ENS_FREQ_gt0.0 -FCST_VAR5_LEVELS = A03 -FCST_VAR5_THRESH = ==0.1 -FCST_VAR5_OPTIONS = prob = FALSE; - -#OBS_VAR5_NAME = APCP -OBS_VAR5_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR5_LEVELS = A03 -OBS_VAR5_THRESH = >0.0 -OBS_VAR5_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR6_NAME = APCP_A3_ENS_FREQ_ge0.508 -FCST_VAR6_NAME = {FIELDNAME_IN_MET_OUTPUT}_A3_ENS_FREQ_ge0.508 -FCST_VAR6_LEVELS = A03 -FCST_VAR6_THRESH = ==0.1 -FCST_VAR6_OPTIONS = prob = FALSE; - -#OBS_VAR6_NAME = APCP -OBS_VAR6_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR6_LEVELS = A03 -OBS_VAR6_THRESH = >=0.508 -OBS_VAR6_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR7_NAME = APCP_A3_ENS_FREQ_ge2.54 -FCST_VAR7_NAME = {FIELDNAME_IN_MET_OUTPUT}_A3_ENS_FREQ_ge2.54 -FCST_VAR7_LEVELS = A03 -FCST_VAR7_THRESH = ==0.1 -FCST_VAR7_OPTIONS = prob = FALSE; - -#OBS_VAR7_NAME = APCP -OBS_VAR7_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR7_LEVELS = A03 -OBS_VAR7_THRESH = >=2.54 -OBS_VAR7_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR8_NAME = APCP_A3_ENS_FREQ_ge6.350 -FCST_VAR8_NAME = {FIELDNAME_IN_MET_OUTPUT}_A3_ENS_FREQ_ge6.350 -FCST_VAR8_LEVELS = A03 -FCST_VAR8_THRESH = ==0.1 -FCST_VAR8_OPTIONS = prob = FALSE; - -#OBS_VAR8_NAME = APCP -OBS_VAR8_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR8_LEVELS = A03 -OBS_VAR8_THRESH = >=6.350 -OBS_VAR8_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_GRID_STAT_FILE_TYPE = - -#OBS_GRID_STAT_FILE_TYPE = - -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. -# -FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 -FCST_GRID_STAT_FILE_WINDOW_END = 0 -OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 -OBS_GRID_STAT_FILE_WINDOW_END = 0 - -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information -GRID_STAT_NEIGHBORHOOD_FIELD = - -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = - -# shape value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_SHAPE = - -# cov thresh list passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 - -# Set to true to run GridStat separately for each field specified -# Set to false to create one run of GridStat per run time that -# includes all fields specified. -GRID_STAT_ONCE_PER_FIELD = False -# -# Set to true if forecast data is probabilistic. -# -FCST_IS_PROB = True -FCST_PROB_IN_GRIB_PDS = False -# -# Only used if FCST_IS_PROB is true - sets probabilistic threshold -# -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} - -# Climatology data -#GRID_STAT_CLIMO_MEAN_FILE_NAME = -#GRID_STAT_CLIMO_MEAN_FIELD = -#GRID_STAT_CLIMO_MEAN_REGRID_METHOD = -#GRID_STAT_CLIMO_MEAN_REGRID_WIDTH = -#GRID_STAT_CLIMO_MEAN_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_MEAN_REGRID_SHAPE = -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_MEAN_MATCH_MONTH = -#GRID_STAT_CLIMO_MEAN_DAY_INTERVAL = -#GRID_STAT_CLIMO_MEAN_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_STDEV_FILE_NAME = -#GRID_STAT_CLIMO_STDEV_FIELD = -#GRID_STAT_CLIMO_STDEV_REGRID_METHOD = -#GRID_STAT_CLIMO_STDEV_REGRID_WIDTH = -#GRID_STAT_CLIMO_STDEV_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_STDEV_REGRID_SHAPE = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_MATCH_MONTH = -#GRID_STAT_CLIMO_STDEV_DAY_INTERVAL = -#GRID_STAT_CLIMO_STDEV_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_CDF_BINS = 1 -#GRID_STAT_CLIMO_CDF_CENTER_BINS = False -#GRID_STAT_CLIMO_CDF_WRITE_BINS = True - -GRID_STAT_MASK_GRID = - -# Statistical output types -GRID_STAT_OUTPUT_FLAG_FHO = NONE -GRID_STAT_OUTPUT_FLAG_CTC = NONE -GRID_STAT_OUTPUT_FLAG_CTS = NONE -#GRID_STAT_OUTPUT_FLAG_MCTC = NONE -#GRID_STAT_OUTPUT_FLAG_MCTS = NONE -GRID_STAT_OUTPUT_FLAG_CNT = NONE -#GRID_STAT_OUTPUT_FLAG_SL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_SAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VCNT = NONE -GRID_STAT_OUTPUT_FLAG_PCT = STAT -GRID_STAT_OUTPUT_FLAG_PSTD = STAT -GRID_STAT_OUTPUT_FLAG_PJC = STAT -GRID_STAT_OUTPUT_FLAG_PRC = STAT -#GRID_STAT_OUTPUT_FLAG_ECLV = BOTH -GRID_STAT_OUTPUT_FLAG_NBRCTC = NONE -GRID_STAT_OUTPUT_FLAG_NBRCTS = NONE -GRID_STAT_OUTPUT_FLAG_NBRCNT = STAT -#GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -# NetCDF matched pairs output file -#GRID_STAT_NC_PAIRS_VAR_NAME = -GRID_STAT_NC_PAIRS_FLAG_LATLON = FALSE -GRID_STAT_NC_PAIRS_FLAG_RAW = FALSE -GRID_STAT_NC_PAIRS_FLAG_DIFF = FALSE -GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE -GRID_STAT_NC_PAIRS_FLAG_WEIGHT = FALSE -GRID_STAT_NC_PAIRS_FLAG_NBRHD = FALSE -#GRID_STAT_NC_PAIRS_FLAG_FOURIER = FALSE -#GRID_STAT_NC_PAIRS_FLAG_GRADIENT = FALSE -#GRID_STAT_NC_PAIRS_FLAG_DISTANCE_MAP = FALSE -GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE - -# End of [config] section and start of [dir] section. -[dir] -# -# Directory containing observation input to GridStat. -# -OBS_GRID_STAT_INPUT_DIR = {{obs_input_dir}} -# -# Directory containing forecast input to GridStat. -# -FCST_GRID_STAT_INPUT_DIR = {{fcst_input_dir}} -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_DIR = -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_DIR = -# -# Directory in which to write output from GridStat. -# -# OUTPUT_BASE apparently has to be set to something; it cannot be left -# to its default value. But it is not explicitly used elsewhere in this -# configuration file. -# -OUTPUT_BASE = {{output_base}} -GRID_STAT_OUTPUT_DIR = {{output_dir}} -# -# Directory for staging data. -# -STAGING_DIR = {{staging_dir}} - -# End of [dir] section and start of [filename_templates] section. -[filename_templates] -# -# Template for observation input to GridStat relative to -# OBS_GRID_STAT_INPUT_DIR. -# -OBS_GRID_STAT_INPUT_TEMPLATE = {{obs_input_fn_template}} -# -# Template for forecast input to GridStat relative to -# FCST_GRID_STAT_INPUT_DIR. -# -FCST_GRID_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} -# -# Template for output from GridStat relative to GRID_STAT_OUTPUT_DIR. -# -GRID_STAT_OUTPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -# -# Variable used to specify one or more verification mask files for -# GridStat. Not used for this example. -# -GRID_STAT_VERIFICATION_MASK_TEMPLATE = {MET_INSTALL_DIR}/share/met/poly/CONUS.poly diff --git a/parm/metplus/GridStat_ensprob_APCP06h.conf b/parm/metplus/GridStat_ensprob_APCP06h.conf deleted file mode 100644 index b56e65a597..0000000000 --- a/parm/metplus/GridStat_ensprob_APCP06h.conf +++ /dev/null @@ -1,413 +0,0 @@ -# Ensemble probabilistic GridStat METplus Configuration - -[config] - -# List of applications (tools) to run. -PROCESS_LIST = GridStat - -# time looping - options are INIT, VALID, RETRO, and REALTIME -# If set to INIT or RETRO: -# INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set -# If set to VALID or REALTIME: -# VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set -LOOP_BY = INIT - -# Format of INIT_BEG and INIT_END using % items -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d%H expands to YYYYMMDDHH -INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT -INIT_BEG = {{cdate}} - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END = {{cdate}} - -# Increment between METplus runs (in seconds if no units are specified). -# Must be >= 60 seconds. -INIT_INCREMENT = 3600 - -# List of forecast leads to process for each run time (init or valid) -# In hours if units are not specified -# If unset, defaults to 0 (don't loop through forecast leads) -LEAD_SEQ = {{fhr_list}} -# -# Order of loops to process data - Options are times, processes -# Not relevant if only one item is in the PROCESS_LIST -# times = run all wrappers in the PROCESS_LIST for a single run time, then -# increment the run time and run all wrappers again until all times have -# been evaluated. -# processes = run the first wrapper in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST until all -# wrappers have been run -# -LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 -# -# Specify the name of the METplus log file. -# -LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} -# -# Specify the location and name of the final METplus conf file. -# -METPLUS_CONF = {GRID_STAT_OUTPUT_DIR}/metplus_final.{{metplus_config_fn}} -# -# Location of MET configuration file to pass to GridStat. -# -# References PARM_BASE, which is the location of the parm directory -# corresponding to the ush directory of the run_metplus.py script that -# is called or the value of the environment variable METPLUS_PARM_BASE -# if set. -# -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - -# grid to remap data. Value is set as the 'to_grid' variable in the 'regrid' dictionary -# See MET User's Guide for more information -GRID_STAT_REGRID_TO_GRID = FCST -GRID_STAT_REGRID_VLD_THRESH = 0.5 -GRID_STAT_REGRID_METHOD = BUDGET -GRID_STAT_REGRID_WIDTH = 2 -GRID_STAT_REGRID_SHAPE = SQUARE - -#GRID_STAT_INTERP_FIELD = BOTH -#GRID_STAT_INTERP_VLD_THRESH = 1.0 -#GRID_STAT_INTERP_SHAPE = SQUARE -#GRID_STAT_INTERP_TYPE_METHOD = NEAREST -#GRID_STAT_INTERP_TYPE_WIDTH = 1 - -#GRID_STAT_GRID_WEIGHT_FLAG = - -# -# Name to identify model (forecast) data in output. -# -# The variable MODEL is recorded in the stat files, and the data in -# these files is then plotted (e.g. using METViewer). Here, we add a -# suffix to MODEL that identifies the data as ensemble-probabilistic. -# This makes it easier to identify each curve. -# -MODEL = {{vx_fcst_model_name}}_ensprob - -FCST_NATIVE_DATA_TYPE = GRIB -# -# Name to identify observation data in output. -# -OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB -# -# Value to enter under the DESC column in the output stat file. -# -GRID_STAT_DESC = NA - -# List of variables to compare in GridStat - FCST_VAR1 variables correspond -# to OBS_VAR1 variables -# Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations -# are needed for different tools - -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; - -FIELDNAME_IN_MET_OUTPUT = {{fieldname_in_met_output}} -# -# FREQ -# Process as probability - -# -# String to search for in the foreast input files for forecast variable -# 1. -# -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the NetCDF file(s) generated by -# MET's pcp_combine tool. The latter reads in grib2 file(s) containing -# 1 hour accumulation data (in this case, from forecasts) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files from pcp_combine name their arrays as specified by -# FIELDNAME_IN_MET_OUTPUT. The gen_ens_prod tool then takes this array -# name and, in its output NetCDF files, creates arrays whose names consist -# of the original array name in the pcp_combine output (FIELDNAME_IN_MET_OUTPUT) -# plus a suffix that specifies additional properties of the data in the -# array such as the level (which in this case is the accumulation period), -# the type of statistic, etc. In this case, this suffix is "_A6_ENS_FREQ_gt0.0". -# Thus, below, FCST_VAR1_NAME must be set to the value of FIELDNAME_IN_MET_OUTPUT -# with "_A6_ENS_FREQ_gt0.0" appended to it. -# The same is true of other forecast fields below except the suffix is -# different. -# -#FCST_VAR1_NAME = APCP_A6_ENS_FREQ_gt0.0 -FCST_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT}_A6_ENS_FREQ_gt0.0 -FCST_VAR1_LEVELS = A06 -FCST_VAR1_THRESH = ==0.1 -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -# Note: -# This is the name of the field in the NetCDF file created by MET's -# pcp_combine tool. This tool reads in the grib2 file(s) containing -# 1 hour accumulation data (in this case, from observations) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files name their arrays as specified by the environment -# variable FIELDNAME_IN_MET_OUTPUT. Thus, that is the value we set -# OBS_VAR1_NAME to here, not to the name of the variable in the grib2 -# file. -# -#OBS_VAR1_NAME = APCP -OBS_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR1_LEVELS = A06 -OBS_VAR1_THRESH = >0.0 - -#FCST_VAR2_NAME = APCP_A6_ENS_FREQ_ge2.54 -FCST_VAR2_NAME = {FIELDNAME_IN_MET_OUTPUT}_A6_ENS_FREQ_ge2.54 -FCST_VAR2_LEVELS = A06 -FCST_VAR2_THRESH = ==0.1 - -#OBS_VAR2_NAME = APCP -OBS_VAR2_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR2_LEVELS = A06 -OBS_VAR2_THRESH = >=2.54 - -#FCST_VAR3_NAME = APCP_A6_ENS_FREQ_ge6.350 -FCST_VAR3_NAME = {FIELDNAME_IN_MET_OUTPUT}_A6_ENS_FREQ_ge6.350 -FCST_VAR3_LEVELS = A06 -FCST_VAR3_THRESH = ==0.1 - -#OBS_VAR3_NAME = APCP -OBS_VAR3_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR3_LEVELS = A06 -OBS_VAR3_THRESH = >=6.350 - -#FCST_VAR4_NAME = APCP_A6_ENS_FREQ_ge12.700 -FCST_VAR4_NAME = {FIELDNAME_IN_MET_OUTPUT}_A6_ENS_FREQ_ge12.700 -FCST_VAR4_LEVELS = A06 -FCST_VAR4_THRESH = ==0.1 - -#OBS_VAR4_NAME = APCP -OBS_VAR4_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR4_LEVELS = A06 -OBS_VAR4_THRESH = >=12.700 - -#Process as scalars for neighborhood methods -## Note that the number of forecast and obs thresholds must match -## but won't actually be applied to NBRCNT outputs with "nbrhd.field = OBS;" -#FCST_VAR5_NAME = APCP_A6_ENS_FREQ_gt0.0 -FCST_VAR5_NAME = {FIELDNAME_IN_MET_OUTPUT}_A6_ENS_FREQ_gt0.0 -FCST_VAR5_LEVELS = A06 -FCST_VAR5_THRESH = ==0.1 -FCST_VAR5_OPTIONS = prob = FALSE; - -#OBS_VAR5_NAME = APCP -OBS_VAR5_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR5_LEVELS = A06 -OBS_VAR5_THRESH = >0.0 -OBS_VAR5_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR6_NAME = APCP_A6_ENS_FREQ_ge2.54 -FCST_VAR6_NAME = {FIELDNAME_IN_MET_OUTPUT}_A6_ENS_FREQ_ge2.54 -FCST_VAR6_LEVELS = A06 -FCST_VAR6_THRESH = ==0.1 -FCST_VAR6_OPTIONS = prob = FALSE; - -#OBS_VAR6_NAME = APCP -OBS_VAR6_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR6_LEVELS = A06 -OBS_VAR6_THRESH = >=2.54 -OBS_VAR6_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR7_NAME = APCP_A6_ENS_FREQ_ge6.350 -FCST_VAR7_NAME = {FIELDNAME_IN_MET_OUTPUT}_A6_ENS_FREQ_ge6.350 -FCST_VAR7_LEVELS = A06 -FCST_VAR7_THRESH = ==0.1 -FCST_VAR7_OPTIONS = prob = FALSE; - -#OBS_VAR7_NAME = APCP -OBS_VAR7_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR7_LEVELS = A06 -OBS_VAR7_THRESH = >=6.350 -OBS_VAR7_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR8_NAME = APCP_A6_ENS_FREQ_ge12.700 -FCST_VAR8_NAME = {FIELDNAME_IN_MET_OUTPUT}_A6_ENS_FREQ_ge12.700 -FCST_VAR8_LEVELS = A06 -FCST_VAR8_THRESH = ==0.1 -FCST_VAR8_OPTIONS = prob = FALSE; - -#OBS_VAR8_NAME = APCP -OBS_VAR8_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR8_LEVELS = A06 -OBS_VAR8_THRESH = >=12.700 -OBS_VAR8_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_GRID_STAT_FILE_TYPE = - -#OBS_GRID_STAT_FILE_TYPE = - -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. -# -FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 -FCST_GRID_STAT_FILE_WINDOW_END = 0 -OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 -OBS_GRID_STAT_FILE_WINDOW_END = 0 - -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information -GRID_STAT_NEIGHBORHOOD_FIELD = - -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = - -# shape value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_SHAPE = - -# cov thresh list passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 - -# Set to true to run GridStat separately for each field specified -# Set to false to create one run of GridStat per run time that -# includes all fields specified. -GRID_STAT_ONCE_PER_FIELD = False -# -# Set to true if forecast data is probabilistic. -# -FCST_IS_PROB = True -FCST_PROB_IN_GRIB_PDS = False -# -# Only used if FCST_IS_PROB is true - sets probabilistic threshold -# -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} - -# Climatology data -#GRID_STAT_CLIMO_MEAN_FILE_NAME = -#GRID_STAT_CLIMO_MEAN_FIELD = -#GRID_STAT_CLIMO_MEAN_REGRID_METHOD = -#GRID_STAT_CLIMO_MEAN_REGRID_WIDTH = -#GRID_STAT_CLIMO_MEAN_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_MEAN_REGRID_SHAPE = -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_MEAN_MATCH_MONTH = -#GRID_STAT_CLIMO_MEAN_DAY_INTERVAL = -#GRID_STAT_CLIMO_MEAN_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_STDEV_FILE_NAME = -#GRID_STAT_CLIMO_STDEV_FIELD = -#GRID_STAT_CLIMO_STDEV_REGRID_METHOD = -#GRID_STAT_CLIMO_STDEV_REGRID_WIDTH = -#GRID_STAT_CLIMO_STDEV_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_STDEV_REGRID_SHAPE = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_MATCH_MONTH = -#GRID_STAT_CLIMO_STDEV_DAY_INTERVAL = -#GRID_STAT_CLIMO_STDEV_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_CDF_BINS = 1 -#GRID_STAT_CLIMO_CDF_CENTER_BINS = False -#GRID_STAT_CLIMO_CDF_WRITE_BINS = True - -GRID_STAT_MASK_GRID = - -# Statistical output types -GRID_STAT_OUTPUT_FLAG_FHO = NONE -GRID_STAT_OUTPUT_FLAG_CTC = NONE -GRID_STAT_OUTPUT_FLAG_CTS = NONE -#GRID_STAT_OUTPUT_FLAG_MCTC = NONE -#GRID_STAT_OUTPUT_FLAG_MCTS = NONE -GRID_STAT_OUTPUT_FLAG_CNT = NONE -#GRID_STAT_OUTPUT_FLAG_SL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_SAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VCNT = NONE -GRID_STAT_OUTPUT_FLAG_PCT = STAT -GRID_STAT_OUTPUT_FLAG_PSTD = STAT -GRID_STAT_OUTPUT_FLAG_PJC = STAT -GRID_STAT_OUTPUT_FLAG_PRC = STAT -#GRID_STAT_OUTPUT_FLAG_ECLV = BOTH -GRID_STAT_OUTPUT_FLAG_NBRCTC = NONE -GRID_STAT_OUTPUT_FLAG_NBRCTS = NONE -GRID_STAT_OUTPUT_FLAG_NBRCNT = STAT -#GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -# NetCDF matched pairs output file -#GRID_STAT_NC_PAIRS_VAR_NAME = -GRID_STAT_NC_PAIRS_FLAG_LATLON = FALSE -GRID_STAT_NC_PAIRS_FLAG_RAW = FALSE -GRID_STAT_NC_PAIRS_FLAG_DIFF = FALSE -GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE -GRID_STAT_NC_PAIRS_FLAG_WEIGHT = FALSE -GRID_STAT_NC_PAIRS_FLAG_NBRHD = FALSE -#GRID_STAT_NC_PAIRS_FLAG_FOURIER = FALSE -#GRID_STAT_NC_PAIRS_FLAG_GRADIENT = FALSE -#GRID_STAT_NC_PAIRS_FLAG_DISTANCE_MAP = FALSE -GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE - -# End of [config] section and start of [dir] section. -[dir] -# -# Directory containing observation input to GridStat. -# -OBS_GRID_STAT_INPUT_DIR = {{obs_input_dir}} -# -# Directory containing forecast input to GridStat. -# -FCST_GRID_STAT_INPUT_DIR = {{fcst_input_dir}} -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_DIR = -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_DIR = -# -# Directory in which to write output from GridStat. -# -# OUTPUT_BASE apparently has to be set to something; it cannot be left -# to its default value. But it is not explicitly used elsewhere in this -# configuration file. -# -OUTPUT_BASE = {{output_base}} -GRID_STAT_OUTPUT_DIR = {{output_dir}} -# -# Directory for staging data. -# -STAGING_DIR = {{staging_dir}} - -# End of [dir] section and start of [filename_templates] section. -[filename_templates] -# -# Template for observation input to GridStat relative to -# OBS_GRID_STAT_INPUT_DIR. -# -OBS_GRID_STAT_INPUT_TEMPLATE = {{obs_input_fn_template}} -# -# Template for forecast input to GridStat relative to -# FCST_GRID_STAT_INPUT_DIR. -# -FCST_GRID_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} -# -# Template for output from GridStat relative to GRID_STAT_OUTPUT_DIR. -# -GRID_STAT_OUTPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -# -# Variable used to specify one or more verification mask files for -# GridStat. Not used for this example. -# -GRID_STAT_VERIFICATION_MASK_TEMPLATE = {MET_INSTALL_DIR}/share/met/poly/CONUS.poly diff --git a/parm/metplus/GridStat_ensprob_APCP24h.conf b/parm/metplus/GridStat_ensprob_APCP24h.conf deleted file mode 100644 index 91897c590c..0000000000 --- a/parm/metplus/GridStat_ensprob_APCP24h.conf +++ /dev/null @@ -1,413 +0,0 @@ -# Ensemble probabilistic GridStat METplus Configuration - -[config] - -# List of applications (tools) to run. -PROCESS_LIST = GridStat - -# time looping - options are INIT, VALID, RETRO, and REALTIME -# If set to INIT or RETRO: -# INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set -# If set to VALID or REALTIME: -# VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set -LOOP_BY = INIT - -# Format of INIT_BEG and INIT_END using % items -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d%H expands to YYYYMMDDHH -INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT -INIT_BEG = {{cdate}} - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END = {{cdate}} - -# Increment between METplus runs (in seconds if no units are specified). -# Must be >= 60 seconds. -INIT_INCREMENT = 3600 - -# List of forecast leads to process for each run time (init or valid) -# In hours if units are not specified -# If unset, defaults to 0 (don't loop through forecast leads) -LEAD_SEQ = {{fhr_list}} -# -# Order of loops to process data - Options are times, processes -# Not relevant if only one item is in the PROCESS_LIST -# times = run all wrappers in the PROCESS_LIST for a single run time, then -# increment the run time and run all wrappers again until all times have -# been evaluated. -# processes = run the first wrapper in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST until all -# wrappers have been run -# -LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 -# -# Specify the name of the METplus log file. -# -LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} -# -# Specify the location and name of the final METplus conf file. -# -METPLUS_CONF = {GRID_STAT_OUTPUT_DIR}/metplus_final.{{metplus_config_fn}} -# -# Location of MET configuration file to pass to GridStat. -# -# References PARM_BASE, which is the location of the parm directory -# corresponding to the ush directory of the run_metplus.py script that -# is called or the value of the environment variable METPLUS_PARM_BASE -# if set. -# -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - -# grid to remap data. Value is set as the 'to_grid' variable in the 'regrid' dictionary -# See MET User's Guide for more information -GRID_STAT_REGRID_TO_GRID = FCST -GRID_STAT_REGRID_VLD_THRESH = 0.5 -GRID_STAT_REGRID_METHOD = BUDGET -GRID_STAT_REGRID_WIDTH = 2 -GRID_STAT_REGRID_SHAPE = SQUARE - -#GRID_STAT_INTERP_FIELD = BOTH -#GRID_STAT_INTERP_VLD_THRESH = 1.0 -#GRID_STAT_INTERP_SHAPE = SQUARE -#GRID_STAT_INTERP_TYPE_METHOD = NEAREST -#GRID_STAT_INTERP_TYPE_WIDTH = 1 - -#GRID_STAT_GRID_WEIGHT_FLAG = - -# -# Name to identify model (forecast) data in output. -# -# The variable MODEL is recorded in the stat files, and the data in -# these files is then plotted (e.g. using METViewer). Here, we add a -# suffix to MODEL that identifies the data as ensemble-probabilistic. -# This makes it easier to identify each curve. -# -MODEL = {{vx_fcst_model_name}}_ensprob - -FCST_NATIVE_DATA_TYPE = GRIB -# -# Name to identify observation data in output. -# -OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB -# -# Value to enter under the DESC column in the output stat file. -# -GRID_STAT_DESC = NA - -# List of variables to compare in GridStat - FCST_VAR1 variables correspond -# to OBS_VAR1 variables -# Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations -# are needed for different tools - -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; - -FIELDNAME_IN_MET_OUTPUT = {{fieldname_in_met_output}} -# -# FREQ -# Process as probability - -# -# String to search for in the foreast input files for forecast variable -# 1. -# -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the NetCDF file(s) generated by -# MET's pcp_combine tool. The latter reads in grib2 file(s) containing -# 1 hour accumulation data (in this case, from forecasts) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files from pcp_combine name their arrays as specified by -# FIELDNAME_IN_MET_OUTPUT. The gen_ens_prod tool then takes this array -# name and, in its output NetCDF files, creates arrays whose names consist -# of the original array name in the pcp_combine output (FIELDNAME_IN_MET_OUTPUT) -# plus a suffix that specifies additional properties of the data in the -# array such as the level (which in this case is the accumulation period), -# the type of statistic, etc. In this case, this suffix is "_A24_ENS_FREQ_gt0.0". -# Thus, below, FCST_VAR1_NAME must be set to the value of FIELDNAME_IN_MET_OUTPUT -# with "_A24_ENS_FREQ_gt0.0" appended to it. -# The same is true of other forecast fields below except the suffix is -# different. -# -#FCST_VAR1_NAME = APCP_A24_ENS_FREQ_gt0.0 -FCST_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT}_A24_ENS_FREQ_gt0.0 -FCST_VAR1_LEVELS = A24 -FCST_VAR1_THRESH = ==0.1 -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -# Note: -# This is the name of the field in the NetCDF file created by MET's -# pcp_combine tool. This tool reads in the grib2 file(s) containing -# 1 hour accumulation data (in this case, from observations) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files name their arrays as specified by the environment -# variable FIELDNAME_IN_MET_OUTPUT. Thus, that is the value we set -# OBS_VAR1_NAME to here, not to the name of the variable in the grib2 -# file. -# -#OBS_VAR1_NAME = APCP -OBS_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR1_LEVELS = A24 -OBS_VAR1_THRESH = >0.0 - -#FCST_VAR2_NAME = APCP_A24_ENS_FREQ_ge6.350 -FCST_VAR2_NAME = {FIELDNAME_IN_MET_OUTPUT}_A24_ENS_FREQ_ge6.350 -FCST_VAR2_LEVELS = A24 -FCST_VAR2_THRESH = ==0.1 - -#OBS_VAR2_NAME = APCP -OBS_VAR2_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR2_LEVELS = A24 -OBS_VAR2_THRESH = >=6.350 - -#FCST_VAR3_NAME = APCP_A24_ENS_FREQ_ge12.700 -FCST_VAR3_NAME = {FIELDNAME_IN_MET_OUTPUT}_A24_ENS_FREQ_ge12.700 -FCST_VAR3_LEVELS = A24 -FCST_VAR3_THRESH = ==0.1 - -#OBS_VAR3_NAME = APCP -OBS_VAR3_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR3_LEVELS = A24 -OBS_VAR3_THRESH = >=12.700 - -#FCST_VAR4_NAME = APCP_A24_ENS_FREQ_ge25.400 -FCST_VAR4_NAME = {FIELDNAME_IN_MET_OUTPUT}_A24_ENS_FREQ_ge25.400 -FCST_VAR4_LEVELS = A24 -FCST_VAR4_THRESH = ==0.1 - -#OBS_VAR4_NAME = APCP -OBS_VAR4_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR4_LEVELS = A24 -OBS_VAR4_THRESH = >=25.400 - -#Process as scalars for neighborhood methods -### Note that the number of forecast and obs thresholds must match -### but won't actually be applied to NBRCNT outputs with "nbrhd.field = OBS;" -#FCST_VAR5_NAME = APCP_A24_ENS_FREQ_gt0.0 -FCST_VAR5_NAME = {FIELDNAME_IN_MET_OUTPUT}_A24_ENS_FREQ_gt0.0 -FCST_VAR5_LEVELS = A24 -FCST_VAR5_THRESH = ==0.1 -FCST_VAR5_OPTIONS = prob = FALSE; - -#OBS_VAR5_NAME = APCP -OBS_VAR5_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR5_LEVELS = A24 -OBS_VAR5_THRESH = >0.0 -OBS_VAR5_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR6_NAME = APCP_A24_ENS_FREQ_ge6.350 -FCST_VAR6_NAME = {FIELDNAME_IN_MET_OUTPUT}_A24_ENS_FREQ_ge6.350 -FCST_VAR6_LEVELS = A24 -FCST_VAR6_THRESH = ==0.1 -FCST_VAR6_OPTIONS = prob = FALSE; - -#OBS_VAR6_NAME = APCP -OBS_VAR6_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR6_LEVELS = A24 -OBS_VAR6_THRESH = >=6.350 -OBS_VAR6_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR7_NAME = APCP_A24_ENS_FREQ_ge12.700 -FCST_VAR7_NAME = {FIELDNAME_IN_MET_OUTPUT}_A24_ENS_FREQ_ge12.700 -FCST_VAR7_LEVELS = A24 -FCST_VAR7_THRESH = ==0.1 -FCST_VAR7_OPTIONS = prob = FALSE; - -#OBS_VAR7_NAME = APCP -OBS_VAR7_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR7_LEVELS = A24 -OBS_VAR7_THRESH = >=12.700 -OBS_VAR7_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_VAR8_NAME = APCP_A24_ENS_FREQ_ge25.400 -FCST_VAR8_NAME = {FIELDNAME_IN_MET_OUTPUT}_A24_ENS_FREQ_ge25.400 -FCST_VAR8_LEVELS = A24 -FCST_VAR8_THRESH = ==0.1 -FCST_VAR8_OPTIONS = prob = FALSE; - -#OBS_VAR8_NAME = APCP -OBS_VAR8_NAME = {FIELDNAME_IN_MET_OUTPUT} -OBS_VAR8_LEVELS = A24 -OBS_VAR8_THRESH = >=25.400 -OBS_VAR8_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_GRID_STAT_FILE_TYPE = - -#OBS_GRID_STAT_FILE_TYPE = - -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. -# -FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 -FCST_GRID_STAT_FILE_WINDOW_END = 0 -OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 -OBS_GRID_STAT_FILE_WINDOW_END = 0 - -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information -GRID_STAT_NEIGHBORHOOD_FIELD = - -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = - -# shape value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_SHAPE = - -# cov thresh list passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 - -# Set to true to run GridStat separately for each field specified -# Set to false to create one run of GridStat per run time that -# includes all fields specified. -GRID_STAT_ONCE_PER_FIELD = False -# -# Set to true if forecast data is probabilistic. -# -FCST_IS_PROB = True -FCST_PROB_IN_GRIB_PDS = False -# -# Only used if FCST_IS_PROB is true - sets probabilistic threshold -# -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} - -# Climatology data -#GRID_STAT_CLIMO_MEAN_FILE_NAME = -#GRID_STAT_CLIMO_MEAN_FIELD = -#GRID_STAT_CLIMO_MEAN_REGRID_METHOD = -#GRID_STAT_CLIMO_MEAN_REGRID_WIDTH = -#GRID_STAT_CLIMO_MEAN_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_MEAN_REGRID_SHAPE = -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_MEAN_MATCH_MONTH = -#GRID_STAT_CLIMO_MEAN_DAY_INTERVAL = -#GRID_STAT_CLIMO_MEAN_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_STDEV_FILE_NAME = -#GRID_STAT_CLIMO_STDEV_FIELD = -#GRID_STAT_CLIMO_STDEV_REGRID_METHOD = -#GRID_STAT_CLIMO_STDEV_REGRID_WIDTH = -#GRID_STAT_CLIMO_STDEV_REGRID_VLD_THRESH = -#GRID_STAT_CLIMO_STDEV_REGRID_SHAPE = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_MATCH_MONTH = -#GRID_STAT_CLIMO_STDEV_DAY_INTERVAL = -#GRID_STAT_CLIMO_STDEV_HOUR_INTERVAL = - -#GRID_STAT_CLIMO_CDF_BINS = 1 -#GRID_STAT_CLIMO_CDF_CENTER_BINS = False -#GRID_STAT_CLIMO_CDF_WRITE_BINS = True - -GRID_STAT_MASK_GRID = - -# Statistical output types -GRID_STAT_OUTPUT_FLAG_FHO = NONE -GRID_STAT_OUTPUT_FLAG_CTC = NONE -GRID_STAT_OUTPUT_FLAG_CTS = NONE -#GRID_STAT_OUTPUT_FLAG_MCTC = NONE -#GRID_STAT_OUTPUT_FLAG_MCTS = NONE -GRID_STAT_OUTPUT_FLAG_CNT = NONE -#GRID_STAT_OUTPUT_FLAG_SL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_SAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VAL1L2 = NONE -#GRID_STAT_OUTPUT_FLAG_VCNT = NONE -GRID_STAT_OUTPUT_FLAG_PCT = STAT -GRID_STAT_OUTPUT_FLAG_PSTD = STAT -GRID_STAT_OUTPUT_FLAG_PJC = STAT -GRID_STAT_OUTPUT_FLAG_PRC = STAT -#GRID_STAT_OUTPUT_FLAG_ECLV = BOTH -GRID_STAT_OUTPUT_FLAG_NBRCTC = NONE -GRID_STAT_OUTPUT_FLAG_NBRCTS = NONE -GRID_STAT_OUTPUT_FLAG_NBRCNT = STAT -#GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -# NetCDF matched pairs output file -#GRID_STAT_NC_PAIRS_VAR_NAME = -GRID_STAT_NC_PAIRS_FLAG_LATLON = FALSE -GRID_STAT_NC_PAIRS_FLAG_RAW = FALSE -GRID_STAT_NC_PAIRS_FLAG_DIFF = FALSE -GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE -GRID_STAT_NC_PAIRS_FLAG_WEIGHT = FALSE -GRID_STAT_NC_PAIRS_FLAG_NBRHD = FALSE -#GRID_STAT_NC_PAIRS_FLAG_FOURIER = FALSE -#GRID_STAT_NC_PAIRS_FLAG_GRADIENT = FALSE -#GRID_STAT_NC_PAIRS_FLAG_DISTANCE_MAP = FALSE -GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE - -# End of [config] section and start of [dir] section. -[dir] -# -# Directory containing observation input to GridStat. -# -OBS_GRID_STAT_INPUT_DIR = {{obs_input_dir}} -# -# Directory containing forecast input to GridStat. -# -FCST_GRID_STAT_INPUT_DIR = {{fcst_input_dir}} -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_DIR = -# -# Directory containing climatology mean input to GridStat. Not used in -# this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_DIR = -# -# Directory in which to write output from GridStat. -# -# OUTPUT_BASE apparently has to be set to something; it cannot be left -# to its default value. But it is not explicitly used elsewhere in this -# configuration file. -# -OUTPUT_BASE = {{output_base}} -GRID_STAT_OUTPUT_DIR = {{output_dir}} -# -# Directory for staging data. -# -STAGING_DIR = {{staging_dir}} - -# End of [dir] section and start of [filename_templates] section. -[filename_templates] -# -# Template for observation input to GridStat relative to -# OBS_GRID_STAT_INPUT_DIR. -# -OBS_GRID_STAT_INPUT_TEMPLATE = {{obs_input_fn_template}} -# -# Template for forecast input to GridStat relative to -# FCST_GRID_STAT_INPUT_DIR. -# -FCST_GRID_STAT_INPUT_TEMPLATE = {{fcst_input_fn_template}} -# -# Template for output from GridStat relative to GRID_STAT_OUTPUT_DIR. -# -GRID_STAT_OUTPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = -# -# Template for climatology input to GridStat relative to -# GRID_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. -# -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -# -# Variable used to specify one or more verification mask files for -# GridStat. Not used for this example. -# -GRID_STAT_VERIFICATION_MASK_TEMPLATE = {MET_INSTALL_DIR}/share/met/poly/CONUS.poly diff --git a/parm/metplus/GridStat_ensprob_ASNOW.conf b/parm/metplus/GridStat_ensprob_ASNOW.conf index e430cb2cf9..ecd17f681b 100644 --- a/parm/metplus/GridStat_ensprob_ASNOW.conf +++ b/parm/metplus/GridStat_ensprob_ASNOW.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -79,7 +80,6 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_INTERP_TYPE_WIDTH = 1 #GRID_STAT_GRID_WEIGHT_FLAG = - # # Name to identify model (forecast) data in output. # @@ -89,13 +89,10 @@ GRID_STAT_REGRID_SHAPE = SQUARE # This makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_ensprob - -FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # @@ -108,170 +105,121 @@ GRID_STAT_DESC = NA GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; -FIELDNAME_IN_MET_OUTPUT = {{fieldname_in_met_output}} +{%- set field_thresholds = [] %} +{%- if accum_hh == '06' %} + {%- set field_thresholds = ['gt0.0', 'ge2.54', 'ge5.08', 'ge10.16', 'ge20.32'] %} +{%- elif accum_hh == '24' %} + {%- set field_thresholds = ['gt0.0', 'ge2.54', 'ge5.08', 'ge10.16', 'ge20.32'] %} +{%- endif %} +# +# List of forecast and corresponding observation fields to process. # # FREQ # Process as probability - # -# String to search for in the foreast input files for forecast variable -# 1. -# -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the NetCDF file(s) generated by -# MET's pcp_combine tool. The latter reads in grib2 file(s) containing -# 1 hour accumulation data (in this case, from forecasts) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files from pcp_combine name their arrays as specified by -# FIELDNAME_IN_MET_OUTPUT. The gen_ens_prod tool then takes this array -# name and, in its output NetCDF files, creates arrays whose names consist -# of the original array name in the pcp_combine output (FIELDNAME_IN_MET_OUTPUT) -# plus a suffix that specifies additional properties of the data in the -# array such as the level (which in this case is the accumulation period), -# the type of statistic, etc. In this case, this suffix is "_A{{accum_no_pad}}_ENS_FREQ_gt0.0". -# Thus, below, FCST_VAR1_NAME must be set to the value of FIELDNAME_IN_MET_OUTPUT -# with "_A{{accum_no_pad}}_ENS_FREQ_gt0.0" appended to it. -# The same is true of other forecast fields below except the suffix is -# different. -# -#FCST_VAR1_NAME = APCP_A{{accum_no_pad}}_ENS_FREQ_gt0.0 -FCST_VAR1_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_gt0.0 +FCST_VAR1_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[0]}} FCST_VAR1_LEVELS = A{{accum_hh}} FCST_VAR1_THRESH = ==0.1 -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# -# Note: -# This is the name of the field in the NetCDF file created by MET's -# pcp_combine tool. This tool reads in the grib2 file(s) containing -# 1 hour accumulation data (in this case, from observations) and outputs -# NetCDF file(s) with the appropriate > 1 hour accumulation. These -# output NetCDF files name their arrays as specified by the environment -# variable FIELDNAME_IN_MET_OUTPUT. Thus, that is the value we set -# OBS_VAR1_NAME to here, not to the name of the variable in the grib2 -# file. -# -#OBS_VAR1_NAME = APCP OBS_VAR1_NAME = {{fieldname_in_obs_input}} OBS_VAR1_LEVELS = A{{accum_hh}} -OBS_VAR1_THRESH = >0.0 +OBS_VAR1_THRESH = {{field_thresholds[0]}} OBS_VAR1_OPTIONS = convert(x) = 100.0*x; -#FCST_VAR2_NAME = APCP_A{{accum_no_pad}}_ENS_FREQ_ge0.508 -FCST_VAR2_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_gt0.0 +FCST_VAR2_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[1]}} FCST_VAR2_LEVELS = A{{accum_hh}} FCST_VAR2_THRESH = ==0.1 - -#OBS_VAR2_NAME = APCP OBS_VAR2_NAME = {{fieldname_in_obs_input}} OBS_VAR2_LEVELS = A{{accum_hh}} -OBS_VAR2_THRESH = >=0.508 +OBS_VAR2_THRESH = {{field_thresholds[1]}} OBS_VAR2_OPTIONS = convert(x) = 100.0*x; -#FCST_VAR3_NAME = APCP_A{{accum_no_pad}}_ENS_FREQ_ge2.54 -FCST_VAR3_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_ge2.54 +FCST_VAR3_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[2]}} FCST_VAR3_LEVELS = A{{accum_hh}} FCST_VAR3_THRESH = ==0.1 - -#OBS_VAR3_NAME = APCP OBS_VAR3_NAME = {{fieldname_in_obs_input}} OBS_VAR3_LEVELS = A{{accum_hh}} -OBS_VAR3_THRESH = >=2.54 +OBS_VAR3_THRESH = {{field_thresholds[2]}} OBS_VAR3_OPTIONS = convert(x) = 100.0*x; -#FCST_VAR4_NAME = APCP_A{{accum_no_pad}}_ENS_FREQ_ge -FCST_VAR4_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_ge5.08 +FCST_VAR4_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[3]}} FCST_VAR4_LEVELS = A{{accum_hh}} FCST_VAR4_THRESH = ==0.1 - -#OBS_VAR4_NAME = APCP OBS_VAR4_NAME = {{fieldname_in_obs_input}} OBS_VAR4_LEVELS = A{{accum_hh}} -OBS_VAR4_THRESH = >=5.08 +OBS_VAR4_THRESH = {{field_thresholds[3]}} OBS_VAR4_OPTIONS = convert(x) = 100.0*x; -#FCST_VAR5_NAME = APCP_A{{accum_no_pad}}_ENS_FREQ_ge -FCST_VAR5_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_ge10.16 +FCST_VAR5_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[4]}} FCST_VAR5_LEVELS = A{{accum_hh}} FCST_VAR5_THRESH = ==0.1 - -#OBS_VAR5_NAME = APCP OBS_VAR5_NAME = {{fieldname_in_obs_input}} OBS_VAR5_LEVELS = A{{accum_hh}} -OBS_VAR5_THRESH = >=10.16 +OBS_VAR5_THRESH = {{field_thresholds[4]}} OBS_VAR5_OPTIONS = convert(x) = 100.0*x; -#FCST_VAR6_NAME = APCP_A{{accum_no_pad}}_ENS_FREQ_ge -FCST_VAR6_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_ge20.32 +# +#Process as scalars for neighborhood methods +## Note that the number of forecast and obs thresholds must match +## but won't actually be applied to NBRCNT outputs with "nbrhd.field = OBS;" +# +FCST_VAR6_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[0]}} FCST_VAR6_LEVELS = A{{accum_hh}} FCST_VAR6_THRESH = ==0.1 - -#OBS_VAR6_NAME = APCP +FCST_VAR6_OPTIONS = prob = FALSE; OBS_VAR6_NAME = {{fieldname_in_obs_input}} OBS_VAR6_LEVELS = A{{accum_hh}} -OBS_VAR6_THRESH = >=20.32 -OBS_VAR6_OPTIONS = convert(x) = 100.0*x; +OBS_VAR6_THRESH = {{field_thresholds[0]}} +OBS_VAR6_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; }; + convert(x) = 100.0*x; -#Process as scalars for neighborhood methods -## Note that the number of forecast and obs thresholds must match -## but won't actually be applied to NBRCNT outputs with "nbrhd.field = OBS;" -#FCST_VAR75_NAME = APCP_A{{accum_no_pad}}_ENS_FREQ_gt0.0 -FCST_VAR7_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_gt0.0 +FCST_VAR7_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[1]}} FCST_VAR7_LEVELS = A{{accum_hh}} FCST_VAR7_THRESH = ==0.1 FCST_VAR7_OPTIONS = prob = FALSE; - -#OBS_VAR7_NAME = APCP OBS_VAR7_NAME = {{fieldname_in_obs_input}} OBS_VAR7_LEVELS = A{{accum_hh}} -OBS_VAR7_THRESH = >0.0 -OBS_VAR7_OPTIONS = convert(x) = 100.0*x; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR7_THRESH = {{field_thresholds[1]}} +OBS_VAR7_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; }; + convert(x) = 100.0*x; -FCST_VAR8_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_ge2.54 +FCST_VAR8_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[2]}} FCST_VAR8_LEVELS = A{{accum_hh}} FCST_VAR8_THRESH = ==0.1 FCST_VAR8_OPTIONS = prob = FALSE; - -#OBS_VAR8_NAME = APCP OBS_VAR8_NAME = {{fieldname_in_obs_input}} OBS_VAR8_LEVELS = A{{accum_hh}} -OBS_VAR8_THRESH = >=2.54 -OBS_VAR8_OPTIONS = convert(x) = 100.0*x; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR8_THRESH = {{field_thresholds[2]}} +OBS_VAR8_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; }; + convert(x) = 100.0*x; -FCST_VAR9_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_ge5.08 +FCST_VAR9_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[3]}} FCST_VAR9_LEVELS = A{{accum_hh}} FCST_VAR9_THRESH = ==0.1 FCST_VAR9_OPTIONS = prob = FALSE; - -#OBS_VAR9_NAME = APCP OBS_VAR9_NAME = {{fieldname_in_obs_input}} OBS_VAR9_LEVELS = A{{accum_hh}} -OBS_VAR9_THRESH = >=5.08 -OBS_VAR9_OPTIONS = convert(x) = 100.0*x; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR9_THRESH = {{field_thresholds[3]}} +OBS_VAR9_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; }; + convert(x) = 100.0*x; -FCST_VAR10_NAME = {FIELDNAME_IN_MET_OUTPUT}_A{{accum_no_pad}}_ENS_FREQ_ge10.16 +FCST_VAR10_NAME = {{fieldname_in_met_output}}_{{accum_hh}}_A{{accum_no_pad}}_ENS_FREQ_{{field_thresholds[4]}} FCST_VAR10_LEVELS = A{{accum_hh}} FCST_VAR10_THRESH = ==0.1 FCST_VAR10_OPTIONS = prob = FALSE; - -#OBS_VAR8_NAME = APCP OBS_VAR10_NAME = {{fieldname_in_obs_input}} OBS_VAR10_LEVELS = A{{accum_hh}} -OBS_VAR10_THRESH = >=10.16 -OBS_VAR10_OPTIONS = convert(x) = 100.0*x; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#FCST_GRID_STAT_FILE_TYPE = +OBS_VAR10_THRESH = {{field_thresholds[4]}} +OBS_VAR10_OPTIONS = nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; }; + convert(x) = 100.0*x; -#OBS_GRID_STAT_FILE_TYPE = - -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# +# Forecast data time window(s). # FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 OBS_GRID_STAT_FILE_WINDOW_END = 0 @@ -302,7 +250,7 @@ FCST_PROB_IN_GRIB_PDS = False # FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}{{accum_hh}}h_{OBTYPE} +GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/GridStat_ensprob_REFC.conf b/parm/metplus/GridStat_ensprob_REFC.conf index 21a5f2deee..95e19af1ce 100644 --- a/parm/metplus/GridStat_ensprob_REFC.conf +++ b/parm/metplus/GridStat_ensprob_REFC.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -88,13 +89,10 @@ GRID_STAT_GRID_WEIGHT_FLAG = NONE # This makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_ensprob - -#FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # @@ -105,150 +103,122 @@ GRID_STAT_DESC = NA # Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations # are needed for different tools -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = []; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; - -# FREQ -# Process as probability - +GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; # -# String to search for in the foreast input files for forecast variable -# 1. +# List of forecast and corresponding observation fields to process. # -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the grib2 file(s) (in this case -# of forecasts) and outputs NetCDF file(s) in which the array names -# consist of the value of fieldname_in_met_output plus a suffix that -# specifies additional properties of the data in the array such as the -# level, the type of statistic, etc. In this case, this suffix is -# "_L0_ENS_FREQ_ge20". Thus, below, FCST_VAR1_NAME must be set to the value -# of fieldname_in_met_output with "_L0_ENS_FREQ_ge20" appended to it. -# The same is true of other forecast fields below except the suffix is -# different. +# FREQ +# Process as probability # -#FCST_VAR1_NAME = REFC_L0_ENS_FREQ_ge20 FCST_VAR1_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge20 FCST_VAR1_LEVELS = L0 -#FCST_VAR1_OPTIONS = cnt_thresh = [ >15 ]; cnt_logic = UNION; -# -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1. -# FCST_VAR1_THRESH = ==0.1 - -#FCST_GRID_STAT_FILE_TYPE = -# -# String to search for in the observation input files for observation -# variable 1. -# -# Note: -# This is the name of the field in the grib2 observation file. Thus, -# it should not be set to {{fieldname_in_met_output}} because the -# value of fieldname_in_met_output is in general not the same as the -# name of the field in the grib2 observation file (although it can be -# for certain fields). If you do and it doesn't match, you may get an -# error like this from METplus: -# ERROR : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field abbreviation ... -# The same is true of other observation fields below. -# OBS_VAR1_NAME = MergedReflectivityQCComposite -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# OBS_VAR1_LEVELS = Z500 -# -# List of thresholds to evaluate for each name/level combination for -# observation variable 1. -# -OBS_VAR1_THRESH = >=20.0 -OBS_VAR1_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; +OBS_VAR1_THRESH = ge20 +OBS_VAR1_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; -#FCST_VAR2_NAME = REFC_L0_ENS_FREQ_ge30 FCST_VAR2_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge30 FCST_VAR2_LEVELS = L0 FCST_VAR2_THRESH = ==0.1 - OBS_VAR2_NAME = MergedReflectivityQCComposite OBS_VAR2_LEVELS = Z500 -OBS_VAR2_THRESH = >=30.0 -OBS_VAR2_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; +OBS_VAR2_THRESH = ge30 +OBS_VAR2_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; -#FCST_VAR3_NAME = REFC_L0_ENS_FREQ_ge40 -FCST_VAR3_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge40 +FCST_VAR3_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge40 FCST_VAR3_LEVELS = L0 FCST_VAR3_THRESH = ==0.1 - OBS_VAR3_NAME = MergedReflectivityQCComposite OBS_VAR3_LEVELS = Z500 -OBS_VAR3_THRESH = >=40.0 -OBS_VAR3_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; +OBS_VAR3_THRESH = ge40 +OBS_VAR3_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; -#FCST_VAR4_NAME = REFC_L0_ENS_FREQ_ge50 FCST_VAR4_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge50 FCST_VAR4_LEVELS = L0 FCST_VAR4_THRESH = ==0.1 - OBS_VAR4_NAME = MergedReflectivityQCComposite OBS_VAR4_LEVELS = Z500 -OBS_VAR4_THRESH = >=50.0 -OBS_VAR4_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; +OBS_VAR4_THRESH = ge50 +OBS_VAR4_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; +# #Process as scalars for neighborhood methods ## Note that the number of forecast and obs thresholds must match ## but won't actually be applied to NBRCNT outputs with "nbrhd.field = OBS;" -#FCST_VAR5_NAME = REFC_L0_ENS_FREQ_ge20 +# FCST_VAR5_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge20 FCST_VAR5_LEVELS = L0 FCST_VAR5_THRESH = ==0.1 FCST_VAR5_OPTIONS = prob = FALSE; - OBS_VAR5_NAME = MergedReflectivityQCComposite OBS_VAR5_LEVELS = Z500 -OBS_VAR5_THRESH = >=20.0 -OBS_VAR5_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR5_THRESH = ge20 +OBS_VAR5_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -#FCST_VAR6_NAME = REFC_L0_ENS_FREQ_ge30 FCST_VAR6_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge30 FCST_VAR6_LEVELS = L0 FCST_VAR6_THRESH = ==0.1 FCST_VAR6_OPTIONS = prob = FALSE; - OBS_VAR6_NAME = MergedReflectivityQCComposite OBS_VAR6_LEVELS = Z500 -OBS_VAR6_THRESH = >=30.0 -OBS_VAR6_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR6_THRESH = ge30 +OBS_VAR6_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -#FCST_VAR7_NAME = REFC_L0_ENS_FREQ_ge40 FCST_VAR7_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge40 FCST_VAR7_LEVELS = L0 FCST_VAR7_THRESH = ==0.1 FCST_VAR7_OPTIONS = prob = FALSE; - OBS_VAR7_NAME = MergedReflectivityQCComposite OBS_VAR7_LEVELS = Z500 -OBS_VAR7_THRESH = >=40.0 -OBS_VAR7_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR7_THRESH = ge40 +OBS_VAR7_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -#FCST_VAR8_NAME = REFC_L0_ENS_FREQ_ge50 FCST_VAR8_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge50 FCST_VAR8_LEVELS = L0 FCST_VAR8_THRESH = ==0.1 FCST_VAR8_OPTIONS = prob = FALSE; - OBS_VAR8_NAME = MergedReflectivityQCComposite OBS_VAR8_LEVELS = Z500 -OBS_VAR8_THRESH = >=50.0 -OBS_VAR8_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#OBS_GRID_STAT_FILE_TYPE = +OBS_VAR8_THRESH = ge50 +OBS_VAR8_OPTIONS = censor_thresh = lt-20; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# +# Forecast data time window(s). # #FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 #FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = -300 OBS_GRID_STAT_FILE_WINDOW_END = 300 @@ -280,15 +250,6 @@ FCST_PROB_IN_GRIB_PDS = False FCST_GRID_STAT_PROB_THRESH = ==0.1 GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} -# -# Set to true if observation data is probabilistic. Only used if -# configuring forecast data as the 'OBS' input. -# -OBS_IS_PROB = false -# -# Only used if OBS_IS_PROB is true - sets probabilistic threshold. -# -OBS_GRID_STAT_PROB_THRESH = ==0.1 # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/GridStat_ensprob_RETOP.conf b/parm/metplus/GridStat_ensprob_RETOP.conf index 6646b2036d..d1f218bea8 100644 --- a/parm/metplus/GridStat_ensprob_RETOP.conf +++ b/parm/metplus/GridStat_ensprob_RETOP.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -88,13 +89,10 @@ GRID_STAT_GRID_WEIGHT_FLAG = NONE # This makes it easier to identify each curve. # MODEL = {{vx_fcst_model_name}}_ensprob - -#FCST_NATIVE_DATA_TYPE = GRIB # # Name to identify observation data in output. # OBTYPE = {{obtype}} -OBS_NATIVE_DATA_TYPE = GRIB # # Value to enter under the DESC column in the output stat file. # @@ -105,149 +103,130 @@ GRID_STAT_DESC = NA # Note [FCST/OBS/BOTH]_GRID_STAT_VAR_NAME can be used instead if different evaluations # are needed for different tools -GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = []; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; - -# FREQ -# Process as probability - +GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [NA]; cnt_thresh = [NA]; cnt_logic = UNION; wind_thresh = [NA]; wind_logic = UNION; ci_alpha = [0.05]; rank_corr_flag = FALSE; # -# String to search for in the foreast input files for forecast variable -# 1. +# List of forecast and corresponding observation fields to process. # -# Note: -# This is the name of the field in the NetCDF file(s) created by MET's -# gen_ens_prod tool. This tool reads in the grib2 file(s) (in this case -# of forecasts) and outputs NetCDF file(s) in which the array names -# consist of the value of fieldname_in_met_output plus a suffix that -# specifies additional properties of the data in the array such as the -# level, the type of statistic, etc. In this case, this suffix is -# "_L0_ENS_FREQ_ge20". Thus, below, FCST_VAR1_NAME must be set to the value -# of fieldname_in_met_output with "_L0_ENS_FREQ_ge20" appended to it. -# The same is true of other forecast fields below except the suffix is -# different. +# FREQ +# Process as probability # -#FCST_VAR1_NAME = RETOP_L0_ENS_FREQ_ge20 FCST_VAR1_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge20 FCST_VAR1_LEVELS = L0 -# -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1. -# FCST_VAR1_THRESH = ==0.1 - -#FCST_GRID_STAT_FILE_TYPE = -# -# String to search for in the observation input files for observation -# variable 1. -# -# Note: -# This is the name of the field in the grib2 observation file. Thus, -# it should not be set to {{fieldname_in_met_output}} because the -# value of fieldname_in_met_output is in general not the same as the -# name of the field in the grib2 observation file (although it can be -# for certain fields). If you do and it doesn't match, you may get an -# error like this from METplus: -# ERROR : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field abbreviation ... -# The same is true of other observation fields below. -# OBS_VAR1_NAME = EchoTop18 -# -# List of levels to evaluate for observation variable 1. Must be the -# same length as FCST_VAR1_LEVELS. -# OBS_VAR1_LEVELS = Z500 -# -# List of thresholds to evaluate for each name/level combination for -# observation variable 1. -# -OBS_VAR1_THRESH = >=20.0 -OBS_VAR1_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; +OBS_VAR1_THRESH = ge20 +OBS_VAR1_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; -#FCST_VAR2_NAME = RETOP_L0_ENS_FREQ_ge30 FCST_VAR2_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge30 FCST_VAR2_LEVELS = L0 FCST_VAR2_THRESH = ==0.1 - OBS_VAR2_NAME = EchoTop18 OBS_VAR2_LEVELS = Z500 -OBS_VAR2_THRESH = >=30.0 -OBS_VAR2_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; - -#FCST_VAR3_NAME = RETOP_L0_ENS_FREQ_ge40 -FCST_VAR3_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge40 +OBS_VAR2_THRESH = ge30 +OBS_VAR2_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; + +FCST_VAR3_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge40 FCST_VAR3_LEVELS = L0 FCST_VAR3_THRESH = ==0.1 - OBS_VAR3_NAME = EchoTop18 OBS_VAR3_LEVELS = Z500 -OBS_VAR3_THRESH = >=40.0 -OBS_VAR3_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; +OBS_VAR3_THRESH = ge40 +OBS_VAR3_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; -#FCST_VAR4_NAME = RETOP_L0_ENS_FREQ_ge50 FCST_VAR4_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge50 FCST_VAR4_LEVELS = L0 FCST_VAR4_THRESH = ==0.1 - OBS_VAR4_NAME = EchoTop18 OBS_VAR4_LEVELS = Z500 -OBS_VAR4_THRESH = >=50.0 -OBS_VAR4_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; +OBS_VAR4_THRESH = ge50 +OBS_VAR4_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; +# #Process as scalars for neighborhood methods ## Note that the number of forecast and obs thresholds must match ## but won't actually be applied to NBRCNT outputs with "nbrhd.field = OBS;" -#FCST_VAR5_NAME = RETOP_L0_ENS_FREQ_ge20 +# FCST_VAR5_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge20 FCST_VAR5_LEVELS = L0 FCST_VAR5_THRESH = ==0.1 FCST_VAR5_OPTIONS = prob = FALSE; - OBS_VAR5_NAME = EchoTop18 OBS_VAR5_LEVELS = Z500 -OBS_VAR5_THRESH = >=20.0 -OBS_VAR5_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR5_THRESH = ge20 +OBS_VAR5_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; + nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -#FCST_VAR6_NAME = RETOP_L0_ENS_FREQ_ge30 FCST_VAR6_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge30 FCST_VAR6_LEVELS = L0 FCST_VAR6_THRESH = ==0.1 FCST_VAR6_OPTIONS = prob = FALSE; - OBS_VAR6_NAME = EchoTop18 OBS_VAR6_LEVELS = Z500 -OBS_VAR6_THRESH = >=30.0 -OBS_VAR6_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR6_THRESH = ge30 +OBS_VAR6_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; + nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -#FCST_VAR7_NAME = RETOP_L0_ENS_FREQ_ge40 FCST_VAR7_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge40 FCST_VAR7_LEVELS = L0 FCST_VAR7_THRESH = ==0.1 FCST_VAR7_OPTIONS = prob = FALSE; - OBS_VAR7_NAME = EchoTop18 OBS_VAR7_LEVELS = Z500 -OBS_VAR7_THRESH = >=40.0 -OBS_VAR7_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } +OBS_VAR7_THRESH = ge40 +OBS_VAR7_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; + nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -#FCST_VAR8_NAME = RETOP_L0_ENS_FREQ_ge50 FCST_VAR8_NAME = {{fieldname_in_met_output}}_L0_ENS_FREQ_ge50 FCST_VAR8_LEVELS = L0 FCST_VAR8_THRESH = ==0.1 FCST_VAR8_OPTIONS = prob = FALSE; - OBS_VAR8_NAME = EchoTop18 OBS_VAR8_LEVELS = Z500 -OBS_VAR8_THRESH = >=50.0 -OBS_VAR8_OPTIONS = censor_thresh = lt-20.0; censor_val = -20.0; cnt_thresh = [ >15 ]; cnt_logic = UNION; convert(x) = x * 3280.84 * 0.001; nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } - -#OBS_GRID_STAT_FILE_TYPE = +OBS_VAR8_THRESH = ge50 +OBS_VAR8_OPTIONS = censor_thresh = lt-20.0; + censor_val = -20.0; + cnt_thresh = [ >15 ]; + cnt_logic = UNION; + convert(x) = x * 3280.84 * 0.001; + nbrhd = { field = OBS; shape = SQUARE; width = [ 1 ]; vld_thresh = 1.0; } -# Time relative to valid time (in seconds) to allow files to be considered -# valid. Set both BEGIN and END to 0 to require the exact time in the -# filename. Not used in this example. +# +# Forecast data time window(s). # #FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 #FCST_GRID_STAT_FILE_WINDOW_END = 0 +# +# Observation data time window(s). +# OBS_GRID_STAT_FILE_WINDOW_BEGIN = -300 OBS_GRID_STAT_FILE_WINDOW_END = 300 @@ -279,15 +258,6 @@ FCST_PROB_IN_GRIB_PDS = False FCST_GRID_STAT_PROB_THRESH = ==0.1 GRID_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} -# -# Set to true if observation data is probabilistic. Only used if -# configuring forecast data as the 'OBS' input. -# -OBS_IS_PROB = false -# -# Only used if OBS_IS_PROB is true - sets probabilistic threshold. -# -OBS_GRID_STAT_PROB_THRESH = ==0.1 # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = diff --git a/parm/metplus/Pb2nc_obs.conf b/parm/metplus/Pb2nc_obs.conf index ae2b5e19f0..729bf2ba06 100644 --- a/parm/metplus/Pb2nc_obs.conf +++ b/parm/metplus/Pb2nc_obs.conf @@ -42,9 +42,10 @@ LEAD_SEQ = {{fhr_list}} # specified, then repeat for the next item in the PROCESS_LIST until all # wrappers have been run LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only -LOG_POINT_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -66,9 +67,12 @@ PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped # Name to identify observation data in output. # OBTYPE = {{obtype}} - +# +# Observation data time window(s). +# OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 + PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} PB2NC_WINDOW_END = {OBS_WINDOW_END} diff --git a/parm/metplus/PcpCombine_fcst_APCP.conf b/parm/metplus/PcpCombine_fcst_APCP.conf index 65204c7caa..64fe0b4fcf 100644 --- a/parm/metplus/PcpCombine_fcst_APCP.conf +++ b/parm/metplus/PcpCombine_fcst_APCP.conf @@ -43,6 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run LOOP_ORDER = times # +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# # Specify the name of the METplus log file. # LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} @@ -64,7 +68,7 @@ FCST_PCP_COMBINE_METHOD = ADD # Specify how to name the array in the NetCDF file that PcpCombine # generates. # -FCST_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}} +FCST_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}}_{{accum_hh}} # # Accumulation interval available in the forecast input data. # @@ -73,7 +77,7 @@ FCST_PCP_COMBINE_INPUT_ACCUMS = 01 # Accumulation interval to generate in the output file. # FCST_PCP_COMBINE_OUTPUT_ACCUM = {{accum_hh}} - +# # If the "bucket" output NetCDF file already exists, DON'T skip the call # to PcpCombine. # @@ -91,7 +95,6 @@ FCST_PCP_COMBINE_MAX_FORECAST = 2d FCST_PCP_COMBINE_CONSTANT_INIT = True FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB -FCST_NATIVE_DATA_TYPE = GRIB # End of [config] section and start of [dir] section. [dir] @@ -121,7 +124,7 @@ STAGING_DIR = {{staging_dir}} # FCST_PCP_COMBINE_INPUT_TEMPLATE = {{fcst_input_fn_template}} # -# Template for output from PCPCOMBINE relative to +# Template for output from PcpCombine relative to # FCST_PCP_COMBINE_OUTPUT_DIR. # FCST_PCP_COMBINE_OUTPUT_TEMPLATE = {{output_fn_template}} diff --git a/parm/metplus/PcpCombine_fcst_ASNOW.conf b/parm/metplus/PcpCombine_fcst_ASNOW.conf index 8433608c1b..91a6a70abb 100644 --- a/parm/metplus/PcpCombine_fcst_ASNOW.conf +++ b/parm/metplus/PcpCombine_fcst_ASNOW.conf @@ -43,6 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run LOOP_ORDER = times # +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# # Specify the name of the METplus log file. # LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} @@ -74,7 +78,7 @@ FCST_PCP_COMBINE_INPUT_LEVELS = A01 # Specify how to name the array in the NetCDF file that PcpCombine # generates. # -FCST_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}} +FCST_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}}_{{accum_hh}} # # Accumulation interval available in the forecast input data. # @@ -101,7 +105,7 @@ FCST_PCP_COMBINE_MAX_FORECAST = 2d FCST_PCP_COMBINE_CONSTANT_INIT = True FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB -FCST_NATIVE_DATA_TYPE = GRIB +#FCST_NATIVE_DATA_TYPE = GRIB # End of [config] section and start of [dir] section. [dir] diff --git a/parm/metplus/PcpCombine_obs_APCP.conf b/parm/metplus/PcpCombine_obs_APCP.conf index bc2c4180eb..cea6809597 100644 --- a/parm/metplus/PcpCombine_obs_APCP.conf +++ b/parm/metplus/PcpCombine_obs_APCP.conf @@ -43,6 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run LOOP_ORDER = times # +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} +# # Specify the name of the METplus log file. # LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} @@ -64,7 +68,7 @@ OBS_PCP_COMBINE_METHOD = ADD # Specify how to name the array in the NetCDF file that PcpCombine # generates. # -OBS_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}} +OBS_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}}_{{accum_hh}} # # Accumulation interval available in the observation input data. # @@ -99,7 +103,7 @@ PCP_COMBINE_SKIP_IF_OUTPUT_EXISTS = True # Name to identify observation data in output. # OBTYPE = CCPA -OBS_NATIVE_DATA_TYPE = GRIB +OBS_PCP_COMBINE_INPUT_DATA_TYPE = GRIB # End of [config] section and start of [dir] section. [dir] diff --git a/parm/metplus/PointStat_SFC.conf b/parm/metplus/PointStat_ADPSFC.conf similarity index 74% rename from parm/metplus/PointStat_SFC.conf rename to parm/metplus/PointStat_ADPSFC.conf index 62f59328fe..6d94e0bed9 100644 --- a/parm/metplus/PointStat_SFC.conf +++ b/parm/metplus/PointStat_ADPSFC.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only -LOG_POINT_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -103,10 +104,7 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = # -# Time relative to each input file's valid time (in seconds if no units -# are specified) for data within the file to be considered valid. Values -# are set in the 'obs_window' dictionary in the PointStat config file. -# Set both BEGIN and END to 0 to require the exact time in the filename. +# Observation data time window(s). # OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 @@ -146,7 +144,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {MODEL}_ADP{{fieldname_in_met_filedir_names}}_{OBTYPE} +POINT_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -170,67 +168,78 @@ POINT_STAT_STATION_ID = # Message types, if all message types are to be returned, leave this empty, # otherwise indicate the message types of interest. -POINT_STAT_MESSAGE_TYPE = ADP{{fieldname_in_met_filedir_names}} +POINT_STAT_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}} # set to True to run PointStat once for each name/level combination # set to False to run PointStat once per run time including all fields POINT_STAT_ONCE_PER_FIELD = False # -# Variables and levels as specified in the field dictionary of the METplus -# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION -# - -# fields to compare -# Note: If FCST_VAR_* is set, then a corresponding OBS_VAR_* variable must be set -# To use one variables for both forecast and observation data, set BOTH_VAR_* instead - -BOTH_VAR1_NAME = TMP -BOTH_VAR1_LEVELS = Z2 -# -# Lead to use both in naming of the output .stat and .nc files and for -# lead values in those files. -# -# The specification of set_attr_lead below causes MET/METplus to use the -# lead values in the variable LEAD_SEQ set above, which are the same for -# all ensemble forecast members (i.e. regardless of whether members are -# time lagged with respect to the nominal cycle date specified by cdate). -# If set_attr_lead were not specified as below, then MET/METplus would -# get the lead from the input forecast file, and that would in general -# differ from one ensemble member to the next depending on whether the -# member is time-lagged. That would cause confusion, so here, we always -# use lead values with zero lead corresponding to cdate. -# +# List of forecast and corresponding observation fields to process. +# +# Note on use of set_attr_lead and ensemble member time-lagging: +# ------------------------------------------------------------- +# The set_attr_lead parameter appearing below in [FCST|OBS]_VAR_OPTIONS +# specifies the lead to use both in naming of the output .stat and .nc +# files and for setting the lead values contained in those files. This +# option causes MET/METplus to use the lead values in the variable LEAD_SEQ +# set above, which are the same for all ensemble forecast members (i.e. +# regardless of whether members are time lagged with respect to the +# nominal cycle date specified by cdate). If set_attr_lead were not +# specified as below, then MET/METplus would get the lead from the input +# forecast file, and that would in general differ from one ensemble member +# to the next depending on whether the member is time-lagged. That would +# cause confusion, so here, we always use lead values with zero lead +# corresponding to the nominal cdate. +# +FCST_VAR1_NAME = TMP +FCST_VAR1_LEVELS = Z2 FCST_VAR1_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR1_NAME = TMP +OBS_VAR1_LEVELS = Z2 -BOTH_VAR2_NAME = DPT -BOTH_VAR2_LEVELS = Z2 +FCST_VAR2_NAME = DPT +FCST_VAR2_LEVELS = Z2 FCST_VAR2_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR2_NAME = DPT +OBS_VAR2_LEVELS = Z2 -BOTH_VAR3_NAME = RH -BOTH_VAR3_LEVELS = Z2 +FCST_VAR3_NAME = RH +FCST_VAR3_LEVELS = Z2 FCST_VAR3_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR3_NAME = RH +OBS_VAR3_LEVELS = Z2 -BOTH_VAR4_NAME = UGRD -BOTH_VAR4_LEVELS = Z10 -BOTH_VAR4_THRESH = >=2.572 ;; m/s or 5kts +FCST_VAR4_NAME = UGRD +FCST_VAR4_LEVELS = Z10 +FCST_VAR4_THRESH = ge2.572 FCST_VAR4_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR4_NAME = UGRD +OBS_VAR4_LEVELS = Z10 +OBS_VAR4_THRESH = ge2.572 -BOTH_VAR5_NAME = VGRD -BOTH_VAR5_LEVELS = Z10 -BOTH_VAR5_THRESH = >=2.572 ;; m/s or 5kts +FCST_VAR5_NAME = VGRD +FCST_VAR5_LEVELS = Z10 +FCST_VAR5_THRESH = ge2.572 FCST_VAR5_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR5_NAME = VGRD +OBS_VAR5_LEVELS = Z10 +OBS_VAR5_THRESH = ge2.572 -BOTH_VAR6_NAME = WIND -BOTH_VAR6_LEVELS = Z10 -BOTH_VAR6_THRESH = >=2.572, >=2.572&&<5.144, >=5.144, >=10.288, >=15.433 ;; m/s or 5, 10, 20, 30kts +FCST_VAR6_NAME = WIND +FCST_VAR6_LEVELS = Z10 +FCST_VAR6_THRESH = ge2.572, ge2.572&<5.144, ge5.144, ge10.288, ge15.433 FCST_VAR6_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; - GRIB2_pdt = 0; ;; derive instantaneous 10-m wind from U/V components, overriding max 10-m wind -OBS_VAR6_OPTIONS = GRIB2_pdt = 0; ;; derive instantaneous 10-m wind from U/V components, overriding max 10-m wind - -BOTH_VAR7_NAME = PRMSL -BOTH_VAR7_LEVELS = Z0 + GRIB2_pdt = 0; ;; Derive instantaneous 10-m wind from U/V components, overriding max 10-m wind. +OBS_VAR6_NAME = WIND +OBS_VAR6_LEVELS = Z10 +OBS_VAR6_THRESH = ge2.572, ge2.572&<5.144, ge5.144, ge10.288, ge15.433 +OBS_VAR6_OPTIONS = GRIB2_pdt = 0; ;; Derive instantaneous 10-m wind from U/V components, overriding max 10-m wind. + +FCST_VAR7_NAME = PRMSL +FCST_VAR7_LEVELS = Z0 FCST_VAR7_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR7_NAME = PRMSL +OBS_VAR7_LEVELS = Z0 FCST_VAR8_NAME = TCDC FCST_VAR8_LEVELS = L0 @@ -242,67 +251,70 @@ FCST_VAR8_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; OBS_VAR8_NAME = TCDC OBS_VAR8_LEVELS = L0 -BOTH_VAR9_NAME = VIS -BOTH_VAR9_LEVELS = L0 -BOTH_VAR9_THRESH = <805, <1609, <4828, <8045 ,>=8045, <16090 +FCST_VAR9_NAME = VIS +FCST_VAR9_LEVELS = L0 +FCST_VAR9_THRESH = lt805, lt1609, lt4828, lt8045, ge8045, lt16090 FCST_VAR9_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; censor_thresh = [>16090]; censor_val = [16090]; interp = { type = [ { method = NEAREST; width = 1; } ]; } +OBS_VAR9_NAME = VIS +OBS_VAR9_LEVELS = L0 +OBS_VAR9_THRESH = lt805, lt1609, lt4828, lt8045, ge8045, lt16090 OBS_VAR9_OPTIONS = censor_thresh = [>16090]; censor_val = [16090]; interp = { type = [ { method = NEAREST; width = 1; } ]; } -BOTH_VAR10_NAME = GUST -BOTH_VAR10_LEVELS = Z0 +FCST_VAR10_NAME = GUST +FCST_VAR10_LEVELS = Z0 FCST_VAR10_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR10_NAME = GUST +OBS_VAR10_LEVELS = Z0 FCST_VAR11_NAME = HGT FCST_VAR11_LEVELS = L0 -FCST_VAR11_THRESH = <152, <305, <914, <1520, <3040, >=914 +FCST_VAR11_THRESH = lt152, lt305, lt914, lt1520, lt3040, ge914 FCST_VAR11_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; GRIB_lvl_typ = 215; desc = "CEILING"; OBS_VAR11_NAME = CEILING OBS_VAR11_LEVELS = L0 -OBS_VAR11_THRESH = <152, <305, <914, <1520, <3040, >=914 +OBS_VAR11_THRESH = lt152, lt305, lt914, lt1520, lt3040, ge914 OBS_VAR11_OPTIONS = GRIB_lvl_typ = 215; interp = { type = [ { method = NEAREST; width = 1; } ]; } -BOTH_VAR12_NAME = SPFH -BOTH_VAR12_LEVELS = Z2 +FCST_VAR12_NAME = SPFH +FCST_VAR12_LEVELS = Z2 +OBS_VAR12_NAME = SPFH +OBS_VAR12_LEVELS = Z2 FCST_VAR13_NAME = CRAIN FCST_VAR13_LEVELS = L0 -FCST_VAR13_THRESH = >=1.0 - +FCST_VAR13_THRESH = ge1.0 OBS_VAR13_NAME = PRWE OBS_VAR13_LEVELS = Z0 -OBS_VAR13_THRESH = >=161&&<=163 +OBS_VAR13_THRESH = ge161&&le163 FCST_VAR14_NAME = CSNOW FCST_VAR14_LEVELS = L0 -FCST_VAR14_THRESH = >=1.0 - +FCST_VAR14_THRESH = ge1.0 OBS_VAR14_NAME = PRWE OBS_VAR14_LEVELS = Z0 -OBS_VAR14_THRESH = >=171&&<=173 +OBS_VAR14_THRESH = ge171&&le173 FCST_VAR15_NAME = CFRZR FCST_VAR15_LEVELS = L0 -FCST_VAR15_THRESH = >=1.0 - +FCST_VAR15_THRESH = ge1.0 OBS_VAR15_NAME = PRWE OBS_VAR15_LEVELS = Z0 -OBS_VAR15_THRESH = >=164&&<=166 +OBS_VAR15_THRESH = ge164&&le166 FCST_VAR16_NAME = CICEP FCST_VAR16_LEVELS = L0 -FCST_VAR16_THRESH = >=1.0 - +FCST_VAR16_THRESH = ge1.0 OBS_VAR16_NAME = PRWE OBS_VAR16_LEVELS = Z0 -OBS_VAR16_THRESH = >=174&&<=176 +OBS_VAR16_THRESH = ge174&&le176 # End of [config] section and start of [dir] section. [dir] diff --git a/parm/metplus/PointStat_UPA.conf b/parm/metplus/PointStat_ADPUPA.conf similarity index 71% rename from parm/metplus/PointStat_UPA.conf rename to parm/metplus/PointStat_ADPUPA.conf index 385b5387a2..519767a51e 100644 --- a/parm/metplus/PointStat_UPA.conf +++ b/parm/metplus/PointStat_ADPUPA.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only -LOG_POINT_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -103,10 +104,7 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = # -# Time relative to each input file's valid time (in seconds if no units -# are specified) for data within the file to be considered valid. Values -# are set in the 'obs_window' dictionary in the PointStat config file. -# Set both BEGIN and END to 0 to require the exact time in the filename. +# Observation data time window(s). # OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 @@ -146,7 +144,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {MODEL}_ADP{{fieldname_in_met_filedir_names}}_{OBTYPE} +POINT_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -170,78 +168,91 @@ POINT_STAT_STATION_ID = # Message types, if all message types are to be returned, leave this empty, # otherwise indicate the message types of interest. -POINT_STAT_MESSAGE_TYPE = ADP{{fieldname_in_met_filedir_names}} +POINT_STAT_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}} # set to True to run PointStat once for each name/level combination # set to False to run PointStat once per run time including all fields POINT_STAT_ONCE_PER_FIELD = False # -# Variables and levels as specified in the field dictionary of the METplus -# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION -# - -# fields to compare -# Note: If FCST_VAR_* is set, then a corresponding OBS_VAR_* variable must be set -# To use one variables for both forecast and observation data, set BOTH_VAR_* instead - -BOTH_VAR1_NAME = TMP -BOTH_VAR1_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 -# -# Lead to use both in naming of the output .stat and .nc files and for -# lead values in those files. -# -# The specification of set_attr_lead below causes MET/METplus to use the -# lead values in the variable LEAD_SEQ set above, which are the same for -# all ensemble forecast members (i.e. regardless of whether members are -# time lagged with respect to the nominal cycle date specified by cdate). -# If set_attr_lead were not specified as below, then MET/METplus would -# get the lead from the input forecast file, and that would in general -# differ from one ensemble member to the next depending on whether the -# member is time-lagged. That would cause confusion, so here, we always -# use lead values with zero lead corresponding to cdate. -# +# List of forecast and corresponding observation fields to process. +# +# Note on use of set_attr_lead and ensemble member time-lagging: +# ------------------------------------------------------------- +# The set_attr_lead parameter appearing below in [FCST|OBS]_VAR_OPTIONS +# specifies the lead to use both in naming of the output .stat and .nc +# files and for setting the lead values contained in those files. This +# option causes MET/METplus to use the lead values in the variable LEAD_SEQ +# set above, which are the same for all ensemble forecast members (i.e. +# regardless of whether members are time lagged with respect to the +# nominal cycle date specified by cdate). If set_attr_lead were not +# specified as below, then MET/METplus would get the lead from the input +# forecast file, and that would in general differ from one ensemble member +# to the next depending on whether the member is time-lagged. That would +# cause confusion, so here, we always use lead values with zero lead +# corresponding to the nominal cdate. +# +FCST_VAR1_NAME = TMP +FCST_VAR1_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 FCST_VAR1_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR1_NAME = TMP +OBS_VAR1_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 -BOTH_VAR2_NAME = RH -BOTH_VAR2_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250 +FCST_VAR2_NAME = RH +FCST_VAR2_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250 FCST_VAR2_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR2_NAME = RH +OBS_VAR2_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250 -BOTH_VAR3_NAME = DPT -BOTH_VAR3_LEVELS = P1000, P925, P850, P700, P500, P400, P300 +FCST_VAR3_NAME = DPT +FCST_VAR3_LEVELS = P1000, P925, P850, P700, P500, P400, P300 FCST_VAR3_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR3_NAME = DPT +OBS_VAR3_LEVELS = P1000, P925, P850, P700, P500, P400, P300 -BOTH_VAR4_NAME = UGRD -BOTH_VAR4_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 -BOTH_VAR4_THRESH = >=2.572 ;; m/s or 5kts +FCST_VAR4_NAME = UGRD +FCST_VAR4_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 +FCST_VAR4_THRESH = ge2.572 FCST_VAR4_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR4_NAME = UGRD +OBS_VAR4_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 +OBS_VAR4_THRESH = ge2.572 -BOTH_VAR5_NAME = VGRD -BOTH_VAR5_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 -BOTH_VAR5_THRESH = >=2.572 ;; m/s or 5kts +FCST_VAR5_NAME = VGRD +FCST_VAR5_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 +FCST_VAR5_THRESH = ge2.572 FCST_VAR5_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR5_NAME = VGRD +OBS_VAR5_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 +OBS_VAR5_THRESH = ge2.572 -BOTH_VAR6_NAME = WIND -BOTH_VAR6_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 -BOTH_VAR6_THRESH = >=2.572, >=2.572&&<5.144, >=5.144, >=10.288, >=15.433, >=20.577, >=25.722 ;; m/s or 5, 10, 20, 30, 40, 50kts +FCST_VAR6_NAME = WIND +FCST_VAR6_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 +FCST_VAR6_THRESH = ge2.572, ge2.572&<5.144, ge5.144, ge10.288, ge15.433, ge20.577, ge25.722 FCST_VAR6_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR6_NAME = WIND +OBS_VAR6_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 +OBS_VAR6_THRESH = ge2.572, ge2.572&<5.144, ge5.144, ge10.288, ge15.433, ge20.577, ge25.722 -BOTH_VAR7_NAME = HGT -BOTH_VAR7_LEVELS = P1000, P950, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 +FCST_VAR7_NAME = HGT +FCST_VAR7_LEVELS = P1000, P950, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 FCST_VAR7_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR7_NAME = HGT +OBS_VAR7_LEVELS = P1000, P950, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 -BOTH_VAR8_NAME = SPFH -BOTH_VAR8_LEVELS = P1000, P850, P700, P500, P400, P300 +FCST_VAR8_NAME = SPFH +FCST_VAR8_LEVELS = P1000, P850, P700, P500, P400, P300 FCST_VAR8_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; +OBS_VAR8_NAME = SPFH +OBS_VAR8_LEVELS = P1000, P850, P700, P500, P400, P300 FCST_VAR9_NAME = CAPE FCST_VAR9_LEVELS = L0 -FCST_VAR9_THRESH = >500, >1000, >1500, >2000, >3000, >4000 +FCST_VAR9_THRESH = gt500, gt1000, gt1500, gt2000, gt3000, gt4000 FCST_VAR9_OPTIONS = set_attr_lead = "{lead?fmt=%H%M%S}"; cnt_thresh = [ >0 ]; OBS_VAR9_NAME = CAPE OBS_VAR9_LEVELS = L0-100000 -OBS_VAR9_THRESH = >500, >1000, >1500, >2000, >3000, >4000 +OBS_VAR9_THRESH = gt500, gt1000, gt1500, gt2000, gt3000, gt4000 OBS_VAR9_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; @@ -262,12 +273,13 @@ OBS_VAR11_OPTIONS = desc = "RI"; FCST_VAR12_NAME = CAPE FCST_VAR12_LEVELS = L0-90 +FCST_VAR12_THRESH = gt500, gt1000, gt1500, gt2000, gt3000, gt4000 FCST_VAR12_OPTIONS = cnt_thresh = [ >0 ]; -FCST_VAR12_THRESH = >500, >1000, >1500, >2000, >3000, >4000 OBS_VAR12_NAME = MLCAPE OBS_VAR12_LEVELS = L0 -OBS_VAR12_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; -OBS_VAR12_THRESH = >500, >1000, >1500, >2000, >3000, >4000 +OBS_VAR12_THRESH = gt500, gt1000, gt1500, gt2000, gt3000, gt4000 +OBS_VAR12_OPTIONS = cnt_thresh = [ >0 ]; + cnt_logic = UNION; # End of [config] section and start of [dir] section. [dir] diff --git a/parm/metplus/PointStat_ensmean_SFC.conf b/parm/metplus/PointStat_ensmean_ADPSFC.conf similarity index 85% rename from parm/metplus/PointStat_ensmean_SFC.conf rename to parm/metplus/PointStat_ensmean_ADPSFC.conf index 0d5ee3b696..6b7e7e9cff 100644 --- a/parm/metplus/PointStat_ensmean_SFC.conf +++ b/parm/metplus/PointStat_ensmean_ADPSFC.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only -LOG_POINT_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -103,10 +104,7 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = # -# Time relative to each input file's valid time (in seconds if no units -# are specified) for data within the file to be considered valid. Values -# are set in the 'obs_window' dictionary in the PointStat config file. -# Set both BEGIN and END to 0 to require the exact time in the filename. +# Observation data time window(s). # OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 @@ -139,7 +137,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {MODEL}_ADP{{fieldname_in_met_filedir_names}}_{OBTYPE} +POINT_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -163,43 +161,34 @@ POINT_STAT_STATION_ID = # Message types, if all message types are to be returned, leave this empty, # otherwise indicate the message types of interest. -POINT_STAT_MESSAGE_TYPE = ADP{{fieldname_in_met_filedir_names}} +POINT_STAT_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}} # set to True to run PointStat once for each name/level combination # set to False to run PointStat once per run time including all fields POINT_STAT_ONCE_PER_FIELD = False # -# Variables and levels as specified in the field dictionary of the METplus -# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION +# List of forecast and corresponding observation fields to process. # - -# fields to compare -# Note: If FCST_VAR_* is set, then a corresponding OBS_VAR_* variable must be set -# To use one variables for both forecast and observation data, set BOTH_VAR_* instead FCST_VAR1_NAME = TMP_Z2_ENS_MEAN FCST_VAR1_LEVELS = Z2 -FCST_VAR1_THRESH = >=268, >=273, >=278, >=293, >=298, >=303 - +FCST_VAR1_THRESH = ge268, ge273, ge278, ge293, ge298, ge303 OBS_VAR1_NAME = TMP OBS_VAR1_LEVELS = Z2 -OBS_VAR1_THRESH = >=268, >=273, >=278, >=293, >=298, >=303 +OBS_VAR1_THRESH = ge268, ge273, ge278, ge293, ge298, ge303 FCST_VAR2_NAME = DPT_Z2_ENS_MEAN FCST_VAR2_LEVELS = Z2 -FCST_VAR2_THRESH = >=263, >=268, >=273, >=288, >=293, >=298 - +FCST_VAR2_THRESH = ge263, ge268, ge273, ge288, ge293, ge298 OBS_VAR2_NAME = DPT OBS_VAR2_LEVELS = Z2 -OBS_VAR2_THRESH = >=263, >=268, >=273, >=288, >=293, >=298 +OBS_VAR2_THRESH = ge263, ge268, ge273, ge288, ge293, ge298 FCST_VAR3_NAME = WIND_Z10_ENS_MEAN FCST_VAR3_LEVELS = Z10 -FCST_VAR3_THRESH = >=5, >=10, >=15 - +FCST_VAR3_THRESH = ge5, ge10, ge15 OBS_VAR3_NAME = WIND OBS_VAR3_LEVELS = Z10 -OBS_VAR3_THRESH = >=5, >=10, >=15 +OBS_VAR3_THRESH = ge5, ge10, ge15 # End of [config] section and start of [dir] section. [dir] diff --git a/parm/metplus/PointStat_ensmean_UPA.conf b/parm/metplus/PointStat_ensmean_ADPUPA.conf similarity index 81% rename from parm/metplus/PointStat_ensmean_UPA.conf rename to parm/metplus/PointStat_ensmean_ADPUPA.conf index 1846e0cf6e..b54c775b46 100644 --- a/parm/metplus/PointStat_ensmean_UPA.conf +++ b/parm/metplus/PointStat_ensmean_ADPUPA.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only -LOG_POINT_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -103,10 +104,7 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = # -# Time relative to each input file's valid time (in seconds if no units -# are specified) for data within the file to be considered valid. Values -# are set in the 'obs_window' dictionary in the PointStat config file. -# Set both BEGIN and END to 0 to require the exact time in the filename. +# Observation data time window(s). # OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 @@ -139,7 +137,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {MODEL}_ADP{{fieldname_in_met_filedir_names}}_{OBTYPE} +POINT_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -163,118 +161,101 @@ POINT_STAT_STATION_ID = # Message types, if all message types are to be returned, leave this empty, # otherwise indicate the message types of interest. -POINT_STAT_MESSAGE_TYPE = ADP{{fieldname_in_met_filedir_names}} +POINT_STAT_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}} # set to True to run PointStat once for each name/level combination # set to False to run PointStat once per run time including all fields POINT_STAT_ONCE_PER_FIELD = False # -# Variables and levels as specified in the field dictionary of the METplus -# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION +# List of forecast and corresponding observation fields to process. # - -# fields to compare -# Note: If FCST_VAR_* is set, then a corresponding OBS_VAR_* variable must be set -# To use one variables for both forecast and observation data, set BOTH_VAR_* instead FCST_VAR1_NAME = TMP_P850_ENS_MEAN FCST_VAR1_LEVELS = P850 -FCST_VAR1_THRESH = >=288, >=293, >=298 - +FCST_VAR1_THRESH = ge288, ge293, ge298 OBS_VAR1_NAME = TMP OBS_VAR1_LEVELS = P850 -OBS_VAR1_THRESH = >=288, >=293, >=298 +OBS_VAR1_THRESH = ge288, ge293, ge298 FCST_VAR2_NAME = TMP_P700_ENS_MEAN FCST_VAR2_LEVELS = P700 -FCST_VAR2_THRESH = >=273, >=278, >=283 - +FCST_VAR2_THRESH = ge273, ge278, ge283 OBS_VAR2_NAME = TMP OBS_VAR2_LEVELS = P700 -OBS_VAR2_THRESH = >=273, >=278, >=283 +OBS_VAR2_THRESH = ge273, ge278, ge283 FCST_VAR3_NAME = TMP_P500_ENS_MEAN FCST_VAR3_LEVELS = P500 -FCST_VAR3_THRESH = >=258, >=263, >=268 - +FCST_VAR3_THRESH = ge258, ge263, ge268 OBS_VAR3_NAME = TMP OBS_VAR3_LEVELS = P500 -OBS_VAR3_THRESH = >=258, >=263, >=268 +OBS_VAR3_THRESH = ge258, ge263, ge268 FCST_VAR4_NAME = DPT_P850_ENS_MEAN FCST_VAR4_LEVELS = P850 -FCST_VAR4_THRESH = >=273, >=278, >=283 - +FCST_VAR4_THRESH = ge273, ge278, ge283 OBS_VAR4_NAME = DPT OBS_VAR4_LEVELS = P850 -OBS_VAR4_THRESH = >=273, >=278, >=283 +OBS_VAR4_THRESH = ge273, ge278, ge283 FCST_VAR5_NAME = DPT_P700_ENS_MEAN FCST_VAR5_LEVELS = P700 -FCST_VAR5_THRESH = >=263, >=286, >=273 - +FCST_VAR5_THRESH = ge263, ge286, ge273 OBS_VAR5_NAME = DPT OBS_VAR5_LEVELS = P700 -OBS_VAR5_THRESH = >=263, >=286, >=273 +OBS_VAR5_THRESH = ge263, ge286, ge273 FCST_VAR6_NAME = WIND_P850_ENS_MEAN FCST_VAR6_LEVELS = P850 -FCST_VAR6_THRESH = >=5, >=10, >=15 - +FCST_VAR6_THRESH = ge5, ge10, ge15 OBS_VAR6_NAME = WIND OBS_VAR6_LEVELS = P850 -OBS_VAR6_THRESH = >=5, >=10, >=15 +OBS_VAR6_THRESH = ge5, ge10, ge15 FCST_VAR7_NAME = WIND_P700_ENS_MEAN FCST_VAR7_LEVELS = P700 -FCST_VAR7_THRESH = >=10, >=15, >=20 - +FCST_VAR7_THRESH = ge10, ge15, ge20 OBS_VAR7_NAME = WIND OBS_VAR7_LEVELS = P700 -OBS_VAR7_THRESH = >=10, >=15, >=20 +OBS_VAR7_THRESH = ge10, ge15, ge20 FCST_VAR8_NAME = WIND_P500_ENS_MEAN FCST_VAR8_LEVELS = P500 -FCST_VAR8_THRESH = >=15, >=21, >=26 - +FCST_VAR8_THRESH = ge15, ge21, ge26 OBS_VAR8_NAME = WIND OBS_VAR8_LEVELS = P500 -OBS_VAR8_THRESH = >=15, >=21, >=26 +OBS_VAR8_THRESH = ge15, ge21, ge26 FCST_VAR9_NAME = WIND_P250_ENS_MEAN FCST_VAR9_LEVELS = P250 -FCST_VAR9_THRESH = >=26, >=31, >=46, >=62 - +FCST_VAR9_THRESH = ge26, ge31, ge46, ge62 OBS_VAR9_NAME = WIND OBS_VAR9_LEVELS = P250 -OBS_VAR9_THRESH = >=26, >=31, >=46, >=62 +OBS_VAR9_THRESH = ge26, ge31, ge46, ge62 FCST_VAR10_NAME = HGT_P500_ENS_MEAN FCST_VAR10_LEVELS = P500 -FCST_VAR10_THRESH = >=5400, >=5600, >=5880 - +FCST_VAR10_THRESH = ge5400, ge5600, ge5880 OBS_VAR10_NAME = HGT OBS_VAR10_LEVELS = P500 -OBS_VAR10_THRESH = >=5400, >=5600, >=5880 +OBS_VAR10_THRESH = ge5400, ge5600, ge5880 FCST_VAR11_NAME = CAPE_L0_ENS_MEAN FCST_VAR11_LEVELS = L0 +FCST_VAR11_THRESH = le1000, gt1000&<2500, gt2500&<4000, gt2500 FCST_VAR11_OPTIONS = cnt_thresh = [ >0 ]; -FCST_VAR11_THRESH = <=1000, >1000&&<2500, >2500&&<4000, >2500 - OBS_VAR11_NAME = CAPE OBS_VAR11_LEVELS = L0-100000 -OBS_VAR11_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; -OBS_VAR11_THRESH = <=1000, >1000&&<2500, >2500&&<4000, >2500 +OBS_VAR11_THRESH = le1000, gt1000&<2500, gt2500&<4000, gt2500 +OBS_VAR11_OPTIONS = cnt_thresh = [ >0 ]; + cnt_logic = UNION; FCST_VAR12_NAME = HPBL_Z0_ENS_MEAN FCST_VAR12_LEVELS = Z0 -FCST_VAR12_THRESH = <500, <1500, >1500 - +FCST_VAR12_THRESH = lt500, lt1500, gt1500 OBS_VAR12_NAME = PBL OBS_VAR12_LEVELS = L0 +OBS_VAR12_THRESH = lt500, lt1500, gt1500 OBS_VAR12_OPTIONS = desc = "TKE"; -OBS_VAR12_THRESH = <500, <1500, >1500 # End of [config] section and start of [dir] section. [dir] diff --git a/parm/metplus/PointStat_ensprob_SFC.conf b/parm/metplus/PointStat_ensprob_ADPSFC.conf similarity index 85% rename from parm/metplus/PointStat_ensprob_SFC.conf rename to parm/metplus/PointStat_ensprob_ADPSFC.conf index 84b3ac9445..c9333b2c81 100644 --- a/parm/metplus/PointStat_ensprob_SFC.conf +++ b/parm/metplus/PointStat_ensprob_ADPSFC.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only -LOG_POINT_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -103,10 +104,7 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = # -# Time relative to each input file's valid time (in seconds if no units -# are specified) for data within the file to be considered valid. Values -# are set in the 'obs_window' dictionary in the PointStat config file. -# Set both BEGIN and END to 0 to require the exact time in the filename. +# Observation data time window(s). # OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 @@ -139,7 +137,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {MODEL}_ADP{{fieldname_in_met_filedir_names}}_{OBTYPE} +POINT_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -163,219 +161,195 @@ POINT_STAT_STATION_ID = # Message types, if all message types are to be returned, leave this empty, # otherwise indicate the message types of interest. -POINT_STAT_MESSAGE_TYPE = ADP{{fieldname_in_met_filedir_names}} +POINT_STAT_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}} # set to True to run PointStat once for each name/level combination # set to False to run PointStat once per run time including all fields POINT_STAT_ONCE_PER_FIELD = False # -# Variables and levels as specified in the field dictionary of the METplus -# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION +# List of forecast and corresponding observation fields to process. +# Note that the forecast variable name must exactly match the name of a +# variable in the forecast input file(s). # - -# fields to compare -# Note: If FCST_VAR_* is set, then a corresponding OBS_VAR_* variable must be set -# To use one variables for both forecast and observation data, set BOTH_VAR_* instead - -# FREQ FCST_VAR1_NAME = TMP_Z2_ENS_FREQ_ge268 FCST_VAR1_LEVELS = Z2 FCST_VAR1_THRESH = ==0.1 - OBS_VAR1_NAME = TMP OBS_VAR1_LEVELS = Z2 -OBS_VAR1_THRESH = >=268 +OBS_VAR1_THRESH = ge268 FCST_VAR2_NAME = TMP_Z2_ENS_FREQ_ge273 FCST_VAR2_LEVELS = Z2 FCST_VAR2_THRESH = ==0.1 - OBS_VAR2_NAME = TMP OBS_VAR2_LEVELS = Z2 -OBS_VAR2_THRESH = >=273 +OBS_VAR2_THRESH = ge273 FCST_VAR3_NAME = TMP_Z2_ENS_FREQ_ge278 FCST_VAR3_LEVELS = Z2 FCST_VAR3_THRESH = ==0.1 - OBS_VAR3_NAME = TMP OBS_VAR3_LEVELS = Z2 -OBS_VAR3_THRESH = >=278 +OBS_VAR3_THRESH = ge278 FCST_VAR4_NAME = TMP_Z2_ENS_FREQ_ge293 FCST_VAR4_LEVELS = Z2 FCST_VAR4_THRESH = ==0.1 - OBS_VAR4_NAME = TMP OBS_VAR4_LEVELS = Z2 -OBS_VAR4_THRESH = >=293 +OBS_VAR4_THRESH = ge293 FCST_VAR5_NAME = TMP_Z2_ENS_FREQ_ge298 FCST_VAR5_LEVELS = Z2 FCST_VAR5_THRESH = ==0.1 - OBS_VAR5_NAME = TMP OBS_VAR5_LEVELS = Z2 -OBS_VAR5_THRESH = >=298 +OBS_VAR5_THRESH = ge298 FCST_VAR6_NAME = TMP_Z2_ENS_FREQ_ge303 FCST_VAR6_LEVELS = Z2 FCST_VAR6_THRESH = ==0.1 - OBS_VAR6_NAME = TMP OBS_VAR6_LEVELS = Z2 -OBS_VAR6_THRESH = >=303 +OBS_VAR6_THRESH = ge303 FCST_VAR7_NAME = DPT_Z2_ENS_FREQ_ge263 FCST_VAR7_LEVELS = Z2 FCST_VAR7_THRESH = ==0.1 - OBS_VAR7_NAME = DPT OBS_VAR7_LEVELS = Z2 -OBS_VAR7_THRESH = >=263 +OBS_VAR7_THRESH = ge263 FCST_VAR8_NAME = DPT_Z2_ENS_FREQ_ge268 FCST_VAR8_LEVELS = Z2 FCST_VAR8_THRESH = ==0.1 - OBS_VAR8_NAME = DPT OBS_VAR8_LEVELS = Z2 -OBS_VAR8_THRESH = >=268 +OBS_VAR8_THRESH = ge268 FCST_VAR9_NAME = DPT_Z2_ENS_FREQ_ge273 FCST_VAR9_LEVELS = Z2 FCST_VAR9_THRESH = ==0.1 - OBS_VAR9_NAME = DPT OBS_VAR9_LEVELS = Z2 -OBS_VAR9_THRESH = >=273 +OBS_VAR9_THRESH = ge273 FCST_VAR10_NAME = DPT_Z2_ENS_FREQ_ge288 FCST_VAR10_LEVELS = Z2 FCST_VAR10_THRESH = ==0.1 - OBS_VAR10_NAME = DPT OBS_VAR10_LEVELS = Z2 -OBS_VAR10_THRESH = >=288 +OBS_VAR10_THRESH = ge288 FCST_VAR11_NAME = DPT_Z2_ENS_FREQ_ge293 FCST_VAR11_LEVELS = Z2 FCST_VAR11_THRESH = ==0.1 - OBS_VAR11_NAME = DPT OBS_VAR11_LEVELS = Z2 -OBS_VAR11_THRESH = >=293 +OBS_VAR11_THRESH = ge293 FCST_VAR12_NAME = DPT_Z2_ENS_FREQ_ge298 FCST_VAR12_LEVELS = Z2 FCST_VAR12_THRESH = ==0.1 - OBS_VAR12_NAME = DPT OBS_VAR12_LEVELS = Z2 -OBS_VAR12_THRESH = >=298 +OBS_VAR12_THRESH = ge298 FCST_VAR13_NAME = WIND_Z10_ENS_FREQ_ge5 FCST_VAR13_LEVELS = Z10 FCST_VAR13_THRESH = ==0.1 - OBS_VAR13_NAME = WIND OBS_VAR13_LEVELS = Z10 -OBS_VAR13_THRESH = >=5 +OBS_VAR13_THRESH = ge5 FCST_VAR14_NAME = WIND_Z10_ENS_FREQ_ge10 FCST_VAR14_LEVELS = Z10 FCST_VAR14_THRESH = ==0.1 - OBS_VAR14_NAME = WIND OBS_VAR14_LEVELS = Z10 -OBS_VAR14_THRESH = >=10 +OBS_VAR14_THRESH = ge10 FCST_VAR15_NAME = WIND_Z10_ENS_FREQ_ge15 FCST_VAR15_LEVELS = Z10 FCST_VAR15_THRESH = ==0.1 - OBS_VAR15_NAME = WIND OBS_VAR15_LEVELS = Z10 -OBS_VAR15_THRESH = >=15 +OBS_VAR15_THRESH = ge15 FCST_VAR16_NAME = TCDC_L0_ENS_FREQ_lt25 FCST_VAR16_LEVELS = L0 FCST_VAR16_THRESH = ==0.1 - OBS_VAR16_NAME = TCDC OBS_VAR16_LEVELS = L0 -OBS_VAR16_THRESH = <25 +OBS_VAR16_THRESH = lt25 FCST_VAR17_NAME = TCDC_L0_ENS_FREQ_gt75 FCST_VAR17_LEVELS = L0 FCST_VAR17_THRESH = ==0.1 - OBS_VAR17_NAME = TCDC OBS_VAR17_LEVELS = L0 -OBS_VAR17_THRESH = >75 +OBS_VAR17_THRESH = gt75 FCST_VAR18_NAME = VIS_L0_ENS_FREQ_lt1609 FCST_VAR18_LEVELS = L0 FCST_VAR18_THRESH = ==0.1 FCST_VAR18_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } - OBS_VAR18_NAME = VIS OBS_VAR18_LEVELS = L0 -OBS_VAR18_THRESH = <1609 +OBS_VAR18_THRESH = lt1609 OBS_VAR18_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } FCST_VAR19_NAME = VIS_L0_ENS_FREQ_lt8045 FCST_VAR19_LEVELS = L0 FCST_VAR19_THRESH = ==0.1 FCST_VAR19_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } - OBS_VAR19_NAME = VIS OBS_VAR19_LEVELS = L0 -OBS_VAR19_THRESH = <8045 +OBS_VAR19_THRESH = lt8045 OBS_VAR19_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } FCST_VAR20_NAME = VIS_L0_ENS_FREQ_ge8045 FCST_VAR20_LEVELS = L0 FCST_VAR20_THRESH = ==0.1 FCST_VAR20_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } - OBS_VAR20_NAME = VIS OBS_VAR20_LEVELS = L0 -OBS_VAR20_THRESH = >=8045 +OBS_VAR20_THRESH = ge8045 OBS_VAR20_OPTIONS = interp = { type = [ { method = NEAREST; width = 1; } ]; } FCST_VAR21_NAME = HGT_L0_ENS_FREQ_lt152 FCST_VAR21_LEVELS = L0 FCST_VAR21_THRESH = ==0.1 FCST_VAR21_OPTIONS = desc = "CEILING"; - OBS_VAR21_NAME = CEILING OBS_VAR21_LEVELS = L0 -OBS_VAR21_THRESH = <152 -OBS_VAR21_OPTIONS = GRIB_lvl_typ = 215; interp = { type = [ { method = NEAREST; width = 1; } ]; } +OBS_VAR21_THRESH = lt152 +OBS_VAR21_OPTIONS = GRIB_lvl_typ = 215; + interp = { type = [ { method = NEAREST; width = 1; } ]; } FCST_VAR22_NAME = HGT_L0_ENS_FREQ_lt1520 FCST_VAR22_LEVELS = L0 FCST_VAR22_THRESH = ==0.1 FCST_VAR22_OPTIONS = desc = "CEILING"; - OBS_VAR22_NAME = CEILING OBS_VAR22_LEVELS = L0 -OBS_VAR22_THRESH = <1520 -OBS_VAR22_OPTIONS = GRIB_lvl_typ = 215; interp = { type = [ { method = NEAREST; width = 1; } ]; } +OBS_VAR22_THRESH = lt1520 +OBS_VAR22_OPTIONS = GRIB_lvl_typ = 215; + interp = { type = [ { method = NEAREST; width = 1; } ]; } FCST_VAR23_NAME = HGT_L0_ENS_FREQ_ge914 FCST_VAR23_LEVELS = L0 FCST_VAR23_THRESH = ==0.1 FCST_VAR23_OPTIONS = desc = "CEILING"; - OBS_VAR23_NAME = CEILING OBS_VAR23_LEVELS = L0 -OBS_VAR23_THRESH = >=914 -OBS_VAR23_OPTIONS = GRIB_lvl_typ = 215; interp = { type = [ { method = NEAREST; width = 1; } ]; } +OBS_VAR23_THRESH = ge914 +OBS_VAR23_OPTIONS = GRIB_lvl_typ = 215; + interp = { type = [ { method = NEAREST; width = 1; } ]; } +# # Forecast data description variables +# FCST_IS_PROB = True FCST_PROB_IN_GRIB_PDS = False diff --git a/parm/metplus/PointStat_ensprob_UPA.conf b/parm/metplus/PointStat_ensprob_ADPUPA.conf similarity index 85% rename from parm/metplus/PointStat_ensprob_UPA.conf rename to parm/metplus/PointStat_ensprob_ADPUPA.conf index 6b4628112f..eab0270c69 100644 --- a/parm/metplus/PointStat_ensprob_UPA.conf +++ b/parm/metplus/PointStat_ensprob_ADPUPA.conf @@ -43,9 +43,10 @@ LEAD_SEQ = {{fhr_list}} # wrappers have been run # LOOP_ORDER = times - -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only -LOG_POINT_STAT_VERBOSITY = 2 +# +# Verbosity of MET logging output. 0 to 5; 0 is quiet, 5 is loud. +# +LOG_{{METPLUS_TOOL_NAME}}_VERBOSITY = {{metplus_verbosity_level}} # # Specify the name of the METplus log file. # @@ -103,10 +104,7 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = # -# Time relative to each input file's valid time (in seconds if no units -# are specified) for data within the file to be considered valid. Values -# are set in the 'obs_window' dictionary in the PointStat config file. -# Set both BEGIN and END to 0 to require the exact time in the filename. +# Observation data time window(s). # OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 @@ -139,7 +137,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {MODEL}_ADP{{fieldname_in_met_filedir_names}}_{OBTYPE} +POINT_STAT_OUTPUT_PREFIX = {MODEL}_{{fieldname_in_met_filedir_names}}_{OBTYPE} # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -163,341 +161,303 @@ POINT_STAT_STATION_ID = # Message types, if all message types are to be returned, leave this empty, # otherwise indicate the message types of interest. -POINT_STAT_MESSAGE_TYPE = ADP{{fieldname_in_met_filedir_names}} +POINT_STAT_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}} # set to True to run PointStat once for each name/level combination # set to False to run PointStat once per run time including all fields POINT_STAT_ONCE_PER_FIELD = False # -# Variables and levels as specified in the field dictionary of the METplus -# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION +# List of forecast and corresponding observation fields to process. +# Note that the forecast variable name must exactly match the name of a +# variable in the forecast input file(s). # - -# fields to compare -# Note: If FCST_VAR_* is set, then a corresponding OBS_VAR_* variable must be set -# To use one variables for both forecast and observation data, set BOTH_VAR_* instead -#FREQ FCST_VAR1_NAME = TMP_P850_ENS_FREQ_ge288 FCST_VAR1_LEVELS = P850 FCST_VAR1_THRESH = ==0.1 - OBS_VAR1_NAME = TMP OBS_VAR1_LEVELS = P850 -OBS_VAR1_THRESH = >=288 +OBS_VAR1_THRESH = ge288 FCST_VAR2_NAME = TMP_P850_ENS_FREQ_ge293 FCST_VAR2_LEVELS = P850 FCST_VAR2_THRESH = ==0.1 - OBS_VAR2_NAME = TMP OBS_VAR2_LEVELS = P850 -OBS_VAR2_THRESH = >=293 +OBS_VAR2_THRESH = ge293 FCST_VAR3_NAME = TMP_P850_ENS_FREQ_ge298 FCST_VAR3_LEVELS = P850 FCST_VAR3_THRESH = ==0.1 - OBS_VAR3_NAME = TMP OBS_VAR3_LEVELS = P850 -OBS_VAR3_THRESH = >=298 +OBS_VAR3_THRESH = ge298 FCST_VAR4_NAME = TMP_P700_ENS_FREQ_ge273 FCST_VAR4_LEVELS = P700 FCST_VAR4_THRESH = ==0.1 - OBS_VAR4_NAME = TMP OBS_VAR4_LEVELS = P700 -OBS_VAR4_THRESH = >=273 +OBS_VAR4_THRESH = ge273 FCST_VAR5_NAME = TMP_P700_ENS_FREQ_ge278 FCST_VAR5_LEVELS = P700 FCST_VAR5_THRESH = ==0.1 - OBS_VAR5_NAME = TMP OBS_VAR5_LEVELS = P700 -OBS_VAR5_THRESH = >=278 +OBS_VAR5_THRESH = ge278 FCST_VAR6_NAME = TMP_P700_ENS_FREQ_ge283 FCST_VAR6_LEVELS = P700 FCST_VAR6_THRESH = ==0.1 - OBS_VAR6_NAME = TMP OBS_VAR6_LEVELS = P700 -OBS_VAR6_THRESH = >=283 +OBS_VAR6_THRESH = ge283 FCST_VAR7_NAME = TMP_P500_ENS_FREQ_ge258 FCST_VAR7_LEVELS = P500 FCST_VAR7_THRESH = ==0.1 - OBS_VAR7_NAME = TMP OBS_VAR7_LEVELS = P500 -OBS_VAR7_THRESH = >=258 +OBS_VAR7_THRESH = ge258 FCST_VAR8_NAME = TMP_P500_ENS_FREQ_ge263 FCST_VAR8_LEVELS = P500 FCST_VAR8_THRESH = ==0.1 - OBS_VAR8_NAME = TMP OBS_VAR8_LEVELS = P500 -OBS_VAR8_THRESH = >=263 +OBS_VAR8_THRESH = ge263 FCST_VAR9_NAME = TMP_P500_ENS_FREQ_ge268 FCST_VAR9_LEVELS = P500 FCST_VAR9_THRESH = ==0.1 - OBS_VAR9_NAME = TMP OBS_VAR9_LEVELS = P500 -OBS_VAR9_THRESH = >=268 +OBS_VAR9_THRESH = ge268 FCST_VAR10_NAME = DPT_P850_ENS_FREQ_ge273 FCST_VAR10_LEVELS = P850 FCST_VAR10_THRESH = ==0.1 - OBS_VAR10_NAME = DPT OBS_VAR10_LEVELS = P850 -OBS_VAR10_THRESH = >=273 +OBS_VAR10_THRESH = ge273 FCST_VAR11_NAME = DPT_P850_ENS_FREQ_ge278 FCST_VAR11_LEVELS = P850 FCST_VAR11_THRESH = ==0.1 - OBS_VAR11_NAME = DPT OBS_VAR11_LEVELS = P850 -OBS_VAR11_THRESH = >=278 +OBS_VAR11_THRESH = ge278 FCST_VAR12_NAME = DPT_P850_ENS_FREQ_ge283 FCST_VAR12_LEVELS = P850 FCST_VAR12_THRESH = ==0.1 - OBS_VAR12_NAME = DPT OBS_VAR12_LEVELS = P850 -OBS_VAR12_THRESH = >=283 +OBS_VAR12_THRESH = ge283 FCST_VAR13_NAME = DPT_P700_ENS_FREQ_ge263 FCST_VAR13_LEVELS = P700 FCST_VAR13_THRESH = ==0.1 - OBS_VAR13_NAME = DPT OBS_VAR13_LEVELS = P700 -OBS_VAR13_THRESH = >=263 +OBS_VAR13_THRESH = ge263 FCST_VAR14_NAME = DPT_P700_ENS_FREQ_ge268 FCST_VAR14_LEVELS = P700 FCST_VAR14_THRESH = ==0.1 - OBS_VAR14_NAME = DPT OBS_VAR14_LEVELS = P700 -OBS_VAR14_THRESH = >=268 +OBS_VAR14_THRESH = ge268 FCST_VAR15_NAME = DPT_P700_ENS_FREQ_ge273 FCST_VAR15_LEVELS = P700 FCST_VAR15_THRESH = ==0.1 - OBS_VAR15_NAME = DPT OBS_VAR15_LEVELS = P700 -OBS_VAR15_THRESH = >=273 +OBS_VAR15_THRESH = ge273 FCST_VAR16_NAME = WIND_P850_ENS_FREQ_ge5 FCST_VAR16_LEVELS = P850 FCST_VAR16_THRESH = ==0.1 - OBS_VAR16_NAME = WIND OBS_VAR16_LEVELS = P850 -OBS_VAR16_THRESH = >=5 +OBS_VAR16_THRESH = ge5 FCST_VAR17_NAME = WIND_P850_ENS_FREQ_ge10 FCST_VAR17_LEVELS = P850 FCST_VAR17_THRESH = ==0.1 - OBS_VAR17_NAME = WIND OBS_VAR17_LEVELS = P850 -OBS_VAR17_THRESH = >=10 +OBS_VAR17_THRESH = ge10 FCST_VAR18_NAME = WIND_P850_ENS_FREQ_ge15 FCST_VAR18_LEVELS = P850 FCST_VAR18_THRESH = ==0.1 - OBS_VAR18_NAME = WIND OBS_VAR18_LEVELS = P850 -OBS_VAR18_THRESH = >=15 +OBS_VAR18_THRESH = ge15 FCST_VAR19_NAME = WIND_P700_ENS_FREQ_ge10 FCST_VAR19_LEVELS = P700 FCST_VAR19_THRESH = ==0.1 - OBS_VAR19_NAME = WIND OBS_VAR19_LEVELS = P700 -OBS_VAR19_THRESH = >=10 +OBS_VAR19_THRESH = ge10 FCST_VAR20_NAME = WIND_P700_ENS_FREQ_ge15 FCST_VAR20_LEVELS = P700 FCST_VAR20_THRESH = ==0.1 - OBS_VAR20_NAME = WIND OBS_VAR20_LEVELS = P700 -OBS_VAR20_THRESH = >=15 +OBS_VAR20_THRESH = ge15 FCST_VAR21_NAME = WIND_P700_ENS_FREQ_ge20 FCST_VAR21_LEVELS = P700 FCST_VAR21_THRESH = ==0.1 - OBS_VAR21_NAME = WIND OBS_VAR21_LEVELS = P700 -OBS_VAR21_THRESH = >=20 +OBS_VAR21_THRESH = ge20 FCST_VAR22_NAME = WIND_P500_ENS_FREQ_ge15 FCST_VAR22_LEVELS = P500 FCST_VAR22_THRESH = ==0.1 - OBS_VAR22_NAME = WIND OBS_VAR22_LEVELS = P500 -OBS_VAR22_THRESH = >=15 +OBS_VAR22_THRESH = ge15 FCST_VAR23_NAME = WIND_P500_ENS_FREQ_ge21 FCST_VAR23_LEVELS = P500 FCST_VAR23_THRESH = ==0.1 - OBS_VAR23_NAME = WIND OBS_VAR23_LEVELS = P500 -OBS_VAR23_THRESH = >=21 +OBS_VAR23_THRESH = ge21 FCST_VAR24_NAME = WIND_P500_ENS_FREQ_ge26 FCST_VAR24_LEVELS = P500 FCST_VAR24_THRESH = ==0.1 - OBS_VAR24_NAME = WIND OBS_VAR24_LEVELS = P500 -OBS_VAR24_THRESH = >=26 +OBS_VAR24_THRESH = ge26 FCST_VAR25_NAME = WIND_P250_ENS_FREQ_ge26 FCST_VAR25_LEVELS = P250 FCST_VAR25_THRESH = ==0.1 - OBS_VAR25_NAME = WIND OBS_VAR25_LEVELS = P250 -OBS_VAR25_THRESH = >=26 +OBS_VAR25_THRESH = ge26 FCST_VAR26_NAME = WIND_P250_ENS_FREQ_ge31 FCST_VAR26_LEVELS = P250 FCST_VAR26_THRESH = ==0.1 - OBS_VAR26_NAME = WIND OBS_VAR26_LEVELS = P250 -OBS_VAR26_THRESH = >=31 +OBS_VAR26_THRESH = ge31 FCST_VAR27_NAME = WIND_P250_ENS_FREQ_ge36 FCST_VAR27_LEVELS = P250 FCST_VAR27_THRESH = ==0.1 - OBS_VAR27_NAME = WIND OBS_VAR27_LEVELS = P250 -OBS_VAR27_THRESH = >=36 +OBS_VAR27_THRESH = ge36 FCST_VAR28_NAME = WIND_P250_ENS_FREQ_ge46 FCST_VAR28_LEVELS = P250 FCST_VAR28_THRESH = ==0.1 - OBS_VAR28_NAME = WIND OBS_VAR28_LEVELS = P250 -OBS_VAR28_THRESH = >=46 +OBS_VAR28_THRESH = ge46 FCST_VAR29_NAME = WIND_P250_ENS_FREQ_ge62 FCST_VAR29_LEVELS = P250 FCST_VAR29_THRESH = ==0.1 - OBS_VAR29_NAME = WIND OBS_VAR29_LEVELS = P250 -OBS_VAR29_THRESH = >=62 +OBS_VAR29_THRESH = ge62 FCST_VAR30_NAME = HGT_P500_ENS_FREQ_ge5400 FCST_VAR30_LEVELS = P500 FCST_VAR30_THRESH = ==0.1 - OBS_VAR30_NAME = HGT OBS_VAR30_LEVELS = P500 -OBS_VAR30_THRESH = >=5400 +OBS_VAR30_THRESH = ge5400 FCST_VAR31_NAME = HGT_P500_ENS_FREQ_ge5600 FCST_VAR31_LEVELS = P500 FCST_VAR31_THRESH = ==0.1 - OBS_VAR31_NAME = HGT OBS_VAR31_LEVELS = P500 -OBS_VAR31_THRESH = >=5600 +OBS_VAR31_THRESH = ge5600 FCST_VAR32_NAME = HGT_P500_ENS_FREQ_ge5880 FCST_VAR32_LEVELS = P500 FCST_VAR32_THRESH = ==0.1 - OBS_VAR32_NAME = HGT OBS_VAR32_LEVELS = P500 -OBS_VAR32_THRESH = >=5880 +OBS_VAR32_THRESH = ge5880 FCST_VAR33_NAME = CAPE_L0_ENS_FREQ_le1000 FCST_VAR33_LEVELS = L0 FCST_VAR33_THRESH = ==0.1 - OBS_VAR33_NAME = CAPE OBS_VAR33_LEVELS = L0-100000 -OBS_VAR33_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; -OBS_VAR33_THRESH = <=1000 +OBS_VAR33_THRESH = le1000 +OBS_VAR33_OPTIONS = cnt_thresh = [ >0 ]; + cnt_logic = UNION; FCST_VAR34_NAME = CAPE_L0_ENS_FREQ_gt1000.and.lt2500 FCST_VAR34_LEVELS = L0 FCST_VAR34_THRESH = ==0.1 - OBS_VAR34_NAME = CAPE OBS_VAR34_LEVELS = L0-100000 -OBS_VAR34_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; -OBS_VAR34_THRESH = >1000&&<2500 +OBS_VAR34_THRESH = gt1000&<2500 +OBS_VAR34_OPTIONS = cnt_thresh = [ >0 ]; + cnt_logic = UNION; FCST_VAR35_NAME = CAPE_L0_ENS_FREQ_gt2500.and.lt4000 FCST_VAR35_LEVELS = L0 FCST_VAR35_THRESH = ==0.1 - OBS_VAR35_NAME = CAPE OBS_VAR35_LEVELS = L0-100000 -OBS_VAR35_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; -OBS_VAR35_THRESH = >2500&&<4000 +OBS_VAR35_THRESH = gt2500&<4000 +OBS_VAR35_OPTIONS = cnt_thresh = [ >0 ]; + cnt_logic = UNION; FCST_VAR36_NAME = CAPE_L0_ENS_FREQ_gt2500 FCST_VAR36_LEVELS = L0 FCST_VAR36_THRESH = ==0.1 - OBS_VAR36_NAME = CAPE OBS_VAR36_LEVELS = L0-100000 -OBS_VAR36_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; -OBS_VAR36_THRESH =>2500 +OBS_VAR36_THRESH = gt2500 +OBS_VAR36_OPTIONS = cnt_thresh = [ >0 ]; + cnt_logic = UNION; FCST_VAR37_NAME = HPBL_Z0_ENS_FREQ_lt500 FCST_VAR37_LEVELS = Z0 FCST_VAR37_THRESH = ==0.1 - OBS_VAR37_NAME = PBL OBS_VAR37_LEVELS = L0 +OBS_VAR37_THRESH = lt500 OBS_VAR37_OPTIONS = desc = "TKE"; -OBS_VAR37_THRESH = <500 FCST_VAR38_NAME = HPBL_Z0_ENS_FREQ_lt1500 FCST_VAR38_LEVELS = Z0 FCST_VAR38_THRESH = ==0.1 - OBS_VAR38_NAME = PBL OBS_VAR38_LEVELS = L0 +OBS_VAR38_THRESH = lt1500 OBS_VAR38_OPTIONS = desc = "TKE"; -OBS_VAR38_THRESH = <1500 FCST_VAR39_NAME = HPBL_Z0_ENS_FREQ_gt1500 FCST_VAR39_LEVELS = Z0 FCST_VAR39_THRESH = ==0.1 - OBS_VAR39_NAME = PBL OBS_VAR39_LEVELS = L0 +OBS_VAR39_THRESH = gt1500 OBS_VAR39_OPTIONS = desc = "TKE"; -OBS_VAR39_THRESH = >1500 +# # Forecast data description variables +# FCST_IS_PROB = True FCST_PROB_IN_GRIB_PDS = False diff --git a/parm/wflow/verify_det.yaml b/parm/wflow/verify_det.yaml index ee611bcfab..4c6b43ca25 100644 --- a/parm/wflow/verify_det.yaml +++ b/parm/wflow/verify_det.yaml @@ -37,7 +37,7 @@ metatask_GridStat_CCPA_all_accums_all_mems: OBS_DIR: '&CCPA_OBS_DIR;' VAR: APCP ACCUM_HH: '#ACCUM_HH#' - MET_TOOL: 'GRIDSTAT' + METPLUSTOOLNAME: 'GRIDSTAT' OBTYPE: 'CCPA' ENSMEM_INDX: "#mem#" SLASH_ENSMEM_SUBDIR_OR_NULL: '{% if global.DO_ENSEMBLE %}{{ "/mem#mem#" }}{% endif %}' @@ -67,7 +67,7 @@ metatask_GridStat_NOHRSC_all_accums_all_mems: OBS_DIR: '&NOHRSC_OBS_DIR;' VAR: ASNOW ACCUM_HH: '#ACCUM_HH#' - MET_TOOL: 'GRIDSTAT' + METPLUSTOOLNAME: 'GRIDSTAT' OBTYPE: 'NOHRSC' ENSMEM_INDX: "#mem#" SLASH_ENSMEM_SUBDIR_OR_NULL: '{% if global.DO_ENSEMBLE %}{{ "/mem#mem#" }}{% endif %}' @@ -95,7 +95,7 @@ metatask_GridStat_MRMS_all_mems: OBS_DIR: '&MRMS_OBS_DIR;' VAR: '#VAR#' ACCUM_HH: '01' - MET_TOOL: 'GRIDSTAT' + METPLUSTOOLNAME: 'GRIDSTAT' OBTYPE: 'MRMS' ENSMEM_INDX: "#mem#" SLASH_ENSMEM_SUBDIR_OR_NULL: '{% if global.DO_ENSEMBLE %}{{ "/mem#mem#" }}{% endif %}' @@ -115,7 +115,7 @@ metatask_PointStat_NDAS_all_mems: mem: '{% if global.DO_ENSEMBLE %}{% for m in range(1, global.NUM_ENS_MEMBERS+1) %}{{ "%03d "%m }}{%- endfor -%} {% else %}{{ "000"|string }}{% endif %}' metatask_PointStat_NDAS_mem#mem#: var: - VAR: '{% for var in verification.VX_FIELDS %}{% if var in ["SFC", "UPA"] %}{{ "%s " % var }}{% endif %}{% endfor %}' + VAR: '{% for var in verification.VX_FIELDS %}{% if var in ["ADPSFC", "ADPUPA"] %}{{ "%s " % var }}{% endif %}{% endfor %}' task_run_MET_PointStat_vx_#VAR#_mem#mem#: <<: *default_task_verify_det command: '&LOAD_MODULES_RUN_TASK_FP; "run_vx" "&JOBSdir;/JREGIONAL_RUN_MET_GRIDSTAT_OR_POINTSTAT_VX"' @@ -123,7 +123,7 @@ metatask_PointStat_NDAS_all_mems: <<: *default_vars OBS_DIR: '&NDAS_OBS_DIR;' VAR: '#VAR#' - MET_TOOL: 'POINTSTAT' + METPLUSTOOLNAME: 'POINTSTAT' OBTYPE: 'NDAS' ACCUM_HH: '01' ENSMEM_INDX: "#mem#" diff --git a/parm/wflow/verify_ens.yaml b/parm/wflow/verify_ens.yaml index 4dd9f16ec2..cf0a8d1dac 100644 --- a/parm/wflow/verify_ens.yaml +++ b/parm/wflow/verify_ens.yaml @@ -32,7 +32,7 @@ metatask_GenEnsProd_EnsembleStat_CCPA: ACCUM_HH: '#ACCUM_HH#' OBS_DIR: '&CCPA_OBS_DIR;' VAR: APCP - MET_TOOL: 'GENENSPROD' + METPLUSTOOLNAME: 'GENENSPROD' OBTYPE: 'CCPA' dependency: and: @@ -49,7 +49,7 @@ metatask_GenEnsProd_EnsembleStat_CCPA: <<: *task_GenEnsProd_CCPA envars: <<: *envars_GenEnsProd_CCPA - MET_TOOL: 'ENSEMBLESTAT' + METPLUSTOOLNAME: 'ENSEMBLESTAT' dependency: taskdep_genensprod: attrs: @@ -66,7 +66,7 @@ metatask_GenEnsProd_EnsembleStat_NOHRSC: ACCUM_HH: '#ACCUM_HH#' OBS_DIR: '&NOHRSC_OBS_DIR;' VAR: ASNOW - MET_TOOL: 'GENENSPROD' + METPLUSTOOLNAME: 'GENENSPROD' OBTYPE: 'NOHRSC' dependency: and: @@ -80,7 +80,7 @@ metatask_GenEnsProd_EnsembleStat_NOHRSC: <<: *task_GenEnsProd_NOHRSC envars: <<: *envars_GenEnsProd_NOHRSC - MET_TOOL: 'ENSEMBLESTAT' + METPLUSTOOLNAME: 'ENSEMBLESTAT' dependency: and: taskdep: @@ -101,7 +101,7 @@ metatask_GenEnsProd_EnsembleStat_MRMS: ACCUM_HH: '01' OBS_DIR: '&MRMS_OBS_DIR;' VAR: '#VAR#' - MET_TOOL: 'GENENSPROD' + METPLUSTOOLNAME: 'GENENSPROD' OBTYPE: 'MRMS' dependency: and: @@ -116,7 +116,7 @@ metatask_GenEnsProd_EnsembleStat_MRMS: <<: *task_GenEnsProd_MRMS envars: <<: *envars_GenEnsProd_MRMS - MET_TOOL: 'ENSEMBLESTAT' + METPLUSTOOLNAME: 'ENSEMBLESTAT' dependency: taskdep: attrs: @@ -124,7 +124,7 @@ metatask_GenEnsProd_EnsembleStat_MRMS: metatask_GenEnsProd_EnsembleStat_NDAS: var: - VAR: '{% for var in verification.VX_FIELDS %}{% if var in ["SFC", "UPA"] %}{{ "%s " % var }}{% endif %}{% endfor %}' + VAR: '{% for var in verification.VX_FIELDS %}{% if var in ["ADPSFC", "ADPUPA"] %}{{ "%s " % var }}{% endif %}{% endfor %}' task_run_MET_GenEnsProd_vx_#VAR#: &task_GenEnsProd_NDAS <<: *default_task_verify_ens command: '&LOAD_MODULES_RUN_TASK_FP; "run_vx" "&JOBSdir;/JREGIONAL_RUN_MET_GENENSPROD_OR_ENSEMBLESTAT"' @@ -132,7 +132,7 @@ metatask_GenEnsProd_EnsembleStat_NDAS: <<: *default_vars OBS_DIR: '&NDAS_OBS_DIR;' VAR: '#VAR#' - MET_TOOL: 'GENENSPROD' + METPLUSTOOLNAME: 'GENENSPROD' OBTYPE: 'NDAS' ACCUM_HH: '01' walltime: 02:30:00 @@ -150,7 +150,7 @@ metatask_GenEnsProd_EnsembleStat_NDAS: <<: *task_GenEnsProd_NDAS envars: <<: *envars_GenEnsProd_NDAS - MET_TOOL: 'ENSEMBLESTAT' + METPLUSTOOLNAME: 'ENSEMBLESTAT' walltime: 01:00:00 dependency: taskdep_genensprod: @@ -171,7 +171,7 @@ metatask_GridStat_CCPA_ensmeanprob_all_accums: <<: *default_vars OBS_DIR: '&CCPA_OBS_DIR;' VAR: APCP - MET_TOOL: 'GRIDSTAT' + METPLUSTOOLNAME: 'GRIDSTAT' OBTYPE: 'CCPA' ACCUM_HH: '#ACCUM_HH#' dependency: @@ -193,7 +193,7 @@ metatask_GridStat_NOHRSC_ensmeanprob_all_accums: <<: *default_vars OBS_DIR: '&NOHRSC_OBS_DIR;' VAR: ASNOW - MET_TOOL: 'GRIDSTAT' + METPLUSTOOLNAME: 'GRIDSTAT' OBTYPE: 'NOHRSC' ACCUM_HH: '#ACCUM_HH#' dependency: @@ -212,7 +212,7 @@ metatask_GridStat_MRMS_ensprob: ACCUM_HH: '01' OBS_DIR: '&MRMS_OBS_DIR;' VAR: '#VAR#' - MET_TOOL: 'GRIDSTAT' + METPLUSTOOLNAME: 'GRIDSTAT' OBTYPE: 'MRMS' dependency: taskdep: @@ -225,7 +225,7 @@ metatask_PointStat_NDAS_ensmeanprob: statlc: mean prob metatask_PointStat_NDAS_ens#statlc#: var: - VAR: '{% for var in verification.VX_FIELDS %}{% if var in ["SFC", "UPA"] %}{{ "%s " % var }}{% endif %}{% endfor %}' + VAR: '{% for var in verification.VX_FIELDS %}{% if var in ["ADPSFC", "ADPUPA"] %}{{ "%s " % var }}{% endif %}{% endfor %}' task_run_MET_PointStat_vx_ens#statlc#_#VAR#: <<: *default_task_verify_ens command: '&LOAD_MODULES_RUN_TASK_FP; "run_vx" "&JOBSdir;/JREGIONAL_RUN_MET_GRIDSTAT_OR_POINTSTAT_VX_ENS#stat#"' @@ -233,7 +233,7 @@ metatask_PointStat_NDAS_ensmeanprob: <<: *default_vars OBS_DIR: '&NDAS_OBS_DIR;' VAR: '#VAR#' - MET_TOOL: 'POINTSTAT' + METPLUSTOOLNAME: 'POINTSTAT' OBTYPE: 'NDAS' ACCUM_HH: '01' dependency: diff --git a/parm/wflow/verify_pre.yaml b/parm/wflow/verify_pre.yaml index d8f245f794..bc1ca11078 100644 --- a/parm/wflow/verify_pre.yaml +++ b/parm/wflow/verify_pre.yaml @@ -79,12 +79,12 @@ task_run_MET_Pb2nc_obs: command: '&LOAD_MODULES_RUN_TASK_FP; "run_vx" "&JOBSdir;/JREGIONAL_RUN_MET_PB2NC_OBS"' envars: <<: *default_vars - VAR: SFC + VAR: ADPSFC ACCUM_HH: '01' obs_or_fcst: obs OBTYPE: NDAS OBS_DIR: '&NDAS_OBS_DIR;' - MET_TOOL: 'PB2NC' + METPLUSTOOLNAME: 'PB2NC' dependency: and: datadep: @@ -114,7 +114,7 @@ metatask_PcpCombine_obs: obs_or_fcst: obs OBTYPE: CCPA OBS_DIR: '&CCPA_OBS_DIR;' - MET_TOOL: 'PCPCOMBINE' + METPLUSTOOLNAME: 'PCPCOMBINE' dependency: and: datadep: @@ -225,7 +225,7 @@ metatask_PcpCombine_fcst_APCP_all_accums_all_mems: obs_or_fcst: fcst OBTYPE: CCPA OBS_DIR: '&CCPA_OBS_DIR;' - MET_TOOL: 'PCPCOMBINE' + METPLUSTOOLNAME: 'PCPCOMBINE' ENSMEM_INDX: "#mem#" dependency: datadep: @@ -253,7 +253,7 @@ metatask_PcpCombine_fcst_ASNOW_all_accums_all_mems: obs_or_fcst: fcst OBTYPE: NOHRSC OBS_DIR: '&NOHRSC_OBS_DIR;' - MET_TOOL: 'PCPCOMBINE' + METPLUSTOOLNAME: 'PCPCOMBINE' ENSMEM_INDX: "#mem#" dependency: datadep: diff --git a/scripts/exregional_run_met_genensprod_or_ensemblestat.sh b/scripts/exregional_run_met_genensprod_or_ensemblestat.sh index cf72c723a4..8fef9cfa21 100755 --- a/scripts/exregional_run_met_genensprod_or_ensemblestat.sh +++ b/scripts/exregional_run_met_genensprod_or_ensemblestat.sh @@ -16,7 +16,7 @@ source_config_for_task "task_run_vx_ensgrid|task_run_post" ${GLOBAL_VAR_DEFNS_FP # #----------------------------------------------------------------------- # -. $USHdir/get_met_metplus_tool_name.sh +. $USHdir/get_metplus_tool_name.sh . $USHdir/set_vx_params.sh . $USHdir/set_vx_fhr_list.sh # @@ -44,14 +44,15 @@ scrfunc_dir=$( dirname "${scrfunc_fp}" ) #----------------------------------------------------------------------- # # Get the name of the MET/METplus tool in different formats that may be -# needed from the global variable MET_TOOL. +# needed from the global variable METPLUSTOOLNAME. # #----------------------------------------------------------------------- # -get_met_metplus_tool_name \ - generic_tool_name="${MET_TOOL}" \ - outvarname_met_tool_name="met_tool_name" \ - outvarname_metplus_tool_name="metplus_tool_name" +get_metplus_tool_name \ + METPLUSTOOLNAME="${METPLUSTOOLNAME}" \ + outvarname_metplus_tool_name="metplus_tool_name" \ + outvarname_MetplusToolName="MetplusToolName" \ + outvarname_METPLUS_TOOL_NAME="METPLUS_TOOL_NAME" # #----------------------------------------------------------------------- # @@ -74,7 +75,7 @@ print_info_msg " Entering script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" -This is the ex-script for the task that runs the METplus ${metplus_tool_name} +This is the ex-script for the task that runs the METplus ${MetplusToolName} tool either to generate ensemble products without performing verification (if running the GenEnsProd tool) or to perform ensemble-based verification (if running the EnsembleStat tool). @@ -106,7 +107,6 @@ set_vx_params \ field="$VAR" \ accum_hh="${ACCUM_HH}" \ outvarname_grid_or_point="grid_or_point" \ - outvarname_field_is_APCPgt01h="field_is_APCPgt01h" \ outvarname_fieldname_in_obs_input="FIELDNAME_IN_OBS_INPUT" \ outvarname_fieldname_in_fcst_input="FIELDNAME_IN_FCST_INPUT" \ outvarname_fieldname_in_MET_output="FIELDNAME_IN_MET_OUTPUT" \ @@ -133,9 +133,12 @@ if [ "${grid_or_point}" = "grid" ]; then "APCP24h") FIELD_THRESHOLDS="gt0.0, ge6.350, ge12.700, ge25.400" ;; - "ASNOW") - FIELD_THRESHOLDS="gt0.0, ge2.54, ge5.08, ge10.16, ge20.32" - ;; + "ASNOW06h") + FIELD_THRESHOLDS="gt0.0, ge2.54, ge5.08, ge10.16, ge20.32" + ;; + "ASNOW24h") + FIELD_THRESHOLDS="gt0.0, ge2.54, ge5.08, ge10.16, ge20.32" + ;; "REFC") FIELD_THRESHOLDS="ge20, ge30, ge40, ge50" ;; @@ -173,41 +176,37 @@ fi if [ "${grid_or_point}" = "grid" ]; then - OBS_INPUT_FN_TEMPLATE="" - if [ "${field_is_APCPgt01h}" = "TRUE" ]; then - OBS_INPUT_DIR="${vx_output_basedir}/metprd/PcpCombine_obs" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCPgt01h_FN_TEMPLATE} ) - FCST_INPUT_DIR="${vx_output_basedir}" - else - OBS_INPUT_DIR="${OBS_DIR}" - case "${FIELDNAME_IN_MET_FILEDIR_NAMES}" in - "APCP01h") - OBS_INPUT_FN_TEMPLATE="${OBS_CCPA_APCP01h_FN_TEMPLATE}" - FCST_INPUT_DIR="${vx_fcst_input_basedir}" - ;; - "ASNOW") - OBS_INPUT_FN_TEMPLATE="${OBS_NOHRSC_ASNOW_FN_TEMPLATE}" - FCST_INPUT_DIR="${vx_output_basedir}" - ;; - "REFC") - OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_REFC_FN_TEMPLATE}" - FCST_INPUT_DIR="${vx_fcst_input_basedir}" - ;; - "RETOP") - OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_RETOP_FN_TEMPLATE}" - FCST_INPUT_DIR="${vx_fcst_input_basedir}" - ;; - esac - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_INPUT_FN_TEMPLATE} ) - fi + case "${FIELDNAME_IN_MET_FILEDIR_NAMES}" in + "APCP"*) + OBS_INPUT_DIR="${vx_output_basedir}/metprd/PcpCombine_obs" + OBS_INPUT_FN_TEMPLATE="${OBS_CCPA_APCP_FN_TEMPLATE_PCPCOMBINE_OUTPUT}" + FCST_INPUT_DIR="${vx_output_basedir}" + ;; + "ASNOW"*) + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_NOHRSC_ASNOW_FN_TEMPLATE}" + FCST_INPUT_DIR="${vx_output_basedir}" + ;; + "REFC") + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_REFC_FN_TEMPLATE}" + FCST_INPUT_DIR="${vx_fcst_input_basedir}" + ;; + "RETOP") + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_RETOP_FN_TEMPLATE}" + FCST_INPUT_DIR="${vx_fcst_input_basedir}" + ;; + esac elif [ "${grid_or_point}" = "point" ]; then OBS_INPUT_DIR="${vx_output_basedir}/metprd/Pb2nc_obs" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE} ) + OBS_INPUT_FN_TEMPLATE="${OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE_PB2NC_OUTPUT}" FCST_INPUT_DIR="${vx_fcst_input_basedir}" fi +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_INPUT_FN_TEMPLATE} ) # # Construct variable that contains a METplus template of the paths to # the files that the PcpCombine tool has generated (in previous workflow @@ -228,25 +227,25 @@ for (( i=0; i<${NUM_ENS_MEMBERS}; i++ )); do time_lag=$( bc -l <<< "${ENS_TIME_LAG_HRS[$i]}*${SECS_PER_HOUR}" ) - if [ "${field_is_APCPgt01h}" = "TRUE" ] || [ "${FIELDNAME_IN_MET_FILEDIR_NAMES}" = "ASNOW" ]; then - template="${cdate_ensmem_subdir_or_null:+${cdate_ensmem_subdir_or_null}/}metprd/PcpCombine_fcst/${FCST_FN_METPROC_TEMPLATE}" + if [ "${VAR}" = "APCP" ] || [ "${VAR}" = "ASNOW" ]; then + template="${cdate_ensmem_subdir_or_null:+${cdate_ensmem_subdir_or_null}/}metprd/PcpCombine_fcst/${FCST_FN_TEMPLATE_PCPCOMBINE_OUTPUT}" else template="${FCST_SUBDIR_TEMPLATE}/${FCST_FN_TEMPLATE}" fi slash_ensmem_subdir_or_null="/${ensmem_name}" if [ -z "${FCST_INPUT_FN_TEMPLATE}" ]; then - FCST_INPUT_FN_TEMPLATE=" $(eval echo ${template})" + FCST_INPUT_FN_TEMPLATE="$(eval echo ${template})" else FCST_INPUT_FN_TEMPLATE="\ ${FCST_INPUT_FN_TEMPLATE}, - $(eval echo ${template})" +$(eval echo ${template})" fi done OUTPUT_BASE="${vx_output_basedir}${slash_cdate_or_null}" -OUTPUT_DIR="${OUTPUT_BASE}/metprd/${metplus_tool_name}" +OUTPUT_DIR="${OUTPUT_BASE}/metprd/${MetplusToolName}" STAGING_DIR="${OUTPUT_BASE}/stage/${FIELDNAME_IN_MET_FILEDIR_NAMES}" # #----------------------------------------------------------------------- @@ -319,13 +318,9 @@ fi # # First, set the base file names. # -if [ "${field_is_APCPgt01h}" = "TRUE" ]; then - metplus_config_tmpl_fn="APCPgt01h" -else - metplus_config_tmpl_fn="${FIELDNAME_IN_MET_FILEDIR_NAMES}" -fi -metplus_config_tmpl_fn="${metplus_tool_name}_${metplus_config_tmpl_fn}" -metplus_config_fn="${metplus_tool_name}_${FIELDNAME_IN_MET_FILEDIR_NAMES}" +metplus_config_tmpl_fn="${VAR}" +metplus_config_tmpl_fn="${MetplusToolName}_${metplus_config_tmpl_fn}" +metplus_config_fn="${MetplusToolName}_${FIELDNAME_IN_MET_FILEDIR_NAMES}" metplus_log_fn="${metplus_config_fn}" # # Add prefixes and suffixes (extensions) to the base file names. @@ -351,6 +346,13 @@ metplus_config_fp="${OUTPUT_DIR}/${metplus_config_fn}" # settings="\ # +# MET/METplus information. +# + 'metplus_tool_name': '${metplus_tool_name}' + 'MetplusToolName': '${MetplusToolName}' + 'METPLUS_TOOL_NAME': '${METPLUS_TOOL_NAME}' + 'metplus_verbosity_level': '${METPLUS_VERBOSITY_LEVEL}' +# # Date and forecast hour information. # 'cdate': '$CDATE' @@ -373,7 +375,7 @@ settings="\ # Ensemble and member-specific information. # 'num_ens_members': '${NUM_ENS_MEMBERS}' - 'ensmem_indx': '${ENSMEM_INDX:-}' + 'ensmem_name': '${ensmem_name:-}' 'time_lag': '${time_lag:-}' # # Field information. @@ -420,7 +422,7 @@ fi #----------------------------------------------------------------------- # print_info_msg "$VERBOSE" " -Calling METplus to run MET's ${met_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" +Calling METplus to run MET's ${metplus_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${metplus_config_fp} || \ @@ -437,7 +439,7 @@ METplus configuration file used is: # print_info_msg " ======================================================================== -METplus ${metplus_tool_name} tool completed successfully. +METplus ${MetplusToolName} tool completed successfully. Exiting script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" diff --git a/scripts/exregional_run_met_gridstat_or_pointstat_vx.sh b/scripts/exregional_run_met_gridstat_or_pointstat_vx.sh index 3982a340d0..c9d8baeefe 100755 --- a/scripts/exregional_run_met_gridstat_or_pointstat_vx.sh +++ b/scripts/exregional_run_met_gridstat_or_pointstat_vx.sh @@ -16,7 +16,7 @@ source_config_for_task "task_run_vx_gridstat|task_run_vx_pointstat|task_run_post # #----------------------------------------------------------------------- # -. $USHdir/get_met_metplus_tool_name.sh +. $USHdir/get_metplus_tool_name.sh . $USHdir/set_vx_params.sh . $USHdir/set_vx_fhr_list.sh # @@ -44,14 +44,15 @@ scrfunc_dir=$( dirname "${scrfunc_fp}" ) #----------------------------------------------------------------------- # # Get the name of the MET/METplus tool in different formats that may be -# needed from the global variable MET_TOOL. +# needed from the global variable METPLUSTOOLNAME. # #----------------------------------------------------------------------- # -get_met_metplus_tool_name \ - generic_tool_name="${MET_TOOL}" \ - outvarname_met_tool_name="met_tool_name" \ - outvarname_metplus_tool_name="metplus_tool_name" +get_metplus_tool_name \ + METPLUSTOOLNAME="${METPLUSTOOLNAME}" \ + outvarname_metplus_tool_name="metplus_tool_name" \ + outvarname_MetplusToolName="MetplusToolName" \ + outvarname_METPLUS_TOOL_NAME="METPLUS_TOOL_NAME" # #----------------------------------------------------------------------- # @@ -64,7 +65,7 @@ print_info_msg " Entering script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" -This is the ex-script for the task that runs the METplus ${metplus_tool_name} +This is the ex-script for the task that runs the METplus ${MetplusToolName} tool to perform deterministic verification of the specified field (VAR) for a single forecast. ========================================================================" @@ -95,7 +96,6 @@ set_vx_params \ field="$VAR" \ accum_hh="${ACCUM_HH}" \ outvarname_grid_or_point="grid_or_point" \ - outvarname_field_is_APCPgt01h="field_is_APCPgt01h" \ outvarname_fieldname_in_obs_input="FIELDNAME_IN_OBS_INPUT" \ outvarname_fieldname_in_fcst_input="FIELDNAME_IN_FCST_INPUT" \ outvarname_fieldname_in_MET_output="FIELDNAME_IN_MET_OUTPUT" \ @@ -144,7 +144,10 @@ if [ "${grid_or_point}" = "grid" ]; then "APCP24h") FIELD_THRESHOLDS="gt0.0, ge0.254, ge0.508, ge1.27, ge2.54, ge3.810, ge6.350, ge8.890, ge12.700, ge25.400" ;; - "ASNOW") + "ASNOW06h") + FIELD_THRESHOLDS="gt0.0, ge2.54, ge5.08, ge10.16, ge20.32" + ;; + "ASNOW24h") FIELD_THRESHOLDS="gt0.0, ge2.54, ge5.08, ge10.16, ge20.32" ;; "REFC") @@ -204,50 +207,46 @@ fi if [ "${grid_or_point}" = "grid" ]; then - OBS_INPUT_FN_TEMPLATE="" - if [ "${field_is_APCPgt01h}" = "TRUE" ]; then - OBS_INPUT_DIR="${vx_output_basedir}/metprd/PcpCombine_obs" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCPgt01h_FN_TEMPLATE} ) - FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/${slash_ensmem_subdir_or_null}/metprd/PcpCombine_fcst" - FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_FN_METPROC_TEMPLATE} ) - else - OBS_INPUT_DIR="${OBS_DIR}" - case "${FIELDNAME_IN_MET_FILEDIR_NAMES}" in - "APCP01h") - OBS_INPUT_FN_TEMPLATE="${OBS_CCPA_APCP01h_FN_TEMPLATE}" - FCST_INPUT_DIR="${vx_fcst_input_basedir}" - FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_SUBDIR_TEMPLATE:+${FCST_SUBDIR_TEMPLATE}/}${FCST_FN_TEMPLATE} ) - ;; - "ASNOW") - OBS_INPUT_FN_TEMPLATE="${OBS_NOHRSC_ASNOW_FN_TEMPLATE}" - FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/${slash_ensmem_subdir_or_null}/metprd/PcpCombine_fcst" - FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_FN_METPROC_TEMPLATE} ) - ;; - "REFC") - OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_REFC_FN_TEMPLATE}" - FCST_INPUT_DIR="${vx_fcst_input_basedir}" - FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_SUBDIR_TEMPLATE:+${FCST_SUBDIR_TEMPLATE}/}${FCST_FN_TEMPLATE} ) - ;; - "RETOP") - OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_RETOP_FN_TEMPLATE}" - FCST_INPUT_DIR="${vx_fcst_input_basedir}" - FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_SUBDIR_TEMPLATE:+${FCST_SUBDIR_TEMPLATE}/}${FCST_FN_TEMPLATE} ) - ;; - esac - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_INPUT_FN_TEMPLATE} ) - fi + case "${FIELDNAME_IN_MET_FILEDIR_NAMES}" in + "APCP"*) + OBS_INPUT_DIR="${vx_output_basedir}/metprd/PcpCombine_obs" + OBS_INPUT_FN_TEMPLATE="${OBS_CCPA_APCP_FN_TEMPLATE_PCPCOMBINE_OUTPUT}" + FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/${slash_ensmem_subdir_or_null}/metprd/PcpCombine_fcst" + FCST_INPUT_FN_TEMPLATE="${FCST_FN_TEMPLATE_PCPCOMBINE_OUTPUT}" + ;; + "ASNOW"*) + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_NOHRSC_ASNOW_FN_TEMPLATE}" + FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/${slash_ensmem_subdir_or_null}/metprd/PcpCombine_fcst" + FCST_INPUT_FN_TEMPLATE="${FCST_FN_TEMPLATE_PCPCOMBINE_OUTPUT}" + ;; + "REFC") + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_REFC_FN_TEMPLATE}" + FCST_INPUT_DIR="${vx_fcst_input_basedir}" + FCST_INPUT_FN_TEMPLATE="${FCST_SUBDIR_TEMPLATE:+${FCST_SUBDIR_TEMPLATE}/}${FCST_FN_TEMPLATE}" + ;; + "RETOP") + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_RETOP_FN_TEMPLATE}" + FCST_INPUT_DIR="${vx_fcst_input_basedir}" + FCST_INPUT_FN_TEMPLATE="${FCST_SUBDIR_TEMPLATE:+${FCST_SUBDIR_TEMPLATE}/}${FCST_FN_TEMPLATE}" + ;; + esac elif [ "${grid_or_point}" = "point" ]; then OBS_INPUT_DIR="${vx_output_basedir}/metprd/Pb2nc_obs" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE} ) + OBS_INPUT_FN_TEMPLATE="${OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE_PB2NC_OUTPUT}" FCST_INPUT_DIR="${vx_fcst_input_basedir}" - FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_SUBDIR_TEMPLATE:+${FCST_SUBDIR_TEMPLATE}/}${FCST_FN_TEMPLATE} ) + FCST_INPUT_FN_TEMPLATE="${FCST_SUBDIR_TEMPLATE:+${FCST_SUBDIR_TEMPLATE}/}${FCST_FN_TEMPLATE}" fi +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_INPUT_FN_TEMPLATE} ) +FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_INPUT_FN_TEMPLATE} ) OUTPUT_BASE="${vx_output_basedir}${slash_cdate_or_null}/${slash_ensmem_subdir_or_null}" -OUTPUT_DIR="${OUTPUT_BASE}/metprd/${metplus_tool_name}" +OUTPUT_DIR="${OUTPUT_BASE}/metprd/${MetplusToolName}" STAGING_DIR="${OUTPUT_BASE}/stage/${FIELDNAME_IN_MET_FILEDIR_NAMES}" # #----------------------------------------------------------------------- @@ -320,13 +319,9 @@ fi # # First, set the base file names. # -if [ "${field_is_APCPgt01h}" = "TRUE" ]; then - metplus_config_tmpl_fn="APCPgt01h" -else - metplus_config_tmpl_fn="${FIELDNAME_IN_MET_FILEDIR_NAMES}" -fi -metplus_config_tmpl_fn="${metplus_tool_name}_${metplus_config_tmpl_fn}" -metplus_config_fn="${metplus_tool_name}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${ensmem_name}" +metplus_config_tmpl_fn="${VAR}" +metplus_config_tmpl_fn="${MetplusToolName}_${metplus_config_tmpl_fn}" +metplus_config_fn="${MetplusToolName}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${ensmem_name}" metplus_log_fn="${metplus_config_fn}" # # Add prefixes and suffixes (extensions) to the base file names. @@ -352,6 +347,13 @@ metplus_config_fp="${OUTPUT_DIR}/${metplus_config_fn}" # settings="\ # +# MET/METplus information. +# + 'metplus_tool_name': '${metplus_tool_name}' + 'MetplusToolName': '${MetplusToolName}' + 'METPLUS_TOOL_NAME': '${METPLUS_TOOL_NAME}' + 'metplus_verbosity_level': '${METPLUS_VERBOSITY_LEVEL}' +# # Date and forecast hour information. # 'cdate': '$CDATE' @@ -422,7 +424,7 @@ fi #----------------------------------------------------------------------- # print_info_msg "$VERBOSE" " -Calling METplus to run MET's ${met_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" +Calling METplus to run MET's ${metplus_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${metplus_config_fp} || \ @@ -439,7 +441,7 @@ METplus configuration file used is: # print_info_msg " ======================================================================== -METplus ${metplus_tool_name} tool completed successfully. +METplus ${MetplusToolName} tool completed successfully. Exiting script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" diff --git a/scripts/exregional_run_met_gridstat_or_pointstat_vx_ensmean.sh b/scripts/exregional_run_met_gridstat_or_pointstat_vx_ensmean.sh index b6c1d9ab07..0ebff19961 100755 --- a/scripts/exregional_run_met_gridstat_or_pointstat_vx_ensmean.sh +++ b/scripts/exregional_run_met_gridstat_or_pointstat_vx_ensmean.sh @@ -16,7 +16,7 @@ source_config_for_task "task_run_vx_ensgrid_mean|task_run_vx_enspoint_mean|task_ # #----------------------------------------------------------------------- # -. $USHdir/get_met_metplus_tool_name.sh +. $USHdir/get_metplus_tool_name.sh . $USHdir/set_vx_params.sh . $USHdir/set_vx_fhr_list.sh # @@ -44,14 +44,15 @@ scrfunc_dir=$( dirname "${scrfunc_fp}" ) #----------------------------------------------------------------------- # # Get the name of the MET/METplus tool in different formats that may be -# needed from the global variable MET_TOOL. +# needed from the global variable METPLUSTOOLNAME. # #----------------------------------------------------------------------- # -get_met_metplus_tool_name \ - generic_tool_name="${MET_TOOL}" \ - outvarname_met_tool_name="met_tool_name" \ - outvarname_metplus_tool_name="metplus_tool_name" +get_metplus_tool_name \ + METPLUSTOOLNAME="${METPLUSTOOLNAME}" \ + outvarname_metplus_tool_name="metplus_tool_name" \ + outvarname_MetplusToolName="MetplusToolName" \ + outvarname_METPLUS_TOOL_NAME="METPLUS_TOOL_NAME" # #----------------------------------------------------------------------- # @@ -64,7 +65,7 @@ print_info_msg " Entering script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" -This is the ex-script for the task that runs the METplus ${metplus_tool_name} +This is the ex-script for the task that runs the METplus ${MetplusToolName} tool to perform verification of the specified field (VAR) on the ensemble mean. ========================================================================" @@ -95,7 +96,6 @@ set_vx_params \ field="$VAR" \ accum_hh="${ACCUM_HH}" \ outvarname_grid_or_point="grid_or_point" \ - outvarname_field_is_APCPgt01h="field_is_APCPgt01h" \ outvarname_fieldname_in_obs_input="FIELDNAME_IN_OBS_INPUT" \ outvarname_fieldname_in_fcst_input="FIELDNAME_IN_FCST_INPUT" \ outvarname_fieldname_in_MET_output="FIELDNAME_IN_MET_OUTPUT" \ @@ -122,9 +122,12 @@ if [ "${grid_or_point}" = "grid" ]; then "APCP24h") FIELD_THRESHOLDS="gt0.0, ge6.350, ge12.700, ge25.400" ;; - "ASNOW") - FIELD_THRESHOLDS="gt0.0, ge2.54, ge5.08, ge10.16, ge20.32" - ;; + "ASNOW06h") + FIELD_THRESHOLDS="gt0.0, ge2.54, ge5.08, ge10.16, ge20.32" + ;; + "ASNOW24h") + FIELD_THRESHOLDS="gt0.0, ge2.54, ge5.08, ge10.16, ge20.32" + ;; "REFC") FIELD_THRESHOLDS="ge20, ge30, ge40, ge50" ;; @@ -161,46 +164,38 @@ fi if [ "${grid_or_point}" = "grid" ]; then - OBS_INPUT_FN_TEMPLATE="" - if [ "${field_is_APCPgt01h}" = "TRUE" ]; then - OBS_INPUT_DIR="${vx_output_basedir}/metprd/PcpCombine_obs" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCPgt01h_FN_TEMPLATE} ) - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - else - OBS_INPUT_DIR="${OBS_DIR}" - case "${FIELDNAME_IN_MET_FILEDIR_NAMES}" in - "APCP01h") - OBS_INPUT_FN_TEMPLATE="${OBS_CCPA_APCP01h_FN_TEMPLATE}" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - ;; - "ASNOW") - OBS_INPUT_FN_TEMPLATE="${OBS_NOHRSC_ASNOW_FN_TEMPLATE}" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${ACCUM_HH}h_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - ;; - "REFC") - OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_REFC_FN_TEMPLATE}" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - ;; - "RETOP") - OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_RETOP_FN_TEMPLATE}" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - ;; - esac - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_INPUT_FN_TEMPLATE} ) - fi + case "${FIELDNAME_IN_MET_FILEDIR_NAMES}" in + "APCP"*) + OBS_INPUT_DIR="${vx_output_basedir}/metprd/PcpCombine_obs" + OBS_INPUT_FN_TEMPLATE="${OBS_CCPA_APCP_FN_TEMPLATE_PCPCOMBINE_OUTPUT}" + ;; + "ASNOW"*) + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_NOHRSC_ASNOW_FN_TEMPLATE}" + ;; + "REFC") + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_REFC_FN_TEMPLATE}" + ;; + "RETOP") + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_RETOP_FN_TEMPLATE}" + ;; + esac FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/metprd/GenEnsProd" elif [ "${grid_or_point}" = "point" ]; then OBS_INPUT_DIR="${vx_output_basedir}/metprd/Pb2nc_obs" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE} ) + OBS_INPUT_FN_TEMPLATE="${OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE_PB2NC_OUTPUT}" FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/metprd/GenEnsProd" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_ADP${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) fi +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_INPUT_FN_TEMPLATE} ) +FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) OUTPUT_BASE="${vx_output_basedir}${slash_cdate_or_null}" -OUTPUT_DIR="${OUTPUT_BASE}/metprd/${metplus_tool_name}_ensmean" +OUTPUT_DIR="${OUTPUT_BASE}/metprd/${MetplusToolName}_ensmean" STAGING_DIR="${OUTPUT_BASE}/stage/${FIELDNAME_IN_MET_FILEDIR_NAMES}_ensmean" # #----------------------------------------------------------------------- @@ -282,13 +277,9 @@ fi # # First, set the base file names. # -if [ "${field_is_APCPgt01h}" = "TRUE" ]; then - metplus_config_tmpl_fn="APCPgt01h" -else - metplus_config_tmpl_fn="${FIELDNAME_IN_MET_FILEDIR_NAMES}" -fi -metplus_config_tmpl_fn="${metplus_tool_name}_ensmean_${metplus_config_tmpl_fn}" -metplus_config_fn="${metplus_tool_name}_ensmean_${FIELDNAME_IN_MET_FILEDIR_NAMES}" +metplus_config_tmpl_fn="${VAR}" +metplus_config_tmpl_fn="${MetplusToolName}_ensmean_${metplus_config_tmpl_fn}" +metplus_config_fn="${MetplusToolName}_ensmean_${FIELDNAME_IN_MET_FILEDIR_NAMES}" metplus_log_fn="${metplus_config_fn}" # # Add prefixes and suffixes (extensions) to the base file names. @@ -314,6 +305,13 @@ metplus_config_fp="${OUTPUT_DIR}/${metplus_config_fn}" # settings="\ # +# MET/METplus information. +# + 'metplus_tool_name': '${metplus_tool_name}' + 'MetplusToolName': '${MetplusToolName}' + 'METPLUS_TOOL_NAME': '${METPLUS_TOOL_NAME}' + 'metplus_verbosity_level': '${METPLUS_VERBOSITY_LEVEL}' +# # Date and forecast hour information. # 'cdate': '$CDATE' @@ -384,7 +382,7 @@ fi #----------------------------------------------------------------------- # print_info_msg "$VERBOSE" " -Calling METplus to run MET's ${met_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" +Calling METplus to run MET's ${metplus_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${metplus_config_fp} || \ @@ -401,7 +399,7 @@ METplus configuration file used is: # print_info_msg " ======================================================================== -METplus ${metplus_tool_name} tool completed successfully. +METplus ${MetplusToolName} tool completed successfully. Exiting script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" diff --git a/scripts/exregional_run_met_gridstat_or_pointstat_vx_ensprob.sh b/scripts/exregional_run_met_gridstat_or_pointstat_vx_ensprob.sh index ea9a7fe475..06e7e22241 100755 --- a/scripts/exregional_run_met_gridstat_or_pointstat_vx_ensprob.sh +++ b/scripts/exregional_run_met_gridstat_or_pointstat_vx_ensprob.sh @@ -16,7 +16,7 @@ source_config_for_task "task_run_vx_ensgrid_prob|task_run_vx_enspoint_prob|task_ # #----------------------------------------------------------------------- # -. $USHdir/get_met_metplus_tool_name.sh +. $USHdir/get_metplus_tool_name.sh . $USHdir/set_vx_params.sh . $USHdir/set_vx_fhr_list.sh # @@ -44,14 +44,15 @@ scrfunc_dir=$( dirname "${scrfunc_fp}" ) #----------------------------------------------------------------------- # # Get the name of the MET/METplus tool in different formats that may be -# needed from the global variable MET_TOOL. +# needed from the global variable METPLUSTOOLNAME. # #----------------------------------------------------------------------- # -get_met_metplus_tool_name \ - generic_tool_name="${MET_TOOL}" \ - outvarname_met_tool_name="met_tool_name" \ - outvarname_metplus_tool_name="metplus_tool_name" +get_metplus_tool_name \ + METPLUSTOOLNAME="${METPLUSTOOLNAME}" \ + outvarname_metplus_tool_name="metplus_tool_name" \ + outvarname_MetplusToolName="MetplusToolName" \ + outvarname_METPLUS_TOOL_NAME="METPLUS_TOOL_NAME" # #----------------------------------------------------------------------- # @@ -64,7 +65,7 @@ print_info_msg " Entering script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" -This is the ex-script for the task that runs the METplus ${metplus_tool_name} +This is the ex-script for the task that runs the METplus ${MetplusToolName} tool to perform verification of the specified field (VAR) on the ensemble frequencies/probabilities. ========================================================================" @@ -95,7 +96,6 @@ set_vx_params \ field="$VAR" \ accum_hh="${ACCUM_HH}" \ outvarname_grid_or_point="grid_or_point" \ - outvarname_field_is_APCPgt01h="field_is_APCPgt01h" \ outvarname_fieldname_in_obs_input="FIELDNAME_IN_OBS_INPUT" \ outvarname_fieldname_in_fcst_input="FIELDNAME_IN_FCST_INPUT" \ outvarname_fieldname_in_MET_output="FIELDNAME_IN_MET_OUTPUT" \ @@ -117,46 +117,37 @@ fi if [ "${grid_or_point}" = "grid" ]; then - OBS_INPUT_FN_TEMPLATE="" - if [ "${field_is_APCPgt01h}" = "TRUE" ]; then - OBS_INPUT_DIR="${vx_output_basedir}/metprd/PcpCombine_obs" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCPgt01h_FN_TEMPLATE} ) - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - else - OBS_INPUT_DIR="${OBS_DIR}" - case "${FIELDNAME_IN_MET_FILEDIR_NAMES}" in - "APCP01h") - OBS_INPUT_FN_TEMPLATE="${OBS_CCPA_APCP01h_FN_TEMPLATE}" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - ;; - "ASNOW") - OBS_INPUT_FN_TEMPLATE="${OBS_NOHRSC_ASNOW_FN_TEMPLATE}" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${ACCUM_HH}h_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - ;; - "REFC") - OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_REFC_FN_TEMPLATE}" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - ;; - "RETOP") - OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_RETOP_FN_TEMPLATE}" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) - ;; - esac - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_INPUT_FN_TEMPLATE} ) - fi - FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/metprd/GenEnsProd" + case "${FIELDNAME_IN_MET_FILEDIR_NAMES}" in + "APCP"*) + OBS_INPUT_DIR="${vx_output_basedir}/metprd/PcpCombine_obs" + OBS_INPUT_FN_TEMPLATE="${OBS_CCPA_APCP_FN_TEMPLATE_PCPCOMBINE_OUTPUT}" + ;; + "ASNOW"*) + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_NOHRSC_ASNOW_FN_TEMPLATE}" + ;; + "REFC") + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_REFC_FN_TEMPLATE}" + ;; + "RETOP") + OBS_INPUT_DIR="${OBS_DIR}" + OBS_INPUT_FN_TEMPLATE="${OBS_MRMS_RETOP_FN_TEMPLATE}" + ;; + esac elif [ "${grid_or_point}" = "point" ]; then OBS_INPUT_DIR="${vx_output_basedir}/metprd/Pb2nc_obs" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE} ) - FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/metprd/GenEnsProd" - FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_ADP${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) + OBS_INPUT_FN_TEMPLATE="${OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE_PB2NC_OUTPUT}" fi +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_INPUT_FN_TEMPLATE} ) +FCST_INPUT_DIR="${vx_output_basedir}${slash_cdate_or_null}/metprd/GenEnsProd" +FCST_INPUT_FN_TEMPLATE=$( eval echo 'gen_ens_prod_${VX_FCST_MODEL_NAME}_${FIELDNAME_IN_MET_FILEDIR_NAMES}_${OBTYPE}_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc' ) OUTPUT_BASE="${vx_output_basedir}${slash_cdate_or_null}" -OUTPUT_DIR="${OUTPUT_BASE}/metprd/${metplus_tool_name}_ensprob" +OUTPUT_DIR="${OUTPUT_BASE}/metprd/${MetplusToolName}_ensprob" STAGING_DIR="${OUTPUT_BASE}/stage/${FIELDNAME_IN_MET_FILEDIR_NAMES}_ensprob" # #----------------------------------------------------------------------- @@ -238,16 +229,9 @@ fi # # First, set the base file names. # -if [ "${field_is_APCPgt01h}" = "TRUE" ]; then -# Haven't combined the METplus conf jinja template files for APCP > 01h -# for probabilistic ensemble vx tasks yet... -# metplus_config_tmpl_fn="APCPgt01h" - metplus_config_tmpl_fn="${FIELDNAME_IN_MET_FILEDIR_NAMES}" -else - metplus_config_tmpl_fn="${FIELDNAME_IN_MET_FILEDIR_NAMES}" -fi -metplus_config_tmpl_fn="${metplus_tool_name}_ensprob_${metplus_config_tmpl_fn}" -metplus_config_fn="${metplus_tool_name}_ensprob_${FIELDNAME_IN_MET_FILEDIR_NAMES}" +metplus_config_tmpl_fn="${VAR}" +metplus_config_tmpl_fn="${MetplusToolName}_ensprob_${metplus_config_tmpl_fn}" +metplus_config_fn="${MetplusToolName}_ensprob_${FIELDNAME_IN_MET_FILEDIR_NAMES}" metplus_log_fn="${metplus_config_fn}" # # Add prefixes and suffixes (extensions) to the base file names. @@ -273,6 +257,13 @@ metplus_config_fp="${OUTPUT_DIR}/${metplus_config_fn}" # settings="\ # +# MET/METplus information. +# + 'metplus_tool_name': '${metplus_tool_name}' + 'MetplusToolName': '${MetplusToolName}' + 'METPLUS_TOOL_NAME': '${METPLUS_TOOL_NAME}' + 'metplus_verbosity_level': '${METPLUS_VERBOSITY_LEVEL}' +# # Date and forecast hour information. # 'cdate': '$CDATE' @@ -344,7 +335,7 @@ fi #----------------------------------------------------------------------- # print_info_msg "$VERBOSE" " -Calling METplus to run MET's ${met_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" +Calling METplus to run MET's ${metplus_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${metplus_config_fp} || \ @@ -361,7 +352,7 @@ METplus configuration file used is: # print_info_msg " ======================================================================== -METplus ${metplus_tool_name} tool completed successfully. +METplus ${MetplusToolName} tool completed successfully. Exiting script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" diff --git a/scripts/exregional_run_met_pb2nc_obs.sh b/scripts/exregional_run_met_pb2nc_obs.sh index c5305643b5..1122df77ae 100755 --- a/scripts/exregional_run_met_pb2nc_obs.sh +++ b/scripts/exregional_run_met_pb2nc_obs.sh @@ -16,7 +16,7 @@ source_config_for_task "task_run_met_pb2nc_obs" ${GLOBAL_VAR_DEFNS_FP} # #----------------------------------------------------------------------- # -. $USHdir/get_met_metplus_tool_name.sh +. $USHdir/get_metplus_tool_name.sh . $USHdir/set_vx_params.sh . $USHdir/set_vx_fhr_list.sh # @@ -44,14 +44,15 @@ scrfunc_dir=$( dirname "${scrfunc_fp}" ) #----------------------------------------------------------------------- # # Get the name of the MET/METplus tool in different formats that may be -# needed from the global variable MET_TOOL. +# needed from the global variable METPLUSTOOLNAME. # #----------------------------------------------------------------------- # -get_met_metplus_tool_name \ - generic_tool_name="${MET_TOOL}" \ - outvarname_met_tool_name="met_tool_name" \ - outvarname_metplus_tool_name="metplus_tool_name" +get_metplus_tool_name \ + METPLUSTOOLNAME="${METPLUSTOOLNAME}" \ + outvarname_metplus_tool_name="metplus_tool_name" \ + outvarname_MetplusToolName="MetplusToolName" \ + outvarname_METPLUS_TOOL_NAME="METPLUS_TOOL_NAME" # #----------------------------------------------------------------------- # @@ -64,7 +65,7 @@ print_info_msg " Entering script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" -This is the ex-script for the task that runs the METplus tool ${metplus_tool_name} +This is the ex-script for the task that runs the METplus tool ${MetplusToolName} to convert NDAS prep buffer observation files to NetCDF format. ========================================================================" # @@ -94,7 +95,6 @@ set_vx_params \ field="$VAR" \ accum_hh="${ACCUM_HH}" \ outvarname_grid_or_point="grid_or_point" \ - outvarname_field_is_APCPgt01h="field_is_APCPgt01h" \ outvarname_fieldname_in_obs_input="FIELDNAME_IN_OBS_INPUT" \ outvarname_fieldname_in_fcst_input="FIELDNAME_IN_FCST_INPUT" \ outvarname_fieldname_in_MET_output="FIELDNAME_IN_MET_OUTPUT" \ @@ -110,12 +110,12 @@ set_vx_params \ vx_output_basedir=$( eval echo "${VX_OUTPUT_BASEDIR}" ) OBS_INPUT_DIR="${OBS_DIR}" -OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_TEMPLATE} ) +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE} ) OUTPUT_BASE="${vx_output_basedir}" -OUTPUT_DIR="${OUTPUT_BASE}/metprd/${metplus_tool_name}_obs" -OUTPUT_FN_TEMPLATE="${OBS_INPUT_FN_TEMPLATE}.nc" -STAGING_DIR="${OUTPUT_BASE}/stage/${metplus_tool_name}_obs" +OUTPUT_DIR="${OUTPUT_BASE}/metprd/${MetplusToolName}_obs" +OUTPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE_PB2NC_OUTPUT} ) +STAGING_DIR="${OUTPUT_BASE}/stage/${MetplusToolName}_obs" # #----------------------------------------------------------------------- # @@ -187,7 +187,7 @@ fi # # First, set the base file names. # -metplus_config_tmpl_fn="${metplus_tool_name}_obs" +metplus_config_tmpl_fn="${MetplusToolName}_obs" # # Note that we append the cycle date to the name of the configuration # file because we are considering only observations when using Pb2NC, so @@ -231,6 +231,13 @@ metplus_config_fp="${OUTPUT_DIR}/${metplus_config_fn}" # settings="\ # +# MET/METplus information. +# + 'metplus_tool_name': '${metplus_tool_name}' + 'MetplusToolName': '${MetplusToolName}' + 'METPLUS_TOOL_NAME': '${METPLUS_TOOL_NAME}' + 'metplus_verbosity_level': '${METPLUS_VERBOSITY_LEVEL}' +# # Date and forecast hour information. # 'cdate': '$CDATE' @@ -301,7 +308,7 @@ fi #----------------------------------------------------------------------- # print_info_msg "$VERBOSE" " -Calling METplus to run MET's ${met_tool_name} tool on observations of type: ${OBTYPE}" +Calling METplus to run MET's ${metplus_tool_name} tool on observations of type: ${OBTYPE}" ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${metplus_config_fp} || \ @@ -318,7 +325,7 @@ METplus configuration file used is: # print_info_msg " ======================================================================== -METplus ${metplus_tool_name} tool completed successfully. +METplus ${MetplusToolName} tool completed successfully. Exiting script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" diff --git a/scripts/exregional_run_met_pcpcombine.sh b/scripts/exregional_run_met_pcpcombine.sh index 61359f3d2d..6db1ff16ba 100755 --- a/scripts/exregional_run_met_pcpcombine.sh +++ b/scripts/exregional_run_met_pcpcombine.sh @@ -16,7 +16,7 @@ source_config_for_task "task_run_met_pcpcombine|task_run_post" ${GLOBAL_VAR_DEFN # #----------------------------------------------------------------------- # -. $USHdir/get_met_metplus_tool_name.sh +. $USHdir/get_metplus_tool_name.sh . $USHdir/set_vx_params.sh . $USHdir/set_vx_fhr_list.sh # @@ -44,14 +44,15 @@ scrfunc_dir=$( dirname "${scrfunc_fp}" ) #----------------------------------------------------------------------- # # Get the name of the MET/METplus tool in different formats that may be -# needed from the global variable MET_TOOL. +# needed from the global variable METPLUSTOOLNAME. # #----------------------------------------------------------------------- # -get_met_metplus_tool_name \ - generic_tool_name="${MET_TOOL}" \ - outvarname_met_tool_name="met_tool_name" \ - outvarname_metplus_tool_name="metplus_tool_name" +get_metplus_tool_name \ + METPLUSTOOLNAME="${METPLUSTOOLNAME}" \ + outvarname_metplus_tool_name="metplus_tool_name" \ + outvarname_MetplusToolName="MetplusToolName" \ + outvarname_METPLUS_TOOL_NAME="METPLUS_TOOL_NAME" # #----------------------------------------------------------------------- # @@ -64,7 +65,7 @@ print_info_msg " Entering script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" -This is the ex-script for the task that runs the METplus ${metplus_tool_name} +This is the ex-script for the task that runs the METplus ${MetplusToolName} tool to combine hourly accumulated precipitation (APCP) data to generate files containing multi-hour accumulated precipitation (e.g. 3-hour, 6- hour, 24-hour). The input files can come from either observations or @@ -97,7 +98,6 @@ set_vx_params \ field="$VAR" \ accum_hh="${ACCUM_HH}" \ outvarname_grid_or_point="grid_or_point" \ - outvarname_field_is_APCPgt01h="field_is_APCPgt01h" \ outvarname_fieldname_in_obs_input="FIELDNAME_IN_OBS_INPUT" \ outvarname_fieldname_in_fcst_input="FIELDNAME_IN_FCST_INPUT" \ outvarname_fieldname_in_MET_output="FIELDNAME_IN_MET_OUTPUT" \ @@ -174,11 +174,11 @@ FCST_INPUT_FN_TEMPLATE="" if [ "${obs_or_fcst}" = "obs" ]; then OBS_INPUT_DIR="${OBS_DIR}" - OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCP01h_FN_TEMPLATE} ) + OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCP_FN_TEMPLATE} ) OUTPUT_BASE="${vx_output_basedir}" - OUTPUT_DIR="${OUTPUT_BASE}/metprd/${metplus_tool_name}_obs" - OUTPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCPgt01h_FN_TEMPLATE} ) + OUTPUT_DIR="${OUTPUT_BASE}/metprd/${MetplusToolName}_obs" + OUTPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCP_FN_TEMPLATE_PCPCOMBINE_OUTPUT} ) STAGING_DIR="${OUTPUT_BASE}/stage/${FIELDNAME_IN_MET_FILEDIR_NAMES}" elif [ "${obs_or_fcst}" = "fcst" ]; then @@ -187,8 +187,8 @@ elif [ "${obs_or_fcst}" = "fcst" ]; then FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_SUBDIR_TEMPLATE:+${FCST_SUBDIR_TEMPLATE}/}${FCST_FN_TEMPLATE} ) OUTPUT_BASE="${vx_output_basedir}${slash_cdate_or_null}/${slash_ensmem_subdir_or_null}" - OUTPUT_DIR="${OUTPUT_BASE}/metprd/${metplus_tool_name}_fcst" - OUTPUT_FN_TEMPLATE=$( eval echo ${FCST_FN_METPROC_TEMPLATE} ) + OUTPUT_DIR="${OUTPUT_BASE}/metprd/${MetplusToolName}_fcst" + OUTPUT_FN_TEMPLATE=$( eval echo ${FCST_FN_TEMPLATE_PCPCOMBINE_OUTPUT} ) STAGING_DIR="${OUTPUT_BASE}/stage/${FIELDNAME_IN_MET_FILEDIR_NAMES}" fi @@ -273,7 +273,7 @@ fi # # First, set the base file names. # -metplus_config_tmpl_fn="${metplus_tool_name}_${obs_or_fcst}" +metplus_config_tmpl_fn="${MetplusToolName}_${obs_or_fcst}" metplus_config_fn="${metplus_config_tmpl_fn}_${FIELDNAME_IN_MET_FILEDIR_NAMES}${ENSMEM_INDX:+_${ensmem_name}}" metplus_log_fn="${metplus_config_fn}_$CDATE" # @@ -290,7 +290,7 @@ fi # Add prefixes and suffixes (extensions) to the base file names. # metplus_config_tmpl_fn="${metplus_config_tmpl_fn}_${field}.conf" -metplus_config_fn="${metplus_config_fn}_${field}.conf" +metplus_config_fn="${metplus_config_fn}.conf" metplus_log_fn="metplus.log.${metplus_log_fn}" # #----------------------------------------------------------------------- @@ -310,6 +310,13 @@ metplus_config_fp="${OUTPUT_DIR}/${metplus_config_fn}" # settings="\ # +# MET/METplus information. +# + 'metplus_tool_name': '${metplus_tool_name}' + 'MetplusToolName': '${MetplusToolName}' + 'METPLUS_TOOL_NAME': '${METPLUS_TOOL_NAME}' + 'metplus_verbosity_level': '${METPLUS_VERBOSITY_LEVEL}' +# # Date and forecast hour information. # 'cdate': '$CDATE' @@ -378,7 +385,7 @@ fi #----------------------------------------------------------------------- # print_info_msg "$VERBOSE" " -Calling METplus to run MET's ${met_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" +Calling METplus to run MET's ${metplus_tool_name} tool for field(s): ${FIELDNAME_IN_MET_FILEDIR_NAMES}" ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${metplus_config_fp} || \ @@ -395,7 +402,7 @@ METplus configuration file used is: # print_info_msg " ======================================================================== -METplus ${metplus_tool_name} tool completed successfully. +METplus ${MetplusToolName} tool completed successfully. Exiting script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" diff --git a/tests/WE2E/test_configs/custom_grids/config.custom_ESGgrid_Great_Lakes_snow_8km.yaml b/tests/WE2E/test_configs/custom_grids/config.custom_ESGgrid_Great_Lakes_snow_8km.yaml index 51b7d126b6..981c736239 100644 --- a/tests/WE2E/test_configs/custom_grids/config.custom_ESGgrid_Great_Lakes_snow_8km.yaml +++ b/tests/WE2E/test_configs/custom_grids/config.custom_ESGgrid_Great_Lakes_snow_8km.yaml @@ -56,7 +56,7 @@ task_run_post: POST_OUTPUT_DOMAIN_NAME: custom_ESGgrid_Michigan_Ontario verification: VX_FCST_MODEL_NAME: Michigan_Ontario_snow_8km - VX_FIELDS: [ "APCP", "REFC", "RETOP", "SFC", "UPA", "ASNOW" ] + VX_FIELDS: [ "APCP", "REFC", "RETOP", "ADPSFC", "ADPUPA", "ASNOW" ] platform: CCPA_OBS_DIR: '{{ workflow.EXPTDIR }}/CCPA_obs' MRMS_OBS_DIR: '{{ workflow.EXPTDIR }}/MRMS_obs' diff --git a/tests/WE2E/test_configs/verification/config.MET_ensemble_verification_winter_wx.yaml b/tests/WE2E/test_configs/verification/config.MET_ensemble_verification_winter_wx.yaml index 50a91f9f2d..dd3de4e472 100644 --- a/tests/WE2E/test_configs/verification/config.MET_ensemble_verification_winter_wx.yaml +++ b/tests/WE2E/test_configs/verification/config.MET_ensemble_verification_winter_wx.yaml @@ -31,4 +31,4 @@ global: DO_ENSEMBLE: true NUM_ENS_MEMBERS: 10 verification: - VX_FIELDS: [ "APCP", "REFC", "RETOP", "SFC", "UPA", "ASNOW" ] + VX_FIELDS: [ "APCP", "ASNOW", "REFC", "RETOP", "ADPSFC", "ADPUPA" ] diff --git a/ush/config_defaults.yaml b/ush/config_defaults.yaml index 0ad32bb9e6..9b044e3524 100644 --- a/ush/config_defaults.yaml +++ b/ush/config_defaults.yaml @@ -2385,20 +2385,21 @@ global: # verification (vx) parameters #----------------------------- verification: - #----------------------------------------------------------------------- # - # Templates for CCPA, MRMS, and NDAS observation files. + # METPLUS_VERBOSITY_LEVEL: + # Logging verbosity level used by METplus verification tools. 0 to 5, + # with 0 quiet and 5 loud. # - # OBS_CCPA_APCP01h_FN_TEMPLATE: - # File name template used to obtain the input observation files (in - # the PcpCombine_obs tasks) that contain the 1-hour accumulated - # precipitation (APCP) from which APCP for longer accumulations will - # be generated. + METPLUS_VERBOSITY_LEVEL: 2 + # + # Templates for CCPA, MRMS, and NDAS observation files. # - # OBS_CCPA_APCPgt01h_FN_TEMPLATE: - # File name template used to generate the observation files (in the - # PcpCombine_obs tasks) containing accumulated precipitation for - # accumulation periods longer than 1-hour. + # OBS_CCPA_APCP_FN_TEMPLATE: + # File name template for CCPA accumulated precipitation (APCP) observations. + # This template is used by the workflow tasks that call the METplus PcpCombine + # tool on CCPA obs to find the input observation files containing 1-hour + # APCP and then generate NetCDF files containing either 1-hour or greater + # than 1-hour APCP. # # OBS_NOHRSC_ASNOW_FN_TEMPLATE: # File name template for NOHRSC snow observations. @@ -2408,22 +2409,35 @@ verification: # # OBS_MRMS_RETOP_FN_TEMPLATE: # File name template for MRMS echo top observations. - # - # OBS_NDAS_SFCorUPA_FN_TEMPLATE: + # + # OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE: # File name template for NDAS surface and upper air observations. - # - # OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE: - # File name template for NDAS surface and upper air observations - # after processing by MET's pb2nc tool (to change format to NetCDF). + # This template is used by the workflow tasks that call the METplus Pb2nc + # tool on NDAS obs to find the input observation files containing ADP + # surface (ADPSFC) or ADP upper air (ADPUPA) fields and then generate + # NetCDF versions of these files. # - - OBS_CCPA_APCP01h_FN_TEMPLATE: '{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2' - OBS_CCPA_APCPgt01h_FN_TEMPLATE: '${OBS_CCPA_APCP01h_FN_TEMPLATE}_a${ACCUM_HH}h.nc' + OBS_CCPA_APCP_FN_TEMPLATE: '{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2' OBS_NOHRSC_ASNOW_FN_TEMPLATE: '{valid?fmt=%Y%m%d}/sfav2_CONUS_${ACCUM_HH}h_{valid?fmt=%Y%m%d%H}_grid184.grb2' OBS_MRMS_REFC_FN_TEMPLATE: '{valid?fmt=%Y%m%d}/MergedReflectivityQCComposite_00.50_{valid?fmt=%Y%m%d}-{valid?fmt=%H%M%S}.grib2' OBS_MRMS_RETOP_FN_TEMPLATE: '{valid?fmt=%Y%m%d}/EchoTop_18_00.50_{valid?fmt=%Y%m%d}-{valid?fmt=%H%M%S}.grib2' - OBS_NDAS_SFCorUPA_FN_TEMPLATE: 'prepbufr.ndas.{valid?fmt=%Y%m%d%H}' - OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE: '${OBS_NDAS_SFCorUPA_FN_TEMPLATE}.nc' + OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE: 'prepbufr.ndas.{valid?fmt=%Y%m%d%H}' + # + # OBS_CCPA_APCP_FN_TEMPLATE_PCPCOMBINE_OUTPUT: + # Template used to specify the names of the output NetCDF observation + # files generated by the worfklow verification tasks that call the METplus + # PcpCombine tool on CCPA observations. (These files will contain obs + # APCP, both for 1 hour and for > 1 hour accumulation periods, in NetCDF + # format.) + # + # OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE_PB2NC_OUTPUT: + # Template used to specify the names of the output NetCDF observation + # files generated by the worfklow verification tasks that call the + # METplus Pb2nc tool on NDAS observations. (These files will contain + # obs ADPSFC or ADPUPA fields in NetCDF format.) + # + OBS_CCPA_APCP_FN_TEMPLATE_PCPCOMBINE_OUTPUT: '${OBS_CCPA_APCP_FN_TEMPLATE}_a${ACCUM_HH}h.nc' + OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE_PB2NC_OUTPUT: '${OBS_NDAS_ADPSFCorADPUPA_FN_TEMPLATE}.nc' # # VX_FCST_MODEL_NAME: # String that specifies a descriptive name for the model being verified. @@ -2432,11 +2446,11 @@ verification: # # VX_FIELDS: # The fields or groups of fields on which to run verification. Because - # ASNOW is often not of interest in cases outside of winter, and - # because observation files are not located for retrospective - # cases on NOAA HPSS before March 2020, ASNOW is not included by default. - # "ASNOW" may be added to this list in order to include - # the related verification tasks in the workflow. + # accumulated snow (ASNOW) is often not of interest in non-winter cases + # and because observation files for ASNOW are not available on NOAA + # HPSS for retrospective cases before March 2020, by default ASNOW is + # not included VX_FIELDS, but it may be added to this list in order to + # include the verification tasks for ASNOW in the workflow. # # VX_APCP_ACCUMS_HRS: # The 2-digit accumulation periods (in units of hours) to consider for @@ -2451,7 +2465,7 @@ verification: # VX_ASNOW_ACCUMS_HRS will be ignored. # VX_FCST_MODEL_NAME: '{{ nco.NET_default }}.{{ task_run_post.POST_OUTPUT_DOMAIN_NAME }}' - VX_FIELDS: [ "APCP", "REFC", "RETOP", "SFC", "UPA" ] + VX_FIELDS: [ "APCP", "REFC", "RETOP", "ADPSFC", "ADPUPA" ] VX_APCP_ACCUMS_HRS: [ 1, 3, 6, 24 ] VX_ASNOW_ACCUMS_HRS: [ 6, 24 ] # @@ -2475,20 +2489,24 @@ verification: # # File name and path templates used in the verification tasks. # - # FCST_SUBDIR_TEMPLATE: A template for the subdirectory containing - # input forecast files for vx tasks. + # FCST_SUBDIR_TEMPLATE: + # Template for the subdirectory containing forecast files that are + # inputs to the verification tasks. # - # FCST_FN_TEMPLATE: A template for the forecast file names used as - # input to verification tasks. + # FCST_FN_TEMPLATE: + # Template for the names of the forecast files that are inputs to the + # verification tasks. # - # FCST_FN_METPROC_TEMPLATE: A template for how to name the forecast - # files for accumulated precipitation (APCP) with greater than 1-hour - # accumulation (i.e., 3-, 6-, and 24-hour accumulations) after - # processing by PcpCombine. + # FCST_FN_TEMPLATE_PCPCOMBINE_OUTPUT: + # Template used to specify the names of the output NetCDF forecast files + # generated by the worfklow verification tasks that call the METplus + # PcpCombine tool on forecasts. (These files will contain forecast APCP, + # both for 1 hour and for > 1 hour accumulation periods, in NetCDF + # format.) # FCST_SUBDIR_TEMPLATE: '{% if user.RUN_ENVIR == "nco" %}${NET_default}.{init?fmt=%Y%m%d?shift=-${time_lag}}/{init?fmt=%H?shift=-${time_lag}}{% else %}{init?fmt=%Y%m%d%H?shift=-${time_lag}}{% if global.DO_ENSEMBLE %}/${ensmem_name}{% endif %}/postprd{% endif %}' FCST_FN_TEMPLATE: '${NET_default}.t{init?fmt=%H?shift=-${time_lag}}z{% if user.RUN_ENVIR == "nco" and global.DO_ENSEMBLE %}.${ensmem_name}{% endif %}.prslev.f{lead?fmt=%HHH?shift=${time_lag}}.${POST_OUTPUT_DOMAIN_NAME}.grib2' - FCST_FN_METPROC_TEMPLATE: '${NET_default}.t{init?fmt=%H}z{% if user.RUN_ENVIR == "nco" and global.DO_ENSEMBLE %}.${ensmem_name}{% endif %}.prslev.f{lead?fmt=%HHH}.${POST_OUTPUT_DOMAIN_NAME}_${VAR}_a${ACCUM_HH}h.nc' + FCST_FN_TEMPLATE_PCPCOMBINE_OUTPUT: '${NET_default}.t{init?fmt=%H}z{% if user.RUN_ENVIR == "nco" and global.DO_ENSEMBLE %}.${ensmem_name}{% endif %}.prslev.f{lead?fmt=%HHH}.${POST_OUTPUT_DOMAIN_NAME}_${VAR}_a${ACCUM_HH}h.nc' # # For verification tasks that need observational data, this specifies # the maximum number of observation files that may be missing. If more diff --git a/ush/get_met_metplus_tool_name.sh b/ush/get_metplus_tool_name.sh similarity index 56% rename from ush/get_met_metplus_tool_name.sh rename to ush/get_metplus_tool_name.sh index 3802ded893..9ef37f5f13 100644 --- a/ush/get_met_metplus_tool_name.sh +++ b/ush/get_metplus_tool_name.sh @@ -1,17 +1,21 @@ # #----------------------------------------------------------------------- # -# This file defines a function that uses the given generic name of a MET/ -# METplus tool (generic_tool_name; this is a name that does not contain -# any separators like underscores and that may be in upper or lower case) -# to set its name in MET (met_tool_name) and in METplus (metplus_tool_name). -# Note that the tool name in MET is in "snake case" (i.e. uses underscores -# as separators with all lower case) while that in METplus is in "pascal -# case" (i.e. no separators and with first letter of each word capitalized). +# This file defines a function that takes as input the name of a MET/METplus +# tool spelled in upper flat case, i.e. all-caps and without separators +# (e.g. METPLUSTOOLNAME) and returns that name converted to the following +# cases: +# +# 1) Snake case, i.e. in all lower-case with underscores as word separators, +# e.g. metplus_tool_name. +# 2) Pascal case, i.e. without separators and with the first letter of +# each word capitalized, e.g. MetplusToolName. +# 3) Screaming snake case, i.e. in all upper-case with underscores as +# word separators, e.g. METPLUS_TOOL_NAME. # #----------------------------------------------------------------------- # -function get_met_metplus_tool_name() { +function get_metplus_tool_name() { # #----------------------------------------------------------------------- # @@ -31,9 +35,10 @@ function get_met_metplus_tool_name() { #----------------------------------------------------------------------- # local valid_args=( \ - "generic_tool_name" \ - "outvarname_met_tool_name" \ + "METPLUSTOOLNAME" \ "outvarname_metplus_tool_name" \ + "outvarname_MetplusToolName" \ + "outvarname_METPLUS_TOOL_NAME" \ ) process_args valid_args "$@" # @@ -53,8 +58,9 @@ function get_met_metplus_tool_name() { # #----------------------------------------------------------------------- # - local _generic_tool_name_name_ \ - _metplus_tool_name_ + local _metplus_tool_name_ \ + _MetplusToolName_ \ + _METPLUS_TOOL_NAME_ # #----------------------------------------------------------------------- # @@ -63,45 +69,45 @@ function get_met_metplus_tool_name() { # #----------------------------------------------------------------------- # - generic_tool_name=${generic_tool_name,,} - valid_vals_generic_tool_name=( \ + valid_vals_METPLUSTOOLNAME=( \ "PB2NC" "PCPCOMBINE" "GRIDSTAT" "POINTSTAT" "GENENSPROD" "ENSEMBLESTAT" \ - "pb2nc" "pcpcombine" "gridstat" "pointstat" "genensprod" "ensemblestat" \ ) - check_var_valid_value "generic_tool_name" "valid_vals_generic_tool_name" + check_var_valid_value "METPLUSTOOLNAME" "valid_vals_METPLUSTOOLNAME" - case "${generic_tool_name}" in - "pb2nc") - _met_tool_name_="pb2nc" - _metplus_tool_name_="Pb2nc" + case "${METPLUSTOOLNAME}" in + "PB2NC") + _metplus_tool_name_="pb2nc" + _MetplusToolName_="Pb2nc" ;; - "pcpcombine") - _met_tool_name_="pcp_combine" - _metplus_tool_name_="PcpCombine" + "PCPCOMBINE") + _metplus_tool_name_="pcp_combine" + _MetplusToolName_="PcpCombine" ;; - "gridstat") - _met_tool_name_="grid_stat" - _metplus_tool_name_="GridStat" + "GRIDSTAT") + _metplus_tool_name_="grid_stat" + _MetplusToolName_="GridStat" ;; - "pointstat") - _met_tool_name_="point_stat" - _metplus_tool_name_="PointStat" + "POINTSTAT") + _metplus_tool_name_="point_stat" + _MetplusToolName_="PointStat" ;; - "genensprod") - _met_tool_name_="gen_ens_prod" - _metplus_tool_name_="GenEnsProd" + "GENENSPROD") + _metplus_tool_name_="gen_ens_prod" + _MetplusToolName_="GenEnsProd" ;; - "ensemblestat") - _met_tool_name_="ensemble_stat" - _metplus_tool_name_="EnsembleStat" + "ENSEMBLESTAT") + _metplus_tool_name_="ensemble_stat" + _MetplusToolName_="EnsembleStat" ;; *) print_err_msg_exit "\ -Generic name specified for MET/METplus tool (generic_tool_name) is +Generic name specified for MET/METplus tool (METPLUSTOOLNAME) is unupported: - generic_tool_name = \"${generic_tool_name}\"" + METPLUSTOOLNAME = \"${METPLUSTOOLNAME}\"" ;; esac + + _METPLUS_TOOL_NAME_=$(echo_uppercase ${_metplus_tool_name_}) # #----------------------------------------------------------------------- # @@ -109,13 +115,17 @@ unupported: # #----------------------------------------------------------------------- # - if [ ! -z "${outvarname_met_tool_name}" ]; then - printf -v ${outvarname_met_tool_name} "%s" "${_met_tool_name_}" - fi - if [ ! -z "${outvarname_metplus_tool_name}" ]; then printf -v ${outvarname_metplus_tool_name} "%s" "${_metplus_tool_name_}" fi + + if [ ! -z "${outvarname_MetplusToolName}" ]; then + printf -v ${outvarname_MetplusToolName} "%s" "${_MetplusToolName_}" + fi + + if [ ! -z "${outvarname_METPLUS_TOOL_NAME}" ]; then + printf -v ${outvarname_METPLUS_TOOL_NAME} "%s" "${_METPLUS_TOOL_NAME_}" + fi # #----------------------------------------------------------------------- # diff --git a/ush/set_vx_fhr_list.sh b/ush/set_vx_fhr_list.sh index 172b5c52f3..8a1c9735a5 100644 --- a/ush/set_vx_fhr_list.sh +++ b/ush/set_vx_fhr_list.sh @@ -106,7 +106,7 @@ function set_vx_fhr_list() { fhr_int="${accum_hh}" ;; "ASNOW") - if [ ${accum_hh} = "24" ] ; then + if [ "${accum_hh}" = "24" ]; then fhr_min="24" fhr_int="12" else @@ -122,11 +122,11 @@ function set_vx_fhr_list() { fhr_min="00" fhr_int="01" ;; - "SFC") + "ADPSFC") fhr_min="00" fhr_int="01" ;; - "UPA") + "ADPUPA") fhr_min="00" fhr_int="06" ;; diff --git a/ush/set_vx_params.sh b/ush/set_vx_params.sh index 15d154d402..9b67e36d22 100644 --- a/ush/set_vx_params.sh +++ b/ush/set_vx_params.sh @@ -56,7 +56,6 @@ function set_vx_params() { "field" \ "accum_hh" \ "outvarname_grid_or_point" \ - "outvarname_field_is_APCPgt01h" \ "outvarname_fieldname_in_obs_input" \ "outvarname_fieldname_in_fcst_input" \ "outvarname_fieldname_in_MET_output" \ @@ -81,7 +80,6 @@ function set_vx_params() { #----------------------------------------------------------------------- # local _grid_or_point_ \ - _field_is_APCPgt01h_ \ fieldname_in_obs_input \ fieldname_in_fcst_input \ fieldname_in_MET_output \ @@ -107,11 +105,6 @@ The accumulation (accum_hh) must be a 2-digit integer: # String that is set to either "grid" or "point" depending on whether # the field in consideration has obs that are gridded or point-based. # -# field_is_APCPgt01h: -# Flag that specifies whether the input field and accumulation together -# represent accumulated precipitation with accumulation period greater -# than 1 hour. -# # fieldname_in_obs_input: # String used to search for the field in the input observation files # read in by MET. @@ -131,8 +124,7 @@ The accumulation (accum_hh) must be a 2-digit integer: # #----------------------------------------------------------------------- # - _grid_or_point_="FALSE" - _field_is_APCPgt01h_="FALSE" + _grid_or_point_="" fieldname_in_obs_input="" fieldname_in_fcst_input="" fieldname_in_MET_output="" @@ -148,11 +140,8 @@ The accumulation (accum_hh) must be a 2-digit integer: "APCP") fieldname_in_obs_input="${field}" fieldname_in_fcst_input="${field}" - fieldname_in_MET_output="${field}_${accum_hh}" + fieldname_in_MET_output="${field}" fieldname_in_MET_filedir_names="${field}${accum_hh}h" - if [ "${accum_hh}" -gt "01" ]; then - _field_is_APCPgt01h_="TRUE" - fi ;; *) @@ -174,8 +163,8 @@ this observation type (obtype) and field (field) combination: "ASNOW") fieldname_in_obs_input="${field}" fieldname_in_fcst_input="${field}" - fieldname_in_MET_output="${field}_${accum_hh}" - fieldname_in_MET_filedir_names="${field}" + fieldname_in_MET_output="${field}" + fieldname_in_MET_filedir_names="${field}${accum_hh}h" ;; *) @@ -224,14 +213,14 @@ this observation type (obtype) and field (field) combination: _grid_or_point_="point" case "${field}" in - "SFC") + "ADPSFC") fieldname_in_obs_input="" fieldname_in_fcst_input="" fieldname_in_MET_output="${field}" fieldname_in_MET_filedir_names="${field}" ;; - "UPA") + "ADPUPA") fieldname_in_obs_input="" fieldname_in_fcst_input="" fieldname_in_MET_output="${field}" @@ -268,10 +257,6 @@ this observation type (obtype): printf -v ${outvarname_grid_or_point} "%s" "${_grid_or_point_}" fi - if [ ! -z "${outvarname_field_is_APCPgt01h}" ]; then - printf -v ${outvarname_field_is_APCPgt01h} "%s" "${_field_is_APCPgt01h_}" - fi - if [ ! -z "${outvarname_fieldname_in_obs_input}" ]; then printf -v ${outvarname_fieldname_in_obs_input} "%s" "${fieldname_in_obs_input}" fi diff --git a/ush/setup.py b/ush/setup.py index 9c13e0e77b..1d574ec18c 100644 --- a/ush/setup.py +++ b/ush/setup.py @@ -568,7 +568,7 @@ def remove_tag(tasks, tag): "metatask_GenEnsProd_EnsembleStat_MRMS", "metatask_GridStat_MRMS_ensprob"] - vx_fields_all["NDAS"] = ["SFC", "UPA"] + vx_fields_all["NDAS"] = ["ADPSFC", "ADPUPA"] vx_metatasks_all["NDAS"] = ["task_run_MET_Pb2nc_obs", "metatask_PointStat_NDAS_all_mems", "metatask_GenEnsProd_EnsembleStat_NDAS", diff --git a/ush/valid_param_vals.yaml b/ush/valid_param_vals.yaml index 16fb7d827e..1c19cadf79 100644 --- a/ush/valid_param_vals.yaml +++ b/ush/valid_param_vals.yaml @@ -76,6 +76,6 @@ valid_vals_DO_AQM_CHEM_LBCS: [True, False] valid_vals_DO_AQM_GEFS_LBCS: [True, False] valid_vals_DO_AQM_SAVE_AIRNOW_HIST: [True, False] valid_vals_COLDSTART: [True, False] -valid_vals_VX_FIELDS: [ "APCP", "ASNOW", "REFC", "RETOP", "SFC", "UPA" ] +valid_vals_VX_FIELDS: [ "APCP", "ASNOW", "REFC", "RETOP", "ADPSFC", "ADPUPA" ] valid_vals_VX_APCP_ACCUMS_HRS: [ 1, 3, 6, 24 ] valid_vals_VX_ASNOW_ACCUMS_HRS: [ 6, 24 ]