From 4a0afcf9c8b89e338b9e73e9239bad92f05f9b9e Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 2 Feb 2022 13:35:32 -0700 Subject: [PATCH 01/35] Per #1402, added additional comments to config file including links to documentation. Added old format version of config file that contain many comments with the _DIR/_TEMPLATE variables grouped together for comparison --- .../met_tool_wrapper/GridStat/GridStat.conf | 17 ++ .../GridStat/GridStat_comments.conf | 250 ++++++++++++++++++ 2 files changed, 267 insertions(+) create mode 100644 parm/use_cases/met_tool_wrapper/GridStat/GridStat_comments.conf diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf index e4316e8641..66c69c9f18 100644 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf @@ -1,9 +1,23 @@ [config] +# For additional information, please see the METplus Users Guide. + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -18,6 +32,7 @@ LOOP_ORDER = times ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst @@ -38,6 +53,7 @@ GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} ### # Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### MODEL = WRF @@ -55,6 +71,7 @@ OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 ### # GridStat +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat ### #LOG_GRID_STAT_VERBOSITY = 2 diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_comments.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_comments.conf new file mode 100644 index 0000000000..0f2b4825bd --- /dev/null +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_comments.conf @@ -0,0 +1,250 @@ +# 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 +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 INT_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=2005080700 + +# End time for METplus run - must match INIT_TIME_FMT +INIT_END=2005080700 + +# Increment between METplus runs (in seconds if no units are specified) +# Must be >= 60 seconds +INIT_INCREMENT = 12H + +# 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 = 12 + +# 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 + +# directory containing forecast input to GridStat +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst + +# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR +FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 + +# directory containing observation input to GridStat +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new + +# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR +OBS_GRID_STAT_INPUT_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}_A03h.nc + +# directory containing climatology mean input to GridStat +# Not used in this example +GRID_STAT_CLIMO_MEAN_INPUT_DIR = + +# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR +# Not used in this example +GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = + +# directory containing climatology mean input to GridStat +# Not used in this example +GRID_STAT_CLIMO_STDEV_INPUT_DIR = + +# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_STDEV_INPUT_DIR +# Not used in this example +GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = + +# directory to write output from GridStat +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/GridStat/GridStat + +# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} + +# Used to specify one or more verification mask files for GridStat +# Not used for this example +GRID_STAT_VERIFICATION_MASK_TEMPLATE = + + +# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only +#LOG_GRID_STAT_VERBOSITY = 2 + +# Location of MET config file to pass to GridStat +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 = NONE + +#GRID_STAT_INTERP_FIELD = +#GRID_STAT_INTERP_VLD_THRESH = +#GRID_STAT_INTERP_SHAPE = +#GRID_STAT_INTERP_TYPE_METHOD = +#GRID_STAT_INTERP_TYPE_WIDTH = + +#GRID_STAT_NC_PAIRS_VAR_NAME = + +#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = +#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = + +#GRID_STAT_GRID_WEIGHT_FLAG = + +# Name to identify model (forecast) data in output +MODEL = WRF + +# Name to identify observation data in output +OBTYPE = MC_PCP + +# set the desc value in the GridStat MET config 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 + +# Name of forecast variable 1 +FCST_VAR1_NAME = APCP + +# List of levels to evaluate for forecast variable 1 +# A03 = 3 hour accumulation in GRIB file +FCST_VAR1_LEVELS = A03 + +# List of thresholds to evaluate for each name/level combination for +# forecast variable 1 +FCST_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 + +#FCST_GRID_STAT_FILE_TYPE = + +# Name of observation variable 1 +OBS_VAR1_NAME = APCP_03 + +# List of levels to evaluate for observation variable 1 +# (*,*) is NetCDF notation - must include quotes around these values! +# must be the same length as FCST_VAR1_LEVELS +OBS_VAR1_LEVELS = "(*,*)" + +# List of thresholds to evaluate for each name/level combination for +# observation variable 1 +OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 + +#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 + +# width value passed to nbrhd dictionary in the MET config file +GRID_STAT_NEIGHBORHOOD_WIDTH = 1 + +# 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 + +# 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 + +GRID_STAT_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME} + +#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_OUTPUT_FLAG_FHO = NONE +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 = 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 = 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 = NONE +#GRID_STAT_OUTPUT_FLAG_NBRCTS = NONE +#GRID_STAT_OUTPUT_FLAG_NBRCNT = NONE +GRID_STAT_OUTPUT_FLAG_GRAD = BOTH +#GRID_STAT_OUTPUT_FLAG_DMAP = NONE + +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 From 7046183ea763365e1e485ae063618f49efb00c58 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Tue, 15 Mar 2022 08:53:36 -0600 Subject: [PATCH 02/35] rearrange variables and added link to user's guide --- .../met_tool_wrapper/GridStat/GridStat.conf | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf index 663c2cea93..2e91b04e51 100644 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf @@ -1,6 +1,7 @@ [config] # For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide ### # Processes to run @@ -9,6 +10,7 @@ PROCESS_LIST = GridStat + ### # Time Info # LOOP_BY options are INIT, VALID, RETRO, and REALTIME @@ -30,6 +32,7 @@ LEAD_SEQ = 12 LOOP_ORDER = times + ### # File I/O # https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info @@ -59,6 +62,11 @@ GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} MODEL = WRF OBTYPE = MC_PCP +GRID_STAT_ONCE_PER_FIELD = False + +FCST_IS_PROB = false +#FCST_GRID_STAT_PROB_THRESH = ==0.1 + FCST_VAR1_NAME = APCP FCST_VAR1_LEVELS = A03 FCST_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 @@ -68,7 +76,6 @@ OBS_VAR1_LEVELS = "(*,*)" OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 - ### # GridStat # https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat @@ -108,16 +115,6 @@ GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 -GRID_STAT_ONCE_PER_FIELD = False - -FCST_IS_PROB = false - -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -OBS_IS_PROB = false - -OBS_GRID_STAT_PROB_THRESH = ==0.1 - GRID_STAT_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME} #GRID_STAT_CLIMO_MEAN_FILE_NAME = From e9ba518d769ec725be20c8d0bd1711939347c1a0 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Tue, 7 Jun 2022 09:07:07 -0600 Subject: [PATCH 03/35] updated comment to note that variables in the section are optional --- parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf index 2e91b04e51..bb20732401 100644 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf @@ -77,7 +77,7 @@ OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 ### -# GridStat +# GridStat Settings (optional) # https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat ### From b0110a7ba240b6f1774ba44a02ee9651d3e9e4fb Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 15 Jun 2022 13:30:59 -0600 Subject: [PATCH 04/35] added URL for use case documentation --- parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf index bb20732401..0ccb837af2 100644 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat.conf @@ -1,5 +1,8 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GridStat/GridStat.html + # For additional information, please see the METplus Users Guide. # https://metplus.readthedocs.io/en/latest/Users_Guide From 6ae90f2cd13ec7e0311aad47d77f972c712f8ff8 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Thu, 30 Jun 2022 17:34:26 -0600 Subject: [PATCH 05/35] per #1402, rearrange and clean up config file --- .../met_tool_wrapper/ASCII2NC/ASCII2NC.conf | 102 +++++++----------- 1 file changed, 38 insertions(+), 64 deletions(-) diff --git a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf index ac68fa7113..d4c11a4a7d 100644 --- a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf +++ b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf @@ -1,79 +1,72 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only ASCII2NC for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/ASCII2NC/ASCII2NC.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = ASCII2NC -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 2010010112 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2010010112 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 0 -# 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 ASCII2NC only -#LOG_ASCII2NC_VERBOSITY = 1 -# MET Configuration file for ASCII2NC -# References CONFIG_DIR from the [dir] section -ASCII2NC_CONFIG_FILE = {CONFIG_DIR}/Ascii2NcConfig_wrapped +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +ASCII2NC_INPUT_DIR = +ASCII2NC_INPUT_TEMPLATE = {INPUT_BASE}/met_test/data/sample_obs/ascii/precip24_{valid?fmt=%Y%m%d%H}.ascii + +ASCII2NC_OUTPUT_DIR = +ASCII2NC_OUTPUT_TEMPLATE = {OUTPUT_BASE}/ascii2nc/precip24_{valid?fmt=%Y%m%d%H}.nc -# If set to True, skip run if the output file determined by the output directory and -# filename template already exists ASCII2NC_SKIP_IF_OUTPUT_EXISTS = False -# Time relative to valid time (in seconds if no units are specified) 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. ASCII2NC_FILE_WINDOW_BEGIN = 0 ASCII2NC_FILE_WINDOW_END = 0 -# Value to pass with the -format argument to ascii2nc. See MET User's Guide for more information +### +# ASCII2NC Settings (optional) +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ascii2nc +### + +#LOG_ASCII2NC_VERBOSITY = 1 + +ASCII2NC_CONFIG_FILE = {PARM_BASE}/met_config/Ascii2NcConfig_wrapped + ASCII2NC_INPUT_FORMAT = -# Value to pass with the -mask_grid argument to ascii2nc. See MET User's Guide for more information ASCII2NC_MASK_GRID = - -# Value to pass with the -mask_poly argument to ascii2nc. See MET User's Guide for more information ASCII2NC_MASK_POLY = - -# Value to pass with the -mask_sid argument to ascii2nc. See MET User's Guide for more information ASCII2NC_MASK_SID = -# For defining the time periods for summarization -# False for no time summary, True otherwise -# The rest of the ASCII2NC_TIME_SUMMARY variables are ignored if set to False -# See the MET User's Guide section regarding ASCII2NC time summary options for more information. ASCII2NC_TIME_SUMMARY_FLAG = False ASCII2NC_TIME_SUMMARY_RAW_DATA = False ASCII2NC_TIME_SUMMARY_BEG = 000000 @@ -85,22 +78,3 @@ ASCII2NC_TIME_SUMMARY_VAR_NAMES = ASCII2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 ASCII2NC_TIME_SUMMARY_VALID_FREQ = 0 ASCII2NC_TIME_SUMMARY_VALID_THRESH = 0.0 - - -# End of [config] section and start of [dir] section -[dir] -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config - -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -ASCII2NC_INPUT_DIR = -ASCII2NC_OUTPUT_DIR = - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for input to ASCII2NC relative to ASCII2NC_INPUT_DIR -ASCII2NC_INPUT_TEMPLATE = {INPUT_BASE}/met_test/data/sample_obs/ascii/precip24_{valid?fmt=%Y%m%d%H}.ascii - -# Template to use to write output from ASCII2NC -ASCII2NC_OUTPUT_TEMPLATE = {OUTPUT_BASE}/ascii2nc/precip24_{valid?fmt=%Y%m%d%H}.nc From 7b02fe7ce1a5cd3e642abf845d3f165cb9b9f97d Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 6 Jul 2022 13:17:22 -0600 Subject: [PATCH 06/35] added missing config variables from CyclonePlotter to glossary and wrappers doc pages --- docs/Users_Guide/glossary.rst | 43 +++++++++++++++++++++++++++++++++++ docs/Users_Guide/wrappers.rst | 7 ++++++ 2 files changed, 50 insertions(+) diff --git a/docs/Users_Guide/glossary.rst b/docs/Users_Guide/glossary.rst index 5bd8a35593..cdfead0a9e 100644 --- a/docs/Users_Guide/glossary.rst +++ b/docs/Users_Guide/glossary.rst @@ -9605,3 +9605,46 @@ METplus Configuration Glossary Guide for more information on multi-variate MODE. | *Used by:* MODE + + CYCLONE_PLOTTER_GLOBAL_PLOT + Set to True to plot entire global extent in CyclonePlotter or set to False + to generate a plot of a defined region of the world, then define lons and + lats with :term:`CYCLONE_PLOTTER_WEST_LON`, + :term:`CYCLONE_PLOTTER_EAST_LON`, :term:`CYCLONE_PLOTTER_SOUTH_LAT`, and + :term:`CYCLONE_PLOTTER_NORTH_LAT`. + + | *Used by:* CyclonePlotter + + CYCLONE_PLOTTER_WEST_LON + Set the west longitude boundary for CyclonePlotter. + Only used if :term:`CYCLONE_PLOTTER_GLOBAL_PLOT` is False. + + | *Used by:* CyclonePlotter + + CYCLONE_PLOTTER_EAST_LON + Set the east longitude boundary for CyclonePlotter. + Only used if :term:`CYCLONE_PLOTTER_GLOBAL_PLOT` is False. + + | *Used by:* CyclonePlotter + + CYCLONE_PLOTTER_SOUTH_LAT + Set the south latitude boundary for CyclonePlotter. + Only used if :term:`CYCLONE_PLOTTER_GLOBAL_PLOT` is False. + + | *Used by:* CyclonePlotter + + CYCLONE_PLOTTER_NORTH_LAT + Set the north latitude boundary for CyclonePlotter. + Only used if :term:`CYCLONE_PLOTTER_GLOBAL_PLOT` is False. + + | *Used by:* CyclonePlotter + + CYCLONE_PLOTTER_ANNOTATION_FONT_SIZE + Set the annotation font size for CyclonePlotter output. + + | *Used by:* CyclonePlotter + + CYCLONE_PLOTTER_RESOLUTION_DPI + Set the resolution for CyclonePlotter output. + + | *Used by:* CyclonePlotter diff --git a/docs/Users_Guide/wrappers.rst b/docs/Users_Guide/wrappers.rst index 86fc2052c8..faacd539eb 100644 --- a/docs/Users_Guide/wrappers.rst +++ b/docs/Users_Guide/wrappers.rst @@ -148,6 +148,13 @@ METplus Configuration | :term:`CYCLONE_PLOTTER_CROSS_MARKER_SIZE` | :term:`CYCLONE_PLOTTER_GENERATE_TRACK_ASCII` | :term:`CYCLONE_PLOTTER_ADD_WATERMARK` +| :term:`CYCLONE_PLOTTER_GLOBAL_PLOT` +| :term:`CYCLONE_PLOTTER_WEST_LON` +| :term:`CYCLONE_PLOTTER_EAST_LON` +| :term:`CYCLONE_PLOTTER_NORTH_LAT` +| :term:`CYCLONE_PLOTTER_SOUTH_LAT` +| :term:`CYCLONE_PLOTTER_ANNOTATION_FONT_SIZE` +| :term:`CYCLONE_PLOTTER_RESOLUTION_DPI` | .. warning:: **DEPRECATED:** From 6c45365455045bbc19c77023f40c1d8bf29fcb00 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 6 Jul 2022 13:17:59 -0600 Subject: [PATCH 07/35] per #1402, clean up use case conf files, ci-run-all-diff --- .../met_tool_wrapper/ASCII2NC/ASCII2NC.conf | 2 +- .../ASCII2NC/ASCII2NC_python_embedding.conf | 104 ++++------ .../CyclonePlotter/CyclonePlotter.conf | 80 +++----- .../EnsembleStat/EnsembleStat.conf | 29 ++- .../EnsembleStat_python_embedding.conf | 179 ++++++++---------- .../met_tool_wrapper/Example/Example.conf | 62 +++--- .../ExtractTiles/ExtractTiles.conf | 92 +++++---- .../ExtractTiles/ExtractTiles_mtd.conf | 83 +++++--- .../GFDLTracker/GFDLTracker_ETC.conf | 35 ++++ .../GFDLTracker/GFDLTracker_Genesis.conf | 35 +++- .../GFDLTracker/GFDLTracker_TC.conf | 35 ++++ .../GempakToCF/GempakToCF.conf | 64 +++---- .../GenEnsProd/GenEnsProd.conf | 34 +++- .../met_tool_wrapper/GenVxMask/GenVxMask.conf | 89 ++++----- .../GenVxMask/GenVxMask_multiple.conf | 82 ++++---- .../GenVxMask/GenVxMask_with_arguments.conf | 82 ++++---- .../met_tool_wrapper/GridDiag/GridDiag.conf | 95 ++++++---- .../GridStat/GridStat_forecast.conf | 54 ++---- .../GridStat/GridStat_observation.conf | 50 ++--- .../GridStat/GridStat_python_embedding.conf | 176 ++++++----------- .../met_tool_wrapper/IODA2NC/IODA2NC.conf | 33 +++- .../met_tool_wrapper/METdbLoad/METdbLoad.conf | 45 ++++- .../use_cases/met_tool_wrapper/MODE/MODE.conf | 80 +++++--- .../MODE/MODE_python_embedding.conf | 170 ++++++----------- parm/use_cases/met_tool_wrapper/MTD/MTD.conf | 133 ++++++------- .../MTD/MTD_python_embedding.conf | 144 ++++++-------- .../met_tool_wrapper/PB2NC/PB2NC.conf | 38 +++- .../PCPCombine/PCPCombine_add.conf | 37 +++- .../PCPCombine/PCPCombine_bucket.conf | 38 +++- .../PCPCombine/PCPCombine_derive.conf | 40 +++- .../PCPCombine/PCPCombine_loop_custom.conf | 44 ++++- .../PCPCombine_python_embedding.conf | 43 ++++- .../PCPCombine/PCPCombine_subtract.conf | 41 +++- .../PCPCombine/PCPCombine_sum.conf | 40 +++- .../PCPCombine/PCPCombine_user_defined.conf | 40 +++- .../PlotDataPlane/PlotDataPlane_grib1.conf | 79 ++++---- .../PlotDataPlane/PlotDataPlane_netcdf.conf | 78 ++++---- .../PlotDataPlane_python_embedding.conf | 77 ++++---- 38 files changed, 1479 insertions(+), 1183 deletions(-) diff --git a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf index d4c11a4a7d..45c6e7531f 100644 --- a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf +++ b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf @@ -53,7 +53,7 @@ ASCII2NC_FILE_WINDOW_BEGIN = 0 ASCII2NC_FILE_WINDOW_END = 0 ### -# ASCII2NC Settings (optional) +# ASCII2NC Settings # https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ascii2nc ### diff --git a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.conf b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.conf index f9c01839f8..f2e61547f7 100644 --- a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.conf @@ -1,84 +1,75 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only ASCII2NC for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = ASCII2NC -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 2010010112 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2010010112 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 0 -# 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 ASCII2NC only -#LOG_ASCII2NC_VERBOSITY = 1 -# MET Configuration file for ASCII2NC -# References CONFIG_DIR from the [dir] section -ASCII2NC_CONFIG_FILE = +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +ASCII2NC_INPUT_DIR = +ASCII2NC_INPUT_TEMPLATE = "{MET_INSTALL_DIR}/share/met/python/read_ascii_point.py {INPUT_BASE}/met_test/data/sample_obs/ascii/sample_ascii_obs.txt" + +ASCII2NC_OUTPUT_DIR = +ASCII2NC_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/ASCII2NC/ascii2nc_python.nc -# If set to True, skip run if the output file determined by the output directory and -# filename template already exists ASCII2NC_SKIP_IF_OUTPUT_EXISTS = False -# Time relative to valid time (in seconds if no units are specified) 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. ASCII2NC_FILE_WINDOW_BEGIN = 0 ASCII2NC_FILE_WINDOW_END = 0 -# 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. + +### +# ASCII2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ascii2nc +### + +#LOG_ASCII2NC_VERBOSITY = 1 +#ASCII2NC_CONFIG_FILE = + ASCII2NC_WINDOW_BEGIN = 0 ASCII2NC_WINDOW_END = 0 -# Value to pass with the -format argument to ascii2nc. See MET User's Guide for more information ASCII2NC_INPUT_FORMAT = python -# Value to pass with the -mask_grid argument to ascii2nc. See MET User's Guide for more information ASCII2NC_MASK_GRID = - -# Value to pass with the -mask_poly argument to ascii2nc. See MET User's Guide for more information ASCII2NC_MASK_POLY = - -# Value to pass with the -mask_sid argument to ascii2nc. See MET User's Guide for more information ASCII2NC_MASK_SID = -# For defining the time periods for summarization -# False for no time summary, True otherwise -# The rest of the ASCII2NC_TIME_SUMMARY variables are ignored if set to False -# See the MET User's Guide section regarding ASCII2NC time summary options for more information. ASCII2NC_TIME_SUMMARY_FLAG = False ASCII2NC_TIME_SUMMARY_RAW_DATA = False ASCII2NC_TIME_SUMMARY_BEG = 000000 @@ -90,22 +81,3 @@ ASCII2NC_TIME_SUMMARY_VAR_NAMES = ASCII2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 ASCII2NC_TIME_SUMMARY_VALID_FREQ = 0 ASCII2NC_TIME_SUMMARY_VALID_THRESH = 0.0 - - -# End of [config] section and start of [dir] section -[dir] -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config - -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -ASCII2NC_INPUT_DIR = -ASCII2NC_OUTPUT_DIR = - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for input to ASCII2NC relative to ASCII2NC_INPUT_DIR -ASCII2NC_INPUT_TEMPLATE = "{MET_INSTALL_DIR}/share/met/python/read_ascii_point.py {INPUT_BASE}/met_test/data/sample_obs/ascii/sample_ascii_obs.txt" - -# Template to use to write output from ASCII2NC -ASCII2NC_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/ASCII2NC/ascii2nc_python.nc diff --git a/parm/use_cases/met_tool_wrapper/CyclonePlotter/CyclonePlotter.conf b/parm/use_cases/met_tool_wrapper/CyclonePlotter/CyclonePlotter.conf index aa3d15a506..931f906fb2 100644 --- a/parm/use_cases/met_tool_wrapper/CyclonePlotter/CyclonePlotter.conf +++ b/parm/use_cases/met_tool_wrapper/CyclonePlotter/CyclonePlotter.conf @@ -1,81 +1,55 @@ -[dir] -## Dirs below used by cyclone_plotter_wrapper module. -# -------------------------------------------------- +[config] + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/CyclonePlotter/CyclonePlotter.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = CyclonePlotter + + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + CYCLONE_PLOTTER_INPUT_DIR = {INPUT_BASE}/met_test/tc_pairs + CYCLONE_PLOTTER_OUTPUT_DIR = {OUTPUT_BASE}/cyclone -[config] -# ================================================ -PROCESS_LIST = CyclonePlotter -## Config options below used by cyclone_plotter_wrapper module. -# ------------------------------------------------------------- -## +### +# CyclonePlotter Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#cycloneplotter +### -# -# Specify the YMD of tracks of interest -# CYCLONE_PLOTTER_INIT_DATE = 20150301 -## -# only 00, 06, 12, and 18z init times are supported in NOAA website, -# so for consistency, these are the only options for METplus. -# -CYCLONE_PLOTTER_INIT_HR = 12 ;; hh format +CYCLONE_PLOTTER_INIT_HR = 12 CYCLONE_PLOTTER_MODEL = GFSO CYCLONE_PLOTTER_PLOT_TITLE = Model Forecast Storm Tracks -## -# Indicate the region of the globe to plot -# - -# Set to Y[y]es or True to plot entire global extent. N[n]o or False -# to generate a plot of a defined region of the world, then define lons and -# lats below. -CYCLONE_PLOTTER_GLOBAL_PLOT = no - -## -# Indicate the region (i.e. define a bounding box) to plot -# -# Set to Y[y]es or True to plot entire global extent, N[n]o or False -# to generate a plot of a defined region of the world (and define lons and -# lats below). CYCLONE_PLOTTER_GLOBAL_PLOT = no -# ***IMPORTANT*** If CYCLONE_PLOTTER_GLOBAL_PLOT -# is set to False or N[n]o, then define the region of the world to plot. -# Longitudes can range from -180 to 180 degrees and latitudes from -90 to 90 degrees - -# -------------------------------- -# EXAMPLE OF BOUNDING BOX SETTINGS -# -------------------------------- -# NORTHERN HEMISPHERE CYCLONE_PLOTTER_WEST_LON = -180 CYCLONE_PLOTTER_EAST_LON = 179 CYCLONE_PLOTTER_SOUTH_LAT = 0 CYCLONE_PLOTTER_NORTH_LAT = 90 -## -# Indicate the size of symbol (point size) CYCLONE_PLOTTER_CIRCLE_MARKER_SIZE = 2 CYCLONE_PLOTTER_CROSS_MARKER_SIZE = 11 -## -# Indicate text size of annotation label CYCLONE_PLOTTER_ANNOTATION_FONT_SIZE = 3 -## -# Resolution of saved plot in dpi (dots per inch) -# Set to 0 to allow Matplotlib to determine, based on your computer CYCLONE_PLOTTER_RESOLUTION_DPI = 400 - -## -# Turn on/off the generation of an ASCII output file listing all the -# tracks that are in the plot. This can be helpful in debugging or verifying -# that what is plotted is consistent with the data. -# CYCLONE_PLOTTER_GENERATE_TRACK_ASCII = yes CYCLONE_PLOTTER_ADD_WATERMARK = False diff --git a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf index 4e962a9f48..acad0c6f72 100644 --- a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf +++ b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/EnsembleStat/EnsembleStat.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = EnsembleStat + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -19,6 +38,7 @@ LOOP_ORDER = times ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst @@ -27,9 +47,6 @@ FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/arw-???-gep?/d01_{init?f #ENSEMBLE_STAT_CTRL_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst #ENSEMBLE_STAT_CTRL_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/arw-fer-gep1/d01_{init?fmt=%Y%m%d%H}_0{lead?fmt=%HH}00.grib -ENSEMBLE_STAT_N_MEMBERS = 6 - - OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = {INPUT_BASE}/met_test/out/ascii2nc OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = precip24_{valid?fmt=%Y%m%d%H}.nc @@ -51,6 +68,7 @@ ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M}/ensemble_stat ### # Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### MODEL = WRF @@ -91,11 +109,14 @@ ENS_VAR5_THRESH = >=5.0 ### -# EnsembleStat +# EnsembleStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ensemblestat ### #LOG_ENSEMBLE_STAT_VERBOSITY = 2 +ENSEMBLE_STAT_N_MEMBERS = 6 + ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped ENSEMBLE_STAT_DESC = NA diff --git a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.conf b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.conf index e540998fc4..8bdf7689cf 100644 --- a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.conf @@ -1,68 +1,110 @@ -# Ensemble Stat using Python Embedding Input - [config] -## Configuration-related settings such as the process list, begin and end times, etc. +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = EnsembleStat -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. -LOOP_ORDER = times -# LOOP_BY: Set to INIT to loop over initialization times -LOOP_BY = INIT +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_END +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run INIT_BEG=2009123112 - -# End time for METplus run INIT_END=2009123112 - -# Increment between METplus runs in seconds. Must be >= 60 INIT_INCREMENT=3600 -# List of forecast leads to process LEAD_SEQ = 24 -# Used in the MET config file for: model, output_prefix -MODEL = FCST +LOOP_ORDER = times + + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +ENS_ENSEMBLE_STAT_INPUT_DATATYPE = PYTHON_NUMPY + +FCST_ENSEMBLE_STAT_INPUT_DATATYPE = PYTHON_NUMPY + +OBS_ENSEMBLE_STAT_INPUT_GRID_DATATYPE = PYTHON_NUMPY + +FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/python +FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = fcst.txt, fcst.txt + +OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = +OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = + +OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {INPUT_BASE}/met_test/data/python +OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = obs.txt + +ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = +ENSEMBLE_STAT_CLIMO_MEAN_INPUT_TEMPLATE = + +ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = +ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = + +ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/EnsembleStat/ens_python_embedding +ENSEMBLE_STAT_OUTPUT_TEMPLATE = -# Name to identify observation data in output +OBS_FILE_WINDOW_BEGIN = 0 +OBS_FILE_WINDOW_END = 0 + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +ENS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST +FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS + +MODEL = FCST OBTYPE = OBS -#ENSEMBLE_STAT_DESC = -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf +### +# EnsembleStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ensemblestat +### + +ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped + #LOG_ENSEMBLE_STAT_VERBOSITY = 2 +#ENSEMBLE_STAT_DESC = + OBS_ENSEMBLE_STAT_WINDOW_BEGIN = -5400 OBS_ENSEMBLE_STAT_WINDOW_END = 5400 -OBS_FILE_WINDOW_BEGIN = 0 -OBS_FILE_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 = 2 -# 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 = 1.0 - -# ens.vld_thresh value in the MET config file ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 -# Used in the MET config file for: regrid to_grid field ENSEMBLE_STAT_REGRID_TO_GRID = NONE ENSEMBLE_STAT_OUTPUT_PREFIX = PYTHON -ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped ENSEMBLE_STAT_OUTPUT_FLAG_ECNT = BOTH ENSEMBLE_STAT_OUTPUT_FLAG_RPS = NONE @@ -87,66 +129,8 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_NMEP = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = TRUE ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE -# 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 = -# 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 = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST - -# Forecast 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 -FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST - -# Observation Variables and levels as specified in the obs field dictionary -# of the MET configuration file. Specify as OBS_VARn_NAME, OBS_VARn_LEVELS, -# (optional) OBS_VARn_OPTION -OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS - -ENS_ENSEMBLE_STAT_INPUT_DATATYPE = PYTHON_NUMPY - -FCST_ENSEMBLE_STAT_INPUT_DATATYPE = PYTHON_NUMPY - -OBS_ENSEMBLE_STAT_INPUT_GRID_DATATYPE = PYTHON_NUMPY - -[dir] -# Forecast model input directory for ensemble_stat -FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/python - -# Point observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = - -# Grid observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {INPUT_BASE}/met_test/data/python - -# 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 ensemble_stat -ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/EnsembleStat/ens_python_embedding - - -[filename_templates] - -# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE - comma separated list of ensemble members -# or a single line, - wildcard characters may be used. - -# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = ????????gep?/d01_{init?fmt=%Y%m%d%H}_02400.grib -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = fcst.txt, fcst.txt - -OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = - -OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = obs.txt - ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE = MET_BASE/poly/HMT_masks/huc4_1605_poly.nc, MET_BASE/poly/HMT_masks/huc4_1803_poly.nc, @@ -154,14 +138,3 @@ ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE = MET_BASE/poly/HMT_masks/huc4_1805_poly.nc, MET_BASE/poly/HMT_masks/huc4_1806_poly.nc -# Template to look 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 to look for climatology input to EnsembleStat relative to ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this example -ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - - -ENSEMBLE_STAT_OUTPUT_TEMPLATE = - diff --git a/parm/use_cases/met_tool_wrapper/Example/Example.conf b/parm/use_cases/met_tool_wrapper/Example/Example.conf index 6286e47ae5..096f7aae1f 100644 --- a/parm/use_cases/met_tool_wrapper/Example/Example.conf +++ b/parm/use_cases/met_tool_wrapper/Example/Example.conf @@ -1,61 +1,47 @@ -# Example wrapper example - [config] -# List of applications to run - only Example for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/Example/Example.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = Example -# time looping - options are INIT, VALID, RETRO, and REALTIME +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 2017020100 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2017020200 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 6H -# 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 = 3H, 6H, 9H, 12H -# 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 -# list of strings to loop over for each run time. -# value for each item can be referenced in filename templates with {custom?fmt=%s} EXAMPLE_CUSTOM_LOOP_LIST = ext, nc -# End of [config] section and start of [dir] section -[dir] -# fake directory to look for input data. This can be set to anything, as it only affects the log output. -EXAMPLE_INPUT_DIR = /dir/containing/example/data +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# Fake template to use to look for input data. This template is substituted with the time information of each -# run time that is executed -EXAMPLE_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/file_{init?fmt=%Y%m%d}_{init?fmt=%H}_F{lead?fmt=%3H}.{custom?fmt=%s} \ No newline at end of file +EXAMPLE_INPUT_DIR = /dir/containing/example/data +EXAMPLE_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/file_{init?fmt=%Y%m%d}_{init?fmt=%H}_F{lead?fmt=%3H}.{custom?fmt=%s} diff --git a/parm/use_cases/met_tool_wrapper/ExtractTiles/ExtractTiles.conf b/parm/use_cases/met_tool_wrapper/ExtractTiles/ExtractTiles.conf index a093643520..019209b8a7 100644 --- a/parm/use_cases/met_tool_wrapper/ExtractTiles/ExtractTiles.conf +++ b/parm/use_cases/met_tool_wrapper/ExtractTiles/ExtractTiles.conf @@ -1,59 +1,81 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/ExtractTiles/ExtractTiles.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = ExtractTiles -# The init time begin and end times, increment + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d INIT_BEG = 20141214 INIT_END = 20141214 - -# Increment in seconds from the begin time to the end time INIT_INCREMENT = 6H + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +EXTRACT_TILES_TC_STAT_INPUT_DIR = {INPUT_BASE}/met_test/extract_tiles +EXTRACT_TILES_TC_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/filter_{init?fmt=%Y%m%d_%H}.tcst + +FCST_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/met_test/new/reduced_model_data +FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%HHH}.grb2 + +OBS_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/met_test/new/reduced_model_data +OBS_EXTRACT_TILES_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 + +EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/ExtractTiles +FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/FCST_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%HHH}.nc +OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/OBS_TILE_F{lead?fmt=%3H}_gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.nc + +EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = yes + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + FCST_VAR1_NAME = TMP FCST_VAR1_LEVELS = Z2 OBS_VAR1_NAME = TMP OBS_VAR1_LEVELS = Z2 -# Constants used in creating the tile grid + +### +# ExtractTiles Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#extracttiles +### + EXTRACT_TILES_NLAT = 60 EXTRACT_TILES_NLON = 60 -# Resolution of data in degrees EXTRACT_TILES_DLAT = 0.5 EXTRACT_TILES_DLON = 0.5 -# Degrees to subtract from the center lat and lon to -# calculate the lower left lat (lat_ll) and lower -# left lon (lon_ll) for a grid that is 2n X 2m, -# where n = EXTRACT_TILES_LAT_ADJ degrees and m = EXTRACT_TILES_LON_ADJ degrees. -# For this case, where n=15 and m=15, this results -# in a 30 deg X 30 deg grid EXTRACT_TILES_LON_ADJ = 15 EXTRACT_TILES_LAT_ADJ = 15 - -# overwrite modified track data (non-ATCF to ATCF format) if True/yes -EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = yes - -# template of input filter tcst file created by TC-Stat -EXTRACT_TILES_TC_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/filter_{init?fmt=%Y%m%d_%H}.tcst - -# templates for forecast and observation input data -FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%HHH}.grb2 -OBS_EXTRACT_TILES_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 - -# templates for output data -FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/FCST_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%HHH}.nc -OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/OBS_TILE_F{lead?fmt=%3H}_gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.nc - -# directory containing input filter tcst file created by TC-Stat -EXTRACT_TILES_TC_STAT_INPUT_DIR = {INPUT_BASE}/met_test/extract_tiles - -# directory containing gridded input data (forecast and observation) -FCST_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/met_test/new/reduced_model_data -OBS_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/met_test/new/reduced_model_data - -# directory to write output -EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/ExtractTiles diff --git a/parm/use_cases/met_tool_wrapper/ExtractTiles/ExtractTiles_mtd.conf b/parm/use_cases/met_tool_wrapper/ExtractTiles/ExtractTiles_mtd.conf index 84e18a993a..25eeb3a2e8 100644 --- a/parm/use_cases/met_tool_wrapper/ExtractTiles/ExtractTiles_mtd.conf +++ b/parm/use_cases/met_tool_wrapper/ExtractTiles/ExtractTiles_mtd.conf @@ -1,42 +1,43 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/ExtractTiles/ExtractTiles_mtd.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = ExtractTiles -# The init time begin and end times, increment + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2005080700 INIT_END = 2005080700 - -# Increment in seconds from the begin time to the end time INIT_INCREMENT = 6H LEAD_SEQ = 6H -FCST_VAR1_NAME = APCP -FCST_VAR1_LEVELS = A03 - -OBS_VAR1_NAME = APCP_03 -OBS_VAR1_LEVELS = "(*,*)" - -# Constants used in creating the tile grid -EXTRACT_TILES_NLAT = 60 -EXTRACT_TILES_NLON = 60 -# Resolution of data in degrees -EXTRACT_TILES_DLAT = 0.5 -EXTRACT_TILES_DLON = 0.5 - -# Degrees to subtract from the center lat and lon to -# calculate the lower left lat (lat_ll) and lower -# left lon (lon_ll) for a grid that is 2n X 2m, -# where n = EXTRACT_TILES_LAT_ADJ degrees and m = EXTRACT_TILES_LON_ADJ degrees. -# For this case, where n=15 and m=15, this results -# in a 30 deg X 30 deg grid -EXTRACT_TILES_LON_ADJ = 15 -EXTRACT_TILES_LAT_ADJ = 15 - -EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = no +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### EXTRACT_TILES_MTD_INPUT_DIR = {INPUT_BASE}/met_test/new/mtd EXTRACT_TILES_MTD_INPUT_TEMPLATE = mtd_WRF_APCP_vs_MC_PCP_APCP_03_A03_{valid?fmt=%Y%m%d_%H%M%S}V_2d.txt @@ -48,7 +49,35 @@ FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=% OBS_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/met_test/new OBS_EXTRACT_TILES_INPUT_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}_A03h.nc - EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/ExtractTiles FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/FCST_TILE_F{lead?fmt=%3H}_wrfprs_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/OBS_TILE_F{lead?fmt=%3H}_wrfprs_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.nc + +EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = no + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +FCST_VAR1_NAME = APCP +FCST_VAR1_LEVELS = A03 + +OBS_VAR1_NAME = APCP_03 +OBS_VAR1_LEVELS = "(*,*)" + + +### +# ExtractTiles Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#extracttiles +### + +EXTRACT_TILES_NLAT = 60 +EXTRACT_TILES_NLON = 60 + +EXTRACT_TILES_DLAT = 0.5 +EXTRACT_TILES_DLON = 0.5 + +EXTRACT_TILES_LON_ADJ = 15 +EXTRACT_TILES_LAT_ADJ = 15 diff --git a/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_ETC.conf b/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_ETC.conf index 161ce0c198..5a99ab8dcd 100644 --- a/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_ETC.conf +++ b/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_ETC.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GFDLTracker/GFDLTracker_ETC.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GFDLTracker + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H @@ -11,6 +34,12 @@ INIT_INCREMENT = 6H LEAD_SEQ = * + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + GFDL_TRACKER_INPUT_DIR = {INPUT_BASE}/met_test/gfdl/gfs GFDL_TRACKER_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs.t{init?fmt=%H}z.pgrb2.1p00.f{lead?fmt=%3H} @@ -23,6 +52,12 @@ GFDL_TRACKER_GEN_VITALS_INPUT_TEMPLATE = genesis.vitals.gfso.glbl.{init?fmt=%Y%m GFDL_TRACKER_OUTPUT_DIR = {OUTPUT_BASE}/gfdl_tracker/etc GFDL_TRACKER_OUTPUT_TEMPLATE = gfs.{init?fmt=%Y%m%d%H}.etc.txt + +### +# GFDLTracker Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gfdltracker +### + GFDL_TRACKER_GRIB_VERSION = 2 GFDL_TRACKER_NML_TEMPLATE_FILE = {PARM_BASE}/use_cases/met_tool_wrapper/GFDLTracker/template.nml diff --git a/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_Genesis.conf b/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_Genesis.conf index 828776f069..b0b996db71 100644 --- a/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_Genesis.conf +++ b/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_Genesis.conf @@ -1,7 +1,29 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GFDLTracker/GFDLTracker_Genesis.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### PROCESS_LIST = GFDLTracker + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H @@ -11,6 +33,12 @@ INIT_INCREMENT = 6H LEAD_SEQ = * + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + GFDL_TRACKER_INPUT_DIR = {INPUT_BASE}/met_test/gfdl/gfs GFDL_TRACKER_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs.t{init?fmt=%H}z.pgrb2.1p00.f{lead?fmt=%3H} @@ -23,6 +51,12 @@ GFDL_TRACKER_GEN_VITALS_INPUT_TEMPLATE = genesis.vitals.gfso.glbl.{init?fmt=%Y%m GFDL_TRACKER_OUTPUT_DIR = {OUTPUT_BASE}/gfdl_tracker/genesis GFDL_TRACKER_OUTPUT_TEMPLATE = gfs.{init?fmt=%Y%m%d%H}.genesis.txt + +### +# GFDLTracker Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gfdltracker +### + GFDL_TRACKER_GRIB_VERSION = 2 GFDL_TRACKER_NML_TEMPLATE_FILE = {PARM_BASE}/use_cases/met_tool_wrapper/GFDLTracker/template.nml @@ -127,6 +161,5 @@ GFDL_TRACKER_USER_WANTS_TO_TRACK_THICK500850 = True GFDL_TRACKER_USER_WANTS_TO_TRACK_THICK200500 = True GFDL_TRACKER_USER_WANTS_TO_TRACK_THICK200850 = True - GFDL_TRACKER_VERBOSE_VERB = 3 GFDL_TRACKER_VERBOSE_VERB_G2 = 0 diff --git a/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_TC.conf b/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_TC.conf index 45b2b1bfb6..a76295832c 100644 --- a/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_TC.conf +++ b/parm/use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_TC.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GFDLTracker/GFDLTracker_TC.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GFDLTracker + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H @@ -11,6 +34,12 @@ LEAD_SEQ = * #LEAD_SEQ = begin_end_incr(0, 18, 6)H #LEAD_SEQ = begin_end_incr(0, 9, 1)H, begin_end_incr(12,126,3)H + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + GFDL_TRACKER_INPUT_DIR = {INPUT_BASE}/met_test/gfdl/hwrf GFDL_TRACKER_INPUT_TEMPLATE = hwrf.25x25.EP152016.{init?fmt=%Y%m%d%H}.f{lead?fmt=%5M} @@ -20,6 +49,12 @@ GFDL_TRACKER_TC_VITALS_INPUT_TEMPLATE = tcvit_rsmc_storms.txt GFDL_TRACKER_OUTPUT_DIR = {OUTPUT_BASE}/gfdl_tracker/tc GFDL_TRACKER_OUTPUT_TEMPLATE = hwrf.{init?fmt=%Y%m%d%H}.track.txt + +### +# GFDLTracker Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gfdltracker +### + GFDL_TRACKER_GRIB_VERSION = 1 GFDL_TRACKER_NML_TEMPLATE_FILE = {PARM_BASE}/use_cases/met_tool_wrapper/GFDLTracker/template.nml diff --git a/parm/use_cases/met_tool_wrapper/GempakToCF/GempakToCF.conf b/parm/use_cases/met_tool_wrapper/GempakToCF/GempakToCF.conf index 115089ad58..4e0591ad83 100644 --- a/parm/use_cases/met_tool_wrapper/GempakToCF/GempakToCF.conf +++ b/parm/use_cases/met_tool_wrapper/GempakToCF/GempakToCF.conf @@ -1,60 +1,50 @@ -# Gempak to NetCDF Configurations - -# 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 GempakToCF for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GempakToCF/GempakToCF.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GempakToCF -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_END -# %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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG=2017062200 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END=2017062212 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT=12H -# 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 = 0 -# 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 -# If True, do not run GempakToCF if output file already exists -GEMPAKTOCF_SKIP_IF_OUTPUT_EXISTS = False -[dir] -# input and output data directories -GEMPAKTOCF_INPUT_DIR = {INPUT_BASE}/met_test/new/gempak -GEMPAKTOCF_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/GempakToCF +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -[filename_templates] -# format of filenames +GEMPAKTOCF_INPUT_DIR = {INPUT_BASE}/met_test/new/gempak GEMPAKTOCF_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/mrms_qpe_{valid?fmt=%Y%m%d%H}.grd + +GEMPAKTOCF_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/GempakToCF GEMPAKTOCF_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/mrms_qpe_{valid?fmt=%Y%m%d%H}.nc +GEMPAKTOCF_SKIP_IF_OUTPUT_EXISTS = False diff --git a/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf b/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf index f25bd739d7..bc11b92366 100644 --- a/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf +++ b/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GenEnsProd/GenEnsProd.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GenEnsProd + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -16,13 +35,13 @@ LEAD_SEQ = 24H LOOP_ORDER = processes + ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### GEN_ENS_PROD_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst - -# ensemble gep4 does not exist in sample input data GEN_ENS_PROD_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/arw-fer-gep1/d01_{init?fmt=%Y%m%d%H}_{lead?fmt=%3H}00.grib, {init?fmt=%Y%m%d%H}/arw-sch-gep2/d01_{init?fmt=%Y%m%d%H}_{lead?fmt=%3H}00.grib, @@ -36,14 +55,13 @@ GEN_ENS_PROD_CTRL_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst GEN_ENS_PROD_CTRL_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/arw-fer-gep1/d01_{init?fmt=%Y%m%d%H}_{lead?fmt=%3H}00.grib -# there are 7 ensembles but 1 is used as control, so specify 6 members -GEN_ENS_PROD_N_MEMBERS = 6 - GEN_ENS_PROD_OUTPUT_DIR = {OUTPUT_BASE}/gen_ens_prod GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{valid?fmt=%Y%m%d_%H%M%S}V_ens.nc + ### # Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### ENS_VAR1_NAME = APCP @@ -68,10 +86,14 @@ ENS_VAR5_NAME = WIND ENS_VAR5_LEVELS = Z10 ENS_VAR5_THRESH = >=5.0 + ### -# GenEnsProd +# GenEnsProd Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#genensprod ### +GEN_ENS_PROD_N_MEMBERS = 6 + #LOG_GEN_ENS_PROD_VERBOSITY = 2 # MODEL = WRF diff --git a/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask.conf b/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask.conf index 98d8da67d0..c601cefde1 100644 --- a/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask.conf +++ b/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask.conf @@ -1,82 +1,67 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only GenVxMask for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GenVxMask/GenVxMask.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GenVxMask -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = 2012040900 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END = 2012040900 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 12H -# 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 GenVxMask only -#LOG_GEN_VX_MASK_VERBOSITY = 1 - -GEN_VX_MASK_SKIP_IF_OUTPUT_EXISTS = False - -# Time relative to valid time (in seconds if no units are specified) 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. -GEN_VX_MASK_FILE_WINDOW_BEGIN = 0 -GEN_VX_MASK_FILE_WINDOW_END = 0 - -# Options to add to the gen_vx_mask command line arguments. See MET User's Guide for more information -# This can be a comma separated list of options to run GenVxMask multiple times -# The length of this list must be the same length as the GEN_VX_MASK_INPUT_MASK_TEMPLATE list -GEN_VX_MASK_OPTIONS = -type poly -# End of [config] section and start of [filename_templates] section -[filename_templates] +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Template to look for input to GenVxMask relative to GEN_VX_MASK_INPUT_DIR +GEN_VX_MASK_INPUT_DIR = GEN_VX_MASK_INPUT_TEMPLATE = {INPUT_BASE}/met_test/new/gfs/gfs_{init?fmt=%Y%m%d%H}_F{lead?fmt=%3H}.grib +GEN_VX_MASK_INPUT_MASK_DIR = GEN_VX_MASK_INPUT_MASK_TEMPLATE = {INPUT_BASE}/met_test/data/poly/CONUS.poly -# Template to use to write output from GenVxMask -# This can be a comma separated list of options to run GenVxMask multiple times -# The length of this list must be the same length as the GEN_VX_MASK_OPTIONS list +GEN_VX_MASK_OUTPUT_DIR = GEN_VX_MASK_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/GenVxMask/POLY_GFS_LATLON_CONUS_mask.nc -# End of [filename_templates] section and start of [dir] section -[dir] -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -GEN_VX_MASK_INPUT_DIR = +GEN_VX_MASK_SKIP_IF_OUTPUT_EXISTS = False -GEN_VX_MASK_INPUT_MASK_DIR = +GEN_VX_MASK_FILE_WINDOW_BEGIN = 0 +GEN_VX_MASK_FILE_WINDOW_END = 0 -GEN_VX_MASK_OUTPUT_DIR = +### +# GenVxMask Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#genvxmask +### + +#LOG_GEN_VX_MASK_VERBOSITY = 2 + +GEN_VX_MASK_OPTIONS = -type poly diff --git a/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask_multiple.conf b/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask_multiple.conf index 99ae17a72e..92f08c16a4 100644 --- a/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask_multiple.conf +++ b/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask_multiple.conf @@ -1,74 +1,66 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only GenVxMask for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GenVxMask/GenVxMask_multiple.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GenVxMask -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = 2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END = 2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 24H -# 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 GenVxMask only -#LOG_GEN_VX_MASK_VERBOSITY = 2 - -GEN_VX_MASK_SKIP_IF_OUTPUT_EXISTS = False - -# Time relative to valid time (in seconds if no units are specified) 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. -GEN_VX_MASK_FILE_WINDOW_BEGIN = 0 -GEN_VX_MASK_FILE_WINDOW_END = 0 - -GEN_VX_MASK_OPTIONS = -type lat -thresh 'ge30&&le50', -type lon -thresh 'le-70&&ge-130' -intersection -name lat_lon_mask -[filename_templates] +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Template to look for input to GenVxMask relative to GEN_VX_MASK_INPUT_DIR +GEN_VX_MASK_INPUT_DIR = GEN_VX_MASK_INPUT_TEMPLATE = {INPUT_BASE}/met_test/data/sample_fcst/{init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%2H}.tm00_G212 +GEN_VX_MASK_INPUT_MASK_DIR = GEN_VX_MASK_INPUT_MASK_TEMPLATE = LATLON_GRID, LATLON_GRID -# Template to use to write output from GenVxMask +GEN_VX_MASK_OUTPUT_DIR = GEN_VX_MASK_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/GenVxMask/LAT_LON_mask.nc -[dir] +GEN_VX_MASK_FILE_WINDOW_BEGIN = 0 +GEN_VX_MASK_FILE_WINDOW_END = 0 -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -GEN_VX_MASK_INPUT_DIR = +GEN_VX_MASK_SKIP_IF_OUTPUT_EXISTS = False -GEN_VX_MASK_INPUT_MASK_DIR = -GEN_VX_MASK_OUTPUT_DIR = +### +# GenVxMask Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#genvxmask +### + +#LOG_GEN_VX_MASK_VERBOSITY = 2 + +GEN_VX_MASK_OPTIONS = -type lat -thresh 'ge30&&le50', -type lon -thresh 'le-70&&ge-130' -intersection -name lat_lon_mask diff --git a/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask_with_arguments.conf b/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask_with_arguments.conf index 3ed2658738..3c8009e848 100644 --- a/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask_with_arguments.conf +++ b/parm/use_cases/met_tool_wrapper/GenVxMask/GenVxMask_with_arguments.conf @@ -1,74 +1,66 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only GenVxMask for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GenVxMask/GenVxMask_with_arguments.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GenVxMask -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = 2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END = 2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 24H -# 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 GenVxMask only -#LOG_GEN_VX_MASK_VERBOSITY = 2 - -GEN_VX_MASK_SKIP_IF_OUTPUT_EXISTS = False - -# Time relative to valid time (in seconds if no units are specified) 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. -GEN_VX_MASK_FILE_WINDOW_BEGIN = 0 -GEN_VX_MASK_FILE_WINDOW_END = 0 - -GEN_VX_MASK_OPTIONS = -type data -input_field 'name="APCP"; level="A{lead?fmt=%2H}";' -mask_field 'name="TMP"; level="Z2";' -thresh 'gt300' -value -9999 -name "APCP_{lead?fmt=%2H}_where_TMP_Z2_le300" -[filename_templates] +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Template to look for input to GenVxMask relative to GEN_VX_MASK_INPUT_DIR +GEN_VX_MASK_INPUT_DIR = GEN_VX_MASK_INPUT_TEMPLATE = {INPUT_BASE}/met_test/data/sample_fcst/{init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%2H}.tm00_G212 +GEN_VX_MASK_INPUT_MASK_DIR = GEN_VX_MASK_INPUT_MASK_TEMPLATE = {GEN_VX_MASK_INPUT_TEMPLATE} -# Template to use to write output from GenVxMask +GEN_VX_MASK_OUTPUT_DIR = GEN_VX_MASK_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/GenVxMask/DATA_INPUT_FIELD_APCP_{lead?fmt=%2H}_where_TMP_Z2_le300.nc -[dir] +GEN_VX_MASK_SKIP_IF_OUTPUT_EXISTS = False -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -GEN_VX_MASK_INPUT_DIR = +GEN_VX_MASK_FILE_WINDOW_BEGIN = 0 +GEN_VX_MASK_FILE_WINDOW_END = 0 -GEN_VX_MASK_INPUT_MASK_DIR = -GEN_VX_MASK_OUTPUT_DIR = +### +# GenVxMask Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#genvxmask +### + +#LOG_GEN_VX_MASK_VERBOSITY = 2 + +GEN_VX_MASK_OPTIONS = -type data -input_field 'name="APCP"; level="A{lead?fmt=%2H}";' -mask_field 'name="TMP"; level="Z2";' -thresh 'gt300' -value -9999 -name "APCP_{lead?fmt=%2H}_where_TMP_Z2_le300" diff --git a/parm/use_cases/met_tool_wrapper/GridDiag/GridDiag.conf b/parm/use_cases/met_tool_wrapper/GridDiag/GridDiag.conf index 228961701f..f2d3adb84f 100644 --- a/parm/use_cases/met_tool_wrapper/GridDiag/GridDiag.conf +++ b/parm/use_cases/met_tool_wrapper/GridDiag/GridDiag.conf @@ -1,39 +1,60 @@ -# -# CONFIGURATION -# [config] -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. -LOOP_ORDER = processes +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GridDiag/GridDiag.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# 'Tasks' to be run PROCESS_LIST = GridDiag -LOOP_BY = INIT -# The init time begin and end times, increment, and last init hour. +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +GRID_DIAG_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID + +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2016092900 INIT_END = 2016092900 - -# This is the step-size. Increment in seconds from the begin time to the end time -# set to 6 hours = 21600 seconds INIT_INCREMENT = 21600 LEAD_SEQ = 141, 144, 147 -# frequency to run the tool -# valid options include: -# RUN_ONCE, RUN_ONCE_PER_INIT_OR_VALID, RUN_ONCE_PER_LEAD, RUN_ONCE_FOR_EACH -GRID_DIAG_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID -#LOG_GRID_DIAG_VERBOSITY = 2 +LOOP_ORDER = processes -GRID_DIAG_DESC = GFS -# Configuration file -GRID_DIAG_CONFIG_FILE = {CONFIG_DIR}/GridDiagConfig_wrapped +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +GRID_DIAG_INPUT_DIR = {INPUT_BASE}/met_test/new/model_data/grib2/gfs_fv3 +GRID_DIAG_INPUT_TEMPLATE = gfs.subset.t00z.pgrb2.0p25.f{lead?fmt=%H}, gfs.subset.t00z.pgrb2.0p25.f{lead?fmt=%H} + +GRID_DIAG_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/GridDiag +GRID_DIAG_OUTPUT_TEMPLATE = grid_diag_out.nc + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### BOTH_VAR1_NAME = APCP BOTH_VAR1_LEVELS = L0 @@ -43,10 +64,18 @@ BOTH_VAR2_NAME = PWAT BOTH_VAR2_LEVELS = L0 BOTH_VAR2_OPTIONS = n_bins = 35; range = [35, 70]; -# The following variables set values in the MET -# configuration file used by this example -# Leaving these values commented will use the value -# found in the default MET configuration file + +### +# GridDiag Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#griddiag +### + +#LOG_GRID_DIAG_VERBOSITY = 2 + +GRID_DIAG_DESC = GFS + +GRID_DIAG_CONFIG_FILE = {PARM_BASE}/met_config/GridDiagConfig_wrapped + #GRID_DIAG_REGRID_TO_GRID = NONE #GRID_DIAG_REGRID_METHOD = NEAREST #GRID_DIAG_REGRID_WIDTH = 1 @@ -54,21 +83,3 @@ BOTH_VAR2_OPTIONS = n_bins = 35; range = [35, 70]; #GRID_DIAG_REGRID_SHAPE = SQUARE GRID_DIAG_MASK_POLY = MET_BASE/poly/SAO.poly - -# -# DIRECTORIES -# -[dir] - -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config - -GRID_DIAG_INPUT_DIR = {INPUT_BASE}/met_test/new/model_data/grib2/gfs_fv3 - -GRID_DIAG_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/GridDiag - -[filename_templates] - -GRID_DIAG_INPUT_TEMPLATE = gfs.subset.t00z.pgrb2.0p25.f{lead?fmt=%H}, gfs.subset.t00z.pgrb2.0p25.f{lead?fmt=%H} - -GRID_DIAG_OUTPUT_TEMPLATE = grid_diag_out.nc diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_forecast.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_forecast.conf index 2ec6d04393..f67e2ac32e 100644 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_forecast.conf +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_forecast.conf @@ -1,46 +1,32 @@ -# GridStat Forecast Configuration - -# section heading for [config] variables - all items below this line and -# before the next section heading correspond to the [config] section [config] -# Name to identify model (forecast) data in output -MODEL = WRF +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GridStat/GridStat_multiple_config_files.html -# 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 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# Name of forecast variable 1 -FCST_VAR1_NAME = APCP +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# List of levels to evaluate for forecast variable 1 -# A03 = 3 hour accumulation in GRIB file -FCST_VAR1_LEVELS = A03 +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst +FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = WRF -# List of thresholds to evaluate for each name/level combination for -# both forecast and observation variable 1 +FCST_VAR1_NAME = APCP +FCST_VAR1_LEVELS = A03 FCST_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 -# 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 -# Set to true if forecast data is probabilistic FCST_IS_PROB = false - -# End of [config] section and start of [dir] section -[dir] - -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst - - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_observation.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_observation.conf index 1818444a49..c0f7bc6469 100644 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_observation.conf +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_observation.conf @@ -1,44 +1,32 @@ -# GridStat Observation Configuration - -# section heading for [config] variables - all items below this line and -# before the next section heading correspond to the [config] section [config] -# Name to identify observation data in output -OBTYPE = MC_PCP +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GridStat/GridStat_multiple_config_files.html -# Name of observation variable 1 -OBS_VAR1_NAME = APCP_03 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# List of levels to evaluate for observation variable 1 -# (*,*) is NetCDF notation - must include quotes around these values! -# must be the same length as FCST_VAR1_LEVELS -OBS_VAR1_LEVELS = "(*,*)" +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# List of thresholds to evaluate for each name/level combination for -# both forecast and observation variable 1 -OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new +OBS_GRID_STAT_INPUT_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}_A03h.nc -# 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. OBS_GRID_STAT_FILE_WINDOW_BEGIN = 0 OBS_GRID_STAT_FILE_WINDOW_END = 0 -# Set to true if observation data is probabilistic -# Only used if configuring forecast data as the 'OBS' input -OBS_IS_PROB = false - -# End of [config] section and start of [dir] section -[dir] - -# directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### +OBTYPE = MC_PCP -# End of [dir] section and start of [filename_templates] section -[filename_templates] +OBS_VAR1_NAME = APCP_03 +OBS_VAR1_LEVELS = "(*,*)" +OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}_A03h.nc +OBS_IS_PROB = false diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_python_embedding.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_python_embedding.conf index 156d0509f7..46a2354fae 100644 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_python_embedding.conf @@ -1,117 +1,103 @@ -# 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 +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/GridStat/GridStat_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 12H -# 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 = 12 -# 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 -# Location of MET config file to pass to GridStat -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# 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 = G130 -# Name to identify model (forecast) data in output -MODEL = FCST +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst +FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -# Name to identify observation data in output -OBTYPE = OBS +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new +OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -# set the desc value in the GridStat MET config 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_CLIMO_MEAN_INPUT_DIR = +GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = -# Name of forecast variable 1 -FCST_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +GRID_STAT_CLIMO_STDEV_INPUT_DIR = +GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -# Name of observation variable 1 -OBS_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/GridStat_python_embedding +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} -# 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 -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = 1 +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# shape value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE +MODEL = FCST +OBTYPE = OBS -# cov thresh list passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 +FCST_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +FCST_IS_PROB = false +FCST_GRID_STAT_PROB_THRESH = ==0.1 + +OBS_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS -# 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 +### +# GridStat Settings (optional) +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### + +#LOG_GRID_STAT_VERBOSITY = 2 + +GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped -# Set to true if observation data is probabilistic -# Only used if configuring forecast data as the 'OBS' input -OBS_IS_PROB = false +GRID_STAT_REGRID_TO_GRID = G130 -# Only used if OBS_IS_PROB is true - sets probabilistic threshold -OBS_GRID_STAT_PROB_THRESH = ==0.1 +GRID_STAT_DESC = NA + +GRID_STAT_NEIGHBORHOOD_WIDTH = 1 +GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE + +GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 GRID_STAT_OUTPUT_PREFIX = {MODEL}_vs_{OBTYPE} @@ -126,48 +112,4 @@ GRID_STAT_NC_PAIRS_FLAG_DIFF = FALSE GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE - -# End of [config] section and start of [dir] section -[dir] - -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst - -# directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new - -# 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 to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/GridStat_python_embedding - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} - -# Template to look 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 to look for climatology input to GridStat relative to GRID_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -# Used to specify one or more verification mask files for GridStat -# Not used for this example GRID_STAT_VERIFICATION_MASK_TEMPLATE = diff --git a/parm/use_cases/met_tool_wrapper/IODA2NC/IODA2NC.conf b/parm/use_cases/met_tool_wrapper/IODA2NC/IODA2NC.conf index 2d184ac189..0948944a55 100644 --- a/parm/use_cases/met_tool_wrapper/IODA2NC/IODA2NC.conf +++ b/parm/use_cases/met_tool_wrapper/IODA2NC/IODA2NC.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/IODA2NC/IODA2NC.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = IODA2NC + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = VALID @@ -12,8 +31,10 @@ VALID_BEG = 2020031012 VALID_END = 2020031012 VALID_INCREMENT = 6H + ### -# File I/O Info +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### IODA2NC_INPUT_DIR = {INPUT_BASE}/met_test/new/ioda @@ -23,21 +44,15 @@ IODA2NC_OUTPUT_DIR = {OUTPUT_BASE}/ioda2nc IODA2NC_OUTPUT_TEMPLATE = ioda.NC001007.{valid?fmt=%Y%m%d%H}.summary.nc -# OPTIONAL CONFIGURATIONS - ### -# ioda2nc command line arguments +# IODA2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ioda2nc ### #IODA2NC_VALID_BEG = {valid?fmt=%Y%m%d_%H?shift=-24H} #IODA2NC_VALID_END = {valid?fmt=%Y%m%d_%H} #IODA2NC_NMSG = 10 - -### -# ioda2nc configuration variables -### - #IODA2NC_MESSAGE_TYPE = #IODA2NC_MESSAGE_TYPE_MAP = diff --git a/parm/use_cases/met_tool_wrapper/METdbLoad/METdbLoad.conf b/parm/use_cases/met_tool_wrapper/METdbLoad/METdbLoad.conf index 7aa355faea..de92ab8245 100644 --- a/parm/use_cases/met_tool_wrapper/METdbLoad/METdbLoad.conf +++ b/parm/use_cases/met_tool_wrapper/METdbLoad/METdbLoad.conf @@ -1,9 +1,32 @@ [config] -# METdbLoad example +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/METdbLoad/METdbLoad.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### PROCESS_LIST = METDbLoad + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +MET_DB_LOAD_RUNTIME_FREQ = RUN_ONCE + LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H @@ -13,23 +36,31 @@ VALID_INCREMENT = 12H LOOP_ORDER = processes -MET_DB_LOAD_RUNTIME_FREQ = RUN_ONCE + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +MET_DB_LOAD_INPUT_TEMPLATE = {INPUT_BASE}/met_test/out/grid_stat + + +### +# METdbLoad Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#metdbload +### MET_DATA_DB_DIR = {METPLUS_BASE}/../METdatadb MET_DB_LOAD_XML_FILE = {PARM_BASE}/use_cases/met_tool_wrapper/METdbLoad/METdbLoadConfig.xml -# If true, remove temporary XML with values substituted from XML_FILE -# Set to false for debugging purposes MET_DB_LOAD_REMOVE_TMP_XML = True -# connection info MET_DB_LOAD_MV_HOST = localhost:3306 MET_DB_LOAD_MV_DATABASE = mv_metplus_test MET_DB_LOAD_MV_USER = root MET_DB_LOAD_MV_PASSWORD = mvuser -# data info MET_DB_LOAD_MV_VERBOSE = false MET_DB_LOAD_MV_INSERT_SIZE = 1 MET_DB_LOAD_MV_MODE_HEADER_DB_CHECK = false @@ -40,5 +71,3 @@ MET_DB_LOAD_MV_LOAD_STAT = true MET_DB_LOAD_MV_LOAD_MODE = false MET_DB_LOAD_MV_LOAD_MTD = false MET_DB_LOAD_MV_LOAD_MPR = false - -MET_DB_LOAD_INPUT_TEMPLATE = {INPUT_BASE}/met_test/out/grid_stat diff --git a/parm/use_cases/met_tool_wrapper/MODE/MODE.conf b/parm/use_cases/met_tool_wrapper/MODE/MODE.conf index fa243f518e..7d094f1f0c 100644 --- a/parm/use_cases/met_tool_wrapper/MODE/MODE.conf +++ b/parm/use_cases/met_tool_wrapper/MODE/MODE.conf @@ -1,10 +1,31 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/MODE/MODE.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = MODE -LOOP_ORDER = times -LOOP_BY = INIT +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG=2005080700 INIT_END=2005080700 @@ -12,7 +33,13 @@ INIT_INCREMENT = 12H LEAD_SEQ = 12 -#LOG_MODE_VERBOSITY = 2 +LOOP_ORDER = times + + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### FCST_MODE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst FCST_MODE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 @@ -23,38 +50,33 @@ OBS_MODE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d%H}/wrfprs_ruc13_00.tm00_G212 MODE_OUTPUT_DIR = {OUTPUT_BASE}/mode MODE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H} +FCST_MODE_FILE_WINDOW_BEGIN = 0 +FCST_MODE_FILE_WINDOW_END = 0 -MODEL = WRF - -MODE_DESC = NA - -OBTYPE = WRF - -MODE_CONFIG_FILE = {PARM_BASE}/met_config/MODEConfig_wrapped +OBS_MODE_FILE_WINDOW_BEGIN = 0 +OBS_MODE_FILE_WINDOW_END = 0 +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -#MODE_FCST_FILE_TYPE = +FCST_IS_PROB = false FCST_VAR1_NAME = RH FCST_VAR1_LEVELS = P500 -#MODE_MULTIVAR_LOGIC = - FCST_MODE_CONV_RADIUS = 5 FCST_MODE_CONV_THRESH = >=80.0 FCST_MODE_MERGE_THRESH = >=75.0 FCST_MODE_MERGE_FLAG = NONE - +#MODE_FCST_FILE_TYPE = #MODE_FCST_FILTER_ATTR_NAME = #MODE_FCST_FILTER_ATTR_THRESH = #MODE_FCST_CENSOR_THRESH = #MODE_FCST_CENSOR_VAL = #MODE_FCST_VLD_THRESH = -FCST_IS_PROB = false - - -#MODE_OBS_FILE_TYPE = OBS_VAR1_NAME = RH OBS_VAR1_LEVELS = P500 @@ -64,19 +86,31 @@ OBS_MODE_CONV_THRESH = >=80.0 OBS_MODE_MERGE_THRESH = >=75.0 OBS_MODE_MERGE_FLAG = NONE +#MODE_OBS_FILE_TYPE = + #MODE_OBS_FILTER_ATTR_NAME = #MODE_OBS_FILTER_ATTR_THRESH = #MODE_OBS_CENSOR_THRESH = #MODE_OBS_CENSOR_VAL = #MODE_OBS_VLD_THRESH = -OBS_IS_PROB = false +### +# MODE Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mode +### -FCST_MODE_FILE_WINDOW_BEGIN = 0 -FCST_MODE_FILE_WINDOW_END = 0 -OBS_MODE_FILE_WINDOW_BEGIN = 0 -OBS_MODE_FILE_WINDOW_END = 0 +#LOG_MODE_VERBOSITY = 2 + +MODEL = WRF + +MODE_DESC = NA + +OBTYPE = WRF + +MODE_CONFIG_FILE = {PARM_BASE}/met_config/MODEConfig_wrapped + +#MODE_MULTIVAR_LOGIC = MODE_REGRID_TO_GRID = NONE #MODE_REGRID_METHOD = diff --git a/parm/use_cases/met_tool_wrapper/MODE/MODE_python_embedding.conf b/parm/use_cases/met_tool_wrapper/MODE/MODE_python_embedding.conf index a9a5cb45a2..84cc1e417a 100644 --- a/parm/use_cases/met_tool_wrapper/MODE/MODE_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/MODE/MODE_python_embedding.conf @@ -1,161 +1,107 @@ -# MODE 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 MODE for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/MODE/MODE_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = MODE -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# 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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 12H -# 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 = 12 -# 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 MODE only -#LOG_MODE_VERBOSITY = 2 -# Location of MET config file to pass to the MODE -# References CONFIG_DIR from the [dir] section -MODE_CONFIG_FILE = {CONFIG_DIR}/MODEConfig_wrapped +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# grid to remap data. Value is set as the 'to_grid' variable in the 'regrid' dictionary -# See MET User's Guide for more information -MODE_REGRID_TO_GRID = NONE +FCST_MODE_INPUT_DIR = +FCST_MODE_INPUT_TEMPLATE = PYTHON_NUMPY -MODE_MASK_MISSING_FLAG = BOTH +OBS_MODE_INPUT_DIR = +OBS_MODE_INPUT_TEMPLATE = PYTHON_NUMPY -MODE_OUTPUT_PREFIX = FCST_vs_OBS +MODE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/MODE_python_embedding +MODE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H} -# Location of merge config file to pass to the MODE -# References CONFIG_DIR from the [dir] section -# Not used if unset or set to an empty string -MODE_MERGE_CONFIG_FILE = +FCST_MODE_FILE_WINDOW_BEGIN = 0 +FCST_MODE_FILE_WINDOW_END = 0 +OBS_MODE_FILE_WINDOW_BEGIN = 0 +OBS_MODE_FILE_WINDOW_END = 0 -# Name to identify model (forecast) data in output -MODEL = WRF -# Name to identify observation data in output -OBTYPE = WRF +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -#MODE_GRID_RES = 4 +FCST_IS_PROB = false -# turn on quilting -MODE_QUILT = True +FCST_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST -# convolution radius list FCST_MODE_CONV_RADIUS = 5 - -# convolution radius list -OBS_MODE_CONV_RADIUS = 5 - -# convolution threshold list FCST_MODE_CONV_THRESH = >=80.0 - -# convolution threshold list -OBS_MODE_CONV_THRESH = >=80.0 - -# merge threshold list FCST_MODE_MERGE_THRESH = >=75.0 - -# merge threshold list -OBS_MODE_MERGE_THRESH = >=75.0 - -# merge flag: options are NONE, THRESH, ENGINE, or BOTH FCST_MODE_MERGE_FLAG = NONE -# merge flag: options are NONE, THRESH, ENGINE, or BOTH -OBS_MODE_MERGE_FLAG = NONE - -# List of variables to compare in MODE - FCST_VAR1 variables correspond -# to OBS_VAR1 variables - -# Name of forecast variable 1 -FCST_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST - -# Name of observation variable 1 OBS_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS - -# List of levels to evaluate for observation variable 1 -# P500 = 500 mb pressure level in GRIB file -# must be the same length as FCST_VAR1_LEVELS OBS_VAR1_LEVELS = P500 -# 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_MODE_FILE_WINDOW_BEGIN = 0 -FCST_MODE_FILE_WINDOW_END = 0 -OBS_MODE_FILE_WINDOW_BEGIN = 0 -OBS_MODE_FILE_WINDOW_END = 0 +OBS_MODE_CONV_THRESH = >=80.0 +OBS_MODE_CONV_RADIUS = 5 +OBS_MODE_MERGE_THRESH = >=75.0 +OBS_MODE_MERGE_FLAG = NONE -# Set to true if forecast data is probabilistic -FCST_IS_PROB = false -# Set to true if observation data is probabilistic -# Only used if configuring forecast data as the 'OBS' input -OBS_IS_PROB = false +### +# MODE Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mode +### -# End of [config] section and start of [dir] section -[dir] +#LOG_MODE_VERBOSITY = 2 -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config +MODE_CONFIG_FILE = {PARM_BASE}/met_config/MODEConfig_wrapped -# directory containing forecast input to MODE -FCST_MODE_INPUT_DIR = +MODE_REGRID_TO_GRID = NONE -# directory containing observation input to MODE -OBS_MODE_INPUT_DIR = +MODE_MASK_MISSING_FLAG = BOTH -# directory to write output from MODE -MODE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/MODE_python_embedding +MODE_OUTPUT_PREFIX = FCST_vs_OBS -# End of [dir] section and start of [filename_templates] section -[filename_templates] +MODE_MERGE_CONFIG_FILE = -# Template to look for forecast input to MODE relative to FCST_MODE_INPUT_DIR -FCST_MODE_INPUT_TEMPLATE = PYTHON_NUMPY +MODEL = WRF -# Template to look for observation input to MODE relative to OBS_MODE_INPUT_DIR -OBS_MODE_INPUT_TEMPLATE = PYTHON_NUMPY +OBTYPE = WRF -# Optional subdirectories relative to MODE_OUTPUT_DIR to write output from MODE -MODE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H} +#MODE_GRID_RES = 4 + +MODE_QUILT = True -# Used to specify a verification mask file for MODE -# Not used for this example. MODE_VERIFICATION_MASK_TEMPLATE = diff --git a/parm/use_cases/met_tool_wrapper/MTD/MTD.conf b/parm/use_cases/met_tool_wrapper/MTD/MTD.conf index 6aaec82872..8098d9c82f 100644 --- a/parm/use_cases/met_tool_wrapper/MTD/MTD.conf +++ b/parm/use_cases/met_tool_wrapper/MTD/MTD.conf @@ -1,122 +1,95 @@ -# MTD (MODE Time Domain) METplus Configuration - [config] -# List of applications to run - only MTD for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/MTD/MTD.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = MTD -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT=1M -# 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 = 6H, 9H, 12H - -# 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 -# if true, only process a single data set with MTD -MTD_SINGLE_RUN = False -# Data to process in single mode -# FCST and OBS are valid options -MTD_SINGLE_DATA_SRC = OBS +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# forecast convolution radius list -FCST_MTD_CONV_RADIUS = 10 +FCST_MTD_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst +FCST_MTD_INPUT_TEMPLATE= {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 -# forecast convolution threshold list -FCST_MTD_CONV_THRESH = >=0.0 +OBS_MTD_INPUT_DIR = {INPUT_BASE}/met_test/new +OBS_MTD_INPUT_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}_A03h.nc -# observation convolution radius list -OBS_MTD_CONV_RADIUS = 10 +MTD_OUTPUT_DIR = {OUTPUT_BASE}/mtd +MTD_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H} -# observation convolution threshold list -OBS_MTD_CONV_THRESH = >=0.0 -# list of variables to compare +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +FCST_IS_PROB = False +FCST_PROB_IN_GRIB_PDS = false + FCST_VAR1_NAME = APCP FCST_VAR1_LEVELS = A03 FCST_VAR1_THRESH = gt12.7 +FCST_MTD_CONV_RADIUS = 10 +FCST_MTD_CONV_THRESH = >=0.0 + OBS_VAR1_NAME = APCP_03 OBS_VAR1_LEVELS = "(*,*)" OBS_VAR1_THRESH = gt12.7 -# description of data to be processed -# used in output file path +OBS_MTD_CONV_RADIUS = 10 +OBS_MTD_CONV_THRESH = >=0.0 + + +### +# MTD Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mtd +### + +MTD_SINGLE_RUN = False +MTD_SINGLE_DATA_SRC = OBS + MODEL = WRF MTD_DESC = NA OBTYPE = MC_PCP -# location of MODE Time Domain MET config file -# References CONFIG_DIR from the [dir] section -MTD_CONFIG_FILE = {CONFIG_DIR}/MTDConfig_wrapped +MTD_CONFIG_FILE = {PARM_BASE}/met_config/MTDConfig_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 MTD_REGRID_TO_GRID = OBS -# Minimum volume MTD_MIN_VOLUME = 2000 -# output prefix to add to output filenames MTD_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME}_{CURRENT_FCST_LEVEL} - -# set to True if forecast data is probabilistic -FCST_IS_PROB = False - -# True if probabilistic information is in the GRIB Product Definition Section -FCST_PROB_IN_GRIB_PDS = false - - -# End of [config] section and start of [dir] section -[dir] -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config - -# input and output data directories for each application in PROCESS_LIST -FCST_MTD_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst - -OBS_MTD_INPUT_DIR = {INPUT_BASE}/met_test/new - -MTD_OUTPUT_DIR = {OUTPUT_BASE}/mtd - -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# format of filenames - -FCST_MTD_INPUT_TEMPLATE= {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 - -OBS_MTD_INPUT_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}_A03h.nc - -MTD_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H} \ No newline at end of file diff --git a/parm/use_cases/met_tool_wrapper/MTD/MTD_python_embedding.conf b/parm/use_cases/met_tool_wrapper/MTD/MTD_python_embedding.conf index eb0cc3baa2..bf0d0c4d90 100644 --- a/parm/use_cases/met_tool_wrapper/MTD/MTD_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/MTD/MTD_python_embedding.conf @@ -1,129 +1,95 @@ -# MTD (MODE Time Domain) using Python Embedding METplus Configuration - [config] -# List of applications to run - only MTD for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/MTD/MTD_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = MTD -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT=1M -# 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 = 0, 1, 2 - -# 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 -# if true, only process a single data set with MTD -MTD_SINGLE_RUN = False - -# Data to process in single mode -# FCST and OBS are valid options -MTD_SINGLE_DATA_SRC = OBS - -# forecast convolution radius list -FCST_MTD_CONV_RADIUS = 0 -# forecast convolution threshold list -FCST_MTD_CONV_THRESH = >=10 - -# observation convolution radius list -OBS_MTD_CONV_RADIUS = 15 - -# observation convolution threshold list -OBS_MTD_CONV_THRESH = >=1.0 - -# list of variables to compare -FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST - -OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS - -FCST_MTD_INPUT_DATATYPE = PYTHON_NUMPY - -OBS_MTD_INPUT_DATATYPE = PYTHON_NUMPY +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### +FCST_MTD_INPUT_DIR = {INPUT_BASE}/met_test/data/python +FCST_MTD_INPUT_TEMPLATE= fcst.txt -# description of data to be processed -# used in output file path -MODEL = FCST -OBTYPE = OBS +OBS_MTD_INPUT_DIR = {INPUT_BASE}/met_test/data/python +OBS_MTD_INPUT_TEMPLATE = obs.txt -#MTD_DESC = +MTD_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/MTD/mtd_python_embedding +MTD_OUTPUT_TEMPLATE = -# location of MODE Time Domain MET config file -# References CONFIG_DIR from the [dir] section -MTD_CONFIG_FILE = {CONFIG_DIR}/MTDConfig_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 -MTD_REGRID_TO_GRID = OBS +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# Minimum volume -FCST_MTD_MIN_VOLUME = 2000 +FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST -# convolution radius for forecast data FCST_MTD_CONV_RADIUS = 15 - -# convolution threshold for forecast data FCST_MTD_CONV_THRESH = >=5.0 +FCST_MTD_MIN_VOLUME = 2000 -# output prefix to add to output filenames -MTD_OUTPUT_PREFIX = PYTHON +FCST_MTD_INPUT_DATATYPE = PYTHON_NUMPY -# set to True if forecast data is probabilistic FCST_IS_PROB = false - -# True if probabilistic information is in the GRIB Product Definition Section FCST_PROB_IN_GRIB_PDS = false -# End of [config] section and start of [dir] section -[dir] -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS -# input and output data directories for each application in PROCESS_LIST -FCST_MTD_INPUT_DIR = {INPUT_BASE}/met_test/data/python +OBS_MTD_CONV_RADIUS = 15 +OBS_MTD_CONV_THRESH = >=1.0 -OBS_MTD_INPUT_DIR = {INPUT_BASE}/met_test/data/python +OBS_MTD_INPUT_DATATYPE = PYTHON_NUMPY -MTD_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/MTD/mtd_python_embedding -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# format of filenames +### +# MTD Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mtd +### -FCST_MTD_INPUT_TEMPLATE= fcst.txt +MTD_SINGLE_RUN = False +MTD_SINGLE_DATA_SRC = OBS -OBS_MTD_INPUT_TEMPLATE = obs.txt +MTD_CONFIG_FILE = {PARM_BASE}/met_config/MTDConfig_wrapped -MTD_OUTPUT_TEMPLATE = \ No newline at end of file +MODEL = FCST +OBTYPE = OBS + +#MTD_DESC = + +MTD_REGRID_TO_GRID = OBS + +MTD_OUTPUT_PREFIX = PYTHON diff --git a/parm/use_cases/met_tool_wrapper/PB2NC/PB2NC.conf b/parm/use_cases/met_tool_wrapper/PB2NC/PB2NC.conf index a10a30caee..93651289ea 100644 --- a/parm/use_cases/met_tool_wrapper/PB2NC/PB2NC.conf +++ b/parm/use_cases/met_tool_wrapper/PB2NC/PB2NC.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PB2NC/PB2NC.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PB2NC + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H VALID_BEG = 2007033112 @@ -10,17 +33,28 @@ VALID_INCREMENT = 1M LEAD_SEQ = 0 -PB2NC_OFFSETS = 12 -PB2NC_SKIP_IF_OUTPUT_EXISTS = True +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### PB2NC_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_obs/prepbufr PB2NC_INPUT_TEMPLATE = ndas.t{da_init?fmt=%H}z.prepbufr.tm{offset?fmt=%2H}.{da_init?fmt=%Y%m%d}.nr +PB2NC_OFFSETS = 12 + +PB2NC_SKIP_IF_OUTPUT_EXISTS = True + PB2NC_OUTPUT_DIR = {OUTPUT_BASE}/pb2nc PB2NC_OUTPUT_TEMPLATE = sample_pb.nc +### +# PB2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pb2nc +### + PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped PB2NC_OBS_WINDOW_BEGIN = -1800 diff --git a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_add.conf b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_add.conf index e9fb5e284c..48126f344b 100644 --- a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_add.conf +++ b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_add.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PCPCombine/PCPCombine_add.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PCPCombine + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H%M VALID_BEG = 201908021815 @@ -12,6 +35,14 @@ LEAD_SEQ = 15M LOOP_ORDER = times + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_PCP_COMBINE_RUN = True + FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/met_test/new FCST_PCP_COMBINE_INPUT_TEMPLATE = NEWSe_{init?fmt=%Y%m%d}_i{init?fmt=%H%M}_m0_f{valid?fmt=%H%M}.nc @@ -19,9 +50,13 @@ FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/PCPCombine/PCPCombi FCST_PCP_COMBINE_OUTPUT_TEMPLATE = NEWSe5min_mem00_lag00.nc +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + #LOG_PCP_COMBINE_VERBOSITY = 2 -FCST_PCP_COMBINE_RUN = True FCST_PCP_COMBINE_METHOD = ADD FCST_PCP_COMBINE_MAX_FORECAST = 2d diff --git a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_bucket.conf b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_bucket.conf index 614adf6179..ded9c6cd02 100644 --- a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_bucket.conf +++ b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_bucket.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PCPCombine/PCPCombine_bucket.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PcpCombine + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2012040900 @@ -12,8 +35,13 @@ LEAD_SEQ = 15H LOOP_ORDER = times + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = ADD FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/met_test/new/gfs FCST_PCP_COMBINE_INPUT_TEMPLATE = gfs_{init?fmt=%Y%m%d%H}_F{lead?fmt=%3H}.grib @@ -21,6 +49,14 @@ FCST_PCP_COMBINE_INPUT_TEMPLATE = gfs_{init?fmt=%Y%m%d%H}_F{lead?fmt=%3H}.grib FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/PCPCombine/PCPCombine_bucket FCST_PCP_COMBINE_OUTPUT_TEMPLATE = gfs_{valid?fmt=%Y%m%d%H}_A{level?fmt=%3H}.nc + +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +FCST_PCP_COMBINE_METHOD = ADD + #LOG_PCP_COMBINE_VERBOSITY = 2 FCST_PCP_COMBINE_MAX_FORECAST = 2d diff --git a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_derive.conf b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_derive.conf index 5276d22f39..da89543b9c 100644 --- a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_derive.conf +++ b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_derive.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PCPCombine/PCPCombine_derive.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PCPCombine + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2005080700 @@ -12,10 +35,13 @@ LEAD_SEQ = 24H LOOP_ORDER = times -#LOG_PCP_COMBINE_VERBOSITY = 2 + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = DERIVE FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 @@ -23,6 +49,16 @@ FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/PCPCombine/PCPCombine_derive FCST_PCP_COMBINE_OUTPUT_TEMPLATE = wrfprs_ruc13_{init?fmt=%Y%m%d%H}_f{lead?fmt=%HH}_A{level?fmt=%HH}.nc + +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +#LOG_PCP_COMBINE_VERBOSITY = 2 + +FCST_PCP_COMBINE_METHOD = DERIVE + FCST_PCP_COMBINE_STAT_LIST = sum,min,max,range,mean,stdev,vld_count FCST_PCP_COMBINE_DERIVE_LOOKBACK = 18H diff --git a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_loop_custom.conf b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_loop_custom.conf index 1155e41111..dcc7aa1269 100644 --- a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_loop_custom.conf +++ b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_loop_custom.conf @@ -1,6 +1,29 @@ [config] -PROCESS_LIST = PCPCombine +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PCPCombine/PCPCombine_loop_custom.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = PcpCombine + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H @@ -10,14 +33,17 @@ INIT_INCREMENT = 1M LEAD_SEQ = 24H +PCP_COMBINE_CUSTOM_LOOP_LIST = arw-fer-gep1, arw-fer-gep5, arw-sch-gep2, arw-sch-gep6, arw-tom-gep3, arw-tom-gep7 + LOOP_ORDER = times -PCP_COMBINE_CUSTOM_LOOP_LIST = arw-fer-gep1, arw-fer-gep5, arw-sch-gep2, arw-sch-gep6, arw-tom-gep3, arw-tom-gep7 -#LOG_PCP_COMBINE_VERBOSITY = 2 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = ADD FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/{custom?fmt=%s}/d01_{init?fmt=%Y%m%d%H}_0{lead?fmt=%HH}00.grib @@ -25,6 +51,16 @@ FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/{custom?fmt=%s}/d01_{init? FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/PCPCombine/PCPCombine_loop_custom FCST_PCP_COMBINE_OUTPUT_TEMPLATE = {custom?fmt=%s}/d01_{init?fmt=%Y%m%d%H}_0{lead?fmt=%HH}00.nc + +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +#LOG_PCP_COMBINE_VERBOSITY = 2 + +FCST_PCP_COMBINE_METHOD = ADD + FCST_PCP_COMBINE_CONSTANT_INIT = True FCST_PCP_COMBINE_MAX_FORECAST = 2d diff --git a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_python_embedding.conf b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_python_embedding.conf index 7e72c8b1df..8aaa2fff3a 100644 --- a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_python_embedding.conf @@ -1,6 +1,29 @@ [config] -PROCESS_LIST = PCPCombine +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PCPCombine/PCPCombine_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = PcpCombine + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H%M @@ -12,10 +35,13 @@ LEAD_SEQ = 0 LOOP_ORDER = times -#LOG_PCP_COMBINE_VERBOSITY = 2 + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### OBS_PCP_COMBINE_RUN = True -OBS_PCP_COMBINE_METHOD = ADD OBS_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/met_test/new/imerg OBS_PCP_COMBINE_INPUT_TEMPLATE = PYTHON_NUMPY @@ -24,6 +50,15 @@ OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/PCPCombine/PCPCombin OBS_PCP_COMBINE_OUTPUT_TEMPLATE = IMERG.{valid?fmt=%Y%m%d_%H%M}_A{level?fmt=%2H}h +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +#LOG_PCP_COMBINE_VERBOSITY = 2 + +OBS_PCP_COMBINE_METHOD = ADD + OBS_VAR1_NAME = APCP OBS_VAR1_LEVELS = A06 @@ -33,4 +68,4 @@ OBS_PCP_COMBINE_INPUT_NAMES = {PARM_BASE}/use_cases/met_tool_wrapper/PCPCombine/ [user_env_vars] # uncomment and change this to the path of a version of python that has the h5py package installed -#MET_PYTHON_EXE = /path/to/python/with/h5-py/and/numpy/packages/bin/python \ No newline at end of file +#MET_PYTHON_EXE = /path/to/python/with/h5-py/and/numpy/packages/bin/python diff --git a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_subtract.conf b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_subtract.conf index 38001d23a3..63cebfefe2 100644 --- a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_subtract.conf +++ b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_subtract.conf @@ -1,6 +1,29 @@ [config] -PROCESS_LIST = PCPCombine +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PCPCombine/PCPCombine_subtract.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = PcpCombine + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### LOOP_BY = INIT @@ -13,10 +36,12 @@ LEAD_SEQ = 18H LOOP_ORDER = times -#LOG_PCP_COMBINE_VERBOSITY = 2 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = SUBTRACT FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 @@ -24,6 +49,16 @@ FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/PCPCombine/PCPCombine_subtract FCST_PCP_COMBINE_OUTPUT_TEMPLATE = wrfprs_ruc13_{init?fmt=%Y%m%d%H}_f{lead?fmt=%HH}_A03.nc + +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +#LOG_PCP_COMBINE_VERBOSITY = 2 + +FCST_PCP_COMBINE_METHOD = SUBTRACT + FCST_PCP_COMBINE_MAX_FORECAST = 2d FCST_IS_PROB = false diff --git a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_sum.conf b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_sum.conf index bad19b6f74..bbc63b60e0 100644 --- a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_sum.conf +++ b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_sum.conf @@ -1,6 +1,29 @@ [config] -PROCESS_LIST = PCPCombine +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PCPCombine/PCPCombine_sum.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = PcpCombine + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H%M @@ -12,8 +35,13 @@ LEAD_SEQ = 15M LOOP_ORDER = times + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = SUM FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/met_test/new FCST_PCP_COMBINE_INPUT_TEMPLATE = NEWSe_{init?fmt=%Y%m%d}_i{init?fmt=%H%M}_m0_f* @@ -21,6 +49,14 @@ FCST_PCP_COMBINE_INPUT_TEMPLATE = NEWSe_{init?fmt=%Y%m%d}_i{init?fmt=%H%M}_m0_f* FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/PCPCombine/PCPCombine_sum FCST_PCP_COMBINE_OUTPUT_TEMPLATE = NEWSe5min_mem00_lag00.nc + +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +FCST_PCP_COMBINE_METHOD = SUM + #LOG_PCP_COMBINE_VERBOSITY = 2 FCST_IS_PROB = false diff --git a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_user_defined.conf b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_user_defined.conf index 6ec72af5db..c0503bcede 100644 --- a/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_user_defined.conf +++ b/parm/use_cases/met_tool_wrapper/PCPCombine/PCPCombine_user_defined.conf @@ -1,6 +1,30 @@ [config] -PROCESS_LIST = PCPCombine +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PCPCombine/PCPCombine_user_defined.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = PcpCombine + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H @@ -12,8 +36,13 @@ LEAD_SEQ = 24H LOOP_ORDER = times + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = USER_DEFINED FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 @@ -22,6 +51,13 @@ FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/PCPCombine/PCPCombi FCST_PCP_COMBINE_OUTPUT_TEMPLATE = wrfprs_ruc13_{init?fmt=%Y%m%d%H}_f{lead?fmt=%HH}_A{level?fmt=%HH}.nc +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +FCST_PCP_COMBINE_METHOD = USER_DEFINED + FCST_PCP_COMBINE_COMMAND = -derive sum,min,max,range,mean,stdev,vld_count {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH?shift=-3H}.tm00_G212 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH?shift=-6H}.tm00_G212 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH?shift=-9H}.tm00_G212 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH?shift=-12H}.tm00_G212 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH?shift=-15H}.tm00_G212 -field 'name="{FCST_PCP_COMBINE_INPUT_NAMES}"; level="{FCST_PCP_COMBINE_INPUT_LEVELS}";' #LOG_PCP_COMBINE_VERBOSITY = 2 diff --git a/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_grib1.conf b/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_grib1.conf index 5a2a113c74..1fd05a6180 100644 --- a/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_grib1.conf +++ b/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_grib1.conf @@ -1,62 +1,71 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only PlotDataPlane for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PlotDataPlane/PlotDataPlane_grib1.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PlotDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 20070330 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20070330 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 0 LOOP_ORDER = times -# Verbosity of MET output - overrides LOG_VERBOSITY for PlotDataPlane only -LOG_PLOT_DATA_PLANE_VERBOSITY = 1 -PLOT_DATA_PLANE_FIELD_NAME = TMP -PLOT_DATA_PLANE_FIELD_LEVEL = Z2 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -PLOT_DATA_PLANE_TITLE = GRIB1 NAM {PLOT_DATA_PLANE_FIELD_LEVEL} {PLOT_DATA_PLANE_FIELD_NAME} +PLOT_DATA_PLANE_INPUT_DIR = +PLOT_DATA_PLANE_INPUT_TEMPLATE = {INPUT_BASE}/met_test/data/sample_fcst/{valid?fmt=%Y%m%d%H}/nam.t{valid?fmt=%H}z.awip1236.tm00.{valid?fmt=%Y%m%d}.grb -PLOT_DATA_PLANE_COLOR_TABLE = +PLOT_DATA_PLANE_OUTPUT_DIR = +PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/plot_data_plane/nam.t00z.awip1236.tm{valid?fmt=%H}.{valid?fmt=%Y%m%d}_TMPZ2.ps -PLOT_DATA_PLANE_RANGE_MIN_MAX = -# End of [config] section and start of [dir] section -[dir] +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -PLOT_DATA_PLANE_INPUT_DIR = -PLOT_DATA_PLANE_OUTPUT_DIR = +PLOT_DATA_PLANE_FIELD_NAME = TMP +PLOT_DATA_PLANE_FIELD_LEVEL = Z2 -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# Template to look for input to PlotDataPlane relative to PLOT_DATA_PLANE_INPUT_DIR -PLOT_DATA_PLANE_INPUT_TEMPLATE = {INPUT_BASE}/met_test/data/sample_fcst/{valid?fmt=%Y%m%d%H}/nam.t{valid?fmt=%H}z.awip1236.tm00.{valid?fmt=%Y%m%d}.grb +### +# PlotDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#plotdataplane +### -# Template to use to write output from PlotDataPlane -PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/plot_data_plane/nam.t00z.awip1236.tm{valid?fmt=%H}.{valid?fmt=%Y%m%d}_TMPZ2.ps +LOG_PLOT_DATA_PLANE_VERBOSITY = 1 + +PLOT_DATA_PLANE_TITLE = GRIB1 NAM {PLOT_DATA_PLANE_FIELD_LEVEL} {PLOT_DATA_PLANE_FIELD_NAME} + +PLOT_DATA_PLANE_COLOR_TABLE = + +PLOT_DATA_PLANE_RANGE_MIN_MAX = diff --git a/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_netcdf.conf b/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_netcdf.conf index 2fab9741e4..38edc72430 100644 --- a/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_netcdf.conf +++ b/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_netcdf.conf @@ -1,62 +1,70 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only PlotDataPlane for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PlotDataPlane/PlotDataPlane_netcdf.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PlotDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 2005080712 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2005080712 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 0 LOOP_ORDER = times -# Verbosity of MET output - overrides LOG_VERBOSITY for PlotDataPlane only -LOG_PLOT_DATA_PLANE_VERBOSITY = 1 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -PLOT_DATA_PLANE_FIELD_NAME = APCP_12 -PLOT_DATA_PLANE_FIELD_LEVEL = "(*,*)" +PLOT_DATA_PLANE_INPUT_DIR = +PLOT_DATA_PLANE_INPUT_TEMPLATE = {INPUT_BASE}/met_test/out/pcp_combine/sample_fcst_12L_{valid?fmt=%Y%m%d%H}V_12A.nc -PLOT_DATA_PLANE_TITLE = NC MET 12-hour APCP +PLOT_DATA_PLANE_OUTPUT_DIR = +PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/plot_data_plane/sample_fcst_12L_{valid?fmt=%Y%m%d%H}V_12A_APCP12_NC_MET.ps -PLOT_DATA_PLANE_COLOR_TABLE = -PLOT_DATA_PLANE_RANGE_MIN_MAX = 1.0 3.0 +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### +PLOT_DATA_PLANE_FIELD_NAME = APCP_12 +PLOT_DATA_PLANE_FIELD_LEVEL = "(*,*)" -# End of [config] section and start of [dir] section -[dir] -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -PLOT_DATA_PLANE_INPUT_DIR = -PLOT_DATA_PLANE_OUTPUT_DIR = +### +# PlotDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#plotdataplane +### + +LOG_PLOT_DATA_PLANE_VERBOSITY = 1 -# End of [dir] section and start of [filename_templates] section -[filename_templates] +PLOT_DATA_PLANE_TITLE = NC MET 12-hour APCP -# Template to look for input to PlotDataPlane relative to PLOT_DATA_PLANE_INPUT_DIR -PLOT_DATA_PLANE_INPUT_TEMPLATE = {INPUT_BASE}/met_test/out/pcp_combine/sample_fcst_12L_{valid?fmt=%Y%m%d%H}V_12A.nc -# Template to use to write output from PlotDataPlane -PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/plot_data_plane/sample_fcst_12L_{valid?fmt=%Y%m%d%H}V_12A_APCP12_NC_MET.ps +PLOT_DATA_PLANE_COLOR_TABLE = + +PLOT_DATA_PLANE_RANGE_MIN_MAX = 1.0 3.0 diff --git a/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.conf b/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.conf index 311adaa85e..5e4b3f5c00 100644 --- a/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.conf @@ -1,62 +1,71 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only PlotDataPlane for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PlotDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 2005080712 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2005080712 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 0 LOOP_ORDER = times -# Verbosity of MET output - overrides LOG_VERBOSITY for PlotDataPlane only -LOG_PLOT_DATA_PLANE_VERBOSITY = 1 -PLOT_DATA_PLANE_FIELD_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -PLOT_DATA_PLANE_TITLE = Python Embedding FCST +PLOT_DATA_PLANE_INPUT_DIR = +PLOT_DATA_PLANE_INPUT_TEMPLATE = PYTHON_NUMPY -PLOT_DATA_PLANE_COLOR_TABLE = +PLOT_DATA_PLANE_OUTPUT_DIR = +PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/plot_data_plane/py_embed_fcst.ps -PLOT_DATA_PLANE_RANGE_MIN_MAX = +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# End of [config] section and start of [dir] section -[dir] +PLOT_DATA_PLANE_FIELD_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -PLOT_DATA_PLANE_INPUT_DIR = -PLOT_DATA_PLANE_OUTPUT_DIR = -# End of [dir] section and start of [filename_templates] section -[filename_templates] +### +# PlotDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#plotdataplane +### -# Template to look for input to PlotDataPlane relative to PLOT_DATA_PLANE_INPUT_DIR -PLOT_DATA_PLANE_INPUT_TEMPLATE = PYTHON_NUMPY +# Verbosity of MET output - overrides LOG_VERBOSITY for PlotDataPlane only +LOG_PLOT_DATA_PLANE_VERBOSITY = 1 -# Template to use to write output from PlotDataPlane -PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/plot_data_plane/py_embed_fcst.ps +PLOT_DATA_PLANE_TITLE = Python Embedding FCST + +PLOT_DATA_PLANE_COLOR_TABLE = + +PLOT_DATA_PLANE_RANGE_MIN_MAX = From 2d76352076d69b06503753e17356f12b1253d388 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 6 Jul 2022 13:21:06 -0600 Subject: [PATCH 08/35] per #1402, clean up Point2Grid conf file --- .../Point2Grid/Point2Grid.conf | 107 +++++++----------- 1 file changed, 42 insertions(+), 65 deletions(-) diff --git a/parm/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.conf b/parm/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.conf index 4da0f30ba4..7d0a9e5a23 100644 --- a/parm/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.conf +++ b/parm/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.conf @@ -1,100 +1,77 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only Point2Grid for this case -PROCESS_LIST = Point2Grid +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/Point2Grid/Point2Grid.html -# time looping - options are INIT, VALID, RETRO, and REALTIME +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = Point2Grid + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = 2017060100 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END = 2017060300 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 24H -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 12H -# 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 Point2Grid only -# This has shown to be a bad idea because it takes precedence over LOG_MET_VERBOSITY/LOG_VERBOSIT -# LOG_POINT2GRID_VERBOSITY = 1 -# Time relative to valid time (in seconds if no units are specified) 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. +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +POINT2GRID_INPUT_DIR = +POINT2GRID_INPUT_TEMPLATE = {INPUT_BASE}/met_test/data/sample_obs/prepbufr/sample_pb.nc + +POINT2GRID_OUTPUT_DIR = +POINT2GRID_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/Point2Grid/grid.{init?fmt=%Y%d%H}.nc + POINT2GRID_FILE_WINDOW_BEGIN = 0 POINT2GRID_FILE_WINDOW_END = 0 -# Value to pass with the -to_grid See MET User's Guide for more information + +### +# Point2Grid Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#point2grid +### + +# LOG_POINT2GRID_VERBOSITY = 1 + POINT2GRID_REGRID_TO_GRID = G212 -# Value to pass with the -field string. See MET User's Guide for more information -# FIELD and LEVEL both end up in the -field string POINT2GRID_INPUT_FIELD =TMP POINT2GRID_INPUT_LEVEL = -# Value to pass with the -qc argument POINT2GRID_QC_FLAGS = 0 -# Value to pass with the -adp argument - This is a file name with GOES Aerosol Detection Product data POINT2GRID_ADP = -# Value to pass with the -method argumen - Default is UW_MEAN, other examples are -POINT2GRID_REGRID_METHOD = MAX +POINT2GRID_REGRID_METHOD = MAX -# Value to pass with the -gaussian-dx argument - Distance interval for gaussian smoothing -# Default is 81.271 POINT2GRID_GAUSSIAN_DX = 81.271 +POINT2GRID_GAUSSIAN_RADIUS = 120 -# Value to pass with the -gaussian-radius argument - radius of influence for the gaussian smoothing -# Default is 120 -POINT2GRID_GAUSSIAN_RADIUS = 120 - -# Value to pass with the -prob_cat_thresh argument - threshold for probability of occurrence POINT2GRID_PROB_CAT_THRESH = -# Value to pass with the -vld_thresh argument - threshold for percentage of valid data .5 default -POINT2GRID_VLD_THRESH = - -# End of [config] section and start of [dir] section -[dir] - -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -POINT2GRID_INPUT_DIR = - -POINT2GRID_OUTPUT_DIR = - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for input to Point2Grid relative to POINT2GRID_INPUT_DIR -POINT2GRID_INPUT_TEMPLATE = {INPUT_BASE}/met_test/data/sample_obs/prepbufr/sample_pb.nc - -# Template to use to write output from Point2Grid -POINT2GRID_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/Point2Grid/grid.{init?fmt=%Y%d%H}.nc +POINT2GRID_VLD_THRESH = From 551f8c71b2d671500ba1c9d0d3784e3d62b9efa1 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 6 Jul 2022 14:50:36 -0600 Subject: [PATCH 09/35] per #1402, clean up rest of met_tool_wrapper use case conf files, ci-run-all-diff --- .../met_tool_wrapper/PointStat/PointStat.conf | 27 ++- .../PointStat/PointStat_once_per_field.conf | 179 +++++++----------- .../PointStat/PointStat_python_embedding.conf | 160 ++++++---------- .../PointStat_python_embedding_obs.conf | 27 ++- .../PyEmbedIngest/PyEmbedIngest.conf | 89 ++++----- .../PyEmbedIngest_multi_field_one_file.conf | 90 ++++----- .../RegridDataPlane/RegridDataPlane.conf | 110 +++++------ ...egridDataPlane_multi_field_multi_file.conf | 116 +++++------- .../RegridDataPlane_multi_field_one_file.conf | 114 +++++------ .../RegridDataPlane_python_embedding.conf | 85 +++++---- .../SeriesAnalysis/SeriesAnalysis.conf | 37 +++- .../SeriesAnalysis_python_embedding.conf | 111 ++++++----- .../StatAnalysis/StatAnalysis.conf | 127 ++++--------- .../StatAnalysis_python_embedding.conf | 130 ++++--------- .../met_tool_wrapper/TCGen/TCGen.conf | 64 ++++--- .../TCMPRPlotter/TCMPRPlotter.conf | 61 +++--- .../TCPairs/TCPairs_extra_tropical.conf | 25 ++- .../TCPairs/TCPairs_tropical.conf | 23 ++- .../met_tool_wrapper/TCRMW/TCRMW.conf | 101 +++++----- .../met_tool_wrapper/TCStat/TCStat.conf | 124 ++++-------- .../UserScript/UserScript_run_once.conf | 63 +++--- .../UserScript_run_once_for_each.conf | 63 +++--- .../UserScript_run_once_per_init.conf | 63 +++--- .../UserScript_run_once_per_valid.conf | 63 +++--- 24 files changed, 955 insertions(+), 1097 deletions(-) diff --git a/parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf b/parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf index dfa83ecf4e..0a5d9e61fb 100644 --- a/parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf +++ b/parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PointStat/PointStat.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PointStat + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -14,8 +33,10 @@ INIT_INCREMENT = 1M LEAD_SEQ = 36 + ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst @@ -32,8 +53,10 @@ POINT_STAT_CLIMO_MEAN_INPUT_TEMPLATE = POINT_STAT_CLIMO_STDEV_INPUT_DIR = POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = + ### # Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### POINT_STAT_ONCE_PER_FIELD = False @@ -62,8 +85,10 @@ OBS_VAR3_NAME = VGRD OBS_VAR3_LEVELS = Z10 OBS_VAR3_THRESH = >=5 + ### -# PointStat +# PointStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pointstat ### #LOG_POINT_STAT_VERBOSITY = 2 diff --git a/parm/use_cases/met_tool_wrapper/PointStat/PointStat_once_per_field.conf b/parm/use_cases/met_tool_wrapper/PointStat/PointStat_once_per_field.conf index fb56e2f52a..3a1d098f65 100644 --- a/parm/use_cases/met_tool_wrapper/PointStat/PointStat_once_per_field.conf +++ b/parm/use_cases/met_tool_wrapper/PointStat/PointStat_once_per_field.conf @@ -1,120 +1,68 @@ [config] -# List of applications to run - only PointStat for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PointStat/PointStat_once_per_field.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PointStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 20070330 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20070330 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# 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 = 0 -# 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 = processes -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only -#LOG_POINT_STAT_VERBOSITY = 2 - -# Location of MET config 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 -POINT_STAT_CONFIG_FILE ={PARM_BASE}/met_config/PointStatConfig_wrapped - -POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST - -POINT_STAT_INTERP_TYPE_METHOD = BILIN -POINT_STAT_INTERP_TYPE_WIDTH = 2 -POINT_STAT_OUTPUT_FLAG_SL1L2 = STAT -POINT_STAT_OUTPUT_FLAG_VL1L2 = STAT - -# 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 -OBS_POINT_STAT_WINDOW_BEGIN = -5400 -OBS_POINT_STAT_WINDOW_END = 5400 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Optional list of offsets to look for point observation data -POINT_STAT_OFFSETS = 0 - -# Model/fcst and obs name, e.g. GFS, NAM, GDAS, etc. -MODEL = WRF -OBTYPE = - -#POINT_STAT_DESC = - -# Regrid to specified grid. Indicate NONE if no regridding, or the grid id -# (e.g. G212) -POINT_STAT_REGRID_TO_GRID = NONE -POINT_STAT_REGRID_METHOD = BILIN -POINT_STAT_REGRID_WIDTH = 2 +FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst +FCST_POINT_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d%H}/nam.t00z.awip1236.tm00.{valid?fmt=%Y%m%d}.grb -#POINT_STAT_OUTPUT_PREFIX = {fcst_name?fmt=%s}_{fcst_level?fmt=%s} -POINT_STAT_OUTPUT_PREFIX = {CURRENT_FCST_NAME}_{CURRENT_FCST_LEVEL} +OBS_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/out/pb2nc +OBS_POINT_STAT_INPUT_TEMPLATE = sample_pb.nc -# sets the -obs_valid_beg command line argument (optional) -# not used for this example -#POINT_STAT_OBS_VALID_BEG = {valid?fmt=%Y%m%d_%H} +POINT_STAT_CLIMO_MEAN_INPUT_DIR = +POINT_STAT_CLIMO_MEAN_INPUT_TEMPLATE = -# sets the -obs_valid_end command line argument (optional) -# not used for this example -#POINT_STAT_OBS_VALID_END = {valid?fmt=%Y%m%d_%H} +POINT_STAT_CLIMO_STDEV_INPUT_DIR = +POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -# Verification Masking regions -# Indicate which grid and polygon masking region, if applicable -POINT_STAT_GRID = DTC165, DTC166 +POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/point_stat -# List of full path to poly masking files. NOTE: Only short lists of poly -# files work (those that fit on one line), a long list will result in an -# environment variable that is too long, resulting in an error. For long -# lists of poly masking files (i.e. all the mask files in the NCEP_mask -# directory), define these in the MET point_stat configuration file. -POINT_STAT_POLY = MET_BASE/poly/LMV.poly -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 = ADPUPA, ADPSFC -# Variables and levels as specified in the field dictionary of the MET -# point_stat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# 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 = True -# 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 FCST_VAR1_LEVELS = P750-900 FCST_VAR1_THRESH = <=273, >273 @@ -137,37 +85,46 @@ OBS_VAR3_LEVELS = Z10 OBS_VAR3_THRESH = >=5 -# End of [config] section and start of [dir] section -[dir] -FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst -OBS_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/out/pb2nc +### +# PointStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pointstat +### -# directory containing climatology mean input to PointStat -# Not used in this example -POINT_STAT_CLIMO_MEAN_INPUT_DIR = +#LOG_POINT_STAT_VERBOSITY = 2 -# directory containing climatology mean input to PointStat -# Not used in this example -POINT_STAT_CLIMO_STDEV_INPUT_DIR = +POINT_STAT_CONFIG_FILE ={PARM_BASE}/met_config/PointStatConfig_wrapped +POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST -POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/point_stat +POINT_STAT_INTERP_TYPE_METHOD = BILIN +POINT_STAT_INTERP_TYPE_WIDTH = 2 +POINT_STAT_OUTPUT_FLAG_SL1L2 = STAT +POINT_STAT_OUTPUT_FLAG_VL1L2 = STAT -# End of [dir] section and start of [filename_templates] section -[filename_templates] +OBS_POINT_STAT_WINDOW_BEGIN = -5400 +OBS_POINT_STAT_WINDOW_END = 5400 -# Template to look for forecast input to PointStat relative to FCST_POINT_STAT_INPUT_DIR -FCST_POINT_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d%H}/nam.t00z.awip1236.tm00.{valid?fmt=%Y%m%d}.grb +POINT_STAT_OFFSETS = 0 -# Template to look for observation input to PointStat relative to OBS_POINT_STAT_INPUT_DIR -OBS_POINT_STAT_INPUT_TEMPLATE = sample_pb.nc +MODEL = WRF +OBTYPE = -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -POINT_STAT_CLIMO_MEAN_INPUT_TEMPLATE = +#POINT_STAT_DESC = -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this example -POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = +POINT_STAT_REGRID_TO_GRID = NONE +POINT_STAT_REGRID_METHOD = BILIN +POINT_STAT_REGRID_WIDTH = 2 +#POINT_STAT_OUTPUT_PREFIX = {fcst_name?fmt=%s}_{fcst_level?fmt=%s} +POINT_STAT_OUTPUT_PREFIX = {CURRENT_FCST_NAME}_{CURRENT_FCST_LEVEL} + +#POINT_STAT_OBS_VALID_BEG = {valid?fmt=%Y%m%d_%H} +#POINT_STAT_OBS_VALID_END = {valid?fmt=%Y%m%d_%H} + +POINT_STAT_GRID = DTC165, DTC166 +POINT_STAT_POLY = MET_BASE/poly/LMV.poly + +POINT_STAT_STATION_ID = + +POINT_STAT_MESSAGE_TYPE = ADPUPA, ADPSFC diff --git a/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding.conf b/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding.conf index 7e07e8624f..e22eae5194 100644 --- a/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding.conf @@ -1,53 +1,82 @@ [config] -# List of applications to run - only PointStat for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PointStat/PointStat_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PointStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 2020090606 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2020090606 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# 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 = 0H -# 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 = processes -# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new/point_stat_input/vvwind +FCST_POINT_STAT_INPUT_TEMPLATE = PYTHON_NUMPY + +OBS_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new/point_stat_input/prepbufr +OBS_POINT_STAT_INPUT_TEMPLATE = gdas.{valid?fmt=%Y%m%d}.t{valid?fmt=%H}z.nc + +POINT_STAT_CLIMO_MEAN_INPUT_DIR = +POINT_STAT_CLIMO_MEAN_INPUT_TEMPLATE = + +POINT_STAT_CLIMO_STDEV_INPUT_DIR = +POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = + +POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/point_stat_py_embed + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +POINT_STAT_ONCE_PER_FIELD = False + +SCRIPT_DIR = {PARM_BASE}/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding +FCST_VAR1_NAME = {SCRIPT_DIR}/read_NRL_binary.py {FCST_POINT_STAT_INPUT_DIR}/vvwind_zht_0010.0_0000.0_glob360x181_{init?fmt=%Y%m%d%H}_{lead?fmt=%4H}0000_fcstfld + +OBS_VAR1_NAME = VGRD +OBS_VAR1_LEVELS = Z0 + + +### +# PointStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pointstat +### + #LOG_POINT_STAT_VERBOSITY = 2 -# Location of MET config file to pass to GridStat -# References PARM_BASE which is the location of the parm directory corresponding -# to the ush directory of the master_metplus.py script that is called -# or the value of the environment variable METPLUS_PARM_BASE if set POINT_STAT_CONFIG_FILE ={PARM_BASE}/met_config/PointStatConfig_wrapped POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST @@ -58,15 +87,11 @@ POINT_STAT_INTERP_TYPE_WIDTH = 2 POINT_STAT_OUTPUT_FLAG_SL1L2 = STAT POINT_STAT_OUTPUT_FLAG_VL1L2 = STAT -# 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 OBS_POINT_STAT_WINDOW_BEGIN = -5400 OBS_POINT_STAT_WINDOW_END = 5400 -# Optional list of offsets to look for point observation data POINT_STAT_OFFSETS = 0 -# Model/fcst and obs name, e.g. GFS, NAM, GDAS, etc. #MODEL = #POINT_STAT_DESC = NA @@ -77,79 +102,12 @@ POINT_STAT_OFFSETS = 0 POINT_STAT_OUTPUT_PREFIX = -# sets the -obs_valid_beg command line argument (optional) -# not used for this example #POINT_STAT_OBS_VALID_BEG = {valid?fmt=%Y%m%d_%H} - -# sets the -obs_valid_end command line argument (optional) -# not used for this example #POINT_STAT_OBS_VALID_END = {valid?fmt=%Y%m%d_%H} -# Verification Masking regions -# Indicate which grid and polygon masking region, if applicable POINT_STAT_GRID = FULL -# List of full path to poly masking files. NOTE: Only short lists of poly -# files work (those that fit on one line), a long list will result in an -# environment variable that is too long, resulting in an error. For long -# lists of poly masking files (i.e. all the mask files in the NCEP_mask -# directory), define these in the MET point_stat configuration file. POINT_STAT_POLY = 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 = ADPUPA - -# Variables and levels as specified in the field dictionary of the MET -# point_stat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION - -# 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 - -# 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 -SCRIPT_DIR = {PARM_BASE}/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding -FCST_VAR1_NAME = {SCRIPT_DIR}/read_NRL_binary.py {FCST_POINT_STAT_INPUT_DIR}/vvwind_zht_0010.0_0000.0_glob360x181_{init?fmt=%Y%m%d%H}_{lead?fmt=%4H}0000_fcstfld - -OBS_VAR1_NAME = VGRD -OBS_VAR1_LEVELS = Z0 - - -# End of [config] section and start of [dir] section -[dir] -FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new/point_stat_input/vvwind -OBS_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new/point_stat_input/prepbufr - -# directory containing climatology mean input to PointStat -# Not used in this example -POINT_STAT_CLIMO_MEAN_INPUT_DIR = - -# directory containing climatology mean input to PointStat -# Not used in this example -POINT_STAT_CLIMO_STDEV_INPUT_DIR = - - -POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/point_stat_py_embed - - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to PointStat relative to FCST_POINT_STAT_INPUT_DIR -FCST_POINT_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for observation input to PointStat relative to OBS_POINT_STAT_INPUT_DIR -OBS_POINT_STAT_INPUT_TEMPLATE = gdas.{valid?fmt=%Y%m%d}.t{valid?fmt=%H}z.nc - -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -POINT_STAT_CLIMO_MEAN_INPUT_TEMPLATE = - -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this example -POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - diff --git a/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.conf b/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.conf index 2b0bdfc800..96af438ba3 100644 --- a/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.conf +++ b/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PointStat + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -14,8 +33,10 @@ INIT_INCREMENT = 1M LEAD_SEQ = 36 + ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst @@ -32,8 +53,10 @@ POINT_STAT_CLIMO_MEAN_INPUT_TEMPLATE = POINT_STAT_CLIMO_STDEV_INPUT_DIR = POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = + ### # Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### POINT_STAT_ONCE_PER_FIELD = False @@ -62,8 +85,10 @@ OBS_VAR3_NAME = VGRD OBS_VAR3_LEVELS = Z10 OBS_VAR3_THRESH = >=5 + ### -# PointStat +# PointStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pointstat ### #LOG_POINT_STAT_VERBOSITY = 2 diff --git a/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.conf b/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.conf index 779d02572f..6114202c61 100644 --- a/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.conf +++ b/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.conf @@ -1,72 +1,57 @@ -# PyEmbedIngest wrapper example - [config] -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. -LOOP_ORDER = times -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.html -# Format of VALID_BEG and VALID_END -VALID_TIME_FMT = %Y%m%d%H +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# Start time for METplus run -VALID_BEG = 2013022712 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = PyEmbedIngest -# End time for METplus run -VALID_END = 2013022712 -# Increment between METplus runs in seconds. Must be >= 60 +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H +VALID_BEG = 2013022712 +VALID_END = 2013022712 VALID_INCREMENT = 21600 -# list of forecast leads to process LEAD_SEQ = 0 -# List of applications to run -PROCESS_LIST = PyEmbedIngest +LOOP_ORDER = times -# 1st INGEST INSTANCE -# python script with optional arguments to run for 1st ingest instance -PY_EMBED_INGEST_1_SCRIPT = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +### +# PyEmbedIngest Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pyembedingest +### -# type of python input to expect for 1st ingest instance -# valid options: NUMPY, XARRAY -PY_EMBED_INGEST_1_TYPE = NUMPY +PY_EMBED_INGEST_1_OUTPUT_DIR = +PY_EMBED_INGEST_1_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/test.nc -# output grid for 1st ingest instance. Can be a grid definition or file path +PY_EMBED_INGEST_1_SCRIPT = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +PY_EMBED_INGEST_1_TYPE = NUMPY PY_EMBED_INGEST_1_OUTPUT_GRID = G130 -# 2nd INGEST INSTANCE -# python script with optional arguments to run for 2nd ingest instance -PY_EMBED_INGEST_2_SCRIPT = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +PY_EMBED_INGEST_2_OUTPUT_DIR = +PY_EMBED_INGEST_2_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/regrid_data_plane.nc -# type of python input to expect for 2nd ingest instance -# valid options: NUMPY, XARRAY +PY_EMBED_INGEST_2_SCRIPT = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST PY_EMBED_INGEST_2_TYPE = NUMPY - -# output grid for 2nd ingest instance. Can be a grid definition or file path PY_EMBED_INGEST_2_OUTPUT_GRID = G130 - -[dir] -# output directory for 1st ingest instance -# in this example, the full output path is set in PY_EMBED_INGEST_1_OUTPUT_TEMPLATE -PY_EMBED_INGEST_1_OUTPUT_DIR = - -# output directory for 2nd ingest instance -# in this example, the full output path is set in PY_EMBED_INGEST_2_OUTPUT_TEMPLATE -PY_EMBED_INGEST_2_OUTPUT_DIR = - -[filename_templates] -# output template to use for 1st ingest instance -# can optionally use [dir] PY_EMBED_INGEST_1_OUTPUT_DIR with this value -PY_EMBED_INGEST_1_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/test.nc - -# output template to use for 2nd ingest instance -# can optionally use [dir] PY_EMBED_INGEST_2_OUTPUT_DIR with this value -PY_EMBED_INGEST_2_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/regrid_data_plane.nc diff --git a/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.conf b/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.conf index 61e8963541..5f432ae4a2 100644 --- a/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.conf +++ b/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.conf @@ -1,78 +1,62 @@ -# PyEmbedIngest wrapper example - [config] -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. -LOOP_ORDER = times -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.html -# Format of VALID_BEG and VALID_END -VALID_TIME_FMT = %Y%m%d%H +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# Start time for METplus run -VALID_BEG = 2013022712 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = PyEmbedIngest -# End time for METplus run -VALID_END = 2013022712 -# Increment between METplus runs in seconds. Must be >= 60 +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H +VALID_BEG = 2013022712 +VALID_END = 2013022712 VALID_INCREMENT = 21600 -# list of forecast leads to process LEAD_SEQ = 0 -# List of applications to run -PROCESS_LIST = PyEmbedIngest +LOOP_ORDER = times -# 1st INGEST INSTANCE -# python script with optional arguments to run for 1st ingest instance -# this ingest instance runs 1 scripts to generate 1 field -PY_EMBED_INGEST_1_SCRIPT_1 = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +### +# PyEmbedIngest Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pyembedingest +### -# type of python input to expect for 1st ingest instance -# valid options: NUMPY, XARRAY -PY_EMBED_INGEST_1_TYPE = NUMPY +PY_EMBED_INGEST_1_OUTPUT_DIR = +PY_EMBED_INGEST_1_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/test.nc -# output grid for 1st ingest instance. Can be a grid definition or file path +PY_EMBED_INGEST_1_SCRIPT_1 = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +PY_EMBED_INGEST_1_TYPE = NUMPY PY_EMBED_INGEST_1_OUTPUT_GRID = G130 -# 2nd INGEST INSTANCE -# python script with optional arguments to run for 2nd ingest instance -# this ingest instance runs 2 scripts to generate 2 fields +PY_EMBED_INGEST_2_OUTPUT_DIR = +PY_EMBED_INGEST_2_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/regrid_data_plane.nc + PY_EMBED_INGEST_2_SCRIPT_1 = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST PY_EMBED_INGEST_2_OUTPUT_FIELD_NAME_1 = Forecast PY_EMBED_INGEST_2_SCRIPT_2 = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS PY_EMBED_INGEST_2_OUTPUT_FIELD_NAME_2 = Observation -# type of python input to expect for 2nd ingest instance -# valid options: NUMPY, XARRAY PY_EMBED_INGEST_2_TYPE = NUMPY - -# output grid for 2nd ingest instance. Can be a grid definition or file path PY_EMBED_INGEST_2_OUTPUT_GRID = G130 - -[dir] -# output directory for 1st ingest instance -# in this example, the full output path is set in PY_EMBED_INGEST_1_OUTPUT_TEMPLATE -PY_EMBED_INGEST_1_OUTPUT_DIR = - -# output directory for 2nd ingest instance -# in this example, the full output path is set in PY_EMBED_INGEST_2_OUTPUT_TEMPLATE -PY_EMBED_INGEST_2_OUTPUT_DIR = - -[filename_templates] -# output template to use for 1st ingest instance -# can optionally use [dir] PY_EMBED_INGEST_1_OUTPUT_DIR with this value -PY_EMBED_INGEST_1_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/test.nc - -# output template to use for 2nd ingest instance -# can optionally use [dir] PY_EMBED_INGEST_2_OUTPUT_DIR with this value -PY_EMBED_INGEST_2_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/regrid_data_plane.nc diff --git a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane.conf b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane.conf index 7a46f42917..d228cd7b6d 100644 --- a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane.conf +++ b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane.conf @@ -1,103 +1,81 @@ [config] -# List of applications to run - only RegridDataPlane for this case + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/RegridDataPlane/RegridDataPlane.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = RegridDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 1M -# 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 = 3H -# 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 -# If True, run regrid_data_plane on observation data + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + OBS_REGRID_DATA_PLANE_RUN = True -# name of input field to process -# if unset, OBS_VAR1_NAME will be used -OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = APCP +OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_obs/ST2ml -# level of input field to process -# if unset, OBS_VAR1_LEVELS will be used -OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = A01 +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/regrid_data_plane + +OBS_REGRID_DATA_PLANE_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}.Grb_G212 -# name of output field to create -# if unset, OBS_VAR1_NAME and OBS_VAR1_LEVELS will be combined to generate an output field name -OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = APCP_01 -# If running a MET tool comparison tool after RegridDataPlane, one can instead set OBS_VAR1_[NAME/LEVELS] to -# a value that corresponds to the desired name/level to use in the comparison -# this value will be used to determine output name/level to pass to RegridDataPlane as well -#OBS_VAR1_NAME = APCP -#OBS_VAR1_LEVELS = A01 +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = APCP +OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = A01 +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = APCP_01 -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified REGRID_DATA_PLANE_ONCE_PER_FIELD = True -# Name to identify model data in output -MODEL = QPF -# Name to identify observation data in output +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + +MODEL = QPF OBTYPE = QPE -# Used by regrid_data_plane to remap data REGRID_DATA_PLANE_VERIF_GRID={INPUT_BASE}/met_test/data/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212 -# method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = BUDGET -# regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 -# Gaussian filter DX value to add as command line argument - not added if unset or blank REGRID_DATA_PLANE_GAUSSIAN_DX = -# Gaussian filter radius value to add as command line argument - not added if unset or blank REGRID_DATA_PLANE_GAUSSIAN_RADIUS = - -# End of [config] section and start of [dir] section -[dir] -# directory containing observation input to RegridDataPlane -OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_obs/ST2ml - -# directory to write observation output from RegridDataPlane -OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/regrid_data_plane - - -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# template to use to read input data and write output data for RegridDataPlane -# if different names for input and output are desired, set OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE -# and OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE instead -OBS_REGRID_DATA_PLANE_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}.Grb_G212 diff --git a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_multi_file.conf b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_multi_file.conf index e0beea0ab0..dff538882f 100644 --- a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_multi_file.conf +++ b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_multi_file.conf @@ -1,106 +1,84 @@ [config] -# List of applications to run - only RegridDataPlane for this case + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_multi_file.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = RegridDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 1M -# 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 = 3H -# 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 -# If True, run regrid_data_plane on observation data + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + OBS_REGRID_DATA_PLANE_RUN = True -# name of input field to process -# if unset, OBS_VAR1_NAME will be used -OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = APCP -OBS_REGRID_DATA_PLANE_VAR2_INPUT_FIELD_NAME = TMP +OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst +OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%2H}.tm00_G212 -# level of input field to process -# if unset, OBS_VAR1_LEVELS will be used -OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = L0 -OBS_REGRID_DATA_PLANE_VAR2_INPUT_LEVEL = L0 +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/RegridDataPlane/multi_field_multi_file +OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_{obs_name}_{lead?fmt=%2H}.tm00_G212 -# name of output field to create -# if unset, OBS_VAR1_NAME and OBS_VAR1_LEVELS will be combined to generate an output field name -OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = APCP_01 -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + REGRID_DATA_PLANE_ONCE_PER_FIELD = True -# If running a MET tool comparison tool after RegridDataPlane, one can instead set OBS_VAR1_[NAME/LEVELS] to -# a value that corresponds to the desired name/level to use in the comparison -# this value will be used to determine output name/level to pass to RegridDataPlane as well -#OBS_VAR1_NAME = APCP -#OBS_VAR1_LEVELS = A01 +OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = APCP +OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = L0 +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = APCP_01 + +OBS_REGRID_DATA_PLANE_VAR2_INPUT_FIELD_NAME = TMP +OBS_REGRID_DATA_PLANE_VAR2_INPUT_LEVEL = L0 -# Name to identify model data in output -MODEL = QPF -# Name to identify observation data in output +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + +MODEL = QPF OBTYPE = QPE -# Used by regrid_data_plane to remap data REGRID_DATA_PLANE_VERIF_GRID={INPUT_BASE}/met_test/data/sample_obs/ST2ml/ST2ml2005080703.Grb_G212 -# method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = BUDGET -# regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 -# Gaussian filter DX value to add as command line argument - not added if unset or blank REGRID_DATA_PLANE_GAUSSIAN_DX = -# Gaussian filter radius value to add as command line argument - not added if unset or blank REGRID_DATA_PLANE_GAUSSIAN_RADIUS = - -# End of [config] section and start of [dir] section -[dir] -# directory containing observation input to RegridDataPlane -OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst - -# directory to write observation output from RegridDataPlane -OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/RegridDataPlane/multi_field_multi_file - - -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# template to use to read input data and write output data for RegridDataPlane -# if different names for input and output are desired, set OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE -# and OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE instead -OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%2H}.tm00_G212 -OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_{obs_name}_{lead?fmt=%2H}.tm00_G212 \ No newline at end of file diff --git a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_one_file.conf b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_one_file.conf index 06ab505ac2..f620440605 100644 --- a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_one_file.conf +++ b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_one_file.conf @@ -1,104 +1,84 @@ [config] -# List of applications to run - only RegridDataPlane for this case + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/RegridDataPlane/RegridDataPlane_multi_field_one_file.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = RegridDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 1M -# 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 = 3H -# 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 -# If True, run regrid_data_plane on observation data + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + OBS_REGRID_DATA_PLANE_RUN = True -# name of input field to process -# if unset, OBS_VAR1_NAME will be used -OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = APCP -OBS_REGRID_DATA_PLANE_VAR2_INPUT_FIELD_NAME = TMP +OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst -# level of input field to process -# if unset, OBS_VAR1_LEVELS will be used -OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = L0 -OBS_REGRID_DATA_PLANE_VAR2_INPUT_LEVEL = L0 +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/RegridDataPlane/multi_field_one_file -# name of output field to create -# if unset, OBS_VAR1_NAME and OBS_VAR1_LEVELS will be combined to generate an output field name -OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = APCP_01 +OBS_REGRID_DATA_PLANE_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%2H}.tm00_G212 + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified REGRID_DATA_PLANE_ONCE_PER_FIELD = False -# If running a MET tool comparison tool after RegridDataPlane, one can instead set OBS_VAR1_[NAME/LEVELS] to -# a value that corresponds to the desired name/level to use in the comparison -# this value will be used to determine output name/level to pass to RegridDataPlane as well -#OBS_VAR1_NAME = APCP -#OBS_VAR1_LEVELS = A01 +OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = APCP +OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = L0 +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = APCP_01 -# Name to identify model data in output -MODEL = QPF +OBS_REGRID_DATA_PLANE_VAR2_INPUT_FIELD_NAME = TMP +OBS_REGRID_DATA_PLANE_VAR2_INPUT_LEVEL = L0 -# Name to identify observation data in output + +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + +MODEL = QPF OBTYPE = QPE -# Used by regrid_data_plane to remap data REGRID_DATA_PLANE_VERIF_GRID={INPUT_BASE}/met_test/data/sample_obs/ST2ml/ST2ml2005080703.Grb_G212 -# method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = BUDGET -# regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 -# Gaussian filter DX value to add as command line argument - not added if unset or blank REGRID_DATA_PLANE_GAUSSIAN_DX = -# Gaussian filter radius value to add as command line argument - not added if unset or blank REGRID_DATA_PLANE_GAUSSIAN_RADIUS = - -# End of [config] section and start of [dir] section -[dir] -# directory containing observation input to RegridDataPlane -OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst - -# directory to write observation output from RegridDataPlane -OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/RegridDataPlane/multi_field_one_file - -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# template to use to read input data and write output data for RegridDataPlane -# if different names for input and output are desired, set OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE -# and OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE instead -OBS_REGRID_DATA_PLANE_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%2H}.tm00_G212 \ No newline at end of file diff --git a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.conf b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.conf index 4f0e6dd082..31b2944215 100644 --- a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.conf @@ -1,63 +1,76 @@ [config] -# List of applications to run + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = RegridDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = INIT -# Format of INIT_BEG and INT_END -INIT_TIME_FMT = %Y%m%d%H +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Start time for METplus run +LOOP_BY = INIT +INIT_TIME_FMT = %Y%m%d%H INIT_BEG=2005080700 - -# End time for METplus run INIT_END=2005080700 - -# Increment between METplus runs in seconds. Must be >= 60 INIT_INCREMENT=43200 -# List of forecast leads to process LEAD_SEQ = 3 -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# run regrid_data_plane on observation data + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + OBS_REGRID_DATA_PLANE_RUN = True -# List of variables to compare -OBS_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +OBS_REGRID_DATA_PLANE_INPUT_DIR = +OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = PYTHON_NUMPY -OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = OBS +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/RegridDataPlane/regrid_py +OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = numpy_data.nc + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified REGRID_DATA_PLANE_ONCE_PER_FIELD = True -# Name to identify model data in output -MODEL = FCST +OBS_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = OBS -# Name to identify observation data in output + +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + +MODEL = FCST OBTYPE = OBS -# Used by regrid_data_plane to remap data REGRID_DATA_PLANE_VERIF_GRID = G130 -# method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = BUDGET -# regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 - -[dir] -OBS_REGRID_DATA_PLANE_INPUT_DIR = -OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/RegridDataPlane/regrid_py - -[filename_templates] -OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = PYTHON_NUMPY -OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = numpy_data.nc \ No newline at end of file diff --git a/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis.conf b/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis.conf index d8270034e0..5d361be2be 100644 --- a/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis.conf +++ b/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis.conf @@ -1,11 +1,32 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = SeriesAnalysis + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### +SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG=2005080700 @@ -14,7 +35,6 @@ INIT_INCREMENT = 12H LEAD_SEQ = 12, 9, 6 -SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = False @@ -22,6 +42,7 @@ SERIES_ANALYSIS_CUSTOM_LOOP_LIST = ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### FCST_SERIES_ANALYSIS_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst @@ -45,11 +66,9 @@ SERIES_ANALYSIS_CLIMO_STDEV_INPUT_TEMPLATE = ### # Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### -MODEL = WRF -OBTYPE = MC_PCP - #FCST_CAT_THRESH = #OBS_CAT_THRESH = @@ -61,10 +80,15 @@ OBS_VAR1_LEVELS = "(*,*)" BOTH_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 + ### -# SeriesAnalysis +# SeriesAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis ### +MODEL = WRF +OBTYPE = MC_PCP + #LOG_SERIES_ANALYSIS_VERBOSITY = 2 SERIES_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/SeriesAnalysisConfig_wrapped @@ -134,7 +158,7 @@ SERIES_ANALYSIS_OUTPUT_STATS_CNT = TOTAL, RMSE, FBAR, OBAR ### -# Plotting +# SeriesAnalysis Plotting ### SERIES_ANALYSIS_GENERATE_PLOTS = no @@ -142,4 +166,3 @@ SERIES_ANALYSIS_GENERATE_PLOTS = no PLOT_DATA_PLANE_TITLE = SERIES_ANALYSIS_GENERATE_ANIMATIONS = no - diff --git a/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.conf b/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.conf index 39e943fd57..097267655a 100644 --- a/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.conf @@ -1,24 +1,82 @@ -# SeriesAnalysis using Python Embedding METplus Configuration - [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = SeriesAnalysis -LOOP_ORDER = processes -LOOP_BY = INIT +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -INIT_TIME_FMT = %Y%m%d%H +SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID +LOOP_BY = INIT +INIT_TIME_FMT = %Y%m%d%H INIT_BEG=2005080700 - INIT_END=2005080700 - INIT_INCREMENT = 12H LEAD_SEQ = 12 -SERIES_ANALYSIS_CUSTOM_LOOP_LIST = +LOOP_ORDER = processes + +SERIES_ANALYSIS_CUSTOM_LOOP_LIST = + + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_SERIES_ANALYSIS_INPUT_DIR = {INPUT_BASE}/met_test/data/python +FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = fcst.txt, fcst.txt +FCST_SERIES_ANALYSIS_INPUT_DATATYPE = PYTHON_NUMPY + +OBS_SERIES_ANALYSIS_INPUT_DIR = {INPUT_BASE}/met_test/data/python +OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = obs.txt, obs.txt +OBS_SERIES_ANALYSIS_INPUT_DATATYPE = PYTHON_NUMPY + +SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR = +SERIES_ANALYSIS_CLIMO_MEAN_INPUT_TEMPLATE = + +SERIES_ANALYSIS_CLIMO_STDEV_INPUT_DIR = +SERIES_ANALYSIS_CLIMO_STDEV_INPUT_TEMPLATE = + +SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/SeriesAnalysis +SERIES_ANALYSIS_OUTPUT_TEMPLATE = python_sa.nc + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST + +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS + + +### +# SeriesAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis +### SERIES_ANALYSIS_DESC = @@ -36,15 +94,13 @@ SERIES_ANALYSIS_REGRID_WIDTH = SERIES_ANALYSIS_REGRID_VLD_THRESH = SERIES_ANALYSIS_REGRID_SHAPE = -SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID - SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = False #LOG_SERIES_ANALYSIS_VERBOSITY = 2 SERIES_ANALYSIS_IS_PAIRED = False -SERIES_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/SeriesAnalysisConfig_wrapped +SERIES_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/SeriesAnalysisConfig_wrapped SERIES_ANALYSIS_STAT_LIST = TOTAL, RMSE, FBAR, OBAR @@ -52,36 +108,3 @@ MODEL = PYTHON OBTYPE = ANALYS -FCST_SERIES_ANALYSIS_INPUT_DATATYPE = PYTHON_NUMPY - -OBS_SERIES_ANALYSIS_INPUT_DATATYPE = PYTHON_NUMPY - -FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST - -OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS - -[dir] - -CONFIG_DIR={PARM_BASE}/met_config - -FCST_SERIES_ANALYSIS_INPUT_DIR = {INPUT_BASE}/met_test/data/python - -OBS_SERIES_ANALYSIS_INPUT_DIR = {INPUT_BASE}/met_test/data/python - -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR = - -SERIES_ANALYSIS_CLIMO_STDEV_INPUT_DIR = - -SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/SeriesAnalysis - -[filename_templates] - -FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = fcst.txt, fcst.txt - -OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = obs.txt, obs.txt - -SERIES_ANALYSIS_OUTPUT_TEMPLATE = python_sa.nc - -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_TEMPLATE = - -SERIES_ANALYSIS_CLIMO_STDEV_INPUT_TEMPLATE = diff --git a/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis.conf b/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis.conf index e3ccc5a964..67f5f0b4bd 100644 --- a/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis.conf +++ b/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis.conf @@ -1,91 +1,69 @@ -# StatAnalysis 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 StatAnalysis for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/StatAnalysis/StatAnalysis.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = StatAnalysis -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - - -# Start time for METplus run - must match INIT_TIME_FMT VALID_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 12H -# 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 = 12 -# 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 StatAnalysis only -#LOG_STAT_ANALYSIS_VERBOSITY = 2 -# Models to process -# MODELn is the model name to filter for in -# stat files [required] -# MODELn_OBTYPE is the observation name -# to filter for the .stat files -# [required] -# MODELn_STAT_ANALYSIS_LOOKIN_DIR is the directory to search for -# the .stat files in, wildcards (*) -# are okay to search for multiple -# directories and templates like -# {valid?fmt=%Y%m%d%H%M%S} [required] -# MODELn_REFERENCE_NAME is a reference name for MODELn, defaults to -# MODELn, it can be used in the file template names -# [optional] +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + MODEL1 = WRF MODEL1_OBTYPE = ANALYS +MODEL1_STAT_ANALYSIS_LOOKIN_DIR = {INPUT_BASE}/met_test/out/grid_stat +MODEL1_STAT_ANALYSIS_DUMP_ROW_TEMPLATE = {fcst_valid_hour?fmt=%H}Z/{MODEL1}/{MODEL1}_{valid?fmt=%Y%m%d%H}.stat +STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/stat_analysis +STAT_ANALYSIS_OUTPUT_TEMPLATE = job.out -# Location of MET config file to pass to StatAnalysis -# References CONFIG_DIR from the [dir] section -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped + +### +# StatAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis +### + +#LOG_STAT_ANALYSIS_VERBOSITY = 2 + +STAT_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/STATAnalysisConfig_wrapped #STAT_ANALYSIS_HSS_EC_VALUE = -# stat_analysis job info STAT_ANALYSIS_JOB_NAME = filter -# if using -dump_row, put in JOBS_ARGS "-dump_row [dump_row_file]" -# if using -out_stat, put in JOBS_ARGS "-out_stat [out_stat_file]" -# METplus will fill in filename STAT_ANALYSIS_JOB_ARGS = -dump_row [dump_row_file] -# Optional variables for further filtering -# can be blank, single, or multiple values -# if more than one use comma separated list -# -# (FCST)(OBS)_(VALID)(INIT)_HOUR_LIST: HH format (ex. 00, 06, 12) -# (FCST)(OBS)_LEAD_LIST: HH[H][MMSS] format (ex. 00, 06, 120) MODEL_LIST = {MODEL1} DESC_LIST = FCST_LEAD_LIST = @@ -108,35 +86,6 @@ OBS_THRESH_LIST = COV_THRESH_LIST = ALPHA_LIST = LINE_TYPE_LIST = -# how to treat items listed in above _LIST variables -# GROUP_LIST_ITEMS: items listed in a given _LIST variable -# will be grouped together -# LOOP_LIST_ITEMS: items listed in a give _LIST variable -# will be looped over -# if not listed METplus will treat the list as a group + GROUP_LIST_ITEMS = FCST_INIT_HOUR_LIST LOOP_LIST_ITEMS = FCST_VALID_HOUR_LIST, MODEL_LIST - - -MODEL1_STAT_ANALYSIS_LOOKIN_DIR = {INPUT_BASE}/met_test/out/grid_stat - -# Output data directory -STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/stat_analysis - -STAT_ANALYSIS_OUTPUT_TEMPLATE = job.out - -# location of configuration files used by MET applications -CONFIG_DIR = {PARM_BASE}/met_config - - -# Optional settings to create templated directory and file name information -# to save files as stat_analysis output as, this is appended to STAT_ANALYSIS_OUTPUT_DIR -# if no template is provided a default filename set in the code will be used -# Use: -# string templates can be set for all the lists being looped over, just -# use and a lower case version of the list, ex. {fcst_valid_hour?fmt=%H} -# or {fcst_var?fmt=%s} -# For looping over models: -# can set MODELn_STAT_ANALYSIS_[DUMP_ROW/OUT_STAT]_TEMPLATE for individual models -# or STAT_ANALYSIS_[DUMP_ROW/OUT_STAT] with {model?fmt=%s} -MODEL1_STAT_ANALYSIS_DUMP_ROW_TEMPLATE = {fcst_valid_hour?fmt=%H}Z/{MODEL1}/{MODEL1}_{valid?fmt=%Y%m%d%H}.stat diff --git a/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.conf b/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.conf index c1daba2380..72cfdee349 100644 --- a/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.conf @@ -1,89 +1,65 @@ -# StatAnalysis 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 StatAnalysis for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = StatAnalysis -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### LOOP_BY = VALID - -# Format of INIT_BEG and INT_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 VALID_TIME_FMT = %Y%m%d%H - - -# Start time for METplus run - must match INIT_TIME_FMT VALID_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 12H -# 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 = 12 -# 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 StatAnalysis only -#LOG_STAT_ANALYSIS_VERBOSITY = 2 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Models to process -# MODELn is the model name to filter for in -# stat files [required] -# MODELn_OBTYPE is the observation name -# to filter for the .stat files -# [required] -# MODELn_STAT_ANALYSIS_LOOKIN_DIR is the directory to search for -# the .stat files in, wildcards (*) -# are okay to search for multiple -# directories and templates like -# {valid?fmt=%Y%m%d%H%M%S} [required] -# MODELn_REFERENCE_NAME is a reference name for MODELn, defaults to -# MODELn, it can be used in the file template names -# [optional] MODEL1 = WRF MODEL1_OBTYPE = ADPSFC +MODEL1_STAT_ANALYSIS_LOOKIN_DIR = python {INPUT_BASE}/met_test/scripts/python/read_ascii_mpr.py {INPUT_BASE}/met_test/new/point_stat_120000L_20050807_120000V.stat +MODEL1_STAT_ANALYSIS_DUMP_ROW_TEMPLATE = stat_analysis_python_AGGR_MPR_to_SL1L2.stat +MODEL1_STAT_ANALYSIS_OUT_STAT_TEMPLATE = {model?fmt=%s}_{obtype?fmt=%s}_valid{valid?fmt=%Y%m%d}_fcstvalidhour{valid_hour?fmt=%H}0000Z_out_stat.stat + +STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/StatAnalysis_python_embedding + +### +# StatAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis +### + +#LOG_STAT_ANALYSIS_VERBOSITY = 2 -# Location of MET config file to pass to StatAnalysis -# References CONFIG_DIR from the [dir] section -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped +STAT_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/STATAnalysisConfig_wrapped -# stat_analysis job info STAT_ANALYSIS_JOB_NAME = aggregate_stat -# if using -dump_row, put in JOBS_ARGS "-dump_row [dump_row_file]" -# if using -out_stat, put in JOBS_ARGS "-out_stat [out_stat_file]" -# METplus will fill in filename STAT_ANALYSIS_JOB_ARGS = -out_line_type sl1l2 -by FCST_VAR -out_stat [out_stat_file] -# Optional variables for further filtering -# can be blank, single, or multiple values -# if more than one use comma separated list -# -# (FCST)(OBS)_(VALID)(INIT)_HOUR_LIST: HH format (ex. 00, 06, 12) -# (FCST)(OBS)_LEAD_LIST: HH[H][MMSS] format (ex. 00, 06, 120) MODEL_LIST = {MODEL1} DESC_LIST = FCST_LEAD_LIST = @@ -106,40 +82,6 @@ OBS_THRESH_LIST = COV_THRESH_LIST = ALPHA_LIST = LINE_TYPE_LIST = MPR -# how to treat items listed in above _LIST variables -# GROUP_LIST_ITEMS: items listed in a given _LIST variable -# will be grouped together -# LOOP_LIST_ITEMS: items listed in a give _LIST variable -# will be looped over -# if not listed METplus will treat the list as a group + GROUP_LIST_ITEMS = FCST_INIT_HOUR_LIST LOOP_LIST_ITEMS = FCST_VALID_HOUR_LIST, MODEL_LIST - - -# End of [config] section and start of [dir] section -[dir] - -MODEL1_STAT_ANALYSIS_LOOKIN_DIR = python {INPUT_BASE}/met_test/scripts/python/read_ascii_mpr.py {INPUT_BASE}/met_test/new/point_stat_120000L_20050807_120000V.stat - -# Output data directory -STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/StatAnalysis_python_embedding - -# location of configuration files used by MET applications -CONFIG_DIR = {PARM_BASE}/met_config - - -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# Optional settings to create templated directory and file name information -# to save files as stat_analysis output as, this is appended to STAT_ANALYSIS_OUTPUT_DIR -# if no template is provided a default filename set in the code will be used -# Use: -# string templates can be set for all the lists being looped over, just -# use and a lower case version of the list, ex. {fcst_valid_hour?fmt=%H} -# or {fcst_var?fmt=%s} -# For looping over models: -# can set MODELn_STAT_ANALYSIS_[DUMP_ROW/OUT_STAT]_TEMPLATE for individual models -# or STAT_ANALYSIS_[DUMP_ROW/OUT_STAT] with {model?fmt=%s} -MODEL1_STAT_ANALYSIS_DUMP_ROW_TEMPLATE = stat_analysis_python_AGGR_MPR_to_SL1L2.stat - -MODEL1_STAT_ANALYSIS_OUT_STAT_TEMPLATE = {model?fmt=%s}_{obtype?fmt=%s}_valid{valid?fmt=%Y%m%d}_fcstvalidhour{valid_hour?fmt=%H}0000Z_out_stat.stat diff --git a/parm/use_cases/met_tool_wrapper/TCGen/TCGen.conf b/parm/use_cases/met_tool_wrapper/TCGen/TCGen.conf index 4fb7456019..8d25a7feaa 100644 --- a/parm/use_cases/met_tool_wrapper/TCGen/TCGen.conf +++ b/parm/use_cases/met_tool_wrapper/TCGen/TCGen.conf @@ -1,33 +1,50 @@ [config] -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. -LOOP_ORDER = times +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/TCGen/TCGen.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# 'Tasks' to be run PROCESS_LIST = TCGen + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT -# The init time INIT_TIME_FMT = %Y INIT_BEG = 2016 +LEAD_SEQ = -LOG_TC_GEN_VERBOSITY = 2 - -# optional list of strings to loop over and call the tool multiple times -# value of each item can be referenced in filename templates with {custom?fmt=%s} TC_GEN_CUSTOM_LOOP_LIST = +LOOP_ORDER = times + -# I/O Configurations +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Location of input data directory for track data TC_GEN_TRACK_INPUT_DIR = {INPUT_BASE}/met_test/tc_data/genesis/atcf TC_GEN_TRACK_INPUT_TEMPLATE = {init?fmt=%Y}/*.dat -# Location of input data directory for genesis data TC_GEN_GENESIS_INPUT_DIR = {INPUT_BASE}/met_test/tc_data/genesis/suite1 TC_GEN_GENESIS_INPUT_TEMPLATE = {init?fmt=%Y}*/genesis*{init?fmt=%Y}* @@ -37,26 +54,30 @@ TC_GEN_GENESIS_INPUT_TEMPLATE = {init?fmt=%Y}*/genesis*{init?fmt=%Y}* #TC_GEN_SHAPE_INPUT_DIR = #TC_GEN_SHAPE_INPUT_TEMPLATE = - -# directory to write output files generated by tc_gen TC_GEN_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/TCGen TC_GEN_OUTPUT_TEMPLATE = tc_gen_{init?fmt=%Y} -# MET Configurations +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -TC_GEN_CONFIG_FILE = {PARM_BASE}/met_config/TCGenConfig_wrapped -# The following variables set values in the MET configuration file used by this example -# Leaving these values commented will use the value found in the default MET configuration file -# See the MET documentation for this tool for more information on the settings +### +# TCGen Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcgen +### + +#LOG_TC_GEN_VERBOSITY = 2 + +TC_GEN_CONFIG_FILE = {PARM_BASE}/met_config/TCGenConfig_wrapped TC_GEN_INIT_FREQ = 6 TC_GEN_VALID_FREQ = 6 TC_GEN_FCST_HR_WINDOW_BEGIN = 6 - TC_GEN_FCST_HR_WINDOW_END = 120 TC_GEN_MIN_DURATION = 12 @@ -100,9 +121,6 @@ TC_GEN_VALID_END = TC_GEN_INIT_HOUR = -# sets METPLUS_LEAD in the wrapped MET config file -LEAD_SEQ = - TC_GEN_VX_MASK = TC_GEN_BASIN_MASK = diff --git a/parm/use_cases/met_tool_wrapper/TCMPRPlotter/TCMPRPlotter.conf b/parm/use_cases/met_tool_wrapper/TCMPRPlotter/TCMPRPlotter.conf index ccf92158fa..38a2046a4e 100644 --- a/parm/use_cases/met_tool_wrapper/TCMPRPlotter/TCMPRPlotter.conf +++ b/parm/use_cases/met_tool_wrapper/TCMPRPlotter/TCMPRPlotter.conf @@ -1,35 +1,55 @@ -# -# CONFIGURATION -# [config] -# Loop over each process in the process list (set in PROCESS_LIST) for all times in the time window of -# interest. -LOOP_ORDER = processes +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/TCMPRPlotter/TCMPRPlotter.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### PROCESS_LIST = TCMPRPlotter -# The init time begin and end times, increment + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m INIT_BEG = 201503 INIT_END = 201503 - -# This is the step-size. Increment in seconds from the begin time to the end -# time INIT_INCREMENT = 6H +LOOP_ORDER = processes + + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + TCMPR_PLOTTER_TCMPR_DATA_DIR = {INPUT_BASE}/met_test/tc_pairs/{date?fmt=%Y%m} TCMPR_PLOTTER_PLOT_OUTPUT_DIR = {OUTPUT_BASE}/tcmpr_plots -#TCMPR_PLOTTER_READ_ALL_FILES = True -# Plot_TCMPR options, if left unset, default values that are -# pre-defined in the R utility (packaged with MET) will be used. +### +# TCMPRPlotter Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcmprplotter +### + +#TCMPR_PLOTTER_READ_ALL_FILES = True -# Config file used to customize the plot, the tcmpr_customize.conf -# file is used to resize the plot that is produced so that it doesn't -# fill the entire screen. TCMPR_PLOTTER_CONFIG_FILE = {PARM_BASE}/use_cases/met_tool_wrapper/TCMPRPlotter/TCMPRPlotterConfig_Customize TCMPR_PLOTTER_PREFIX = TCMPR_PLOTTER_TITLE = @@ -39,10 +59,9 @@ TCMPR_PLOTTER_YLAB = Your y-label Goes Here TCMPR_PLOTTER_XLIM = TCMPR_PLOTTER_YLIM = TCMPR_PLOTTER_FILTER = -# The tcst data file to be used instead of running the MET tc_stat tool + TCMPR_PLOTTER_FILTERED_TCST_DATA_FILE = -# Comma separated, no whitespace. Default is TK_ERR (track error) unless -# otherwise indicated. + TCMPR_PLOTTER_DEP_VARS = AMSLP-BMSLP,AMAX_WIND-BMAX_WIND,TK_ERR TCMPR_PLOTTER_SCATTER_X = TCMPR_PLOTTER_SCATTER_Y = @@ -51,8 +70,7 @@ TCMPR_PLOTTER_SERIES = TCMPR_PLOTTER_SERIES_CI = TCMPR_PLOTTER_LEGEND = TCMPR_PLOTTER_LEAD = -# Default plot is boxplot, unless otherwise indicated. If box plot is needed -# in addition to other plots, this needs to be indicated. + TCMPR_PLOTTER_PLOT_TYPES = MEAN, MEDIAN TCMPR_PLOTTER_RP_DIFF = TCMPR_PLOTTER_DEMO_YR = @@ -61,7 +79,6 @@ TCMPR_PLOTTER_FOOTNOTE_FLAG = TCMPR_PLOTTER_PLOT_CONFIG_OPTS = TCMPR_PLOTTER_SAVE_DATA = -# TCMPR FLAGS no == (don't set flag), yes == (set flag) TCMPR_PLOTTER_NO_EE = no TCMPR_PLOTTER_NO_LOG = no TCMPR_PLOTTER_SAVE = no diff --git a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf index 255d41c784..593970cced 100644 --- a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf +++ b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf @@ -1,22 +1,42 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = TCPairs + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2014121318 INIT_END = 2014121318 -INIT_INCREMENT = 21600 ;; set to every 6 hours=21600 seconds +INIT_INCREMENT = 21600 TC_PAIRS_RUN_ONCE = True ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/met_test/new/track_data @@ -42,7 +62,8 @@ TC_PAIRS_REFORMAT_TYPE = SBU ### -# TCPairs +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs ### TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped diff --git a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf index 2812a0cc16..044712728f 100644 --- a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf +++ b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/TCPairs/TCPairs_tropical.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = TCPairs + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -21,6 +40,7 @@ TC_PAIRS_RUN_ONCE = False ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/met_test/new/hwrf/adeck @@ -41,7 +61,8 @@ TC_PAIRS_REFORMAT_DECK = no ### -# TCPairs +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs ### TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped diff --git a/parm/use_cases/met_tool_wrapper/TCRMW/TCRMW.conf b/parm/use_cases/met_tool_wrapper/TCRMW/TCRMW.conf index 0ff87ebda6..e92c2ba534 100644 --- a/parm/use_cases/met_tool_wrapper/TCRMW/TCRMW.conf +++ b/parm/use_cases/met_tool_wrapper/TCRMW/TCRMW.conf @@ -1,33 +1,58 @@ -# -# CONFIGURATION -# [config] -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. -LOOP_ORDER = times +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/TCRMW/TCRMW.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# 'Tasks' to be run PROCESS_LIST = TCRMW -LOOP_BY = INIT -# The init time begin and end times, increment, and last init hour. +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2016092900 INIT_END = 2016092900 - -# This is the step-size. Increment in seconds from the begin time to the end time -# set to 6 hours = 21600 seconds INIT_INCREMENT = 21600 -LOG_TC_RMW_VERBOSITY = 2 +LOOP_ORDER = times -TC_RMW_CONFIG_FILE = {CONFIG_DIR}/TCRMWConfig_wrapped -MODEL = fv3 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +TC_RMW_DECK_INPUT_DIR = {INPUT_BASE}/met_test/new/tc_data/adeck +TC_RMW_DECK_TEMPLATE = aal14{date?fmt=%Y}_short.dat + +TC_RMW_INPUT_DIR = {INPUT_BASE}/met_test/new/model_data/grib2/gfs_fv3 +TC_RMW_INPUT_TEMPLATE = gfs.subset.t00z.pgrb2.0p25.f* + +TC_RMW_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/TCRMW +TC_RMW_OUTPUT_TEMPLATE = tc_rmw_aal14{date?fmt=%Y}.nc -#TC_RMW_DESC = + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### BOTH_VAR1_NAME = PRMSL BOTH_VAR1_LEVELS = L0 @@ -35,10 +60,20 @@ BOTH_VAR1_LEVELS = L0 BOTH_VAR2_NAME = TMP BOTH_VAR2_LEVELS = P1000, P900, P800, P700, P500, P100 -# The following variables set values in the MET -# configuration file used by this example -# Leaving these values commented will use the value -# found in the default MET configuration file + +### +# TCRMW Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcrmw +### + +#LOG_TC_RMW_VERBOSITY = 2 + +TC_RMW_CONFIG_FILE = {PARM_BASE}/met_config/TCRMWConfig_wrapped + +MODEL = fv3 + +#TC_RMW_DESC = + #TC_RMW_REGRID_METHOD = NEAREST #TC_RMW_REGRID_WIDTH = 1 #TC_RMW_REGRID_VLD_THRESH = 0.5 @@ -60,29 +95,3 @@ TC_RMW_CYCLONE = 14 #TC_RMW_VALID_INCLUDE_LIST = #TC_RMW_VALID_EXCLUDE_LIST = #TC_RMW_VALID_HOUR_LIST = - -# -# DIRECTORIES -# -[dir] - -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config - -# Location of input track data directory for DECK data -#TC_RMW_DECK_INPUT_DIR = /d1/projects/MET/MET_test_data/unit_test/tc_data/adeck -TC_RMW_DECK_INPUT_DIR = {INPUT_BASE}/met_test/new/tc_data/adeck - -#TC_RMW_INPUT_DIR = /d1/projects/MET/MET_test_data/unit_test/model_data/grib2/gfs_fv3 -TC_RMW_INPUT_DIR = {INPUT_BASE}/met_test/new/model_data/grib2/gfs_fv3 - -TC_RMW_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/TCRMW - -[filename_templates] -#TC_RMW_DECK_TEMPLATE = a{basin?fmt=%s}{cyclone?fmt=%s}{date?fmt=%Y}.dat -TC_RMW_DECK_TEMPLATE = aal14{date?fmt=%Y}_short.dat - -#TC_RMW_INPUT_TEMPLATE = gfs.t00z.pgrb2.0p25.f144 -TC_RMW_INPUT_TEMPLATE = gfs.subset.t00z.pgrb2.0p25.f* - -TC_RMW_OUTPUT_TEMPLATE = tc_rmw_aal14{date?fmt=%Y}.nc diff --git a/parm/use_cases/met_tool_wrapper/TCStat/TCStat.conf b/parm/use_cases/met_tool_wrapper/TCStat/TCStat.conf index 4fae5a9f7c..d791c3ffeb 100644 --- a/parm/use_cases/met_tool_wrapper/TCStat/TCStat.conf +++ b/parm/use_cases/met_tool_wrapper/TCStat/TCStat.conf @@ -1,75 +1,59 @@ -# -# CONFIGURATION -# [config] -# set looping method to processes-each 'task' in the process list runs to -# completion (for all init times) before the next 'task' is run -LOOP_ORDER = processes -# List of 'tasks' to run +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/TCStat/TCStat.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = TCStat -LOOP_BY = INIT -# The init time begin and end times, increment, and last init hour. +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2019103112 INIT_END = 2019103112 - -# This is the step-size. Increment in seconds from the begin time to the end time -# set to 6 hours = 21600 seconds INIT_INCREMENT = 6H -# -# DIRECTORIES -# -# TC-Stat input data (-lookin argument) -# uses output from tc-pairs -TC_STAT_LOOKIN_DIR = {INPUT_BASE}/met_test/tc_pairs +LOOP_ORDER = processes -# TC-Stat output data (creates .tcst ASCII files which can be read or used as -# input to TCMPR_Plotter_wrapper (the Python wrapper to plot_tcmpr.R) to create plots. -TC_STAT_OUTPUT_DIR = {OUTPUT_BASE}/tc_stat -TC_STAT_OUTPUT_TEMPLATE = job.out +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Leave blank or remove to use wrapped config file in parm/met_config -TC_STAT_CONFIG_FILE = {PARM_BASE}/met_config/TCStatConfig_wrapped +TC_STAT_LOOKIN_DIR = {INPUT_BASE}/met_test/tc_pairs +TC_STAT_OUTPUT_DIR = {OUTPUT_BASE}/tc_stat +TC_STAT_OUTPUT_TEMPLATE = job.out -# !!!!!!!IMPORTANT!!!!!! -# Please refer to the README_TC located in ${MET_INSTALL_DIR}/share/met/config -# for details on setting up your analysis jobs. -# For arithmetic expressions such as: -# -column 'ABS(AMSLP-BMSLP)', enclose the expression in ''. Notice that there are no -# whitespaces within the arithmetic expression. White spaces are to be used to -# separate options from values (e.g. -job summary -by AMODEL,LEAD,AMSLP -init_hour 00 -column 'AMSLP-BMSLP'). -# eg. -lookin {OUTPUT_BASE}/tc_pairs -job filter -dump_row {OUTPUT_BASE}/tc_stat_filter.out -basin ML -init_hr 00 -# or -lookin {OUTPUT_BASE}/tc_pairs -job summary -by AMODEL,LEAD -column AMSLP -column AMAX_WIND -column 'ABS(AMAX_WIND-BMAX_WIND)' -out {OUTPUT_BASE}/tc_stat/tc_stat_summary.tcst +### +# TCStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcstat +### -# Define the job filter via TC_STAT_JOB_ARGS. -# Separate each option and value with whitespace, and each job with a whitespace. -# No whitespace within arithmetic expressions or lists of items -# (e.g. -by AMSLP,AMODEL,LEAD -column '(AMAX_WIND-BMAX_WIND)') -# Enclose your arithmetic expressions with '' and separate each job -# by whitespace: -# -job filter -dump_row /path/to, -job summary -line_type TCMPR -column 'ABS(AMAX_WIND-BMAX_WIND)' -out {OUTPUT_BASE}/tc_stat/file.tcst +TC_STAT_CONFIG_FILE = {PARM_BASE}/met_config/TCStatConfig_wrapped TC_STAT_JOB_ARGS = -job summary -line_type TCMPR -column 'ASPEED' -dump_row {TC_STAT_OUTPUT_DIR}/tc_stat_summary.tcst - -# -# FILL in the following values if running multiple jobs which -# requires a MET tc_stat config file. -# -# These all map to the options in the default TC-Stat config file, except these -# are pre-pended with TC_STAT to avoid clashing with any other similarly -# named options from other MET tools (eg TC_STAT_AMODEL corresponds to the -# amodel option in the default MET tc-stat config file, whereas AMODEL -# corresponds to the amodel option in the MET tc-pairs config file). - -# Stratify by these columns: TC_STAT_AMODEL = TC_STAT_BMODEL = TC_STAT_DESC = @@ -78,16 +62,12 @@ TC_STAT_BASIN = TC_STAT_CYCLONE = TC_STAT_STORM_NAME = -# Stratify by init times via a comma-separate list of init times to -# include or exclude. Time format defined as YYYYMMDD_HH or YYYYMMDD_HHmmss TC_STAT_INIT_BEG = 20150301 TC_STAT_INIT_END = 20150304 TC_STAT_INIT_INCLUDE = TC_STAT_INIT_EXCLUDE = TC_STAT_INIT_HOUR = 00 -# Stratify by valid times via a comma-separate list of valid times to -# include or exclude. Time format defined as YYYYMMDD_HH or YYYYMMDD_HHmmss TC_STAT_VALID_BEG = TC_STAT_VALID_END = TC_STAT_VALID_INCLUDE = @@ -97,58 +77,29 @@ TC_STAT_LEAD_REQ = TC_STAT_INIT_MASK = TC_STAT_VALID_MASK = -# Stratify by the valid time and lead time via comma-separated list of -# times in format HH[MMSS] -TC_STAT_VALID_HOUR = TC_STAT_LEAD = -# Stratify over the watch_warn column in the tcst file. Setting this to -# 'ALL' will match HUWARN, HUWATCH, TSWARN, TSWATCH TC_STAT_TRACK_WATCH_WARN = -# Stratify by applying thresholds to numeric data columns. Specify with -# comma-separated list of column names and thresholds to be applied. -# The length of TC_STAT_COLUMN_THRESH_NAME should be the same as -# TC_STAT_COLUMN_THRESH_VAL. TC_STAT_COLUMN_THRESH_NAME = TC_STAT_COLUMN_THRESH_VAL = -# Stratify by a list of comma-separated columns names and values corresponding -# to non-numeric data columns of the values of interest. TC_STAT_COLUMN_STR_NAME = TC_STAT_COLUMN_STR_VAL = -# Stratify by applying thresholds to numeric data columns only when lead=0. -# If lead=0 and the value does not meet the threshold, discard the entire -# track. The length of TC_STAT_INIT_THRESH_NAME must equal the length of -# TC_STAT_INIT_THRESH_VAL. TC_STAT_INIT_THRESH_NAME = TC_STAT_INIT_THRESH_VAL = -# Stratify by applying thresholds to numeric data columns only when lead = 0. -# If lead = 0 but the value doesn't meet the threshold, discard the entire -# track. TC_STAT_INIT_STR_NAME = TC_STAT_INIT_STR_VAL = -# Excludes any points where distance to land is <=0. When set to TRUE, once land -# is encountered, the remainder of the forecast track is NOT used for the -# verification, even if the track moves back over water. TC_STAT_WATER_ONLY = -# TRUE or FALSE. To specify whether only those track points occurring near -# landfall should be retained. Landfall is the last bmodel track point before -# the distance to land switches from water to land. TC_STAT_LANDFALL = -# Define the landfall retention window, which is defined as the hours offset -# from the time of landfall. Format is in HH[MMSS]. Default TC_STAT_LANDFALL_BEG -# is set to -24, and TC_STAT_LANDFALL_END is set to 00 TC_STAT_LANDFALL_BEG = -24 TC_STAT_LANDFALL_END = 00 -# Specify whether only those track points common to both the ADECK and BDECK -# tracks should be written out TC_STAT_MATCH_POINTS = false #TC_STAT_COLUMN_STR_EXC_NAME = @@ -156,6 +107,3 @@ TC_STAT_MATCH_POINTS = false #TC_STAT_INIT_STR_EXC_NAME = #TC_STAT_INIT_STR_EXC_VAL = - -# IMPORTANT Refer to the README_TC for details on setting up analysis -# jobs (located in {MET_INSTALL_DIR}/share/met/config diff --git a/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once.conf b/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once.conf index d0484030b4..036913a999 100644 --- a/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once.conf +++ b/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once.conf @@ -1,56 +1,57 @@ -# UserScript wrapper example - [config] -# List of applications to run - only UserScript for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/UserScript/UserScript_run_once.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript -# time looping - options are INIT, VALID, RETRO, and REALTIME +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 -VALID_TIME_FMT = %Y%m%d%H%M%S +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE -# Start time for METplus run - must match VALID_TIME_FMT +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H%M%S VALID_BEG = 20141031093015 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20141101093015 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 12H -# 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 = 0H, 12H, 15H, 24H, 120H -# 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 +USER_SCRIPT_CUSTOM_LOOP_LIST = nc + LOOP_ORDER = processes -# list of strings to loop over for each run time. -# value for each item can be referenced in filename templates with {custom?fmt=%s} -USER_SCRIPT_CUSTOM_LOOP_LIST = nc -USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### USER_SCRIPT_INPUT_TEMPLATE = init_{init?fmt=%Y%m%d%H%M%S}_valid_{valid?fmt=%Y%m%d%H%M%S}_lead_{lead?fmt=%3H}.{custom} USER_SCRIPT_INPUT_DIR = {INPUT_BASE}/met_test/new/test + +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/met_tool_wrapper/UserScript/print_file_list.py diff --git a/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_for_each.conf b/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_for_each.conf index 9e6691ef1a..d135fa6be2 100644 --- a/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_for_each.conf +++ b/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_for_each.conf @@ -1,56 +1,57 @@ -# UserScript wrapper example - [config] -# List of applications to run - only UserScript for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/UserScript/UserScript_run_once_for_each.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript -# time looping - options are INIT, VALID, RETRO, and REALTIME +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 -VALID_TIME_FMT = %Y%m%d%H%M%S +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_FOR_EACH -# Start time for METplus run - must match VALID_TIME_FMT +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H%M%S VALID_BEG = 20141031093015 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20141101093015 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 12H -# 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 = 0H, 12H, 24H, 120H -# 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 +USER_SCRIPT_CUSTOM_LOOP_LIST = nc + LOOP_ORDER = processes -# list of strings to loop over for each run time. -# value for each item can be referenced in filename templates with {custom?fmt=%s} -USER_SCRIPT_CUSTOM_LOOP_LIST = nc -USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_FOR_EACH +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### USER_SCRIPT_INPUT_TEMPLATE = init_{init?fmt=%Y%m%d%H%M%S}_valid_{valid?fmt=%Y%m%d%H%M%S}_lead_{lead?fmt=%3H}.{custom} USER_SCRIPT_INPUT_DIR = {INPUT_BASE}/met_test/new/test + +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/met_tool_wrapper/UserScript/print_file_list.py diff --git a/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_per_init.conf b/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_per_init.conf index 15b484615c..dccb808ed6 100644 --- a/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_per_init.conf +++ b/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_per_init.conf @@ -1,56 +1,57 @@ -# UserScript wrapper example - [config] -# List of applications to run - only UserScript for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/UserScript/UserScript_run_once_per_init.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript -# time looping - options are INIT, VALID, RETRO, and REALTIME +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# 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%M%S +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID -# Start time for METplus run - must match VALID_TIME_FMT +LOOP_BY = INIT +INIT_TIME_FMT = %Y%m%d%H%M%S INIT_BEG = 20141031093015 - -# End time for METplus run - must match VALID_TIME_FMT INIT_END = 20141101093015 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 12H -# 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 = 0H, 12H, 24H, 120H -# 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 +USER_SCRIPT_CUSTOM_LOOP_LIST = nc + LOOP_ORDER = processes -# list of strings to loop over for each run time. -# value for each item can be referenced in filename templates with {custom?fmt=%s} -USER_SCRIPT_CUSTOM_LOOP_LIST = nc -USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### USER_SCRIPT_INPUT_TEMPLATE = init_{init?fmt=%Y%m%d%H%M%S}_valid_{valid?fmt=%Y%m%d%H%M%S}_lead_{lead?fmt=%3H}.{custom} USER_SCRIPT_INPUT_DIR = {INPUT_BASE}/met_test/new/test + +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/met_tool_wrapper/UserScript/print_file_list.py diff --git a/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_per_valid.conf b/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_per_valid.conf index 28054b5c7a..89092717a4 100644 --- a/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_per_valid.conf +++ b/parm/use_cases/met_tool_wrapper/UserScript/UserScript_run_once_per_valid.conf @@ -1,57 +1,58 @@ -# UserScript wrapper example - [config] -# List of applications to run - only UserScript for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/UserScript/UserScript_run_once_per_valid.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript -# time looping - options are INIT, VALID, RETRO, and REALTIME +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 -VALID_TIME_FMT = %Y%m%d%H%M%S +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID -# Start time for METplus run - must match VALID_TIME_FMT +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H%M%S VALID_BEG = 20141031093015 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20141101093015 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 12H -# 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 = 0H, 12H, 24H, 120H -# 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 +USER_SCRIPT_CUSTOM_LOOP_LIST = nc + LOOP_ORDER = processes -# list of strings to loop over for each run time. -# value for each item can be referenced in filename templates with {custom?fmt=%s} -USER_SCRIPT_CUSTOM_LOOP_LIST = nc -USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### USER_SCRIPT_INPUT_TEMPLATE_LABELS = label0 USER_SCRIPT_INPUT_TEMPLATE = init_{init?fmt=%Y%m%d%H%M%S}_valid_{valid?fmt=%Y%m%d%H%M%S}_lead_{lead?fmt=%3H}.{custom} USER_SCRIPT_INPUT_DIR = {INPUT_BASE}/met_test/new/test + +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/met_tool_wrapper/UserScript/print_file_list.py From 1b0f46b288762cef295f56e51be5029aa6566a05 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 13 Jul 2022 11:48:04 -0600 Subject: [PATCH 10/35] removed conf file that is no longer needed --- .../GridStat/GridStat_comments.conf | 250 ------------------ 1 file changed, 250 deletions(-) delete mode 100644 parm/use_cases/met_tool_wrapper/GridStat/GridStat_comments.conf diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_comments.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_comments.conf deleted file mode 100644 index 0f2b4825bd..0000000000 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_comments.conf +++ /dev/null @@ -1,250 +0,0 @@ -# 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 -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 INT_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=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds -INIT_INCREMENT = 12H - -# 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 = 12 - -# 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 - -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/wrfprs_ruc13_{lead?fmt=%HH}.tm00_G212 - -# directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/met_test/new - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = ST2ml{valid?fmt=%Y%m%d%H}_A03h.nc - -# directory containing climatology mean input to GridStat -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_DIR = - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = - -# directory containing climatology mean input to GridStat -# Not used in this example -GRID_STAT_CLIMO_STDEV_INPUT_DIR = - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -# directory to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_tool_wrapper/GridStat/GridStat - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} - -# Used to specify one or more verification mask files for GridStat -# Not used for this example -GRID_STAT_VERIFICATION_MASK_TEMPLATE = - - -# Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only -#LOG_GRID_STAT_VERBOSITY = 2 - -# Location of MET config file to pass to GridStat -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 = NONE - -#GRID_STAT_INTERP_FIELD = -#GRID_STAT_INTERP_VLD_THRESH = -#GRID_STAT_INTERP_SHAPE = -#GRID_STAT_INTERP_TYPE_METHOD = -#GRID_STAT_INTERP_TYPE_WIDTH = - -#GRID_STAT_NC_PAIRS_VAR_NAME = - -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = - -#GRID_STAT_GRID_WEIGHT_FLAG = - -# Name to identify model (forecast) data in output -MODEL = WRF - -# Name to identify observation data in output -OBTYPE = MC_PCP - -# set the desc value in the GridStat MET config 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 - -# Name of forecast variable 1 -FCST_VAR1_NAME = APCP - -# List of levels to evaluate for forecast variable 1 -# A03 = 3 hour accumulation in GRIB file -FCST_VAR1_LEVELS = A03 - -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1 -FCST_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 - -#FCST_GRID_STAT_FILE_TYPE = - -# Name of observation variable 1 -OBS_VAR1_NAME = APCP_03 - -# List of levels to evaluate for observation variable 1 -# (*,*) is NetCDF notation - must include quotes around these values! -# must be the same length as FCST_VAR1_LEVELS -OBS_VAR1_LEVELS = "(*,*)" - -# List of thresholds to evaluate for each name/level combination for -# observation variable 1 -OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2 - -#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 - -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = 1 - -# 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 - -# 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 - -GRID_STAT_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME} - -#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_OUTPUT_FLAG_FHO = NONE -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 = 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 = 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 = NONE -#GRID_STAT_OUTPUT_FLAG_NBRCTS = NONE -#GRID_STAT_OUTPUT_FLAG_NBRCNT = NONE -GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -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 From 049fb1c8c29f86017fb8ee9efcb1533ae21a13ce Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Thu, 14 Jul 2022 15:59:07 -0600 Subject: [PATCH 11/35] per #1402, clean up use cases in air_quality_and_comp, climate, and data_assimilation --- .../EnsembleStat_fcstICAP_obsMODIS_aod.conf | 151 ++++++------------ .../GridStat_fcstCESM_obsGFS_ConusTemp.conf | 128 ++++++--------- ...E_fcstCESM_obsGPCP_AsianMonsoonPrecip.conf | 91 ++++++----- ...tHAFS_obsPrepBufr_JEDI_IODA_interface.conf | 133 +++++---------- 4 files changed, 190 insertions(+), 313 deletions(-) diff --git a/parm/use_cases/model_applications/air_quality_and_comp/EnsembleStat_fcstICAP_obsMODIS_aod.conf b/parm/use_cases/model_applications/air_quality_and_comp/EnsembleStat_fcstICAP_obsMODIS_aod.conf index 1cb953744a..ade1512714 100644 --- a/parm/use_cases/model_applications/air_quality_and_comp/EnsembleStat_fcstICAP_obsMODIS_aod.conf +++ b/parm/use_cases/model_applications/air_quality_and_comp/EnsembleStat_fcstICAP_obsMODIS_aod.conf @@ -1,135 +1,88 @@ -# Ensemble Stat using Python Embedding Input - [config] -## Configuration-related settings such as the process list, begin and end times, etc. +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/air_quality_and_comp/EnsembleStat_fcstICAP_obsMODIS_aod.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = EnsembleStat -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. -LOOP_ORDER = times -# LOOP_BY: Set to INIT to loop over initialization times -LOOP_BY = INIT +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_END +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H%M - -# Start time for METplus run INIT_BEG=201608150000 - -# End time for METplus run INIT_END=201608150000 - -# Increment between METplus runs in seconds. Must be >= 60 INIT_INCREMENT=06H -# List of forecast leads to process LEAD_SEQ = 12H -# Used in the MET config file for: model, output_prefix -MODEL = ICAP - -# Name to identify observation data in output -OBTYPE = NRL_AOD - -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. -# This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf -#LOG_ENSEMBLE_STAT_VERBOSITY = 2 - -OBS_ENSEMBLE_STAT_WINDOW_BEGIN = -5400 -OBS_ENSEMBLE_STAT_WINDOW_END = 5400 - -OBS_FILE_WINDOW_BEGIN = 0 -OBS_FILE_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 = 7 - -# 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.1 - -# Used in the MET config file for: regrid to_grid field -ENSEMBLE_STAT_REGRID_TO_GRID = NONE - -ENSEMBLE_STAT_OUTPUT_PREFIX = - -ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped - -# 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 = - -# 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 = {CONFIG_DIR}/forecast_embedded.py {OBS_ENSEMBLE_STAT_GRID_INPUT_DIR}/icap_{init?fmt=%Y%m%d%H}_aod.nc:total_aod:{valid?fmt=%Y%m%d%H%M}:MET_PYTHON_INPUT_ARG +LOOP_ORDER = times -# Forecast 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 -FCST_VAR1_NAME = {CONFIG_DIR}/forecast_embedded.py {OBS_ENSEMBLE_STAT_GRID_INPUT_DIR}/icap_{init?fmt=%Y%m%d%H}_aod.nc:total_aod:{valid?fmt=%Y%m%d%H%M}:MET_PYTHON_INPUT_ARG -# Observation Variables and levels as specified in the obs field dictionary -# of the MET configuration file. Specify as OBS_VARn_NAME, OBS_VARn_LEVELS, -# (optional) OBS_VARn_OPTION -OBS_VAR1_NAME = {CONFIG_DIR}/analysis_embedded.py {OBS_ENSEMBLE_STAT_GRID_INPUT_DIR}/AGGR_HOURLY_{valid?fmt=%Y%m%d}T{valid?fmt=%H%M}_1deg_global_archive.nc:aod_nrl_total:Mean +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### ENS_ENSEMBLE_STAT_INPUT_DATATYPE = PYTHON_NUMPY FCST_ENSEMBLE_STAT_INPUT_DATATYPE = PYTHON_NUMPY - -OBS_ENSEMBLE_STAT_INPUT_GRID_DATATYPE = PYTHON_NUMPY - -[dir] -# Use case configuration file directory -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/air_quality_and_comp/EnsembleStat_fcstICAP_obsMODIS_aod - -# Forecast model input directory for ensemble_stat FCST_ENSEMBLE_STAT_INPUT_DIR = +FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = 0, 1, 2, 3, 4, 5, 6 -# Point observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = - -# Grid observation input dir for ensemble_stat +OBS_ENSEMBLE_STAT_INPUT_GRID_DATATYPE = PYTHON_NUMPY OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {INPUT_BASE}/model_applications/air_quality_and_comp/aod +OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = PYTHON_NUMPY -# directory containing climatology mean input to EnsembleStat -# Not used in this example -ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = +ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} -# directory containing climatology mean input to EnsembleStat -# Not used in this example -ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat -ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/air_quality_and_comp/EnsembleStat_fcstICAP_obsMODIS_aod -[filename_templates] +ENS_VAR1_NAME = {CONFIG_DIR}/forecast_embedded.py {OBS_ENSEMBLE_STAT_GRID_INPUT_DIR}/icap_{init?fmt=%Y%m%d%H}_aod.nc:total_aod:{valid?fmt=%Y%m%d%H%M}:MET_PYTHON_INPUT_ARG -# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE - comma separated list of ensemble members -# or a single line, - wildcard characters may be used. +FCST_VAR1_NAME = {CONFIG_DIR}/forecast_embedded.py {OBS_ENSEMBLE_STAT_GRID_INPUT_DIR}/icap_{init?fmt=%Y%m%d%H}_aod.nc:total_aod:{valid?fmt=%Y%m%d%H%M}:MET_PYTHON_INPUT_ARG -# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = ????????gep?/d01_{init?fmt=%Y%m%d%H}_02400.grib -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = 0, 1, 2, 3, 4, 5, 6 +OBS_VAR1_NAME = {CONFIG_DIR}/analysis_embedded.py {OBS_ENSEMBLE_STAT_GRID_INPUT_DIR}/AGGR_HOURLY_{valid?fmt=%Y%m%d}T{valid?fmt=%H%M}_1deg_global_archive.nc:aod_nrl_total:Mean -OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = -OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = PYTHON_NUMPY +### +# EnsembleStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ensemblestat +### + +MODEL = ICAP +OBTYPE = NRL_AOD -# Template to look for climatology input to EnsembleStat relative to ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -ENSEMBLE_STAT_CLIMO_MEAN_INPUT_TEMPLATE = +OBS_ENSEMBLE_STAT_WINDOW_BEGIN = -5400 +OBS_ENSEMBLE_STAT_WINDOW_END = 5400 -# Template to look for climatology input to EnsembleStat relative to ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this example -ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = +ENSEMBLE_STAT_N_MEMBERS = 7 +ENSEMBLE_STAT_ENS_THRESH = 0.1 -ENSEMBLE_STAT_OUTPUT_TEMPLATE = +ENSEMBLE_STAT_REGRID_TO_GRID = NONE +ENSEMBLE_STAT_OUTPUT_PREFIX = diff --git a/parm/use_cases/model_applications/climate/GridStat_fcstCESM_obsGFS_ConusTemp.conf b/parm/use_cases/model_applications/climate/GridStat_fcstCESM_obsGFS_ConusTemp.conf index 189b46420a..bc6b3cc261 100644 --- a/parm/use_cases/model_applications/climate/GridStat_fcstCESM_obsGFS_ConusTemp.conf +++ b/parm/use_cases/model_applications/climate/GridStat_fcstCESM_obsGFS_ConusTemp.conf @@ -1,83 +1,86 @@ -# GridStat METplus Configuration for the CESM_vs_GFS climate model use case: [config] -# List of applications to run - only GridStat for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/climate/GridStat_fcstCESM_obsGFS_ConusTemp.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = 2014080100 - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END = 2014080200 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +INIT_END = 2014080200 INIT_INCREMENT = 86400 -# List of forecast leads to process for each run time (init or valid) LEAD_SEQ = 6, 12 -# Order of loops to process data - Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# Location of MET config file to pass to the GridStat -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped -# Name to identify model (forecast) data in output -MODEL = CESM +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Name to identify observation data in output (used in output file path) -OBTYPE = GFS_ANALYS +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/climate/CESM +FCST_GRID_STAT_INPUT_TEMPLATE = MetPlus.globe.{init?fmt=%Y-%m-%d}-00000.cam.h0.{init?fmt=%Y-%m-%d}-10800.nc + +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/climate/gfs_analysis +OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfsanl_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M}_000.grb2 + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/climate/CESM_GridStat +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +GRID_STAT_ONCE_PER_FIELD = False -# Name of forecast variable 1, List of levels to evaluate for forecast variable 1, and -# List of thresholds to evaluate for each name/level combination for forecast variable 1 FCST_VAR1_NAME = TS -FCST_VAR1_LEVELS = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" +FCST_VAR1_LEVELS = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" FCST_VAR1_THRESH = ge32.0, ge65.0, ge75.0 FCST_VAR1_OPTIONS = convert(x) = K_to_F(x); -# Name of observation variable, levels, and thresholds -# levels and thresh must be the same length as FCST_VAR1_LEVELS and FCST_VAR1_THRESH OBS_VAR1_NAME = TMP OBS_VAR1_LEVELS = Z2 OBS_VAR1_THRESH = ge32.0, ge65.0, ge75.0 OBS_VAR1_OPTIONS = convert(x) = K_to_F(x); -# 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. -# Not used for this example -GRID_STAT_ONCE_PER_FIELD = False -GRID_STAT_REGRID_TO_GRID = FCST +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### -GRID_STAT_VERIFICATION_MASK = {FCST_GRID_STAT_INPUT_DIR}/conus_cesm_mask.nc +MODEL = CESM +OBTYPE = GFS_ANALYS -# Set to true if forecast data is probabilistic -FCST_IS_PROB = false +GRID_STAT_REGRID_TO_GRID = FCST -# Set to true if observation data is probabilistic -# Only used if configuring forecast data as the 'OBS' input -OBS_IS_PROB = false +GRID_STAT_VERIFICATION_MASK = {FCST_GRID_STAT_INPUT_DIR}/conus_cesm_mask.nc -# Output prefix set in grid_stat config file GRID_STAT_OUTPUT_PREFIX={MODEL}_{CURRENT_OBS_NAME}_vs_{OBTYPE} GRID_STAT_OUTPUT_FLAG_CTC = STAT @@ -85,7 +88,6 @@ GRID_STAT_OUTPUT_FLAG_CTS = STAT GRID_STAT_OUTPUT_FLAG_CNT = STAT GRID_STAT_OUTPUT_FLAG_SL1L2 = STAT - GRID_STAT_NC_PAIRS_FLAG_LATLON = FALSE GRID_STAT_NC_PAIRS_FLAG_RAW = FALSE GRID_STAT_NC_PAIRS_FLAG_DIFF = FALSE @@ -93,35 +95,3 @@ GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE GRID_STAT_INTERP_FIELD = NONE - -# End of [config] section and start of [dir] section -[dir] - -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/climate/CESM - -# directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/climate/gfs_analysis - -# directory containing climatology input to GridStat -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_DIR = - -# directory to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/climate/CESM_GridStat - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = MetPlus.globe.{init?fmt=%Y-%m-%d}-00000.cam.h0.{init?fmt=%Y-%m-%d}-10800.nc - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfsanl_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M}_000.grb2 - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = diff --git a/parm/use_cases/model_applications/climate/MODE_fcstCESM_obsGPCP_AsianMonsoonPrecip.conf b/parm/use_cases/model_applications/climate/MODE_fcstCESM_obsGPCP_AsianMonsoonPrecip.conf index cdf0c56d85..4f304f865d 100644 --- a/parm/use_cases/model_applications/climate/MODE_fcstCESM_obsGPCP_AsianMonsoonPrecip.conf +++ b/parm/use_cases/model_applications/climate/MODE_fcstCESM_obsGPCP_AsianMonsoonPrecip.conf @@ -1,38 +1,63 @@ -# GridStat METplus Configuration for the CESM_vs_GPCP climate model use case: [config] -# List of applications to run - only GridStat for this case + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/climate/MODE_fcstCESM_obsGPCP_AsianMonsoonPrecip.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = Mode -LOOP_BY = INIT -# Format of VALID_BEG and VALID_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 +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Start time for METplus run - must match INIT_TIME_FMT +LOOP_BY = INIT +INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2014060100 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END = 2014060200 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 86400 -# List of forecast leads to process for each run time (init or valid) LEAD_SEQ = 24, 48 -# Order of loops to process data - Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# Forecast Reflectivity Variable Information +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/climate/CESM +FCST_MODE_INPUT_TEMPLATE = MetPlus.globe.{init?fmt=%Y-%m-%d}-00000.cam.h1.{init?fmt=%Y-%m-%d?shift=86400}-00000.nc + +OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/climate/GPCP +OBS_MODE_INPUT_TEMPLATE = gpcp_v01r03_daily_d{valid?fmt=%Y%m%d?shift=-86400}_c20170530.nc + +MODE_OUTPUT_DIR = {OUTPUT_BASE}/climate/CESM_MODE +MODE_OUTPUT_TEMPLATE = {init?fmt=%Y_%m_%d_%H%M%S} + +MODE_VERIFICATION_MASK_TEMPLATE = {FCST_MODE_INPUT_DIR}/asia_monsoon_cesm_mask.nc + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + MODEL = CESM FCST_VAR1_NAME = PRECT FCST_VAR1_LEVELS = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" @@ -45,12 +70,15 @@ MODE_OBS_FILTER_ATTR_NAME = AREA MODE_OBS_FILTER_ATTR_THRESH = >=7 -# MRMS Reflecivitiy Variable Information OBTYPE = GPCP OBS_VAR1_NAME = precip OBS_VAR1_LEVELS = "(0,*,*)" -MODE_CONFIG_FILE = {PARM_BASE}/met_config/MODEConfig_wrapped + +### +# MODE Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mode +### MODE_GRID_RES = 1 @@ -75,20 +103,3 @@ MODE_WEIGHT_ASPECT_DIFF = 1.0 MODE_REGRID_TO_GRID = FCST MODE_MASK_MISSING_FLAG = BOTH - -[dir] -# Directory for CESM data -FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/climate/CESM - -# Directory of the MRMS obs -OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/climate/GPCP - -# Output Data -MODE_OUTPUT_DIR = {OUTPUT_BASE}/climate/CESM_MODE - -[filename_templates] -# Forecast Filename Templates: -FCST_MODE_INPUT_TEMPLATE = MetPlus.globe.{init?fmt=%Y-%m-%d}-00000.cam.h1.{init?fmt=%Y-%m-%d?shift=86400}-00000.nc -OBS_MODE_INPUT_TEMPLATE = gpcp_v01r03_daily_d{valid?fmt=%Y%m%d?shift=-86400}_c20170530.nc -MODE_OUTPUT_TEMPLATE = {init?fmt=%Y_%m_%d_%H%M%S} -MODE_VERIFICATION_MASK_TEMPLATE = {FCST_MODE_INPUT_DIR}/asia_monsoon_cesm_mask.nc diff --git a/parm/use_cases/model_applications/data_assimilation/StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface.conf b/parm/use_cases/model_applications/data_assimilation/StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface.conf index 523a598cde..2cb82bf767 100644 --- a/parm/use_cases/model_applications/data_assimilation/StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface.conf +++ b/parm/use_cases/model_applications/data_assimilation/StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface.conf @@ -1,88 +1,65 @@ -# StatAnalysis 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 StatAnalysis for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/data_assimilation/StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = StatAnalysis -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = VALID -# Format of INIT_BEG and INT_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 VALID_TIME_FMT = %Y%m%d%H - - -# Start time for METplus run - must match INIT_TIME_FMT VALID_BEG=2005080700 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END=2005080700 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 12H -# 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 = 0 -# 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 StatAnalysis only -LOG_STAT_ANALYSIS_VERBOSITY = 2 - -# Models to process -# MODELn is the model name to filter for in -# stat files [required] -# MODELn_OBTYPE is the observation name -# to filter for the .stat files -# [required] -# MODELn_STAT_ANALYSIS_LOOKIN_DIR is the directory to search for -# the .stat files in, wildcards (*) -# are okay to search for multiple -# directories and templates like -# {valid?fmt=%Y%m%d%H%M%S} [required] -# MODELn_REFERENCE_NAME is a reference name for MODELn, defaults to -# MODELn, it can be used in the file template names -# [optional] + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +MODEL1_STAT_ANALYSIS_LOOKIN_DIR = python {PARM_BASE}/use_cases/model_applications/data_assimilation/StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface/read_ioda_mpr.py {INPUT_BASE}/model_applications/data_assimilation/hofx_dir + +STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/data_assimilation/StatAnalysis_HofX + +MODEL1_STAT_ANALYSIS_DUMP_ROW_TEMPLATE = dump.out + + +### +# StatAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis +### + MODEL1 = NA MODEL1_OBTYPE = NA -# Location of MET config file to pass to StatAnalysis -# References CONFIG_DIR from the [dir] section -#STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped - -# stat_analysis job info STAT_ANALYSIS_JOB_NAME = filter -# if using -dump_row, put in JOBS_ARGS "-dump_row [dump_row_file]" -# if using -out_stat, put in JOBS_ARGS "-out_stat [out_stat_file]" -# METplus will fill in filename STAT_ANALYSIS_JOB_ARGS = -out_line_type CNT -dump_row [dump_row_file] -line_type MPR -# Optional variables for further filtering -# can be blank, single, or multiple values -# if more than one use comma separated list -# -# (FCST)(OBS)_(VALID)(INIT)_HOUR_LIST: HH format (ex. 00, 06, 12) -# (FCST)(OBS)_LEAD_LIST: HH[H][MMSS] format (ex. 00, 06, 120) MODEL_LIST = DESC_LIST = FCST_LEAD_LIST = @@ -105,40 +82,6 @@ OBS_THRESH_LIST = COV_THRESH_LIST = ALPHA_LIST = LINE_TYPE_LIST = -# how to treat items listed in above _LIST variables -# GROUP_LIST_ITEMS: items listed in a given _LIST variable -# will be grouped together -# LOOP_LIST_ITEMS: items listed in a give _LIST variable -# will be looped over -# if not listed METplus will treat the list as a group + GROUP_LIST_ITEMS = LOOP_LIST_ITEMS = MODEL_LIST - - -# End of [config] section and start of [dir] section -[dir] - -MODEL1_STAT_ANALYSIS_LOOKIN_DIR = python {PARM_BASE}/use_cases/model_applications/data_assimilation/StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface/read_ioda_mpr.py {INPUT_BASE}/model_applications/data_assimilation/hofx_dir - -# Output data directory -STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/data_assimilation/StatAnalysis_HofX - -# location of configuration files used by MET applications -CONFIG_DIR = {PARM_BASE}/met_config - - -# End of [dir] section and start of [filename_templates] section -[filename_templates] -# Optional settings to create templated directory and file name information -# to save files as stat_analysis output as, this is appended to STAT_ANALYSIS_OUTPUT_DIR -# if no template is provided a default filename set in the code will be used -# Use: -# string templates can be set for all the lists being looped over, just -# use and a lower case version of the list, ex. {fcst_valid_hour?fmt=%H} -# or {fcst_var?fmt=%s} -# For looping over models: -# can set MODELn_STAT_ANALYSIS_[DUMP_ROW/OUT_STAT]_TEMPLATE for individual models -# or STAT_ANALYSIS_[DUMP_ROW/OUT_STAT] with {model?fmt=%s} -MODEL1_STAT_ANALYSIS_DUMP_ROW_TEMPLATE = dump.out - -#MODEL1_STAT_ANALYSIS_OUT_STAT_TEMPLATE = {model?fmt=%s}_{obtype?fmt=%s}_valid{valid?fmt=%Y%m%d}_fcstvalidhour{valid_hour?fmt=%H}0000Z_out_stat.stat From c0787cb9a6aa9c71db772388ff4cecdd47c75177 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Thu, 14 Jul 2022 16:44:12 -0600 Subject: [PATCH 12/35] per #1402, clean up use cases in marine_and_cryosphere --- .../GridStat_MODE_fcstIMS_obsNCEP_sea_ice.py | 1 + ...GridStat_MODE_fcstIMS_obsNCEP_sea_ice.conf | 172 ++++++----- ...Stat_fcstRTOFS_obsAVISO_climHYCOM_ssh.conf | 196 +++---------- ...dStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf | 79 +++--- .../GridStat_fcstRTOFS_obsOSTIA_iceCover.conf | 256 +++-------------- ...ridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf | 265 +++-------------- ...ridStat_fcstRTOFS_obsSMOS_climWOA_sss.conf | 266 +++--------------- .../PlotDataPlane_obsHYCOM_coordTripolar.conf | 68 ++--- ...cript_fcstRTOFS_obsAOML_calcTransport.conf | 55 ++-- 9 files changed, 353 insertions(+), 1005 deletions(-) diff --git a/docs/use_cases/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.py b/docs/use_cases/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.py index e6f2b6ab2d..b01f741b64 100644 --- a/docs/use_cases/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.py +++ b/docs/use_cases/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.py @@ -14,6 +14,7 @@ # and Ice Mapping System (IMS) and the National Centers for Environmental Prediction (NCEP) # sea ice analysis. This is a validation and diagnostics use case because it is limited to a # comparison between IMS analysis to NCEP analysis. +# Written by Lindsay Blank, NCAR. January 2020 #################################################################################################### # Datasets diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.conf b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.conf index 5c107dd419..6a0df6836a 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.conf @@ -1,73 +1,107 @@ -# IMS Ice Concentration (fcst) vs. NCEP Ice Concentration (obs) -# IMS and NCEP are both observation analyses. For the purpose of running MET, IMS is referred to as -# the forecast and NCEP as the obs. -# Written by Lindsay Blank, NCAR. January 2020 -#################################################################################################### [config] -# Loop by analysis time -LOOP_BY = VALID -# Format of VALID_BEG and VALID_END -VALID_TIME_FMT = %Y%m%d +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/marine_and_cryosphere/GridStat_MODE_fcstIMS_obsNCEP_sea_ice.html -# L: Available dates are 20190201 - 20190228 -# Start time for METplus run -VALID_BEG=20190201 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# End time for METplus run -VALID_END=20190201 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = GridStat, Mode -# Increment between METplus runs in seconds. Must be >= 60 + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + + +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d +VALID_BEG=20190201 +VALID_END=20190201 VALID_INCREMENT=86400 -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# List of applications to run -PROCESS_LIST = GridStat, Mode -# Description of data to be processed -# used in output file path -MODEL = IMS -OBTYPE = NCEP +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Set to true if forecast data is probabilistic -FCST_IS_PROB = false +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/IMS_data +FCST_GRID_STAT_INPUT_TEMPLATE = imssnow96.{valid?fmt=%Y%m%d}.grb.grib2 +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/NCEP_data +OBS_GRID_STAT_INPUT_TEMPLATE = seaice.t00z.north12psg.grib2.{valid?fmt=%Y%m%d} + +GRID_STAT_VERIFICATION_MASK_TEMPLATE = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/seaice_nland127.nc + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/GridStat +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/grid_stat + + +FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/IMS_data +FCST_MODE_INPUT_TEMPLATE = imssnow96.{valid?fmt=%Y%m%d}.grb.grib2 + +OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/NCEP_data +OBS_MODE_INPUT_TEMPLATE = seaice.t00z.north12psg.grib2.{valid?fmt=%Y%m%d} + +MODE_VERIFICATION_MASK_TEMPLATE = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/seaice_nland127.nc + +MODE_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/MODE +MODE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/mode + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = IMS +OBTYPE = NCEP -################################################################################################### -# GridStat Configurations -################################################################################################### -# List of variables to compare -# "THRESH" refers to "cat_thresh" FCST_VAR1_NAME = ICEC FCST_VAR1_LEVELS = Z0 -FCST_VAR1_THRESH = ==1.0 +FCST_VAR1_THRESH = ==1.0 + +FCST_MODE_CONV_THRESH = ==1.00 +OBS_MODE_CONV_THRESH = >=0.40 + OBS_VAR1_NAME = ICEC OBS_VAR1_LEVELS = Z0 OBS_VAR1_THRESH = >=0.40 OBS_VAR1_OPTIONS = censor_thresh = [ >1.00 && <=1.28, >1.28 ]; censor_val = [ 1.00 , -9999 ]; +MODE_OBS_CENSOR_THRESH = >1.00 && <=1.28, >1.28 +MODE_OBS_CENSOR_VAL = 1.00 , -9999 + + +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### + GRID_STAT_NEIGHBORHOOD_WIDTH = 3, 5, 7, 9 -# regridding domain for GridStat GRID_STAT_REGRID_TO_GRID = OBS -# Location of grid_stat MET config file -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - -# prefix to add to GridStat output filenames GRID_STAT_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME}_{CURRENT_FCST_LEVEL} GRID_STAT_MASK_GRID = -#GRID_STAT_MASK_POLY = - GRID_STAT_OUTPUT_FLAG_CTC = STAT GRID_STAT_OUTPUT_FLAG_CTS = STAT GRID_STAT_OUTPUT_FLAG_FHO = STAT @@ -79,37 +113,23 @@ GRID_STAT_OUTPUT_FLAG_NBRCNT = STAT GRID_STAT_NC_PAIRS_FLAG_NBRHD = TRUE -#################################################################################################### -# MODE Configurations -#################################################################################################### -# regridding domain for MODE + +### +# MODE Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mode +### + MODE_REGRID_TO_GRID = OBS -# Turn on quilting MODE_QUILT = False -# Convolution radius list MODE_CONV_RADIUS = 50 -# Convolution threshold list -# L: IMS is a binary field where a value of "1" is equivalent to >=0.40 sea ice concentration. -FCST_MODE_CONV_THRESH = ==1.00 -OBS_MODE_CONV_THRESH = >=0.40 - -# Location of mode MET config file -MODE_CONFIG_FILE = {PARM_BASE}/met_config/MODEConfig_wrapped - -# Merge flag: options are NONE, THRESH, ENGINE, or BOTH MODE_MERGE_FLAG = NONE - -# Merge threshold list MODE_MERGE_THRESH = >=1.25 MODE_GRID_RES = 12.7 -MODE_OBS_CENSOR_THRESH = >1.00 && <=1.28, >1.28 -MODE_OBS_CENSOR_VAL = 1.00 , -9999 - MODE_MASK_MISSING_FLAG = BOTH MODE_MATCH_FLAG = NO_MERGE @@ -118,34 +138,4 @@ MODE_MASK_POLY_FLAG = BOTH MODE_TOTAL_INTEREST_THRESH = 0.8 -# prefix to add to MODE output filenames MODE_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME} - -[dir] -# input and output data directories for each application in PROCESS_LIST -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/NCEP_data -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/IMS_data - -OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/NCEP_data -FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/IMS_data - -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/GridStat -MODE_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/MODE - -[filename_templates] -# format of filenames - -# IMS -FCST_GRID_STAT_INPUT_TEMPLATE = imssnow96.{valid?fmt=%Y%m%d}.grb.grib2 -FCST_MODE_INPUT_TEMPLATE = imssnow96.{valid?fmt=%Y%m%d}.grb.grib2 - -# NCEP -OBS_GRID_STAT_INPUT_TEMPLATE = seaice.t00z.north12psg.grib2.{valid?fmt=%Y%m%d} -OBS_MODE_INPUT_TEMPLATE = seaice.t00z.north12psg.grib2.{valid?fmt=%Y%m%d} - -GRID_STAT_VERIFICATION_MASK_TEMPLATE = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/seaice_nland127.nc - -MODE_VERIFICATION_MASK_TEMPLATE = {INPUT_BASE}/model_applications/marine_and_cryosphere/sea_ice/seaice_nland127.nc - -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/grid_stat -MODE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/mode diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh.conf b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh.conf index 277c3b6cfe..5679242bd3 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh.conf @@ -1,196 +1,90 @@ -# 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 +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d - -# Start time for METplus run - must match INIT_TIME_FMT VALID_BEG=20210811 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END=20210811 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# 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 = 24 +LEAD_SEQ = 24 - -# 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 -# Location of MET config file to pass to GridStat -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# 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 = NONE +FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -# Name to identify model (forecast) data in output -MODEL = RTOFS +OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -# Name to identify observation data in output -OBTYPE = AVISO +GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = PYTHON_NUMPY +GRID_STAT_CLIMO_MEAN_FIELD = {name="{CONFIG_DIR}/read_rtofs_aviso_hycom.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_diag.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/nrt_global_allsat_phy_l4_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh {valid?fmt=%Y%m%d} climo"; level="(*,*)";} -# set the desc value in the GridStat MET config file -GRID_STAT_DESC = NA +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} -# 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 -# Name of forecast variable 1 -FCST_VAR1_NAME = {CONFIG_DIR}/read_rtofs_aviso_hycom.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_diag.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/nrt_global_allsat_phy_l4_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh {valid?fmt=%Y%m%d} fcst +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# List of levels to evaluate for forecast variable 1 -# A03 = 3 hour accumulation in GRIB file -FCST_VAR1_LEVELS = +GRID_STAT_ONCE_PER_FIELD = False -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1 -FCST_VAR1_THRESH = +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh -#FCST_GRID_STAT_FILE_TYPE = +FCST_VAR1_NAME = {CONFIG_DIR}/read_rtofs_aviso_hycom.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_diag.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/nrt_global_allsat_phy_l4_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh {valid?fmt=%Y%m%d} fcst -# Name of observation variable 1 OBS_VAR1_NAME = {CONFIG_DIR}/read_rtofs_aviso_hycom.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_diag.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/nrt_global_allsat_phy_l4_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh {valid?fmt=%Y%m%d} obs -# List of levels to evaluate for observation variable 1 -# (*,*) is NetCDF notation - must include quotes around these values! -# must be the same length as FCST_VAR1_LEVELS -OBS_VAR1_LEVELS = - -# List of thresholds to evaluate for each name/level combination for -# observation variable 1 -OBS_VAR1_THRESH = - -#GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [>=0.15]; -#BOTH_VAR1_THRESH = >=0.15 +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### -#OBS_GRID_STAT_FILE_TYPE = - - -# Name of climatology variable 1 -GRID_STAT_CLIMO_MEAN_FIELD = {name="{CONFIG_DIR}/read_rtofs_aviso_hycom.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_diag.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/nrt_global_allsat_phy_l4_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh {valid?fmt=%Y%m%d} climo"; level="(*,*)";} +GRID_STAT_REGRID_TO_GRID = NONE +MODEL = RTOFS -# 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 +OBTYPE = AVISO -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information +GRID_STAT_DESC = NA -# width value passed to nbrhd dictionary in the MET config file GRID_STAT_NEIGHBORHOOD_WIDTH = 1 - -# 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 - -# 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 - GRID_STAT_OUTPUT_PREFIX = SSH GRID_STAT_OUTPUT_FLAG_CNT = BOTH GRID_STAT_OUTPUT_FLAG_SAL1L2 = BOTH - - -# End of [config] section and start of [dir] section -[dir] -#use case configuration file directory -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = - -# directory containing observation input to GridStat -OBS_GRID_STAT_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 to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this exampls -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -# Used to specify one or more verification mask files for GridStat -# Not used for this example -GRID_STAT_VERIFICATION_MASK_TEMPLATE = diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf index 457f1c9b51..2fbb89a9d0 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = VALID @@ -17,73 +36,53 @@ LEAD_SEQ = 0 LOOP_ORDER = times ### -# Field Info +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### -MODEL = RTOFS -OBTYPE = GHRSST - -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst +FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -FCST_IS_PROB = false +OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -FCST_VAR1_NAME = {CONFIG_DIR}/read_rtofs_ghrsst_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/GHRSST-OSPO-L4-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst {valid?fmt=%Y%m%d} fcst -FCST_VAR1_LEVELS = -FCST_VAR1_THRESH = +GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = PYTHON_NUMPY -OBS_IS_PROB = false +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} -OBS_VAR1_NAME = {CONFIG_DIR}/read_rtofs_ghrsst_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/GHRSST-OSPO-L4-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst {valid?fmt=%Y%m%d} obs -OBS_VAR1_LEVELS = -OBS_VAR1_THRESH = ### -# File I/O +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### -FCST_GRID_STAT_INPUT_DIR = -FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY +GRID_STAT_ONCE_PER_FIELD = False -OBS_GRID_STAT_INPUT_DIR = -OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY +MODEL = RTOFS +OBTYPE = GHRSST -GRID_STAT_CLIMO_MEAN_INPUT_DIR = -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = PYTHON_NUMPY +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst -GRID_STAT_CLIMO_STDEV_INPUT_DIR = -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = +FCST_VAR1_NAME = {CONFIG_DIR}/read_rtofs_ghrsst_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/GHRSST-OSPO-L4-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst {valid?fmt=%Y%m%d} fcst + +OBS_VAR1_NAME = {CONFIG_DIR}/read_rtofs_ghrsst_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/GHRSST-OSPO-L4-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst {valid?fmt=%Y%m%d} obs + +GRID_STAT_CLIMO_MEAN_FIELD = {name="{CONFIG_DIR}/read_rtofs_ghrsst_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/GHRSST-OSPO-L4-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst {valid?fmt=%Y%m%d} climo"; level="(*,*)";} -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} ### -# GridStat +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat ### -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - GRID_STAT_REGRID_TO_GRID = NONE GRID_STAT_DESC = NA -GRID_STAT_CLIMO_MEAN_FIELD = {name="{CONFIG_DIR}/read_rtofs_ghrsst_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/GHRSST-OSPO-L4-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst {valid?fmt=%Y%m%d} climo"; level="(*,*)";} - -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 - GRID_STAT_NEIGHBORHOOD_WIDTH = 1 GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 -GRID_STAT_ONCE_PER_FIELD = False - -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -OBS_GRID_STAT_PROB_THRESH = ==0.1 - GRID_STAT_OUTPUT_PREFIX = SST GRID_STAT_OUTPUT_FLAG_CNT = BOTH diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover.conf b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover.conf index 2b3f8c2492..1f80253a32 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover.conf @@ -1,263 +1,89 @@ -# 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 +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d - -# Start time for METplus run - must match INIT_TIME_FMT VALID_BEG=20210305 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END=20210305 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# 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 = 0 GRID_STAT_CUSTOM_LOOP_LIST = north, south -# 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 -# Location of MET config file to pass to GridStat -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# 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 = NONE +FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -#GRID_STAT_INTERP_FIELD = -#GRID_STAT_INTERP_VLD_THRESH = -#GRID_STAT_INTERP_SHAPE = -#GRID_STAT_INTERP_TYPE_METHOD = -#GRID_STAT_INTERP_TYPE_WIDTH = +OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} -#GRID_STAT_NC_PAIRS_VAR_NAME = -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -GRID_STAT_GRID_WEIGHT_FLAG = AREA +GRID_STAT_ONCE_PER_FIELD = False -# Name to identify model (forecast) data in output MODEL = RTOFS -# Name to identify observation data in output OBTYPE = UKMO -# set the desc value in the GridStat MET config 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 +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover -# Name of forecast variable 1 FCST_VAR1_NAME = {CONFIG_DIR}/read_ice_data.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_n024_ice.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover/{valid?fmt=%Y%m%d}12_UKMO_L4.nc {custom} fcst -# List of levels to evaluate for forecast variable 1 -# A03 = 3 hour accumulation in GRIB file -FCST_VAR1_LEVELS = - -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1 -FCST_VAR1_THRESH = - -#FCST_GRID_STAT_FILE_TYPE = - -# Name of observation variable 1 OBS_VAR1_NAME = {CONFIG_DIR}/read_ice_data.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_n024_ice.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover/{valid?fmt=%Y%m%d}12_UKMO_L4.nc {custom} obs -# List of levels to evaluate for observation variable 1 -# (*,*) is NetCDF notation - must include quotes around these values! -# must be the same length as FCST_VAR1_LEVELS -OBS_VAR1_LEVELS = - -# List of thresholds to evaluate for each name/level combination for -# observation variable 1 -OBS_VAR1_THRESH = +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### -#GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [>=0.15]; -#BOTH_VAR1_THRESH = >=0.15 - -#OBS_GRID_STAT_FILE_TYPE = +GRID_STAT_REGRID_TO_GRID = NONE -# 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 +GRID_STAT_GRID_WEIGHT_FLAG = AREA -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information +GRID_STAT_DESC = NA -# width value passed to nbrhd dictionary in the MET config file GRID_STAT_NEIGHBORHOOD_WIDTH = 1 - -# 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 - -# 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 - GRID_STAT_OUTPUT_PREFIX = {custom} -#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_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 = BOTH -#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 = NONE -#GRID_STAT_OUTPUT_FLAG_NBRCTS = NONE -#GRID_STAT_OUTPUT_FLAG_NBRCNT = NONE -#GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -#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] -#use case configuration file directory -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = - -# directory containing observation input to GridStat -OBS_GRID_STAT_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 to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} - -# Template to look 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 to look for climatology input to GridStat relative to GRID_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -# Used to specify one or more verification mask files for GridStat -# Not used for this example -GRID_STAT_VERIFICATION_MASK_TEMPLATE = diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf index e47cae7aaf..11804aeb48 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf @@ -1,267 +1,88 @@ -# 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 +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d - -# Start time for METplus run - must match INIT_TIME_FMT VALID_BEG=20210502 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END=20210502 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# 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 = 24 - -# 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 -# Location of MET config file to pass to GridStat -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 = NONE +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -#GRID_STAT_INTERP_FIELD = -#GRID_STAT_INTERP_VLD_THRESH = -#GRID_STAT_INTERP_SHAPE = -#GRID_STAT_INTERP_TYPE_METHOD = -#GRID_STAT_INTERP_TYPE_WIDTH = +FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -#GRID_STAT_NC_PAIRS_VAR_NAME = +OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = +GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = PYTHON_NUMPY -#GRID_STAT_GRID_WEIGHT_FLAG = AREA +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} -# Name to identify model (forecast) data in output -MODEL = RTOFS -# Name to identify observation data in output -OBTYPE = SMAP +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# set the desc value in the GridStat MET config file -GRID_STAT_DESC = NA +GRID_STAT_ONCE_PER_FIELD = False -# 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 +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss -# Name of forecast variable 1 FCST_VAR1_NAME = {CONFIG_DIR}/read_rtofs_smap_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/SMAP-L3-GLOB_{valid?fmt=%Y%m%d?shift=86400}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss {valid?fmt=%Y%m%d} fcst -# List of levels to evaluate for forecast variable 1 -# A03 = 3 hour accumulation in GRIB file -FCST_VAR1_LEVELS = - -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1 -FCST_VAR1_THRESH = - -#FCST_GRID_STAT_FILE_TYPE = - -# Name of observation variable 1 OBS_VAR1_NAME = {CONFIG_DIR}/read_rtofs_smap_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/SMAP-L3-GLOB_{valid?fmt=%Y%m%d?shift=86400}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss {valid?fmt=%Y%m%d} obs - -# List of levels to evaluate for observation variable 1 -# (*,*) is NetCDF notation - must include quotes around these values! -# must be the same length as FCST_VAR1_LEVELS -OBS_VAR1_LEVELS = - -# List of thresholds to evaluate for each name/level combination for -# observation variable 1 -OBS_VAR1_THRESH = - -#GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [>=0.15]; -#BOTH_VAR1_THRESH = >=0.15 - -#OBS_GRID_STAT_FILE_TYPE = +GRID_STAT_CLIMO_MEAN_FIELD = {name="{CONFIG_DIR}/read_rtofs_smap_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/SMAP-L3-GLOB_{valid?fmt=%Y%m%d?shift=86400}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss {valid?fmt=%Y%m%d} climo"; level="(*,*)";} -# Name of climatology variable 1 -GRID_STAT_CLIMO_MEAN_FIELD = {name="{CONFIG_DIR}/read_rtofs_smap_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/{init?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/SMAP-L3-GLOB_{valid?fmt=%Y%m%d?shift=86400}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss {valid?fmt=%Y%m%d} climo"; level="(*,*)";} +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### +GRID_STAT_REGRID_TO_GRID = NONE -# 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 +MODEL = RTOFS +OBTYPE = SMAP -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information +GRID_STAT_DESC = NA -# width value passed to nbrhd dictionary in the MET config file GRID_STAT_NEIGHBORHOOD_WIDTH = 1 - -# 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 - -# 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 - GRID_STAT_OUTPUT_PREFIX = SSS -#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_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 = BOTH -#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 = NONE -#GRID_STAT_OUTPUT_FLAG_NBRCTS = NONE -#GRID_STAT_OUTPUT_FLAG_NBRCNT = NONE -#GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -#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] -#use case configuration file directory -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = - -# directory containing observation input to GridStat -OBS_GRID_STAT_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 to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this exampls -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -# Used to specify one or more verification mask files for GridStat -# Not used for this example -GRID_STAT_VERIFICATION_MASK_TEMPLATE = diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss.conf b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss.conf index 72e97f663e..8d26d9caed 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss.conf @@ -1,267 +1,85 @@ -# 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 +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d - -# Start time for METplus run - must match INIT_TIME_FMT VALID_BEG=20210503 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END=20210503 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# 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 = 0 - -# 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 - -# Location of MET config file to pass to GridStat -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 = NONE +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -#GRID_STAT_INTERP_FIELD = -#GRID_STAT_INTERP_VLD_THRESH = -#GRID_STAT_INTERP_SHAPE = -#GRID_STAT_INTERP_TYPE_METHOD = -#GRID_STAT_INTERP_TYPE_WIDTH = +FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -#GRID_STAT_NC_PAIRS_VAR_NAME = +OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -#GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = -#GRID_STAT_CLIMO_STDEV_TIME_INTERP_METHOD = +GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = PYTHON_NUMPY -#GRID_STAT_GRID_WEIGHT_FLAG = AREA +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} -# Name to identify model (forecast) data in output -MODEL = RTOFS -# Name to identify observation data in output -OBTYPE = SMOS +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# set the desc value in the GridStat MET config file -GRID_STAT_DESC = NA +GRID_STAT_ONCE_PER_FIELD = False -# 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 +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss -# Name of forecast variable 1 FCST_VAR1_NAME = {CONFIG_DIR}/read_rtofs_smos_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/SMOS-L3-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss {valid?fmt=%Y%m%d} fcst -# List of levels to evaluate for forecast variable 1 -# A03 = 3 hour accumulation in GRIB file -FCST_VAR1_LEVELS = - -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1 -FCST_VAR1_THRESH = - -#FCST_GRID_STAT_FILE_TYPE = - -# Name of observation variable 1 OBS_VAR1_NAME = {CONFIG_DIR}/read_rtofs_smos_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/SMOS-L3-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss {valid?fmt=%Y%m%d} obs - -# List of levels to evaluate for observation variable 1 -# (*,*) is NetCDF notation - must include quotes around these values! -# must be the same length as FCST_VAR1_LEVELS -OBS_VAR1_LEVELS = - -# List of thresholds to evaluate for each name/level combination for -# observation variable 1 -OBS_VAR1_THRESH = - -#GRID_STAT_MET_CONFIG_OVERRIDES = cat_thresh = [>=0.15]; -#BOTH_VAR1_THRESH = >=0.15 - -#OBS_GRID_STAT_FILE_TYPE = - - -# Name of climatology variable 1 GRID_STAT_CLIMO_MEAN_FIELD = {name="{CONFIG_DIR}/read_rtofs_smos_woa.py {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/{valid?fmt=%Y%m%d}_rtofs_glo_2ds_f024_prog.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/SMOS-L3-GLOB_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss/OSTIA-UKMO-L4-GLOB-v2.0_{valid?fmt=%Y%m%d}.nc {INPUT_BASE}/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss {valid?fmt=%Y%m%d} climo"; level="(*,*)";} -# 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 +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information +GRID_STAT_REGRID_TO_GRID = NONE -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = 1 +MODEL = RTOFS +OBTYPE = SMOS -# shape value passed to nbrhd dictionary in the MET config file +GRID_STAT_NEIGHBORHOOD_WIDTH = 1 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 - -# 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 - GRID_STAT_OUTPUT_PREFIX = SSS -#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_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 = BOTH -#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 = NONE -#GRID_STAT_OUTPUT_FLAG_NBRCTS = NONE -#GRID_STAT_OUTPUT_FLAG_NBRCNT = NONE -#GRID_STAT_OUTPUT_FLAG_GRAD = BOTH -#GRID_STAT_OUTPUT_FLAG_DMAP = NONE - -#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] -#use case configuration file directory -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = - -# directory containing observation input to GridStat -OBS_GRID_STAT_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 to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d} - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = PYTHON_NUMPY - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this exampls -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -# Used to specify one or more verification mask files for GridStat -# Not used for this example -GRID_STAT_VERIFICATION_MASK_TEMPLATE = diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar.conf b/parm/use_cases/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar.conf index 1363dc980d..a7f6c51d26 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar.conf @@ -1,64 +1,64 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only PlotDataPlane for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PlotDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 20200127 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20200127 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 1M -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 0 PLOT_DATA_PLANE_CUSTOM_LOOP_LIST = north, south LOOP_ORDER = times -# Verbosity of MET output - overrides LOG_VERBOSITY for PlotDataPlane only -LOG_PLOT_DATA_PLANE_VERBOSITY = 1 -PLOT_DATA_PLANE_FIELD_NAME = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar/read_tripolar_grid.py {INPUT_BASE}/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar/rtofs_glo_2ds_n048_daily_diag.nc ice_coverage {custom} {INPUT_BASE}/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar/weight_{custom}.nc +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -PLOT_DATA_PLANE_TITLE = Tripolar via Python +PLOT_DATA_PLANE_INPUT_TEMPLATE = PYTHON_NUMPY -PLOT_DATA_PLANE_COLOR_TABLE = +PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar/HYCOM_iceCoverage_{custom}.ps -PLOT_DATA_PLANE_RANGE_MIN_MAX = +### +# PlotDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#plotdataplane +### -# End of [config] section and start of [dir] section -[dir] +LOG_PLOT_DATA_PLANE_VERBOSITY = 1 -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -PLOT_DATA_PLANE_INPUT_DIR = -PLOT_DATA_PLANE_OUTPUT_DIR = +PLOT_DATA_PLANE_FIELD_NAME = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar/read_tripolar_grid.py {INPUT_BASE}/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar/rtofs_glo_2ds_n048_daily_diag.nc ice_coverage {custom} {INPUT_BASE}/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar/weight_{custom}.nc -# End of [dir] section and start of [filename_templates] section -[filename_templates] +PLOT_DATA_PLANE_TITLE = Tripolar via Python -# Template to look for input to PlotDataPlane relative to PLOT_DATA_PLANE_INPUT_DIR -PLOT_DATA_PLANE_INPUT_TEMPLATE = PYTHON_NUMPY +PLOT_DATA_PLANE_COLOR_TABLE = -# Template to use to write output from PlotDataPlane -PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar/HYCOM_iceCoverage_{custom}.ps +PLOT_DATA_PLANE_RANGE_MIN_MAX = diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf b/parm/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf index cd7bfe6489..7518c87f11 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf @@ -1,51 +1,50 @@ [config] -# List of applications to run +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/develop/generated/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript -# time looping - options are INIT, VALID, RETRO, and REALTIME +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# 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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 20211028 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 24H -# 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 = - -# 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 +LEAD_SEQ = LOOP_ORDER = processes USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE -USER_SCRIPT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/calc_transport + +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### USER_SCRIPT_INPUT_TEMPLATE = {VALID_BEG} -# The valid date increments backwards +USER_SCRIPT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/calc_transport + USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport/read_aomlcable_rtofs_transport.py {USER_SCRIPT_INPUT_TEMPLATE} @@ -70,4 +69,4 @@ CALC_TRANSPORT_STATS_DAY = 3 CALC_TRANSPORT_LOG_FILE = calc_transport.log -OUTPUT_DIR = {OUTPUT_BASE}/model_applications/marine_and_cryosphere/calc_transport +OUTPUT_DIR = {USER_SCRIPT_OUTPUT_DIR} From 2116f06f719b368d0e82cb82ab3a9890eef7c3af Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 15 Jul 2022 14:08:17 -0600 Subject: [PATCH 13/35] changed URL to use latest instead of develop because even though the use case currently is only available in develop, it will eventually be in latest when the next release is created --- .../UserScript_fcstRTOFS_obsAOML_calcTransport.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf b/parm/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf index 7518c87f11..fea9f36ee9 100644 --- a/parm/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf +++ b/parm/use_cases/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf @@ -1,7 +1,7 @@ [config] # Documentation for this use case can be found at -# https://metplus.readthedocs.io/en/develop/generated/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.html +# https://metplus.readthedocs.io/en/latest/generated/model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.html # For additional information, please see the METplus Users Guide. # https://metplus.readthedocs.io/en/latest/Users_Guide From 22a2737466fce010363d9d88f4db31abf93885db Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 15 Jul 2022 14:08:48 -0600 Subject: [PATCH 14/35] per #1402, clean up use case config files for medium_range use cases --- ...ridStat_fcstGFS_obsGFS_Sfc_MultiField.conf | 102 ++--- ...t_fcstGFS_obsGFS_climoNCEP_MultiField.conf | 156 +++----- ...S_obsGFS_FeatureRelative_SeriesByLead.conf | 73 ++-- ..._obsGDAS_UpperAir_MultiField_PrepBufr.conf | 177 +++++---- ...cstGFS_obsNAM_Sfc_MultiField_PrepBufr.conf | 169 ++++---- ...S_obsGFS_FeatureRelative_SeriesByInit.conf | 318 ++++++--------- ...S_obsGFS_FeatureRelative_SeriesByLead.conf | 327 ++++++--------- ...esByLead_PyEmbed_Multiple_Diagnostics.conf | 373 +++++++----------- .../UserScript_fcstGEFS_Difficulty_Index.conf | 64 +-- 9 files changed, 750 insertions(+), 1009 deletions(-) diff --git a/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_Sfc_MultiField.conf b/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_Sfc_MultiField.conf index 72e79c7f04..20ad10659b 100644 --- a/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_Sfc_MultiField.conf +++ b/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_Sfc_MultiField.conf @@ -1,32 +1,61 @@ -# Grid to Grid Anomoly Example - [config] -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID -# Format of VALID_BEG and VALID_END -VALID_TIME_FMT = %Y%m%d%H +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/GridStat_fcstGFS_obsGFS_Sfc_MultiField.html -# Start time for METplus run -VALID_BEG = 2017061300 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# End time for METplus run -VALID_END = 2017061306 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# Increment between METplus runs in seconds. Must be >= 60 +PROCESS_LIST = GridStat + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H +VALID_BEG = 2017061300 +VALID_END = 2017061306 VALID_INCREMENT = 21600 -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. +LEAD_SEQ = 24 + LOOP_ORDER = times -# List of applications to run -PROCESS_LIST = GridStat -# list of variables to compare +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/gfs/fcst +FCST_GRID_STAT_INPUT_TEMPLATE = pgbf{lead?fmt=%HHH}.gfs.{init?fmt=%Y%m%d%H} + +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/gfs/fcst +OBS_GRID_STAT_INPUT_TEMPLATE = pgbf000.gfs.{valid?fmt=%Y%m%d%H} + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_out/{MODEL}/sfc +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H%M}/grid_stat + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + BOTH_VAR1_NAME = TMP FCST_VAR1_OPTIONS = GRIB_lvl_typ = 105; BOTH_VAR1_LEVELS = Z2 @@ -99,17 +128,15 @@ BOTH_VAR18_NAME = TOZNE FCST_VAR18_OPTIONS = GRIB_lvl_typ = 200; BOTH_VAR18_LEVELS = L0 -# list of forecast leads to process -LEAD_SEQ = 24 -# description of data to be processed -# used in output file path +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### + MODEL = GFS OBTYPE = ANLYS -# location of grid_stat MET config file -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - GRID_STAT_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME}_{CURRENT_FCST_LEVEL} GRID_STAT_REGRID_TO_GRID = G002 @@ -146,26 +173,3 @@ GRID_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST GRID_STAT_CLIMO_MEAN_REGRID_METHOD = BILIN GRID_STAT_CLIMO_MEAN_REGRID_WIDTH = 2 GRID_STAT_CLIMO_MEAN_DAY_INTERVAL = 1 - -# variables to describe format of forecast data -FCST_IS_PROB = false - -# variables to describe format of observation data -# none needed - -[dir] - -# input and output data directories -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/gfs/fcst -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/gfs/fcst -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_out/{MODEL}/sfc - -[filename_templates] -# format of filenames -# FCST -FCST_GRID_STAT_INPUT_TEMPLATE = pgbf{lead?fmt=%HHH}.gfs.{init?fmt=%Y%m%d%H} - -# ANLYS -OBS_GRID_STAT_INPUT_TEMPLATE = pgbf000.gfs.{valid?fmt=%Y%m%d%H} - -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H%M}/grid_stat diff --git a/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf b/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf index 0dc8673e88..e8c9a8bf60 100644 --- a/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf +++ b/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf @@ -1,35 +1,69 @@ -# Grid to Grid Anomoly Example - [config] -# List of applications to run + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat, StatAnalysis -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID -# Format of VALID_BEG and VALID_END -VALID_TIME_FMT = %Y%m%d%H +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Start time for METplus run +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H VALID_BEG = 2017061300 - -# End time for METplus run VALID_END = 2017061306 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 21600 -# list of forecast leads to process LEAD_SEQ = 24, 48 -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# list of variables to compare + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +GRID_STAT_CLIMO_MEAN_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/nwprod/fix +GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = cmean_1d.1959{valid?fmt=%m%d} + +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/gfs/fcst +FCST_GRID_STAT_INPUT_TEMPLATE = pgbf{lead?fmt=%.3H}.gfs.{init?fmt=%Y%m%d%H} + +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/gfs/obs +OBS_GRID_STAT_INPUT_TEMPLATE = pgbanl.gfs.{valid?fmt=%Y%m%d%H} + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_out/{MODEL}/anom +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H%M}/grid_stat + +MODEL1_STAT_ANALYSIS_LOOKIN_DIR = {OUTPUT_BASE}/met_out/{MODEL1}/anom/*/grid_stat + +STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/gather_by_date/stat_analysis/grid2grid/anom +MODEL1_STAT_ANALYSIS_DUMP_ROW_TEMPLATE = {fcst_valid_hour?fmt=%H}Z/{MODEL1}/{MODEL1}_{valid?fmt=%Y%m%d}.stat + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + BOTH_VAR1_NAME = TMP BOTH_VAR1_LEVELS = P850, P500, P250 @@ -42,14 +76,15 @@ BOTH_VAR3_LEVELS = P850, P500, P250 BOTH_VAR4_NAME = PRMSL BOTH_VAR4_LEVELS = Z0 -# description of data to be processed -# used in output file path + +### +# GridStat Settings (optional) +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### + MODEL = GFS OBTYPE = ANLYS -# location of grid_stat MET config file -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - GRID_STAT_GRID_WEIGHT_FLAG = COS_LAT GRID_STAT_OUTPUT_PREFIX = {MODEL}_vs_{OBTYPE} @@ -80,33 +115,18 @@ GRID_STAT_CLIMO_MEAN_DAY_INTERVAL = 1 GRID_STAT_MET_CONFIG_OVERRIDES = climo_mean = fcst; -# variables to describe format of forecast data -FCST_IS_PROB = false -# variables to describe format of observation data -# none needed +### +# StatAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis +### -# StatAnalysis configuration MODEL1 = GFS MODEL1_OBTYPE = ANLYS -# configuration file to use with StatAnalysis -STAT_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/STATAnalysisConfig_wrapped - -# stat_analysis job info STAT_ANALYSIS_JOB_NAME = filter - -# if using -dump_row, put in JOBS_ARGS "-dump_row [dump_row_file]" -# if using -out_stat, put in JOBS_ARGS "-out_stat [out_stat_file]" -# METplus will fill in filename STAT_ANALYSIS_JOB_ARGS = -dump_row [dump_row_file] -# Optional variables for further filtering -# can be blank, single, or multiple values -# if more than one use comma separated list -# -# (FCST)(OBS)_(VALID)(INIT)_HOUR_LIST: HH format (ex. 00, 06, 12) -# (FCST)(OBS)_LEAD_LIST: HH[H][MMSS] format (ex. 00, 06, 120) MODEL_LIST = {MODEL1} DESC_LIST = FCST_LEAD_LIST = @@ -129,54 +149,6 @@ OBS_THRESH_LIST = COV_THRESH_LIST = ALPHA_LIST = LINE_TYPE_LIST = -# how to treat items listed in above _LIST variables -# GROUP_LIST_ITEMS: items listed in a given _LIST variable -# will be grouped together -# LOOP_LIST_ITEMS: items listed in a give _LIST variable -# will be looped over -# if not listed METplus will treat the list as a group + GROUP_LIST_ITEMS = FCST_INIT_HOUR_LIST LOOP_LIST_ITEMS = FCST_VALID_HOUR_LIST, MODEL_LIST - - -[dir] - -# directory containing climatology data -GRID_STAT_CLIMO_MEAN_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/nwprod/fix - -# input and output data directories -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/gfs/fcst -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_grid/gfs/obs -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/met_out/{MODEL}/anom - -# directory to look for input for StatAnalysis -MODEL1_STAT_ANALYSIS_LOOKIN_DIR = {OUTPUT_BASE}/met_out/{MODEL1}/anom/*/grid_stat - -# Output data directory -STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/gather_by_date/stat_analysis/grid2grid/anom - -[filename_templates] -# format of filenames - -# Climatology mean -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = cmean_1d.1959{valid?fmt=%m%d} - -# GFS -FCST_GRID_STAT_INPUT_TEMPLATE = pgbf{lead?fmt=%.3H}.gfs.{init?fmt=%Y%m%d%H} - -# ANLYS -OBS_GRID_STAT_INPUT_TEMPLATE = pgbanl.gfs.{valid?fmt=%Y%m%d%H} - -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H%M}/grid_stat - -# Optional settings to create templated directory and file name information -# to save files as stat_analysis output as, this is appended to STAT_ANALYSIS_OUTPUT_DIR -# if no template is provided a default filename set in the code will be used -# Use: -# string templates can be set for all the lists being looped over, just -# use and a lower case version of the list, ex. {fcst_valid_hour?fmt=%H} -# or {fcst_var?fmt=%s} -# For looping over models: -# can set MODELn_STAT_ANALYSIS_[DUMP_ROW/OUT_STAT]_TEMPLATE for individual models -# or STAT_ANALYSIS_[DUMP_ROW/OUT_STAT] with {model?fmt=%s} -MODEL1_STAT_ANALYSIS_DUMP_ROW_TEMPLATE = {fcst_valid_hour?fmt=%H}Z/{MODEL1}/{MODEL1}_{valid?fmt=%Y%m%d}.stat diff --git a/parm/use_cases/model_applications/medium_range/MTD_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.conf b/parm/use_cases/model_applications/medium_range/MTD_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.conf index 3f5b9617fc..77110adf82 100644 --- a/parm/use_cases/model_applications/medium_range/MTD_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.conf +++ b/parm/use_cases/model_applications/medium_range/MTD_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/MTD_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = MTD, ExtractTiles, SeriesAnalysis + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -16,23 +35,10 @@ LEAD_SEQ = begin_end_incr(0,30,6) LOOP_ORDER = processes -### -# Field Info -### - -MODEL = GFS -OBTYPE = GFS_ANLY - -FCST_IS_PROB = False - -FCST_VAR1_NAME = PWAT -FCST_VAR1_LEVELS = L0 - -OBS_VAR1_NAME = PWAT -OBS_VAR1_LEVELS = L0 ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### FCST_MTD_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/MTD_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead @@ -73,9 +79,26 @@ SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/series_analysis_lead SERIES_ANALYSIS_OUTPUT_TEMPLATE = {label}/series_F{fcst_beg}_to_F{fcst_end}_{fcst_name}_{fcst_level}.nc -####### -# MTD Configurations -####### +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = GFS +OBTYPE = GFS_ANLY + +FCST_VAR1_NAME = PWAT +FCST_VAR1_LEVELS = L0 + +OBS_VAR1_NAME = PWAT +OBS_VAR1_LEVELS = L0 + + +### +# MTD Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mtd +### + MTD_DESC = NA MTD_SINGLE_RUN = False @@ -92,9 +115,11 @@ MTD_MIN_VOLUME = 2000 MTD_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME}_{CURRENT_FCST_LEVEL} -####### -# ExtractTiles Configurations -####### + +### +# ExtractTiles Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#extracttiles +### EXTRACT_TILES_NLAT = 60 EXTRACT_TILES_NLON = 60 @@ -105,9 +130,11 @@ EXTRACT_TILES_DLON = 0.5 EXTRACT_TILES_LON_ADJ = 15 EXTRACT_TILES_LAT_ADJ = 15 -####### -# SeriesAnalysis Configurations -####### + +### +# SeriesAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis +### SERIES_ANALYSIS_BACKGROUND_MAP = no diff --git a/parm/use_cases/model_applications/medium_range/PointStat_fcstGFS_obsGDAS_UpperAir_MultiField_PrepBufr.conf b/parm/use_cases/model_applications/medium_range/PointStat_fcstGFS_obsGDAS_UpperAir_MultiField_PrepBufr.conf index ca2f810ca5..ea774a66e7 100644 --- a/parm/use_cases/model_applications/medium_range/PointStat_fcstGFS_obsGDAS_UpperAir_MultiField_PrepBufr.conf +++ b/parm/use_cases/model_applications/medium_range/PointStat_fcstGFS_obsGDAS_UpperAir_MultiField_PrepBufr.conf @@ -1,15 +1,29 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/PointStat_fcstGFS_obsGDAS_UpperAir_MultiField_PrepBufr.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PB2NC, PointStat -## LOOP_ORDER -## Options are: processes, times -## Looping by time- runs all items in the PROCESS_LIST for each -## initialization time and repeats until all times have been evaluated. -## Looping by processes- run each item in the PROCESS_LIST for all -## specified initialization times then repeat for the next item in the -## PROCESS_LIST. -LOOP_ORDER = times + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d @@ -19,85 +33,37 @@ VALID_INCREMENT = 86400 LEAD_SEQ = 0 -# For both pb2nc and point_stat, the obs_window dictionary: -OBS_WINDOW_BEGIN = -2700 -OBS_WINDOW_END = 2700 - -# Logging levels: DEBUG, INFO, WARN, ERROR (most verbose is DEBUG) -LOG_LEVEL = DEBUG - -PB2NC_SKIP_IF_OUTPUT_EXISTS = True +LOOP_ORDER = times -## MET Configuration files for pb2nc and point_stat -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped -POINT_STAT_CONFIG_FILE ={PARM_BASE}/met_config/PointStatConfig_wrapped -PB2NC_QUALITY_MARK_THRESH = 3 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 +PB2NC_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_obs/prepbufr/gdas +PB2NC_INPUT_TEMPLATE = prepbufr.gdas.{valid?fmt=%Y%m%d%H} -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 +PB2NC_OUTPUT_DIR = {OUTPUT_BASE}/gdas/upper_air +PB2NC_OUTPUT_TEMPLATE = prepbufr.gdas.{valid?fmt=%Y%m%d%H}.nc -POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST -POINT_STAT_INTERP_TYPE_METHOD = BILIN -POINT_STAT_INTERP_TYPE_WIDTH = 2 +FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_obs/gfs +FCST_POINT_STAT_INPUT_TEMPLATE = pgbf{lead?fmt=%HH}.gfs.{init?fmt=%Y%m%d%H} -POINT_STAT_OUTPUT_FLAG_SL1L2 = STAT -POINT_STAT_OUTPUT_FLAG_VL1L2 = STAT +OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} +OBS_POINT_STAT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} -# -# PB2NC -# -# These are appended with PB2NC to differentiate the GRID, POLY, and MESSAGE_TYPE for point_stat. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = +POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{OBTYPE} -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = QOB, TOB, ZOB, UOB, VOB, D_RH -#*********** -# ***NOTE*** -#*********** -# SET TIME_SUMMARY_FLAG to False. There is a bug in met-6.1. -## For defining the time periods for summarization -# False for no time summary, True otherwise -PB2NC_TIME_SUMMARY_FLAG = False -PB2NC_TIME_SUMMARY_BEG = 000000 ;; start time of time summary in HHMMSS format -PB2NC_TIME_SUMMARY_END = 235959 ;; end time of time summary in HHMMSS format -PB2NC_TIME_SUMMARY_VAR_NAMES = PMO,TOB,TDO,UOB,VOB,PWO,TOCC -PB2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 ;; a list of the statistics to summarize +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# Model/fcst and obs name, e.g. GFS, NAM, GDAS, etc. MODEL = gfs OBTYPE = gdas -# Regrid to specified grid. Indicate NONE if no regridding, or the grid id -# (e.g. G212) -POINT_STAT_REGRID_TO_GRID = G003 -POINT_STAT_REGRID_METHOD = BILIN -POINT_STAT_REGRID_WIDTH = 2 - -# Verification Masking regions -# Indicate which grid and polygon masking region, if applicable -POINT_STAT_GRID = FULL -# List of full path to poly masking files. NOTE: Only short lists of poly -# files work (those that fit on one line), a long list will result in an -# environment variable that is too long, resulting in an error. For long -# lists of poly masking files (i.e. all the mask files in the NCEP_mask -# directory), define these in the MET point_stat configuration file. -POINT_STAT_POLY = -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 = ADPUPA - -# Variables and levels as specified in the field dictionary of the MET -# point_stat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION - BOTH_VAR1_NAME = TMP BOTH_VAR1_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 @@ -113,20 +79,57 @@ BOTH_VAR4_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, BOTH_VAR5_NAME = HGT BOTH_VAR5_LEVELS = P1000, P950, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 -[dir] -PB2NC_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_obs/prepbufr/gdas -PB2NC_OUTPUT_DIR = {OUTPUT_BASE}/gdas/upper_air -FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_obs/gfs -OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} +### +# PB2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pb2nc +### -POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{OBTYPE} +# For both pb2nc and point_stat, the obs_window dictionary: +OBS_WINDOW_BEGIN = -2700 +OBS_WINDOW_END = 2700 -[filename_templates] -## Output file template -PB2NC_INPUT_TEMPLATE = prepbufr.gdas.{valid?fmt=%Y%m%d%H} -PB2NC_OUTPUT_TEMPLATE = prepbufr.gdas.{valid?fmt=%Y%m%d%H}.nc +PB2NC_SKIP_IF_OUTPUT_EXISTS = True -FCST_POINT_STAT_INPUT_TEMPLATE = pgbf{lead?fmt=%HH}.gfs.{init?fmt=%Y%m%d%H} -OBS_POINT_STAT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} +PB2NC_QUALITY_MARK_THRESH = 3 + +PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 + +PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 +PB2NC_GRID = +PB2NC_POLY = +PB2NC_STATION_ID = +PB2NC_MESSAGE_TYPE = + +PB2NC_OBS_BUFR_VAR_LIST = QOB, TOB, ZOB, UOB, VOB, D_RH + +PB2NC_TIME_SUMMARY_FLAG = False +PB2NC_TIME_SUMMARY_BEG = 000000 +PB2NC_TIME_SUMMARY_END = 235959 +PB2NC_TIME_SUMMARY_VAR_NAMES = PMO,TOB,TDO,UOB,VOB,PWO,TOCC +PB2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 + + +### +# PointStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pointstat +### + +POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST +POINT_STAT_INTERP_TYPE_METHOD = BILIN +POINT_STAT_INTERP_TYPE_WIDTH = 2 + +POINT_STAT_OUTPUT_FLAG_SL1L2 = STAT +POINT_STAT_OUTPUT_FLAG_VL1L2 = STAT + +POINT_STAT_REGRID_TO_GRID = G003 +POINT_STAT_REGRID_METHOD = BILIN +POINT_STAT_REGRID_WIDTH = 2 + +POINT_STAT_GRID = FULL + +POINT_STAT_POLY = +POINT_STAT_STATION_ID = + +POINT_STAT_MESSAGE_TYPE = ADPUPA diff --git a/parm/use_cases/model_applications/medium_range/PointStat_fcstGFS_obsNAM_Sfc_MultiField_PrepBufr.conf b/parm/use_cases/model_applications/medium_range/PointStat_fcstGFS_obsNAM_Sfc_MultiField_PrepBufr.conf index 224833c82c..b722dd49ac 100644 --- a/parm/use_cases/model_applications/medium_range/PointStat_fcstGFS_obsNAM_Sfc_MultiField_PrepBufr.conf +++ b/parm/use_cases/model_applications/medium_range/PointStat_fcstGFS_obsNAM_Sfc_MultiField_PrepBufr.conf @@ -1,24 +1,28 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -PROCESS_LIST = PB2NC, PointStat -## LOOP_ORDER -## Options are: processes, times -## Looping by time- runs all items in the PROCESS_LIST for each -## initialization time and repeats until all times have been evaluated. -## Looping by processes- run each item in the PROCESS_LIST for all -## specified initialization times then repeat for the next item in the -## PROCESS_LIST. -LOOP_ORDER = processes +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/PointStat_fcstGFS_obsNAM_Sfc_MultiField_PrepBufr.html -# Logging levels: DEBUG, INFO, WARN, ERROR (most verbose is DEBUG) -LOG_LEVEL = DEBUG +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -## MET Configuration files for pb2nc and point_stat -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped -POINT_STAT_CONFIG_FILE ={PARM_BASE}/met_config/PointStatConfig_wrapped +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -PB2NC_SKIP_IF_OUTPUT_EXISTS = True +PROCESS_LIST = PB2NC, PointStat + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d @@ -28,76 +32,38 @@ VALID_INCREMENT = 86400 LEAD_SEQ = 0 +LOOP_ORDER = processes -# For both pb2nc and point_stat, the obs_window dictionary: -OBS_WINDOW_BEGIN = -2700 -OBS_WINDOW_END = 2700 -PB2NC_QUALITY_MARK_THRESH = 3 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 +PB2NC_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_obs/prepbufr/nam +PB2NC_INPUT_TEMPLATE = nam.{da_init?fmt=%Y%m%d}/nam.t{da_init?fmt=%H}z.prepbufr.tm{offset?fmt=%2H} -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 +PB2NC_OUTPUT_DIR = {OUTPUT_BASE}/nam/conus_sfc +PB2NC_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/nam.{valid?fmt=%Y%m%d%H}.nc +PB2NC_SKIP_IF_OUTPUT_EXISTS = True -POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST -POINT_STAT_INTERP_TYPE_METHOD = BILIN -POINT_STAT_INTERP_TYPE_WIDTH = 2 +FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_obs/gfs +FCST_POINT_STAT_INPUT_TEMPLATE = pgbf{lead?fmt=%HH}.gfs.{init?fmt=%Y%m%d%H} -POINT_STAT_OUTPUT_FLAG_SL1L2 = STAT -POINT_STAT_OUTPUT_FLAG_VL1L2 = STAT +OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} +OBS_POINT_STAT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} -# -# PB2NC -# -# These are appended with PB2NC to differentiate the GRID, POLY, and MESSAGE_TYPE for point_stat. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = +POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{OBTYPE} -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, TOB, TDO, UOB, VOB, PWO, TOCC, D_RH -#*********** -# ***NOTE*** -#*********** -# SET TIME_SUMMARY_FLAG to False. There is a bug in met-6.1. -## For defining the time periods for summarization -# False for no time summary, True otherwise -PB2NC_TIME_SUMMARY_FLAG = False -PB2NC_TIME_SUMMARY_BEG = 000000 ;; start time of time summary in HHMMSS format -PB2NC_TIME_SUMMARY_END = 235959 ;; end time of time summary in HHMMSS format -PB2NC_TIME_SUMMARY_VAR_NAMES = PMO,TOB,TDO,UOB,VOB,PWO,TOCC -PB2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 ;; a list of the statistics to summarize +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# Model/fcst and obs name, e.g. GFS, NAM, GDAS, etc. MODEL = gfs OBTYPE = nam -# Regrid to specified grid. Indicate NONE if no regridding, or the grid id -# (e.g. G212) -POINT_STAT_REGRID_TO_GRID = G104 -POINT_STAT_REGRID_METHOD = BILIN -POINT_STAT_REGRID_WIDTH = 2 - -# Verification Masking regions -# Indicate which grid and polygon masking region, if applicable -POINT_STAT_GRID = FULL -# List of full path to poly masking files. NOTE: Only short lists of poly -# files work (those that fit on one line), a long list will result in an -# environment variable that is too long, resulting in an error. For long -# lists of poly masking files (i.e. all the mask files in the NCEP_mask -# directory), define these in the MET point_stat configuration file. -POINT_STAT_POLY = -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 = ONLYSF -# Variables and levels as specified in the field dictionary of the MET -# point_stat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION - BOTH_VAR1_NAME = TMP BOTH_VAR1_LEVELS = Z2 @@ -120,19 +86,54 @@ FCST_VAR6_OPTIONS = GRIB_lvl_typ = 200; BOTH_VAR7_NAME = PRMSL BOTH_VAR7_LEVELS = Z0 -[dir] -PB2NC_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_obs/prepbufr/nam -PB2NC_OUTPUT_DIR = {OUTPUT_BASE}/nam/conus_sfc -FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/grid_to_obs/gfs -OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} +### +# PB2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pb2nc +### -POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{OBTYPE} +# For both pb2nc and point_stat, the obs_window dictionary: +OBS_WINDOW_BEGIN = -2700 +OBS_WINDOW_END = 2700 -[filename_templates] -PB2NC_INPUT_TEMPLATE = nam.{da_init?fmt=%Y%m%d}/nam.t{da_init?fmt=%H}z.prepbufr.tm{offset?fmt=%2H} +PB2NC_QUALITY_MARK_THRESH = 3 -PB2NC_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/nam.{valid?fmt=%Y%m%d%H}.nc +PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 -FCST_POINT_STAT_INPUT_TEMPLATE = pgbf{lead?fmt=%HH}.gfs.{init?fmt=%Y%m%d%H} -OBS_POINT_STAT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} +PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 + +PB2NC_GRID = +PB2NC_POLY = +PB2NC_STATION_ID = +PB2NC_MESSAGE_TYPE = + +PB2NC_OBS_BUFR_VAR_LIST = PMO, TOB, TDO, UOB, VOB, PWO, TOCC, D_RH + +PB2NC_TIME_SUMMARY_FLAG = False +PB2NC_TIME_SUMMARY_BEG = 000000 +PB2NC_TIME_SUMMARY_END = 235959 +PB2NC_TIME_SUMMARY_VAR_NAMES = PMO,TOB,TDO,UOB,VOB,PWO,TOCC +PB2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 + + +### +# PointStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pointstat +### + +POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST +POINT_STAT_INTERP_TYPE_METHOD = BILIN +POINT_STAT_INTERP_TYPE_WIDTH = 2 + +POINT_STAT_OUTPUT_FLAG_SL1L2 = STAT +POINT_STAT_OUTPUT_FLAG_VL1L2 = STAT + +POINT_STAT_REGRID_TO_GRID = G104 +POINT_STAT_REGRID_METHOD = BILIN +POINT_STAT_REGRID_WIDTH = 2 + +POINT_STAT_GRID = FULL +POINT_STAT_POLY = +POINT_STAT_STATION_ID = + +POINT_STAT_MESSAGE_TYPE = ONLYSF diff --git a/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByInit.conf b/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByInit.conf index c205d4a245..65dbe5ed8f 100644 --- a/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByInit.conf +++ b/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByInit.conf @@ -1,70 +1,125 @@ -# -# CONFIGURATION -# [config] -# Loop over each process in the process list (set in PROCESS_LIST) for all times in the time window of -# interest. -LOOP_ORDER = processes -# Configuration files -TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByInit.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -SERIES_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/SeriesAnalysisConfig_wrapped +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### PROCESS_LIST = TCPairs, TCStat, ExtractTiles, TCStat(for_series_analysis), SeriesAnalysis -# The init time begin and end times, increment + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d INIT_BEG = 20141214 INIT_END = 20141214 +INIT_INCREMENT = 21600 -# This is the step-size. Increment in seconds from the begin time to the end -# time -INIT_INCREMENT = 21600 ;; set to every 6 hours=21600 seconds +SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID -####### -# TCPairs Configurations -####### +SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = True -# A list of times to include, in format YYYYMMDD_hh -TC_PAIRS_INIT_INCLUDE = +LOOP_ORDER = processes -# A list of times to exclude, in format YYYYMMDD_hh -TC_PAIRS_INIT_EXCLUDE = -# Specify model valid time window in format YYYYMM[DD[_hh]]. Only tracks -# that fall within the valid time window will be used. -TC_PAIRS_VALID_BEG = -TC_PAIRS_VALID_END = +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/track_data +TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -# -# Run MET tc_pairs by indicating the top-level directories for the A-deck -# and B-deck files. Set to 'yes' to run using top-level directories, 'no' -# if you want to run tc_pairs on files paired by the wrapper. -TC_PAIRS_READ_ALL_FILES = no +TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} +TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} + +TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf + +TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s} + +TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes +TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes + + +TC_STAT_LOOKIN_DIR = {TC_PAIRS_OUTPUT_DIR} + +TC_STAT_OUTPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +TC_STAT_DUMP_ROW_TEMPLATE = {init?fmt=%Y%m%d_%H}/filter_{init?fmt=%Y%m%d_%H}.tcst + + +EXTRACT_TILES_TC_STAT_INPUT_DIR = {TC_STAT_OUTPUT_DIR} +EXTRACT_TILES_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} + +FCST_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data +FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.grb2 + +OBS_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data +OBS_EXTRACT_TILES_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 + +EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/extract_tiles +FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/FCST_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc +OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/OBS_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc + +EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = yes + + +SERIES_ANALYSIS_TC_STAT_INPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} +SERIES_ANALYSIS_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} + +FCST_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = {FCST_EXTRACT_TILES_OUTPUT_TEMPLATE} + +OBS_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = {OBS_EXTRACT_TILES_OUTPUT_TEMPLATE} + +SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/series_analysis_init +SERIES_ANALYSIS_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/series_{fcst_name}_{fcst_level}.nc + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# List of models to be used (white space or comma separated) eg: DSHP, LGEM, HWRF -# If no models are listed, then process all models in the input file(s). MODEL = GFSO -# List of storm ids of interest (space or comma separated) e.g.: AL112012, AL122012 -# If no storm ids are listed, then process all storm ids in the input file(s). -TC_PAIRS_STORM_ID = +BOTH_VAR1_NAME = TMP +BOTH_VAR1_LEVELS = Z2 -# Basins (of origin/region). Indicate with space or comma-separated list of regions, eg. AL: for North Atlantic, -# WP: Western North Pacific, CP: Central North Pacific, SH: Southern Hemisphere, IO: North Indian Ocean, LS: Southern -# Hemisphere -TC_PAIRS_BASIN = -# Cyclone, a space or comma-separated list of cyclone numbers. If left empty, all cyclones will be used. -TC_PAIRS_CYCLONE = +### +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs +### + +TC_PAIRS_INIT_INCLUDE = +TC_PAIRS_INIT_EXCLUDE = -# Storm name, a space or comma-separated list of storm names to evaluate. If left empty, all storms will be used. +TC_PAIRS_VALID_BEG = +TC_PAIRS_VALID_END = + +TC_PAIRS_STORM_ID = +TC_PAIRS_BASIN = +TC_PAIRS_CYCLONE = TC_PAIRS_STORM_NAME = -# DLAND file, the full path of the file that contains the gridded representation of the -# minimum distance from land. TC_PAIRS_DLAND_FILE = {MET_INSTALL_DIR}/share/met/tc_data/dland_global_tenth_degree.nc TC_PAIRS_REFORMAT_DECK = yes @@ -73,31 +128,16 @@ TC_PAIRS_REFORMAT_TYPE = SBU TC_PAIRS_MISSING_VAL_TO_REPLACE = -99 TC_PAIRS_MISSING_VAL = -9999 -# overwrite modified track data (non-ATCF to ATCF format) -TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes - -# overwrite tc_pairs output -TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes +### +# TCStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcstat +### -####### -# TCStat Configurations -####### TC_STAT_JOB_ARGS = -job filter -basin ML -dump_row {TC_STAT_OUTPUT_DIR}/{TC_STAT_DUMP_ROW_TEMPLATE} -# Specify whether only those track points common to both the ADECK and BDECK -# tracks should be written out. This is only used when explicitly calling -# TC_STAT in the PROCESS_LIST. This is not used in this use case, so setting -# it to either false or true has no impact. TC_STAT_MATCH_POINTS = true -# These all map to the options in the default TC-Stat config file, except these -# are pre-pended with TC_STAT to avoid clashing with any other similarly -# named options from other MET tools (eg TC_STAT_AMODEL corresponds to the -# amodel option in the default MET tc-stat config file, whereas AMODEL -# corresponds to the amodel option in the MET tc-pairs config file). - -# Stratify by these columns: TC_STAT_AMODEL = TC_STAT_BMODEL = TC_STAT_DESC = @@ -106,15 +146,12 @@ TC_STAT_BASIN = TC_STAT_CYCLONE = TC_STAT_STORM_NAME = -# Stratify by init times via a comma-separate list of init times to -# include or exclude. Time format defined as YYYYMMDD_HH or YYYYMMDD_HHmmss TC_STAT_INIT_BEG = TC_STAT_INIT_END = TC_STAT_INIT_INCLUDE = {init?fmt=%Y%m%d_%H} TC_STAT_INIT_EXCLUDE = TC_STAT_INIT_HOUR = -# Stratify by valid times via a comma-separate list of valid times to -# include or exclude. Time format defined as YYYYMMDD_HH or YYYYMMDD_HHmmss + TC_STAT_VALID_BEG = TC_STAT_VALID_END = TC_STAT_VALID_INCLUDE = @@ -123,196 +160,83 @@ TC_STAT_VALID_HOUR = TC_STAT_LEAD_REQ = TC_STAT_INIT_MASK = TC_STAT_VALID_MASK = -# Stratify by the valid time and lead time via comma-separated list of -# times in format HH[MMSS] + TC_STAT_VALID_HOUR = TC_STAT_LEAD = -# Stratify over the watch_warn column in the tcst file. Setting this to -# 'ALL' will match HUWARN, HUWATCH, TSWARN, TSWATCH TC_STAT_TRACK_WATCH_WARN = -# Stratify by applying thresholds to numeric data columns. Specify with -# comma-separated list of column names and thresholds to be applied. -# The length of TC_STAT_COLUMN_THRESH_NAME should be the same as -# TC_STAT_COLUMN_THRESH_VAL. TC_STAT_COLUMN_THRESH_NAME = TC_STAT_COLUMN_THRESH_VAL = -# Stratify by a list of comma-separated columns names and values corresponding -# to non-numeric data columns of the values of interest. TC_STAT_COLUMN_STR_NAME = TC_STAT_COLUMN_STR_VAL = -# Stratify by applying thresholds to numeric data columns only when lead=0. -# If lead=0 and the value does not meet the threshold, discard the entire -# track. The length of TC_STAT_INIT_THRESH_NAME must equal the length of -# TC_STAT_INIT_THRESH_VAL. TC_STAT_INIT_THRESH_NAME = TC_STAT_INIT_THRESH_VAL = -# Stratify by applying thresholds to numeric data columns only when lead = 0. -# If lead = 0 but the value doesn't meet the threshold, discard the entire -# track. TC_STAT_INIT_STR_NAME = TC_STAT_INIT_STR_VAL = -# Excludes any points where distance to land is <=0. When set to TRUE, once land -# is encountered, the remainder of the forecast track is NOT used for the -# verification, even if the track moves back over water. TC_STAT_WATER_ONLY = -# TRUE or FALSE. To specify whether only those track points occurring near -# landfall should be retained. Landfall is the last bmodel track point before -# the distance to land switches from water to land. TC_STAT_LANDFALL = -# Define the landfall retention window, which is defined as the hours offset -# from the time of landfall. Format is in HH[MMSS]. Default TC_STAT_LANDFALL_BEG -# is set to -24, and TC_STAT_LANDFALL_END is set to 00 -#TC_STAT_LANDFALL_BEG = -24 -#TC_STAT_LANDFALL_END = 00 TC_STAT_LANDFALL_BEG = TC_STAT_LANDFALL_END = -# OVERWRITE OPTIONS -# Skip writing filter files if they already exist. -# Set to yes if you want to skip processing existing files -# Set to no if you want to override existing files -EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = yes -# Constants used in creating the tile grid, used by extract tiles +### +# ExtractTiles Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#extracttiles +### + EXTRACT_TILES_NLAT = 60 EXTRACT_TILES_NLON = 60 -# Resolution of data in degrees, used by extract tiles EXTRACT_TILES_DLAT = 0.5 EXTRACT_TILES_DLON = 0.5 -# Degrees to subtract from the center lat and lon to -# calculate the lower left lat (lat_ll) and lower -# left lon (lon_ll) for a grid that is 2n X 2m, -# where n = EXTRACT_TILES_LAT_ADJ degrees and m = EXTRACT_TILES_LON_ADJ degrees. -# For this case, where n=15 and m=15, this results -# in a 30 deg X 30 deg grid. Used by extract tiles EXTRACT_TILES_LON_ADJ = 15 EXTRACT_TILES_LAT_ADJ = 15 + +### +# TCStat (for SeriesAnalysis) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcstat +### + # Settings specific to the TCStat(for_series_analysis) process that was set # in the PROCESS_LIST. Any TC_STAT_* variable not set in this section will use # the value set outside of this section [for_series_analysis] + TC_STAT_JOB_ARGS = -job filter -init_beg {INIT_BEG} -init_end {INIT_END} -dump_row {TC_STAT_OUTPUT_DIR}/{TC_STAT_DUMP_ROW_TEMPLATE} TC_STAT_OUTPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} TC_STAT_LOOKIN_DIR = {EXTRACT_TILES_OUTPUT_DIR} -[config] -# Used by extract tiles and series analysis to define the records of -# interest to be retrieved from the grib2 file -# -BOTH_VAR1_NAME = TMP -BOTH_VAR1_LEVELS = Z2 +### +# SeriesAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis +### -SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID - -SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = True +[config] -# PLOTTING Relevant to series analysis plots. -# By default, background map is turned off. Set -# to no to turn of plotting of background map. SERIES_ANALYSIS_BACKGROUND_MAP = no -# set the regrid dictionary item to_grid in the SeriesAnalysis MET config file SERIES_ANALYSIS_REGRID_TO_GRID = FCST SERIES_ANALYSIS_REGRID_METHOD = FORCE -#SERIES_ANALYSIS_REGRID_WIDTH = -#SERIES_ANALYSIS_REGRID_VLD_THRESH = -#SERIES_ANALYSIS_REGRID_SHAPE = -## NOTE: "TOTAL" is a REQUIRED cnt statistic used by the series analysis scripts SERIES_ANALYSIS_STAT_LIST = TOTAL, FBAR, OBAR, ME SERIES_ANALYSIS_BLOCK_SIZE = 4000 -# set to True to add the -paired flag to the SeriesAnalysis command SERIES_ANALYSIS_IS_PAIRED = True -# If True/yes, run plot_data_plane on output from Series-Analysis to generate -# images for each stat item listed in SERIES_ANALYSIS_STAT_LIST SERIES_ANALYSIS_GENERATE_PLOTS = yes -# If True/yes, run convert on output from Series-Analysis to generate -# a gif using images in groups of name/level/stat SERIES_ANALYSIS_GENERATE_ANIMATIONS = no -# Title to use when plotting output from Series-Analysis -# Only used if SERIES_ANALYSIS_GENERATE_PLOTS is True/yes PLOT_DATA_PLANE_TITLE = {MODEL} Init {init?fmt=%Y%m%d_%H} Storm {storm_id} {num_leads} Forecasts (F{fcst_beg} to F{fcst_end}) {stat} for {fcst_name}, {fcst_level} - - -# -# FILENAME TEMPLATES -# -[filename_templates] -# Define the format of the filenames -TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s} - -TC_STAT_DUMP_ROW_TEMPLATE = {init?fmt=%Y%m%d_%H}/filter_{init?fmt=%Y%m%d_%H}.tcst - -EXTRACT_TILES_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} - -FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.grb2 -OBS_EXTRACT_TILES_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 - -FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/FCST_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc -OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/OBS_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc - -FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = {FCST_EXTRACT_TILES_OUTPUT_TEMPLATE} -OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = {OBS_EXTRACT_TILES_OUTPUT_TEMPLATE} - -SERIES_ANALYSIS_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} - -# Template to look for climatology mean input to SeriesAnalysis relative to SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR -# Not used in this example -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_TEMPLATE = - -# Template to look for climatology standard deviation input to SeriesAnalysis relative to SERIES_ANALYSIS_CLIMO_STDEV_INPUT_DIR -# Not used in this example -SERIES_ANALYSIS_CLIMO_STDEV_INPUT_TEMPLATE = - -SERIES_ANALYSIS_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/series_{fcst_name}_{fcst_level}.nc -# -# DIRECTORIES -# -[dir] -TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/track_data -TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} -TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf -TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs - -TC_STAT_LOOKIN_DIR = {TC_PAIRS_OUTPUT_DIR} -TC_STAT_OUTPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} - -EXTRACT_TILES_TC_STAT_INPUT_DIR = {TC_STAT_OUTPUT_DIR} - -FCST_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data -OBS_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data -EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/extract_tiles - -FCST_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} -OBS_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} -SERIES_ANALYSIS_TC_STAT_INPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} - -# directory containing climatology mean input to SeriesAnalysis -# Not used in this example -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR = - -# directory containing climatology standard deviation input to SeriesAnalysis -# Not used in this example -SERIES_ANALYSIS_CLIMO_STDEV_INPUT_DIR = - -SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/series_analysis_init diff --git a/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.conf b/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.conf index 4e80adf247..32a43b9f12 100644 --- a/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.conf +++ b/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.conf @@ -1,91 +1,129 @@ -# -# CONFIGURATION -# [config] -# Loop over each process in the process list (set in PROCESS_LIST) for all times in the time window of -# interest. -LOOP_ORDER = processes -# Configuration files -TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -SERIES_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/SeriesAnalysisConfig_wrapped +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### PROCESS_LIST = TCPairs, TCStat, ExtractTiles, TCStat(for_series_analysis), SeriesAnalysis -# The init time begin and end times, increment + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d INIT_BEG = 20141214 INIT_END = 20141214 - -# This is the step-size. Increment in seconds from the begin time to the end -# time INIT_INCREMENT = 21600 ;; set to every 6 hours=21600 seconds -# Used by extract tiles and series analysis to define the records of -# interest to be retrieved from the grib2 file -# -BOTH_VAR1_NAME = TMP -BOTH_VAR1_LEVELS = Z2 - -# forecast lead sequence 1 list (0, 6, 12, 18) LEAD_SEQ_1 = begin_end_incr(0,18,6) -# forecast lead sequence 1 label LEAD_SEQ_1_LABEL = Day1 -# forecast lead sequence 2 list (24, 30, 36, 42) LEAD_SEQ_2 = begin_end_incr(24,42,6) -# forecast lead sequence 2 label LEAD_SEQ_2_LABEL = Day2 -####### -# TCPairs Configurations -####### +LOOP_ORDER = processes + + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/track_data +TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} + +TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} +TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} + +TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf +TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s} + +TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes +TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes + + +TC_STAT_LOOKIN_DIR = {TC_PAIRS_OUTPUT_DIR} +TC_STAT_OUTPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +TC_STAT_DUMP_ROW_TEMPLATE = filter_{init?fmt=%Y%m%d_%H}.tcst + + +EXTRACT_TILES_TC_STAT_INPUT_DIR = {TC_STAT_OUTPUT_DIR} +EXTRACT_TILES_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} + +EXTRACT_TILES_GRID_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data + +FCST_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data +FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.grb2 + +OBS_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data +OBS_EXTRACT_TILES_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 + +EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/extract_tiles +FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/FCST_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc +OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/OBS_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc + +EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = yes + + +FCST_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = {FCST_EXTRACT_TILES_OUTPUT_TEMPLATE} + +OBS_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = {OBS_EXTRACT_TILES_OUTPUT_TEMPLATE} + +SERIES_ANALYSIS_TC_STAT_INPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} +SERIES_ANALYSIS_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} + +SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/series_analysis_lead +SERIES_ANALYSIS_OUTPUT_TEMPLATE = {label}/series_F{fcst_beg}_to_F{fcst_end}_{fcst_name}_{fcst_level}.nc + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = GFSO + +BOTH_VAR1_NAME = TMP +BOTH_VAR1_LEVELS = Z2 + + +### +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs +### TC_PAIRS_SKIP_LEAD_SEQ = True -# A list of times to include, in format YYYYMMDD_hh TC_PAIRS_INIT_INCLUDE = - -# A list of times to exclude, in format YYYYMMDD_hh TC_PAIRS_INIT_EXCLUDE = -# -# Specify model valid time window in format YYYYMM[DD[_hh]]. Only tracks -# that fall within the valid time window will -# be used. -# TC_PAIRS_VALID_BEG = TC_PAIRS_VALID_END = -# -# Run MET tc_pairs by indicating the top-level directories for the A-deck -# and B-deck files. Set to 'yes' to run using top-level directories, 'no' -# if you want to run tc_pairs on files paired by the wrapper. -TC_PAIRS_READ_ALL_FILES = no - -# List of models to be used (white space or comma separated) eg: DSHP, LGEM, HWRF -# If no models are listed, then process all models in the input file(s). -MODEL = GFSO - -# List of storm ids of interest (space or comma separated) e.g.: AL112012, AL122012 -# If no storm ids are listed, then process all storm ids in the input file(s). TC_PAIRS_STORM_ID = - -# Basins (of origin/region). Indicate with space or comma-separated list of regions, eg. AL: for North Atlantic, -# WP: Western North Pacific, CP: Central North Pacific, SH: Southern Hemisphere, IO: North Indian Ocean, LS: Southern -# Hemisphere TC_PAIRS_BASIN = - -# Cyclone, a space or comma-separated list of cyclone numbers. If left empty, all cyclones will be used. TC_PAIRS_CYCLONE = - -# Storm name, a space or comma-separated list of storm names to evaluate. If left empty, all storms will be used. TC_PAIRS_STORM_NAME = -# DLAND file, the full path of the file that contains the gridded representation of the -# minimum distance from land. TC_PAIRS_DLAND_FILE = {MET_INSTALL_DIR}/share/met/tc_data/dland_global_tenth_degree.nc TC_PAIRS_REFORMAT_DECK = yes @@ -94,40 +132,16 @@ TC_PAIRS_REFORMAT_TYPE = SBU TC_PAIRS_MISSING_VAL_TO_REPLACE = -99 TC_PAIRS_MISSING_VAL = -9999 -# overwrite modified track data (non-ATCF to ATCF format) -TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes - -# overwrite tc_pairs output -TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes - -####### -# TCStat Configurations -####### -# IMPORTANT Refer to the README_TC for details on setting up analysis -# jobs (located in {MET_INSTALL_DIR}/share/met/config -# Separate each option and value with whitespace, and each job with a whitespace. -# No whitespace within arithmetic expressions or lists of items -# (e.g. -by AMSLP,AMODEL,LEAD -column '(AMAX_WIND-BMAX_WIND)') -# Enclose your arithmetic expressions with '' and separate each job -# by whitespace: -# -job filter -dump_row /path/to, -job summary -line_type TCMPR -column 'ABS(AMAX_WIND-BMAX_WIND)' -out {OUTPUT_BASE}/tc_stat/file.tcst +### +# TCStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcstat +### TC_STAT_JOB_ARGS = -job filter -basin ML -dump_row {TC_STAT_OUTPUT_DIR}/{TC_STAT_DUMP_ROW_TEMPLATE} -# Specify whether only those track points common to both the ADECK and BDECK -# tracks should be written out. This is only used when explicitly calling -# TC_STAT in the PROCESS_LIST. This is not used in this use case, so setting -# it to either false or true has no impact. TC_STAT_MATCH_POINTS = true -# These all map to the options in the default TC-Stat config file, except these -# are pre-pended with TC_STAT to avoid clashing with any other similarly -# named options from other MET tools (eg TC_STAT_AMODEL corresponds to the -# amodel option in the default MET tc-stat config file, whereas AMODEL -# corresponds to the amodel option in the MET tc-pairs config file). - -# Stratify by these columns: TC_STAT_AMODEL = TC_STAT_BMODEL = TC_STAT_DESC = @@ -136,17 +150,12 @@ TC_STAT_BASIN = TC_STAT_CYCLONE = TC_STAT_STORM_NAME = -# Stratify by init times via a comma-separate list of init times to -# include or exclude. Time format defined as YYYYMMDD_HH or YYYYMMDD_HHmmss -#TC_STAT_INIT_BEG = 20141213 -#TC_STAT_INIT_END = 20141220 TC_STAT_INIT_BEG = TC_STAT_INIT_END = TC_STAT_INIT_INCLUDE = {init?fmt=%Y%m%d_%H} TC_STAT_INIT_EXCLUDE = TC_STAT_INIT_HOUR = -# Stratify by valid times via a comma-separate list of valid times to -# include or exclude. Time format defined as YYYYMMDD_HH or YYYYMMDD_HHmmss + TC_STAT_VALID_BEG = TC_STAT_VALID_END = TC_STAT_VALID_INCLUDE = @@ -155,189 +164,87 @@ TC_STAT_VALID_HOUR = TC_STAT_LEAD_REQ = TC_STAT_INIT_MASK = TC_STAT_VALID_MASK = -# Stratify by the valid time and lead time via comma-separated list of -# times in format HH[MMSS] + TC_STAT_VALID_HOUR = TC_STAT_LEAD = -# Stratify over the watch_warn column in the tcst file. Setting this to -# 'ALL' will match HUWARN, HUWATCH, TSWARN, TSWATCH TC_STAT_TRACK_WATCH_WARN = -# Stratify by applying thresholds to numeric data columns. Specify with -# comma-separated list of column names and thresholds to be applied. -# The length of TC_STAT_COLUMN_THRESH_NAME should be the same as -# TC_STAT_COLUMN_THRESH_VAL. TC_STAT_COLUMN_THRESH_NAME = TC_STAT_COLUMN_THRESH_VAL = -# Stratify by a list of comma-separated columns names and values corresponding -# to non-numeric data columns of the values of interest. TC_STAT_COLUMN_STR_NAME = TC_STAT_COLUMN_STR_VAL = -# Stratify by applying thresholds to numeric data columns only when lead=0. -# If lead=0 and the value does not meet the threshold, discard the entire -# track. The length of TC_STAT_INIT_THRESH_NAME must equal the length of -# TC_STAT_INIT_THRESH_VAL. TC_STAT_INIT_THRESH_NAME = TC_STAT_INIT_THRESH_VAL = -# Stratify by applying thresholds to numeric data columns only when lead = 0. -# If lead = 0 but the value doesn't meet the threshold, discard the entire -# track. TC_STAT_INIT_STR_NAME = TC_STAT_INIT_STR_VAL = -# Excludes any points where distance to land is <=0. When set to TRUE, once land -# is encountered, the remainder of the forecast track is NOT used for the -# verification, even if the track moves back over water. TC_STAT_WATER_ONLY = -# TRUE or FALSE. To specify whether only those track points occurring near -# landfall should be retained. Landfall is the last bmodel track point before -# the distance to land switches from water to land. TC_STAT_LANDFALL = -# Define the landfall retention window, which is defined as the hours offset -# from the time of landfall. Format is in HH[MMSS]. Default TC_STAT_LANDFALL_BEG -# is set to -24, and TC_STAT_LANDFALL_END is set to 00 TC_STAT_LANDFALL_BEG = TC_STAT_LANDFALL_END = -####### -# ExtractTiles Configurations -####### -# Constants used in creating the tile grid, used by extract tiles +### +# ExtractTiles Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#extracttiles +### + EXTRACT_TILES_NLAT = 60 EXTRACT_TILES_NLON = 60 -# Resolution of data in degrees, used by extract tiles EXTRACT_TILES_DLAT = 0.5 EXTRACT_TILES_DLON = 0.5 -# Degrees to subtract from the center lat and lon to -# calculate the lower left lat (lat_ll) and lower -# left lon (lon_ll) for a grid that is 2n X 2m, -# where n = EXTRACT_TILES_LAT_ADJ degrees and m = EXTRACT_TILES_LON_ADJ degrees. -# For this case, where n=15 and m=15, this results -# in a 30 deg X 30 deg grid. Used by extract tiles EXTRACT_TILES_LON_ADJ = 15 EXTRACT_TILES_LAT_ADJ = 15 -# OVERWRITE OPTIONS -# Skip writing filter files if they already exist. -# Set to yes if you want to skip processing existing files -# Set to no if you want to override existing files -EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = yes + +### +# TCStat (for SeriesAnalysis) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcstat +### # Settings specific to the TCStat(for_series_analysis) process that was set # in the PROCESS_LIST. Any TC_STAT_* variable not set in this section will use # the value set outside of this section [for_series_analysis] + TC_STAT_JOB_ARGS = -job filter -init_beg {INIT_BEG} -init_end {INIT_END} -dump_row {TC_STAT_OUTPUT_DIR}/{TC_STAT_DUMP_ROW_TEMPLATE} TC_STAT_OUTPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} TC_STAT_LOOKIN_DIR = {EXTRACT_TILES_OUTPUT_DIR} + +### +# SeriesAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis +### + [config] -# PLOTTING Relevant to series analysis plots. -# By default, background map is turned off. Set -# to no to turn of plotting of background map. SERIES_ANALYSIS_BACKGROUND_MAP = no SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_LEAD SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = False -# set the regrid dictionary item to_grid in the SeriesAnalysis MET config file SERIES_ANALYSIS_REGRID_TO_GRID = FCST SERIES_ANALYSIS_REGRID_METHOD = FORCE -#SERIES_ANALYSIS_REGRID_WIDTH = -#SERIES_ANALYSIS_REGRID_VLD_THRESH = -#SERIES_ANALYSIS_REGRID_SHAPE = -## NOTE: "TOTAL" is a REQUIRED cnt statistic used by the series analysis scripts SERIES_ANALYSIS_STAT_LIST = TOTAL, FBAR, OBAR, ME SERIES_ANALYSIS_BLOCK_SIZE = 4000 -# set to True to add the -paired flag to the SeriesAnalysis command SERIES_ANALYSIS_IS_PAIRED = True -# If True/yes, run plot_data_plane on output from Series-Analysis to generate -# images for each stat item listed in SERIES_ANALYSIS_STAT_LIST SERIES_ANALYSIS_GENERATE_PLOTS = yes -# If True/yes, run convert on output from Series-Analysis to generate -# a gif using images in groups of name/level/stat SERIES_ANALYSIS_GENERATE_ANIMATIONS = yes PLOT_DATA_PLANE_TITLE = {MODEL} series_F{fcst_beg}_to_F{fcst_end} Forecasts{nseries}, {stat} for {fcst_name} {fcst_level} - -# FILENAME TEMPLATES -# -[filename_templates] -# Define the format of the filenames -TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s} - -TC_STAT_DUMP_ROW_TEMPLATE = filter_{init?fmt=%Y%m%d_%H}.tcst - -EXTRACT_TILES_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} -FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.grb2 -OBS_EXTRACT_TILES_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 - -FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/FCST_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc -OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/OBS_TILE_F{lead?fmt=%3H}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc - -FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = {FCST_EXTRACT_TILES_OUTPUT_TEMPLATE} -OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = {OBS_EXTRACT_TILES_OUTPUT_TEMPLATE} - -SERIES_ANALYSIS_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} - -# Template to look for climatology mean input to SeriesAnalysis relative to SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR -# Not used in this example -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_TEMPLATE = - -# Template to look for climatology standard deviation input to SeriesAnalysis relative to SERIES_ANALYSIS_CLIMO_STDEV_INPUT_DIR -# Not used in this example -SERIES_ANALYSIS_CLIMO_STDEV_INPUT_TEMPLATE = - -SERIES_ANALYSIS_OUTPUT_TEMPLATE = {label}/series_F{fcst_beg}_to_F{fcst_end}_{fcst_name}_{fcst_level}.nc - - -# -# DIRECTORIES -# -[dir] -TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/track_data -TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} -TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf -TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs - -TC_STAT_LOOKIN_DIR = {TC_PAIRS_OUTPUT_DIR} -TC_STAT_OUTPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} - -EXTRACT_TILES_TC_STAT_INPUT_DIR = {TC_STAT_OUTPUT_DIR} -EXTRACT_TILES_GRID_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data -FCST_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data -OBS_EXTRACT_TILES_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/reduced_model_data -EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/extract_tiles - -FCST_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} -OBS_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} -SERIES_ANALYSIS_TC_STAT_INPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} - -# directory containing climatology mean input to SeriesAnalysis -# Not used in this example -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR = - -# directory containing climatology standard deviation input to SeriesAnalysis -# Not used in this example -SERIES_ANALYSIS_CLIMO_STDEV_INPUT_DIR = - -SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/series_analysis_lead diff --git a/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead_PyEmbed_Multiple_Diagnostics.conf b/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead_PyEmbed_Multiple_Diagnostics.conf index 7076a22a8b..4074f8d415 100644 --- a/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead_PyEmbed_Multiple_Diagnostics.conf +++ b/parm/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead_PyEmbed_Multiple_Diagnostics.conf @@ -1,37 +1,116 @@ -# -# CONFIGURATION -# [config] -# Loop over each process in the process list (set in PROCESS_LIST) for all times in the time window of interest. -LOOP_ORDER = processes +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead_PyEmbed_Multiple_Diagnostics.html -#Configuration files -TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -SERIES_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/SeriesAnalysisConfig_wrapped +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### PROCESS_LIST = PyEmbedIngest, TCPairs, TCStat, ExtractTiles, TCStat(for_series_analysis), SeriesAnalysis -# The init time begin and end times, increment -# Looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = INIT -# Format of INIT_BEG and INIT_END -INIT_TIME_FMT = %Y%m%d%H +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Start time for METplus run +LOOP_BY = INIT +INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2019083000 - -# End time for METplus run INIT_END = 2019083023 +INIT_INCREMENT = 21600 + +LEAD_SEQ = 90, 96, 102, 108, 114 + +SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_LEAD + +SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = False + +LOOP_ORDER = processes + + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +PY_EMBED_INGEST_1_OUTPUT_DIR = {OUTPUT_BASE}/py_embed_out +PY_EMBED_INGEST_1_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc + +PY_EMBED_INGEST_2_OUTPUT_DIR = {PY_EMBED_INGEST_1_OUTPUT_DIR} +PY_EMBED_INGEST_2_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.nc + + +TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/dorian_data/track_data +TC_PAIRS_ADECK_TEMPLATE = a{basin?fmt=%s}052019.dat + +TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} +TC_PAIRS_BDECK_TEMPLATE = b{basin?fmt=%s}052019.dat + +TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf +TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = no + +TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.dorian +TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = no + + +TC_STAT_LOOKIN_DIR = {TC_PAIRS_OUTPUT_DIR} + +TC_STAT_OUTPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +TC_STAT_DUMP_ROW_TEMPLATE = filter_{init?fmt=%Y%m%d_%H}.tcst + + +EXTRACT_TILES_TC_STAT_INPUT_DIR = {TC_STAT_OUTPUT_DIR} +EXTRACT_TILES_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} -# This is the step-size. Increment in seconds from the begin time to the end time -INIT_INCREMENT = 21600 ;; set to every 6 hours=21600 seconds +EXTRACT_TILES_GRID_INPUT_DIR = {PY_EMBED_INGEST_1_OUTPUT_DIR} +FCST_EXTRACT_TILES_INPUT_DIR = {PY_EMBED_INGEST_1_OUTPUT_DIR} +FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc + +OBS_EXTRACT_TILES_INPUT_DIR = {PY_EMBED_INGEST_1_OUTPUT_DIR} +OBS_EXTRACT_TILES_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.nc + +EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/extract_tiles +FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/FCST_TILE_F{lead?fmt=%3H}_{MODEL}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc +OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/OBS_TILE_F{lead?fmt=%3H}_{MODEL}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc +EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = no + + +FCST_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = {FCST_EXTRACT_TILES_OUTPUT_TEMPLATE} + +OBS_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} +OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = {OBS_EXTRACT_TILES_OUTPUT_TEMPLATE} + +SERIES_ANALYSIS_TC_STAT_INPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} +SERIES_ANALYSIS_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} + +SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/series_analysis_lead +SERIES_ANALYSIS_OUTPUT_TEMPLATE = {label}/series_F{fcst_beg}_{fcst_name}_{fcst_level}.nc + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### # Used by extract tiles and series analysis to define the records of # interest to be retrieved from the grib2 file +MODEL = GFSO + BOTH_VAR1_NAME = ivt BOTH_VAR1_LEVELS = Surface @@ -41,109 +120,70 @@ BOTH_VAR2_LEVELS = Surface BOTH_VAR3_NAME = sept BOTH_VAR3_LEVELS = Surface -LEAD_SEQ = 90, 96, 102, 108, 114 -##### -### PYEMBED INGEST -##### +### +# PyEmbedIngest Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pyembedingest +### + +CONFIG_DIR={PARM_BASE}/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead_PyEmbed_Multiple_Diagnostics +MODEL_DIR = {INPUT_BASE}/model_applications/medium_range/dorian_data/model_data # 1st INGEST INSTANCE: Forecast -# python script with optional arguments to run for 1st ingest instance + # IVT PY_EMBED_INGEST_1_SCRIPT_1 = {CONFIG_DIR}/gfs_ivt_fcst.py {MODEL_DIR}/{init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.grb2 -# output variable name PY_EMBED_INGEST_1_OUTPUT_FIELD_NAME_1 = ivt # PV -# python script with optional arguments to run for 1st ingest instance PY_EMBED_INGEST_1_SCRIPT_2 = {CONFIG_DIR}/gfs_pv_fcst.py {MODEL_DIR}/{init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.grb2 -# output variable name PY_EMBED_INGEST_1_OUTPUT_FIELD_NAME_2 = pv # SEPT -# python script with optional arguments to run for 1st ingest instance PY_EMBED_INGEST_1_SCRIPT_3 = {CONFIG_DIR}/gfs_sept_fcst.py {MODEL_DIR}/{init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.grb2 -# output variable name PY_EMBED_INGEST_1_OUTPUT_FIELD_NAME_3 = sept -# type of python input to expect for 1st ingest instance -# valid options: NUMPY, XARRAY PY_EMBED_INGEST_1_TYPE = NUMPY -# output grid for 1st ingest instance. Can be a grid definition or file path PY_EMBED_INGEST_1_OUTPUT_GRID = {MODEL_DIR}/{init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.grb2 # 2nd INGEST INSTANCE: Analysis + # IVT -# python script with optional arguments to run for 2nd ingest instance PY_EMBED_INGEST_2_SCRIPT_1 = {CONFIG_DIR}/gfs_ivt_analysis.py {MODEL_DIR}/{valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 -# output variable name PY_EMBED_INGEST_2_OUTPUT_FIELD_NAME_1 = ivt # PV -# python script with optional arguments to run for 2nd ingest instance PY_EMBED_INGEST_2_SCRIPT_2 = {CONFIG_DIR}/gfs_pv_analysis.py {MODEL_DIR}/{valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 -# output variable name PY_EMBED_INGEST_2_OUTPUT_FIELD_NAME_2 = pv # SEPT -# python script with optional arguments to run for 2nd ingest instance PY_EMBED_INGEST_2_SCRIPT_3 = {CONFIG_DIR}/gfs_sept_analysis.py {MODEL_DIR}/{valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 -# output variable name PY_EMBED_INGEST_2_OUTPUT_FIELD_NAME_3 = sept -# type of python input to expect for 2nd ingest instance -# valid options: NUMPY, XARRAY PY_EMBED_INGEST_2_TYPE = NUMPY -# output grid for 2nd ingest instance. Can be a grid definition or file path PY_EMBED_INGEST_2_OUTPUT_GRID = {MODEL_DIR}/{valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.grb2 -####### -# TCPairs Configurations -####### -# only run TCPairs once for the init time, not for each forecast lead +### +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs +### + TC_PAIRS_SKIP_LEAD_SEQ = True -# A list of times to include, in format YYYYMMDD_hh TC_PAIRS_INIT_INCLUDE = - -# A list of times to exclude, in format YYYYMMDD_hh TC_PAIRS_INIT_EXCLUDE = -# Specify model valid time window in format YYYYMM[DD[_hh]]. Only tracks -# that fall within the valid time window will be used. TC_PAIRS_VALID_BEG = TC_PAIRS_VALID_END = -# -# Run MET tc_pairs by indicating the top-level directories for the A-deck -# and B-deck files. Set to 'yes' to run using top-level directories, 'no' -# if you want to run tc_pairs on files paired by the wrapper. -TC_PAIRS_READ_ALL_FILES = no - -# List of models to be used (white space or comma separated) eg: DSHP, LGEM, HWRF -# If no models are listed, then process all models in the input file(s). -MODEL = GFSO - -# List of storm ids of interest (space or comma separated) e.g.: AL112012, AL122012 -# If no storm ids are listed, then process all storm ids in the input file(s). TC_PAIRS_STORM_ID = - -# Basins (of origin/region). Indicate with space or comma-separated list of regions, eg. AL: for North Atlantic, -# WP: Western North Pacific, CP: Central North Pacific, SH: Southern Hemisphere, IO: North Indian Ocean, LS: Southern -# Hemisphere TC_PAIRS_BASIN = - -# Cyclone, a space or comma-separated list of cyclone numbers. If left empty, all cyclones will be used. TC_PAIRS_CYCLONE = - -# Storm name, a space or comma-separated list of storm names to evaluate. If left empty, all storms will be used. TC_PAIRS_STORM_NAME = -# DLAND file, the full path of the file that contains the gridded representation of the -# minimum distance from land. TC_PAIRS_DLAND_FILE = {MET_INSTALL_DIR}/share/met/tc_data/dland_global_tenth_degree.nc TC_PAIRS_REFORMAT_DECK = no @@ -152,36 +192,16 @@ TC_PAIRS_REFORMAT_TYPE = SBU TC_PAIRS_MISSING_VAL_TO_REPLACE = -99 TC_PAIRS_MISSING_VAL = -9999 -# overwrite modified track data (non-ATCF to ATCF format) -TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = no - -# overwrite tc_pairs output -TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = no - -####### -# TCStat Configurations -####### - -# IMPORTANT Refer to the README_TC for details on setting up analysis -# jobs (located in {MET_INSTALL_DIR}/share/met/config -# Separate each option and value with whitespace, and each job with a whitespace. -# No whitespace within arithmetic expressions or lists of items -# (e.g. -by AMSLP,AMODEL,LEAD -column '(AMAX_WIND-BMAX_WIND)') -# Enclose your arithmetic expressions with '' and separate each job -# by whitespace: -# -job filter -dump_row /path/to, -job summary -line_type TCMPR -column 'ABS(AMAX_WIND-BMAX_WIND)' -out {OUTPUT_BASE}/tc_stat/file.tcst +### +# TCStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcstat +### TC_STAT_JOB_ARGS = -job filter -basin AL -dump_row {TC_STAT_OUTPUT_DIR}/{TC_STAT_DUMP_ROW_TEMPLATE} - -# Specify whether only those track points common to both the ADECK and BDECK -# tracks should be written out. This is only used when explicitly calling -# TC_STAT in the PROCESS_LIST. This is not used in this use case, so setting -# it to either false or true has no impact. TC_STAT_MATCH_POINTS = true -# Stratify by these columns: TC_STAT_AMODEL = {MODEL} TC_STAT_BMODEL = TC_STAT_DESC = @@ -190,15 +210,12 @@ TC_STAT_BASIN = TC_STAT_CYCLONE = TC_STAT_STORM_NAME = -# Stratify by init times via a comma-separate list of init times to -# include or exclude. Time format defined as YYYYMMDD_HH or YYYYMMDD_HHmmss TC_STAT_INIT_BEG = TC_STAT_INIT_END = TC_STAT_INIT_INCLUDE = {init?fmt=%Y%m%d_%H} TC_STAT_INIT_EXCLUDE = -TC_STAT_INIT_HOUR = -# Stratify by valid times via a comma-separate list of valid times to -# include or exclude. Time format defined as YYYYMMDD_HH or YYYYMMDD_HHmmss +TC_STAT_INIT_HOUR = + TC_STAT_VALID_BEG = TC_STAT_VALID_END = TC_STAT_VALID_INCLUDE = @@ -207,206 +224,90 @@ TC_STAT_VALID_HOUR = TC_STAT_LEAD_REQ = TC_STAT_INIT_MASK = TC_STAT_VALID_MASK = -# Stratify by the valid time and lead time via comma-separated list of -# times in format HH[MMSS] + TC_STAT_VALID_HOUR = TC_STAT_LEAD = -# Stratify over the watch_warn column in the tcst file. Setting this to -# 'ALL' will match HUWARN, HUWATCH, TSWARN, TSWATCH TC_STAT_TRACK_WATCH_WARN = -# Stratify by applying thresholds to numeric data columns. Specify with -# comma-separated list of column names and thresholds to be applied. -# The length of TC_STAT_COLUMN_THRESH_NAME should be the same as -# TC_STAT_COLUMN_THRESH_VAL. TC_STAT_COLUMN_THRESH_NAME = TC_STAT_COLUMN_THRESH_VAL = -# Stratify by a list of comma-separated columns names and values corresponding -# to non-numeric data columns of the values of interest. TC_STAT_COLUMN_STR_NAME = TC_STAT_COLUMN_STR_VAL = -# Stratify by applying thresholds to numeric data columns only when lead=0. -# If lead=0 and the value does not meet the threshold, discard the entire -# track. The length of TC_STAT_INIT_THRESH_NAME must equal the length of -# TC_STAT_INIT_THRESH_VAL. TC_STAT_INIT_THRESH_NAME = TC_STAT_INIT_THRESH_VAL = -# Stratify by applying thresholds to numeric data columns only when lead = 0. -# If lead = 0 but the value doesn't meet the threshold, discard the entire -# track. TC_STAT_INIT_STR_NAME = TC_STAT_INIT_STR_VAL = -# Excludes any points where distance to land is <=0. When set to TRUE, once land -# is encountered, the remainder of the forecast track is NOT used for the -# verification, even if the track moves back over water. TC_STAT_WATER_ONLY = -# TRUE or FALSE. To specify whether only those track points occurring near -# landfall should be retained. Landfall is the last bmodel track point before -# the distance to land switches from water to land. TC_STAT_LANDFALL = -# Define the landfall retention window, which is defined as the hours offset -# from the time of landfall. Format is in HH[MMSS]. Default TC_STAT_LANDFALL_BEG -# is set to -24, and TC_STAT_LANDFALL_END is set to 00 TC_STAT_LANDFALL_BEG = TC_STAT_LANDFALL_END = -# Constants used in creating the tile grid, used by extract tiles +### +# ExtractTiles Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#extracttiles +### + EXTRACT_TILES_NLAT = 60 EXTRACT_TILES_NLON = 60 -# Resolution of data in degrees, used by extract tiles EXTRACT_TILES_DLAT = 0.5 EXTRACT_TILES_DLON = 0.5 -# Degrees to subtract from the center lat and lon to -# calculate the lower left lat (lat_ll) and lower -# left lon (lon_ll) for a grid that is 2n X 2m, -# where n = EXTRACT_TILES_LAT_ADJ degrees and m = EXTRACT_TILES_LON_ADJ degrees. -# For this case, where n=15 and m=15, this results -# in a 30 deg X 30 deg grid. Used by extract tiles EXTRACT_TILES_LON_ADJ = 15 EXTRACT_TILES_LAT_ADJ = 15 -# OVERWRITE OPTIONS -# Skip writing filter files if they already exist. -# Set to yes if you want to skip processing existing files -# Set to no if you want to override existing files -EXTRACT_TILES_SKIP_IF_OUTPUT_EXISTS = no + +### +# TCStat (for SeriesAnalysis) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcstat +### # Settings specific to the TCStat(for_series_analysis) process that was set # in the PROCESS_LIST. Any TC_STAT_* variable not set in this section will use # the value set outside of this section + [for_series_analysis] + TC_STAT_JOB_ARGS = -job filter -init_beg {INIT_BEG} -init_end {INIT_END} -dump_row {TC_STAT_OUTPUT_DIR}/{TC_STAT_DUMP_ROW_TEMPLATE} TC_STAT_OUTPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} TC_STAT_LOOKIN_DIR = {EXTRACT_TILES_OUTPUT_DIR} + +### +# SeriesAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis +### + [config] -# set the regrid dictionary item to_grid in the SeriesAnalysis MET config file SERIES_ANALYSIS_REGRID_TO_GRID = FCST SERIES_ANALYSIS_REGRID_METHOD = FORCE -#SERIES_ANALYSIS_REGRID_WIDTH = -#SERIES_ANALYSIS_REGRID_VLD_THRESH = -#SERIES_ANALYSIS_REGRID_SHAPE = -# NOTE: "TOTAL" is a REQUIRED cnt statistic used by the series analysis scripts SERIES_ANALYSIS_STAT_LIST = TOTAL, FBAR, OBAR, ME -# PLOTTING Relevant to series analysis plots. -# By default, background map is turned off. Set -# to no to turn of plotting of background map. SERIES_ANALYSIS_BACKGROUND_MAP = yes -SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_LEAD - -SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = False - SERIES_ANALYSIS_BLOCK_SIZE = 4000 -# set to True to add the -paired flag to the SeriesAnalysis command SERIES_ANALYSIS_IS_PAIRED = True -# If True/yes, run plot_data_plane on output from Series-Analysis to generate -# images for each stat item listed in SERIES_ANALYSIS_STAT_LIST SERIES_ANALYSIS_GENERATE_PLOTS = yes - -# If True/yes, run convert on output from Series-Analysis to generate -# a gif using images in groups of name/level/stat SERIES_ANALYSIS_GENERATE_ANIMATIONS = yes PLOT_DATA_PLANE_TITLE = {MODEL} series_F{fcst_beg} Forecasts{nseries}, {stat} for {fcst_name} {fcst_level} -# -# FILENAME TEMPLATES -# -[filename_templates] -# Define the format of the filenames -PY_EMBED_INGEST_1_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc -PY_EMBED_INGEST_2_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.nc - -TC_PAIRS_ADECK_TEMPLATE = a{basin?fmt=%s}052019.dat -TC_PAIRS_BDECK_TEMPLATE = b{basin?fmt=%s}052019.dat -TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.dorian - -TC_STAT_DUMP_ROW_TEMPLATE = filter_{init?fmt=%Y%m%d_%H}.tcst - -EXTRACT_TILES_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} -FCST_EXTRACT_TILES_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc -OBS_EXTRACT_TILES_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/gfs_4_{valid?fmt=%Y%m%d}_{valid?fmt=%H}00_000.nc - -FCST_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/FCST_TILE_F{lead?fmt=%3H}_{MODEL}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc -OBS_EXTRACT_TILES_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d_%H}/{storm_id}/OBS_TILE_F{lead?fmt=%3H}_{MODEL}_gfs_4_{init?fmt=%Y%m%d}_{init?fmt=%H}00_{lead?fmt=%3H}.nc - -FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = {FCST_EXTRACT_TILES_OUTPUT_TEMPLATE} -OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = {OBS_EXTRACT_TILES_OUTPUT_TEMPLATE} - -SERIES_ANALYSIS_TC_STAT_INPUT_TEMPLATE = {TC_STAT_DUMP_ROW_TEMPLATE} - - -# Template to look for climatology mean input to SeriesAnalysis relative to SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR -# Not used in this example -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_TEMPLATE = - -# Template to look for climatology standard deviation input to SeriesAnalysis relative to SERIES_ANALYSIS_CLIMO_STDEV_INPUT_DIR -# Not used in this example -SERIES_ANALYSIS_CLIMO_STDEV_INPUT_TEMPLATE = - -SERIES_ANALYSIS_OUTPUT_TEMPLATE = {label}/series_F{fcst_beg}_{fcst_name}_{fcst_level}.nc -# -# DIRECTORIES -# -[dir] - -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/medium_range/TCStat_SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead_PyEmbed_Multiple_Diagnostics - -#Location of model data -MODEL_DIR = {INPUT_BASE}/model_applications/medium_range/dorian_data/model_data - - -PY_EMBED_INGEST_1_OUTPUT_DIR = {OUTPUT_BASE}/py_embed_out -PY_EMBED_INGEST_2_OUTPUT_DIR = {PY_EMBED_INGEST_1_OUTPUT_DIR} - -# track data, set to your data source -TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/dorian_data/track_data -TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} -TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf -TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs - -TC_STAT_LOOKIN_DIR = {TC_PAIRS_OUTPUT_DIR} -TC_STAT_OUTPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} - -EXTRACT_TILES_TC_STAT_INPUT_DIR = {TC_STAT_OUTPUT_DIR} -EXTRACT_TILES_GRID_INPUT_DIR = {PY_EMBED_INGEST_1_OUTPUT_DIR} -FCST_EXTRACT_TILES_INPUT_DIR = {PY_EMBED_INGEST_1_OUTPUT_DIR} -OBS_EXTRACT_TILES_INPUT_DIR = {PY_EMBED_INGEST_1_OUTPUT_DIR} -EXTRACT_TILES_OUTPUT_DIR = {OUTPUT_BASE}/extract_tiles - -FCST_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} -OBS_SERIES_ANALYSIS_INPUT_DIR = {EXTRACT_TILES_OUTPUT_DIR} -SERIES_ANALYSIS_TC_STAT_INPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} - -# directory containing climatology mean input to SeriesAnalysis -# Not used in this example -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR = - -# directory containing climatology standard deviation input to SeriesAnalysis -# Not used in this example -SERIES_ANALYSIS_CLIMO_STDEV_INPUT_DIR = - -SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/series_analysis_lead [user_env_vars] + PV_LAYER_MIN_PRESSURE=100.0 PV_LAYER_MAX_PRESSURE=1000.0 IVT_LAYER_MIN_PRESSURE=100.0 diff --git a/parm/use_cases/model_applications/medium_range/UserScript_fcstGEFS_Difficulty_Index.conf b/parm/use_cases/model_applications/medium_range/UserScript_fcstGEFS_Difficulty_Index.conf index 4221e278e0..06d8309c22 100644 --- a/parm/use_cases/model_applications/medium_range/UserScript_fcstGEFS_Difficulty_Index.conf +++ b/parm/use_cases/model_applications/medium_range/UserScript_fcstGEFS_Difficulty_Index.conf @@ -1,58 +1,61 @@ [config] -# List of applications to run +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/medium_range/UserScript_fcstGEFS_Difficulty_Index.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# 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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT INIT_BEG = 2020120812 - -# End time for METplus run - must match VALID_TIME_FMT INIT_END = 2020120812 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 12H -# 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 = -# 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 = processes - -# list of strings to loop over for each run time. -# value for each item can be referenced in filename templates with {custom?fmt=%s} USER_SCRIPT_CUSTOM_LOOP_LIST = nc USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_FOR_EACH -USER_SCRIPT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/diff_index +LOOP_ORDER = processes + + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### +USER_SCRIPT_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/diff_index USER_SCRIPT_INPUT_TEMPLATE = {USER_SCRIPT_INPUT_DIR}/wndspd_GEFS_NorthPac_5dy_30mem_{init?fmt=%Y%m%d%H}.npz USER_SCRIPT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/medium_range/diff_index + +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/medium_range/UserScript_fcstGEFS_Difficulty_Index/wind_difficulty_index.py @@ -79,4 +82,3 @@ DIFF_INDEX_UNITS = kn DIFF_INDEX_FIG_FMT = png DIFF_INDEX_FIG_BASENAME = {USER_SCRIPT_OUTPUT_DIR}/wndspd_GEFS_NorthPac_5dy_30mem_difficulty_index - From 664ec51ad7d46ba8aa2cdc08b62bfa3b85c983f8 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Tue, 19 Jul 2022 13:41:05 -0600 Subject: [PATCH 15/35] per #1402, rearrange and clean up config files for precipitation use cases --- ...nsembleStat_fcstHRRRE_FcstOnly_NetCDF.conf | 108 ++++---- .../EnsembleStat_fcstWOFS_obsWOFS.conf | 244 ++++++++++-------- .../GridStat_fcstGFS_obsCCPA_GRIB.conf | 51 +++- ...GridStat_fcstHREFmean_obsStgIV_Gempak.conf | 62 ++++- ...GridStat_fcstHREFmean_obsStgIV_NetCDF.conf | 88 +++++-- .../GridStat_fcstHRRR-TLE_obsStgIV_GRIB.conf | 65 ++++- ...HRRR-TLE_FcstOnly_RevisionSeries_GRIB.conf | 118 +++------ .../MTD_fcstHRRR-TLE_obsMRMS.conf | 123 ++++----- ...t_fcstMULTI_obsMETAR_PtypeComparisons.conf | 128 +++++---- 9 files changed, 588 insertions(+), 399 deletions(-) diff --git a/parm/use_cases/model_applications/precipitation/EnsembleStat_fcstHRRRE_FcstOnly_NetCDF.conf b/parm/use_cases/model_applications/precipitation/EnsembleStat_fcstHRRRE_FcstOnly_NetCDF.conf index d0aa4031ef..2fa8f1af12 100644 --- a/parm/use_cases/model_applications/precipitation/EnsembleStat_fcstHRRRE_FcstOnly_NetCDF.conf +++ b/parm/use_cases/model_applications/precipitation/EnsembleStat_fcstHRRRE_FcstOnly_NetCDF.conf @@ -1,66 +1,74 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -PROCESS_LIST = EnsembleStat +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/EnsembleStat_fcstHRRRE_FcstOnly_NetCDF.html -# time looping - options are INIT, VALID, RETRO, and REALTIME +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = EnsembleStat + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2019051912 - -# End time for METplus run - must match INIT_TIME_FMT -INIT_END=2019052000 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +INIT_END=2019052000 INIT_INCREMENT=43200 -# 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 = 3,6,9,12 -# 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 = processes -# Name to identify model (forecast) data in output -MODEL = HRRRE -OBTYPE = ANALYS +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -ENSEMBLE_STAT_N_MEMBERS = 3 +FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/HRRRE/pcp_combine +FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = hrrrebegin_end_incr(1,3,1,2)_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}_A03.nc + +ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/EnsembleSTat_fcstHRRRE_FcstOnly_NetCDF/EnsembleStat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### ENS_VAR1_NAME = APCP_03 ENS_VAR1_LEVELS = "(*,*)" -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET output, 2 is default. -# This takes precendence over the general MET logging level set in metplus_logging.conf -LOG_ENSEMBLE_STAT_VERBOSITY = 3 -# MET Configuration files for EnsembleSTat -ENSEMBLE_STAT_CONFIG_FILE = {CONFIG_DIR}/EnsembleStatConfig_wrapped +### +# EnsembleStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ensemblestat +### -ENSEMBLE_STAT_ENS_THRESH = 0.5 +MODEL = HRRRE +OBTYPE = ANALYS + +ENSEMBLE_STAT_N_MEMBERS = 3 + +ENSEMBLE_STAT_ENS_THRESH = 0.5 ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 OBS_ENSEMBLE_STAT_WINDOW_BEGIN = -5400 @@ -82,27 +90,3 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE ENSEMBLE_STAT_OUTPUT_PREFIX = APCP_03 - -[dir] - -CONFIG_DIR={PARM_BASE}/met_config - -# input and output directories for ensemble_stat -# Input File Directories, GRID_STAT and POINT_STAT -FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/HRRRE/pcp_combine - -# Ensemble stat output directory -ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{MODEL}/ensemble - -ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/HRRRE/pcp_combine -ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/EnsembleSTat_fcstHRRRE_FcstOnly_NetCDF/EnsembleStat - -[filename_templates] - -# the following template uses begin_end_incr() notation that expands to: -# hrrre01_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}_A03.nc, -# hrrre02_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}_A03.nc, -# hrrre03_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}_A03.nc -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = hrrrebegin_end_incr(1,3,1,2)_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}_A03.nc - -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} diff --git a/parm/use_cases/model_applications/precipitation/EnsembleStat_fcstWOFS_obsWOFS.conf b/parm/use_cases/model_applications/precipitation/EnsembleStat_fcstWOFS_obsWOFS.conf index d6f843cfb5..ea682db012 100644 --- a/parm/use_cases/model_applications/precipitation/EnsembleStat_fcstWOFS_obsWOFS.conf +++ b/parm/use_cases/model_applications/precipitation/EnsembleStat_fcstWOFS_obsWOFS.conf @@ -1,105 +1,86 @@ -# pcp_combine hourly - [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/EnsembleStat_fcstWOFS_obsWOFS.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = PcpCombine, EnsembleStat, GridStat + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT -# INIT_TIME_FMT = %Y%m%d%H%M -# INIT_BEG = 202006151700 -# INIT_END = 202006151700 -# INIT_INCREMENT = 3600 -# -LEAD_SEQ = 1 -MODEL= WOFS -OBTYPE = MRMS_QPE +LEAD_SEQ = 1 -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# List of applications to run -PROCESS_LIST = PcpCombine, EnsembleStat, GridStat -LOG_PCP_COMBINE_VERBOSITY = 3 -LOG_ENSEMBLE_STAT_VERBOSITY = 3 -LOG_GRID_STAT_VERBOSITY = 3 - -#### PCP COMBINE #### - -FCST_PCP_COMBINE_RUN = TRUE -FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB -FCST_PCP_COMBINE_METHOD = USER_DEFINED -FCST_PCP_COMBINE_BUCKET_INTERVAL = 1 -FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB -FCST_PCP_COMBINE_FIELD_NAME = APCP -FCST_PCP_COMBINE_INPUT_ACCUMS = 1 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -PCP_COMBINE_SKIP_IF_OUTPUT_EXISTS = TRUE +# PCPCombine -PCP_COMBINE_CUSTOM_LOOP_LIST = 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18 +FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/WOFS/ensemble +FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/ENS_MEM_{custom?fmt=%s} -FCST_PCP_COMBINE_COMMAND = -sum 00000000_000000 1 {valid?fmt=%Y%m%d}_{valid?fmt=%H%M}00 1 -pcpdir {FCST_PCP_COMBINE_INPUT_DIR}/{FCST_PCP_COMBINE_INPUT_TEMPLATE} -pcprx wofs -field 'name="APCP";level="A1";' +FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/{MODEL}/pcp_combine +FCST_PCP_COMBINE_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/ENS_MEM_{custom?fmt=%s}/wofs{custom?fmt=%s}_PCP_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_{valid?fmt=%H%M}_A1.nc -#### ENSEMBLE STAT #### +# EnsembleStat -ENSEMBLE_STAT_N_MEMBERS = 18 -ENSEMBLE_STAT_ENS_THRESH = 1.0 +FCST_ENSEMBLE_STAT_INPUT_DIR = {FCST_PCP_COMBINE_OUTPUT_DIR} +FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/ENS_MEM_??/wofs??_PCP_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_{valid?fmt=%H%M}_A1.nc -ENSEMBLE_STAT_REGRID_TO_GRID = FCST -ENSEMBLE_STAT_REGRID_METHOD = BUDGET -ENSEMBLE_STAT_REGRID_WIDTH = 2 -ENSEMBLE_STAT_REGRID_VLD_THRESH = 1.0 +OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/WOFS/OBS +OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/mrms_PCP_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_{valid?fmt=%H%M}_A1.nc -ENSEMBLE_STAT_NBRHD_PROB_WIDTH = 1, 3, 5, 7, 9 -ENSEMBLE_STAT_NBRHD_PROB_SHAPE = SQUARE -ENSEMBLE_STAT_NBRHD_PROB_VLD_THRESH = 1.0 +ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{MODEL}/ensemble_stat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M} -ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped +# GridStat -FCST_ENSEMBLE_STAT_INPUT_GRID_DATATYPE = NETCDF -OBS_ENSEMBLE_STAT_INPUT_GRID_DATATYPE = NETCDF +FCST_GRID_STAT_INPUT_DIR = {ENSEMBLE_STAT_OUTPUT_DIR} +FCST_GRID_STAT_INPUT_TEMPLATE = {ENSEMBLE_STAT_OUTPUT_TEMPLATE}/ensemble_stat_{MODEL}_PCP_{init?fmt=%H%M}_{lead?fmt=%H%M}00L_A1_{init?fmt=%Y%m%d}_{valid?fmt=%H%M}00V_ens.nc -ENSEMBLE_STAT_NMEP_SMOOTH_VLD_THRESH = 1.0 -ENSEMBLE_STAT_NMEP_SMOOTH_SHAPE = SQUARE -ENSEMBLE_STAT_NMEP_SMOOTH_METHOD = NEAREST -ENSEMBLE_STAT_NMEP_SMOOTH_WIDTH = 1 -#ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_DX = 3 -#ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_RADIUS = 3 +OBS_GRID_STAT_INPUT_DIR = {OBS_ENSEMBLE_STAT_GRID_INPUT_DIR} +OBS_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/mrms_PCP_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_{valid?fmt=%H%M}_A1.nc -ENSEMBLE_STAT_MESSAGE_TYPE = +GRID_STAT_VERIFICATION_MASK_TEMPLATE = {INPUT_BASE}/model_applications/precipitation/WOFS/domain/WOFS_domain_{init?fmt=%Y%m%d}.nc -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 +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{MODEL}/grid_stat +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/ -ENSEMBLE_STAT_ENSEMBLE_FLAG_LATLON = TRUE -ENSEMBLE_STAT_ENSEMBLE_FLAG_MEAN = TRUE -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 = TRUE -ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = TRUE -ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_PCP_{init?fmt=%H%M}_{lead?fmt=%H%M}00L_A1 +MODEL= WOFS +OBTYPE = MRMS_QPE FCST_ENSEMBLE_STAT_VAR1_NAME = APCP_01 FCST_ENSEMBLE_STAT_VAR1_LEVELS = "(*,*)" @@ -109,18 +90,6 @@ OBS_ENSEMBLE_STAT_VAR1_NAME = GaugeCorrQPE01H_01 OBS_ENSEMBLE_STAT_VAR1_LEVELS = "(*,*)" OBS_ENSEMBLE_STAT_VAR1_THRESH = {FCST_ENSEMBLE_STAT_VAR1_THRESH} -#### GRID STAT #### -# -GRID_STAT_REGRID_TO_GRID = FCST - -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - -FCST_GRID_STAT_INPUT_GRID_DATATYPE = NETCDF -OBS_GRID_STAT_INPUT_GRID_DATATYPE = NETCDF -GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE -GRID_STAT_NEIGHBORHOOD_WIDTH = 1, 3, 5 - - FCST_GRID_STAT_VAR1_NAME = APCP_01_A1_ENS_NMEP_ge12.7_NBRHD1_NEAREST1 FCST_GRID_STAT_VAR1_LEVELS = "(*,*)" FCST_GRID_STAT_VAR1_OPTIONS = prob = TRUE @@ -283,32 +252,93 @@ OBS_GRID_STAT_VAR18_NAME = GaugeCorrQPE01H_01 OBS_GRID_STAT_VAR18_LEVELS = {OBS_GRID_STAT_VAR1_LEVELS} OBS_GRID_STAT_VAR18_THRESH = >=50.8 -GRID_STAT_OUTPUT_PREFIX = {MODEL}_PCP_{init?fmt=%H%M}_A1 -[dir] -FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/WOFS/ensemble -FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/{MODEL}/pcp_combine +### +# PcpCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### -FCST_ENSEMBLE_STAT_INPUT_DIR = {FCST_PCP_COMBINE_OUTPUT_DIR} -OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/WOFS/OBS -ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{MODEL}/ensemble_stat +FCST_PCP_COMBINE_RUN = TRUE +FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB +FCST_PCP_COMBINE_METHOD = USER_DEFINED +FCST_PCP_COMBINE_BUCKET_INTERVAL = 1 +FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB +FCST_PCP_COMBINE_FIELD_NAME = APCP +FCST_PCP_COMBINE_INPUT_ACCUMS = 1 -FCST_GRID_STAT_INPUT_DIR = {ENSEMBLE_STAT_OUTPUT_DIR} -OBS_GRID_STAT_INPUT_DIR = {OBS_ENSEMBLE_STAT_GRID_INPUT_DIR} -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{MODEL}/grid_stat +PCP_COMBINE_SKIP_IF_OUTPUT_EXISTS = TRUE -[filename_templates] -FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/ENS_MEM_{custom?fmt=%s} -FCST_PCP_COMBINE_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/ENS_MEM_{custom?fmt=%s}/wofs{custom?fmt=%s}_PCP_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_{valid?fmt=%H%M}_A1.nc +PCP_COMBINE_CUSTOM_LOOP_LIST = 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18 -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/ENS_MEM_??/wofs??_PCP_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_{valid?fmt=%H%M}_A1.nc +FCST_PCP_COMBINE_COMMAND = -sum 00000000_000000 1 {valid?fmt=%Y%m%d}_{valid?fmt=%H%M}00 1 -pcpdir {FCST_PCP_COMBINE_INPUT_DIR}/{FCST_PCP_COMBINE_INPUT_TEMPLATE} -pcprx wofs -field 'name="APCP";level="A1";' -OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/mrms_PCP_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_{valid?fmt=%H%M}_A1.nc -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M} +### +# EnsembleStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ensemblestat +### -FCST_GRID_STAT_INPUT_TEMPLATE = {ENSEMBLE_STAT_OUTPUT_TEMPLATE}/ensemble_stat_{MODEL}_PCP_{init?fmt=%H%M}_{lead?fmt=%H%M}00L_A1_{init?fmt=%Y%m%d}_{valid?fmt=%H%M}00V_ens.nc -OBS_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/mrms_PCP_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_{valid?fmt=%H%M}_A1.nc -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d?shift=-44100}/{init?fmt=%H%M}/ +ENSEMBLE_STAT_N_MEMBERS = 18 -GRID_STAT_VERIFICATION_MASK_TEMPLATE = {INPUT_BASE}/model_applications/precipitation/WOFS/domain/WOFS_domain_{init?fmt=%Y%m%d}.nc +ENSEMBLE_STAT_ENS_THRESH = 1.0 + +ENSEMBLE_STAT_REGRID_TO_GRID = FCST +ENSEMBLE_STAT_REGRID_METHOD = BUDGET +ENSEMBLE_STAT_REGRID_WIDTH = 2 +ENSEMBLE_STAT_REGRID_VLD_THRESH = 1.0 + +ENSEMBLE_STAT_NBRHD_PROB_WIDTH = 1, 3, 5, 7, 9 +ENSEMBLE_STAT_NBRHD_PROB_SHAPE = SQUARE +ENSEMBLE_STAT_NBRHD_PROB_VLD_THRESH = 1.0 + +FCST_ENSEMBLE_STAT_INPUT_GRID_DATATYPE = NETCDF +OBS_ENSEMBLE_STAT_INPUT_GRID_DATATYPE = NETCDF + +ENSEMBLE_STAT_NMEP_SMOOTH_VLD_THRESH = 1.0 +ENSEMBLE_STAT_NMEP_SMOOTH_SHAPE = SQUARE +ENSEMBLE_STAT_NMEP_SMOOTH_METHOD = NEAREST +ENSEMBLE_STAT_NMEP_SMOOTH_WIDTH = 1 +#ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_DX = 3 +#ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_RADIUS = 3 + +ENSEMBLE_STAT_MESSAGE_TYPE = + +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 = TRUE +ENSEMBLE_STAT_ENSEMBLE_FLAG_MEAN = TRUE +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 = TRUE +ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = TRUE +ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE + +ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_PCP_{init?fmt=%H%M}_{lead?fmt=%H%M}00L_A1 + + +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### + +GRID_STAT_REGRID_TO_GRID = FCST + +FCST_GRID_STAT_INPUT_GRID_DATATYPE = NETCDF +OBS_GRID_STAT_INPUT_GRID_DATATYPE = NETCDF +GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE +GRID_STAT_NEIGHBORHOOD_WIDTH = 1, 3, 5 + +GRID_STAT_OUTPUT_PREFIX = {MODEL}_PCP_{init?fmt=%H%M}_A1 diff --git a/parm/use_cases/model_applications/precipitation/GridStat_fcstGFS_obsCCPA_GRIB.conf b/parm/use_cases/model_applications/precipitation/GridStat_fcstGFS_obsCCPA_GRIB.conf index 6fe3bea524..ae536ee115 100644 --- a/parm/use_cases/model_applications/precipitation/GridStat_fcstGFS_obsCCPA_GRIB.conf +++ b/parm/use_cases/model_applications/precipitation/GridStat_fcstGFS_obsCCPA_GRIB.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/GridStat_fcstGFS_obsCCPA_GRIB.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PCPCombine, GridStat + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H VALID_BEG = 2017061300 @@ -12,8 +35,13 @@ LEAD_SEQ = 24 LOOP_ORDER = times + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = SUM FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/fcst FCST_PCP_COMBINE_INPUT_TEMPLATE = pgbf{lead?fmt=%HHH}.gfs.{init?fmt=%Y%m%d%H} @@ -27,10 +55,17 @@ FCST_GRID_STAT_INPUT_TEMPLATE = gfs.{init?fmt=%Y%m%d%H}_A{level?fmt=%HH}h OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/daily_1deg_ccpa OBS_GRID_STAT_INPUT_TEMPLATE = ccpa_conus_1.0d_{valid?fmt=%Y%m%d} +GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/precipitation/poly/CONUS.nc, {INPUT_BASE}/model_applications/precipitation/poly/EAST.nc, {INPUT_BASE}/model_applications/precipitation/poly/WEST.nc + GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/GridStat_fcstGFS_obsCCPA_GRIB/met_out/{MODEL}/precip GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d%H%M}/grid_stat +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + MODEL = GFS OBTYPE = ANLYS @@ -39,12 +74,20 @@ BOTH_VAR1_LEVELS = A24 BOTH_VAR1_THRESH = ge12.7, ge25.4, ge50.8, ge76.2, ge152.4 +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +FCST_PCP_COMBINE_METHOD = SUM FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB -FCST_IS_PROB = false FCST_PCP_COMBINE_INPUT_ACCUMS = 6 -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### GRID_STAT_REGRID_TO_GRID = G211 GRID_STAT_REGRID_METHOD = BILIN @@ -52,8 +95,6 @@ GRID_STAT_REGRID_WIDTH = 2 GRID_STAT_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME}_{CURRENT_FCST_LEVEL} -GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/precipitation/poly/CONUS.nc, {INPUT_BASE}/model_applications/precipitation/poly/EAST.nc, {INPUT_BASE}/model_applications/precipitation/poly/WEST.nc - GRID_STAT_CLIMO_CDF_WRITE_BINS = False GRID_STAT_OUTPUT_FLAG_CTC = STAT diff --git a/parm/use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_Gempak.conf b/parm/use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_Gempak.conf index b5cf7631c2..2964e6b599 100644 --- a/parm/use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_Gempak.conf +++ b/parm/use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_Gempak.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_Gempak.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PCPCombine, RegridDataPlane, GridStat + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG=2017050912 @@ -13,8 +36,13 @@ LEAD_SEQ = 18 LOOP_ORDER = times +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + + FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = ADD FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/HREFv2_Mean_Gempak FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/hrefmean_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}.grd @@ -42,6 +70,11 @@ GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/GridStat_f GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + MODEL = HREF_MEAN OBTYPE = STAGE4 @@ -53,9 +86,20 @@ OBS_VAR1_NAME = P06M_NONE OBS_VAR1_LEVELS = "(*,*)" OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2, gt152.4 +OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" + +OBS_PCP_COMBINE_INPUT_DATATYPE = NETCDF + + +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +FCST_PCP_COMBINE_METHOD = ADD FCST_PCP_COMBINE_INPUT_DATATYPE = GEMPAK -FCST_IS_PROB = false + FCST_PCP_COMBINE_CONSTANT_INIT = true FCST_PCP_COMBINE_INPUT_ACCUMS = 1 @@ -63,17 +107,21 @@ FCST_PCP_COMBINE_INPUT_NAMES = P01M_NONE FCST_PCP_COMBINE_INPUT_LEVELS = "(0,*,*)" +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + REGRID_DATA_PLANE_METHOD = BUDGET REGRID_DATA_PLANE_WIDTH = 2 REGRID_DATA_PLANE_VERIF_GRID={INPUT_BASE}/model_applications/precipitation/mask/CONUS_HRRRTLE.nc -OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" - -OBS_PCP_COMBINE_INPUT_DATATYPE = NETCDF - -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### GRID_STAT_REGRID_TO_GRID = OBS diff --git a/parm/use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_NetCDF.conf b/parm/use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_NetCDF.conf index 42d7c0785b..9ef9bb8df2 100644 --- a/parm/use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_NetCDF.conf +++ b/parm/use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_NetCDF.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_NetCDF.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PCPCombine, RegridDataPlane, GridStat + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG=2017050912 @@ -12,8 +35,12 @@ LEAD_SEQ = 18 LOOP_ORDER = times +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + FCST_PCP_COMBINE_RUN = True -FCST_PCP_COMBINE_METHOD = ADD FCST_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/HREFv2_Mean FCST_PCP_COMBINE_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/hrefmean_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}.nc @@ -41,9 +68,36 @@ GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/GridStat_f GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} -FCST_PCP_COMBINE_INPUT_DATATYPE = NETCDF +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = HREF_MEAN +OBTYPE = STAGE4 + +FCST_VAR1_NAME = {FCST_PCP_COMBINE_OUTPUT_NAME} +FCST_VAR1_LEVELS = "(*,*)" +FCST_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2, gt152.4 + +OBS_VAR1_NAME = {OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME} +OBS_VAR1_LEVELS = "(*,*)" +OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2, gt152.4 + + +OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = P06M_NONE +OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" -FCST_IS_PROB = false +OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = P06M_NONE + +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +FCST_PCP_COMBINE_METHOD = ADD + +FCST_PCP_COMBINE_INPUT_DATATYPE = NETCDF FCST_PCP_COMBINE_CONSTANT_INIT = true @@ -54,34 +108,24 @@ FCST_PCP_COMBINE_INPUT_LEVELS = "(0,*,*)" FCST_PCP_COMBINE_OUTPUT_ACCUM = 6 FCST_PCP_COMBINE_OUTPUT_NAME = APCP_06 +OBS_PCP_COMBINE_INPUT_DATATYPE = NETCDF -OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = P06M_NONE -OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" - -OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = P06M_NONE -OBS_PCP_COMBINE_INPUT_DATATYPE = NETCDF +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### REGRID_DATA_PLANE_METHOD = BUDGET REGRID_DATA_PLANE_WIDTH = 2 REGRID_DATA_PLANE_VERIF_GRID={INPUT_BASE}/model_applications/precipitation/mask/CONUS_HRRRTLE.nc -#USE_EXPLICIT_NAME_AND_LEVEL = True - -MODEL = HREF_MEAN -OBTYPE = STAGE4 - -FCST_VAR1_NAME = {FCST_PCP_COMBINE_OUTPUT_NAME} -FCST_VAR1_LEVELS = "(*,*)" -FCST_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2, gt152.4 - -OBS_VAR1_NAME = {OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME} -OBS_VAR1_LEVELS = "(*,*)" -OBS_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2, gt152.4 - -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### GRID_STAT_REGRID_TO_GRID = OBS diff --git a/parm/use_cases/model_applications/precipitation/GridStat_fcstHRRR-TLE_obsStgIV_GRIB.conf b/parm/use_cases/model_applications/precipitation/GridStat_fcstHRRR-TLE_obsStgIV_GRIB.conf index 0ae1781c37..1f88a2e87c 100644 --- a/parm/use_cases/model_applications/precipitation/GridStat_fcstHRRR-TLE_obsStgIV_GRIB.conf +++ b/parm/use_cases/model_applications/precipitation/GridStat_fcstHRRR-TLE_obsStgIV_GRIB.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/GridStat_fcstHRRR-TLE_obsStgIV_GRIB.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PCPCombine, RegridDataPlane, GridStat + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H @@ -13,10 +36,15 @@ LEAD_SEQ = 6, 7 LOOP_ORDER = times -OBS_PCP_COMBINE_RUN = True -OBS_PCP_COMBINE_METHOD = ADD -OBS_REGRID_DATA_PLANE_RUN = True +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +# PCPCombine + +OBS_PCP_COMBINE_RUN = True OBS_PCP_COMBINE_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/StageIV OBS_PCP_COMBINE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/ST4.{valid?fmt=%Y%m%d%H}.{level?fmt=%HH}h @@ -24,22 +52,34 @@ OBS_PCP_COMBINE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/ST4.{valid?fmt=%Y%m%d%H}.{le OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/GridStat_fcstHRRR-TLE_obsStgIV_GRIB/StageIV_grib/bucket OBS_PCP_COMBINE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/ST4.{valid?fmt=%Y%m%d%H}_A{level?fmt=%HH}h + +#RegridDataPlane + +OBS_REGRID_DATA_PLANE_RUN = True + OBS_REGRID_DATA_PLANE_INPUT_DIR = {OBS_PCP_COMBINE_OUTPUT_DIR} OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/GridStat_fcstHRRR-TLE_obsStgIV_GRIB/StageIV_grib/regrid OBS_REGRID_DATA_PLANE_TEMPLATE = {OBS_PCP_COMBINE_OUTPUT_TEMPLATE} +# GridStat + FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/PHPT FCST_GRID_STAT_INPUT_TEMPLATE= {init?fmt=%Y%m%d}/{init?fmt=%Y%m%d}_i{init?fmt=%H}_f{lead?fmt=%HHH}_HRRRTLE_PHPT.grb2 OBS_GRID_STAT_INPUT_DIR = {OBS_REGRID_DATA_PLANE_OUTPUT_DIR} OBS_GRID_STAT_INPUT_TEMPLATE = {OBS_REGRID_DATA_PLANE_TEMPLATE} +GRID_STAT_VERIFICATION_MASK_TEMPLATE = {INPUT_BASE}/model_applications/precipitation/mask/CONUS_HRRRTLE.nc, {INPUT_BASE}/model_applications/precipitation/mask/EAST_HRRRTLE.nc, {INPUT_BASE}/model_applications/precipitation/mask/WEST_HRRRTLE.nc + GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/GridStat_fcstHRRR-TLE_obsStgIV_GRIB/GridStat GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} -GRID_STAT_VERIFICATION_MASK_TEMPLATE = {INPUT_BASE}/model_applications/precipitation/mask/CONUS_HRRRTLE.nc, {INPUT_BASE}/model_applications/precipitation/mask/EAST_HRRRTLE.nc, {INPUT_BASE}/model_applications/precipitation/mask/WEST_HRRRTLE.nc +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### MODEL = PHPT OBTYPE = STAGE4_GRIB @@ -52,17 +92,32 @@ BOTH_VAR1_LEVELS = A06 BOTH_VAR1_THRESH = gt12.7, gt25.4, gt50.8, gt76.2, gt152.4 +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + +OBS_PCP_COMBINE_METHOD = ADD + OBS_PCP_COMBINE_INPUT_DATATYPE = GRIB OBS_PCP_COMBINE_INPUT_ACCUMS = 6, 1 +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + REGRID_DATA_PLANE_METHOD = BUDGET REGRID_DATA_PLANE_WIDTH = 2 REGRID_DATA_PLANE_VERIF_GRID = {INPUT_BASE}/model_applications/precipitation/mask/CONUS_HRRRTLE.nc -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### GRID_STAT_OUTPUT_PREFIX = PROB_{MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME}_{CURRENT_FCST_LEVEL} diff --git a/parm/use_cases/model_applications/precipitation/MTD_fcstHRRR-TLE_FcstOnly_RevisionSeries_GRIB.conf b/parm/use_cases/model_applications/precipitation/MTD_fcstHRRR-TLE_FcstOnly_RevisionSeries_GRIB.conf index 52fb921303..e8e4c525fb 100644 --- a/parm/use_cases/model_applications/precipitation/MTD_fcstHRRR-TLE_FcstOnly_RevisionSeries_GRIB.conf +++ b/parm/use_cases/model_applications/precipitation/MTD_fcstHRRR-TLE_FcstOnly_RevisionSeries_GRIB.conf @@ -1,109 +1,77 @@ -# PHPT MTD Single Run Configuration [config] -# List of applications to run - only MTD for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/MTD_fcstHRRR-TLE_FcstOnly_RevisionSeries_GRIB.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = MTD -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG=2018031300 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END=2018031300 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT=86400 -# 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) -# begin_end_incr(start, end, step) can be used to create a list of values -# end value is inclusive -# This will create a list containing 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 LEAD_SEQ = begin_end_incr(12, 0, -1) -# 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 -# Name to identify model (forecast) data in output -MODEL = HRRRTLE -# Name to identify observation data in output -OBTYPE = ANALYS +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# if true, only process a single data set with MTD -MTD_SINGLE_RUN = True +FCST_MTD_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/PHPT +FCST_MTD_INPUT_TEMPLATE= {init?fmt=%Y%m%d}/{init?fmt=%Y%m%d}_i{init?fmt=%H}_f{lead?fmt=%3H}_HRRRTLE_PHPT.grb2 -# data source if running single mode -# FCST or OBS are valid options -MTD_SINGLE_DATA_SRC = FCST +MTD_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/MTD_fcstHRRR-TLE_FcstOnly_RevisionSeries_GRIB +MTD_OUTPUT_TEMPLATE = -# list of variables to process -FCST_VAR1_NAME = APCP -FCST_VAR1_LEVELS = R001 -# location of MODE Time Domain MET config file -# References CONFIG_DIR from the [dir] section -MTD_CONFIG_FILE = {CONFIG_DIR}/MTDConfig_wrapped +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# grid to remap data. Value is set as the 'to_grid' variable in the 'regrid' dictionary -# See MET User's Guide for more information -MTD_REGRID_TO_GRID = NONE +MODEL = HRRRTLE +OBTYPE = ANALYS -# Minimum volume -MTD_MIN_VOLUME = 2000 +FCST_VAR1_NAME = APCP +FCST_VAR1_LEVELS = R001 -# convolution radius for forecast data FCST_MTD_CONV_RADIUS = 15 - -# convolution threshold for forecast data FCST_MTD_CONV_THRESH = >=5.0 - -# set to True if forecast data is probabilistic -FCST_IS_PROB = false - -# input data type of forecast data FCST_MTD_INPUT_DATATYPE = GRIB -# True if probabilistic information is in the GRIB Product Definition Section -FCST_PROB_IN_GRIB_PDS = false - -# output prefix to add to output filenames -MTD_OUTPUT_PREFIX = - - -# End of [config] section and start of [dir] section -[dir] -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config - -FCST_MTD_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/PHPT - -MTD_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/MTD_fcstHRRR-TLE_FcstOnly_RevisionSeries_GRIB +### +# MTD Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mtd +### +MTD_SINGLE_RUN = True +MTD_SINGLE_DATA_SRC = FCST -[filename_templates] -FCST_MTD_INPUT_TEMPLATE= {init?fmt=%Y%m%d}/{init?fmt=%Y%m%d}_i{init?fmt=%H}_f{lead?fmt=%3H}_HRRRTLE_PHPT.grb2 +MTD_REGRID_TO_GRID = NONE -MTD_OUTPUT_TEMPLATE = +MTD_MIN_VOLUME = 2000 diff --git a/parm/use_cases/model_applications/precipitation/MTD_fcstHRRR-TLE_obsMRMS.conf b/parm/use_cases/model_applications/precipitation/MTD_fcstHRRR-TLE_obsMRMS.conf index 2b0b83b2d8..598e1a9a3e 100644 --- a/parm/use_cases/model_applications/precipitation/MTD_fcstHRRR-TLE_obsMRMS.conf +++ b/parm/use_cases/model_applications/precipitation/MTD_fcstHRRR-TLE_obsMRMS.conf @@ -1,57 +1,67 @@ -# PHPT vs. QPE Configurations - [config] -# if false, loop by VALID time -LOOP_BY = INIT -# Format of INIT_BEG and INIT_END -INIT_TIME_FMT = %Y%m%d%H +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/MTD_fcstHRRR-TLE_obsMRMS.html -# Start time for METplus run -INIT_BEG=2017051003 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# End time for METplus run -INIT_END=2017051003 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = MTD -# Increment between METplus runs in seconds. Must be >= 60 + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = INIT +INIT_TIME_FMT = %Y%m%d%H +INIT_BEG=2017051003 +INIT_END=2017051003 INIT_INCREMENT=43200 -# list of forecast leads to process LEAD_SEQ = 1,2,3 - -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# List of applications to run -PROCESS_LIST = MTD -# MODE TIME DOMAIN Configuration +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# if true, only process a single data set with MTD -MTD_SINGLE_RUN = False +FCST_MTD_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/PHPT +FCST_MTD_INPUT_TEMPLATE= {init?fmt=%Y%m%d}/{init?fmt=%Y%m%d}_i{init?fmt=%H}_f{lead?fmt=%HHH}_HRRRTLE_PHPT.grb2 -# Data to process in single mode -# FCST and OBS are valid options -MTD_SINGLE_DATA_SRC = OBS +OBS_MTD_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/QPE_Data +OBS_MTD_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/qpe_{valid?fmt=%Y%m%d%H}.nc -# forecast convolution radius list -FCST_MTD_CONV_RADIUS = 0 +MTD_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/MTD_fcstHRRR-TLE_obsMRMS +MTD_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} -# forecast convolution threshold list -FCST_MTD_CONV_THRESH = >=10 -# observation convolution radius list -OBS_MTD_CONV_RADIUS = 15 +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### -# observation convolution threshold list -OBS_MTD_CONV_THRESH = >=12.7 +MODEL = PHPT +OBTYPE = QPE + +FCST_IS_PROB = true +FCST_PROB_IN_GRIB_PDS = true -# list of variables to compare FCST_VAR1_NAME = APCP FCST_VAR1_LEVELS = A01 FCST_VAR1_THRESH = gt12.7 @@ -60,43 +70,18 @@ OBS_VAR1_NAME = P01M_NONE OBS_VAR1_LEVELS = "(0,*,*)" OBS_VAR1_THRESH = gt12.7 -# description of data to be processed -# used in output file path -MODEL = PHPT -OBTYPE = QPE - -# location of MODE Time Domain MET config file -MTD_CONFIG_FILE = {CONFIG_DIR}/MTDConfig_wrapped - -MTD_REGRID_TO_GRID = OBS - -# PHPT Model Options: -FCST_IS_PROB = true -FCST_PROB_IN_GRIB_PDS = true +### +# MTD Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mtd +### -# QPE Observation Data Parameters -# none needed - -[dir] -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config +FCST_MTD_CONV_RADIUS = 0 +FCST_MTD_CONV_THRESH = >=10 -# input and output data directories for each application in PROCESS_LIST -FCST_MTD_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/PHPT -OBS_MTD_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/QPE_Data +OBS_MTD_CONV_RADIUS = 15 +OBS_MTD_CONV_THRESH = >=12.7 -MTD_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation/MTD_fcstHRRR-TLE_obsMRMS +MTD_REGRID_TO_GRID = OBS MTD_OUTPUT_PREFIX = PROB_{MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME}_A{CURRENT_FCST_LEVEL} - -[filename_templates] -# format of filenames - -# PHPT -FCST_MTD_INPUT_TEMPLATE= {init?fmt=%Y%m%d}/{init?fmt=%Y%m%d}_i{init?fmt=%H}_f{lead?fmt=%HHH}_HRRRTLE_PHPT.grb2 - -# QPE -OBS_MTD_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/qpe_{valid?fmt=%Y%m%d%H}.nc - -MTD_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} diff --git a/parm/use_cases/model_applications/precipitation/PointStat_fcstMULTI_obsMETAR_PtypeComparisons.conf b/parm/use_cases/model_applications/precipitation/PointStat_fcstMULTI_obsMETAR_PtypeComparisons.conf index 738d1c8d03..081c13ad15 100644 --- a/parm/use_cases/model_applications/precipitation/PointStat_fcstMULTI_obsMETAR_PtypeComparisons.conf +++ b/parm/use_cases/model_applications/precipitation/PointStat_fcstMULTI_obsMETAR_PtypeComparisons.conf @@ -1,8 +1,31 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/precipitation/PointStat_fcstMULTI_obsMETAR_PtypeComparisons.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### #The first PointStat call is for the GFS PROCESS_LIST = PB2NC,PointStat,PointStat(nam_run),PointStat(gfsx_run) + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H%M INIT_BEG = 202102151200 @@ -11,6 +34,13 @@ INIT_INCREMENT = 12H LEAD_SEQ = 12, 24, 36, 48, 60, 72, 84 + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +# PB2NC PB2NC_OFFSETS = 0, 12 PB2NC_SKIP_IF_OUTPUT_EXISTS = True @@ -22,51 +52,7 @@ PB2NC_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation PB2NC_OUTPUT_TEMPLATE = nam.obsfile_sfc_prwe.{valid?fmt=%m%d%Y}_{valid?fmt=%H}z.nc -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped - -PB2NC_OBS_WINDOW_BEGIN = -1800 -PB2NC_OBS_WINDOW_END = 1800 - -#PB2NC_VALID_BEGIN = {valid?fmt=%Y%m%d_%H%M%S?shift=-1800} -#PB2NC_VALID_END = {valid?fmt=%Y%m%d_%H%M%S?shift=1800} - -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC - -PB2NC_PB_REPORT_TYPE = - -#PB2NC_LEVEL_RANGE_BEG = -#PB2NC_LEVEL_RANGE_END = - -PB2NC_LEVEL_CATEGORY = - -PB2NC_QUALITY_MARK_THRESH = 2 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PRWE - -PB2NC_TIME_SUMMARY_FLAG = False -PB2NC_TIME_SUMMARY_BEG = 000000 -PB2NC_TIME_SUMMARY_END = 235959 -PB2NC_TIME_SUMMARY_VAR_NAMES = -PB2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 - -PB2NC_TIME_SUMMARY_RAW_DATA = False -PB2NC_TIME_SUMMARY_STEP = 3600 -PB2NC_TIME_SUMMARY_WIDTH = 3600 -PB2NC_TIME_SUMMARY_GRIB_CODES = -PB2NC_TIME_SUMMARY_VALID_FREQ = 0 -PB2NC_TIME_SUMMARY_VALID_THRESH = 0.0 - -#PB2NC_OBS_BUFR_MAP = -#PB2NC_OBS_PREPBUFR_MAP = - - -### # PointStat -### FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/precipitation/PointStat_fcstMULTI_obsMETAR_PtypeComparisons FCST_POINT_STAT_INPUT_TEMPLATE = gfs.t12z.pgrb2.0p25.f{lead?fmt=%3H} @@ -74,11 +60,13 @@ FCST_POINT_STAT_INPUT_TEMPLATE = gfs.t12z.pgrb2.0p25.f{lead?fmt=%3H} OBS_POINT_STAT_INPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation OBS_POINT_STAT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} - POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/precipitation -POINT_STAT_OUTPUT_PREFIX = gfs -MODEL = gfs + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### FCST_VAR1_NAME = CRAIN FCST_VAR1_LEVELS = L0 @@ -112,9 +100,55 @@ OBS_VAR4_NAME = PRWE OBS_VAR4_LEVELS = Z0 OBS_VAR4_THRESH = >=174&&<=176 + +### +# PB2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pb2nc +### + +PB2NC_OBS_WINDOW_BEGIN = -1800 +PB2NC_OBS_WINDOW_END = 1800 + +PB2NC_GRID = +PB2NC_POLY = +PB2NC_STATION_ID = +PB2NC_MESSAGE_TYPE = ADPSFC + +PB2NC_PB_REPORT_TYPE = + +PB2NC_LEVEL_CATEGORY = + +PB2NC_QUALITY_MARK_THRESH = 2 + +# Leave empty to process all +PB2NC_OBS_BUFR_VAR_LIST = PRWE + +PB2NC_TIME_SUMMARY_FLAG = False +PB2NC_TIME_SUMMARY_BEG = 000000 +PB2NC_TIME_SUMMARY_END = 235959 +PB2NC_TIME_SUMMARY_VAR_NAMES = +PB2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 + +PB2NC_TIME_SUMMARY_RAW_DATA = False +PB2NC_TIME_SUMMARY_STEP = 3600 +PB2NC_TIME_SUMMARY_WIDTH = 3600 +PB2NC_TIME_SUMMARY_GRIB_CODES = +PB2NC_TIME_SUMMARY_VALID_FREQ = 0 +PB2NC_TIME_SUMMARY_VALID_THRESH = 0.0 + + +### +# PointStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pointstat +### + +MODEL = gfs + OBS_POINT_STAT_WINDOW_BEGIN = -1800 OBS_POINT_STAT_WINDOW_END = 1800 +POINT_STAT_OUTPUT_PREFIX = gfs + POINT_STAT_MESSAGE_TYPE = ADPSFC POINT_STAT_MASK_POLY = MET_BASE/poly/CONUS.poly From ce09848692a1f227ffa3a1a6f4dfb85ab373f4b8 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 11:37:25 -0600 Subject: [PATCH 16/35] per #1402, rearrange and clean up config files for s2s, s2s_mid_lat, and s2s_mjo. ci-run-all-diff --- ...sis_fcstNMME_obsCPC_seasonal_forecast.conf | 158 ++++------ ...at_fcstCFSv2_obsGHCNCAMS_MultiTercile.conf | 49 +-- ..._climoStandardized_MultiStatisticTool.conf | 283 ++++++++--------- .../s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF.conf | 91 +++--- ...serScript_obsERA_obsOnly_Stratosphere.conf | 67 ++-- ...pt_obsPrecip_obsOnly_CrossSpectraPlot.conf | 32 +- ...erScript_obsPrecip_obsOnly_Hovmoeller.conf | 29 ++ .../UserScript_fcstGFS_obsERA_Blocking.conf | 298 +++++------------- ...erScript_fcstGFS_obsERA_WeatherRegime.conf | 190 ++++------- .../UserScript_obsERA_obsOnly_Blocking.conf | 125 ++++---- ...erScript_obsERA_obsOnly_WeatherRegime.conf | 96 +++--- .../UserScript_fcstGFS_obsERA_OMI.conf | 123 ++++---- .../UserScript_obsERA_obsOnly_OMI.conf | 76 ++--- ...serScript_obsERA_obsOnly_PhaseDiagram.conf | 59 ++-- .../UserScript_obsERA_obsOnly_RMM.conf | 223 ++++++------- 15 files changed, 816 insertions(+), 1083 deletions(-) diff --git a/parm/use_cases/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast.conf b/parm/use_cases/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast.conf index 6a59ac2da9..52a98f302e 100644 --- a/parm/use_cases/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast.conf +++ b/parm/use_cases/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast.conf @@ -1,36 +1,78 @@ -# Grid to Grid APIK Verification - S2S Use Case 1: Comparison of NMME hindcasts to CPC observations - [config] -# List of applications to run +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat, SeriesAnalysis(climo), SeriesAnalysis(full_stats) -# loop by INIT time (options are INIT, VALID, or ?) -LOOP_BY = INIT -# Format of INIT_BEG and INIT_END -INIT_TIME_FMT = %Y%m +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Start time for METplus run +LOOP_BY = INIT +INIT_TIME_FMT = %Y%m INIT_BEG = 198207 - -# End time for METplus run INIT_END = 201007 - INIT_INCREMENT = 1Y -# list of forecast leads to process (JLV-NOTE: This only works for grid_stat and example wrappers right now, using feature_281_py_embed) LEAD_SEQ = 1m, 2m, 3m, 4m, 5m, 6m -#SERIES_ANALYSIS_CUSTOM_LOOP_LIST = +SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_LEAD -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = processes + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/NMME/hindcast/monthly +FCST_GRID_STAT_INPUT_TEMPLATE = nmme_pr_hcst_{init?fmt=%b}IC_{valid?fmt=%m}_*.nc + +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/NMME/obs +OBS_GRID_STAT_INPUT_TEMPLATE = obs_cpc_pp.1x1.nc + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast/GridStat + +BOTH_SERIES_ANALYSIS_INPUT_DIR = {GRID_STAT_OUTPUT_DIR} +BOTH_SERIES_ANALYSIS_INPUT_TEMPLATE = grid_stat_{MODEL}-hindcast_precip_vs_{OBTYPE}_IC{init?fmt=%Y%b}_V{valid?fmt=%Y%m}01_*pairs.nc + +SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast/SeriesAnalysis +SERIES_ANALYSIS_OUTPUT_TEMPLATE = series_analysis_{MODEL}_{OBTYPE}_stats_F{lead?fmt=%2m}_{instance?fmt=%s}.nc + +[full_stats] + +SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} +SERIES_ANALYSIS_CLIMO_MEAN_INPUT_TEMPLATE = series_analysis_{MODEL}_{OBTYPE}_stats_F{lead?fmt=%2m}_climo.nc + +[config] + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = NMME +OBTYPE = CPC + FCST_GRID_STAT_VAR1_NAME = pr FCST_GRID_STAT_VAR1_LEVELS = "({valid?fmt=%Y%m01_000000},*,*)" FCST_GRID_STAT_VAR1_THRESH = >0, >50, >100, >150, >200, >250, >300, >400, >500 @@ -45,13 +87,11 @@ FCST_SERIES_ANALYSIS_VAR1_LEVELS = "(*,*)" OBS_SERIES_ANALYSIS_VAR1_NAME = OBS_precip_FULL OBS_SERIES_ANALYSIS_VAR1_LEVELS = "(*,*)" -# description of data to be processed -# used in output file path -MODEL = NMME -OBTYPE = CPC -# location of grid_stat MET config file -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### GRID_STAT_OUTPUT_FLAG_CTC = STAT GRID_STAT_OUTPUT_FLAG_CNT = STAT @@ -61,90 +101,32 @@ GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE GRID_STAT_NC_PAIRS_VAR_NAME = precip -# variables to describe format of forecast data -FCST_IS_PROB = false - -# variables to describe format of observation data -# none needed - -# Increase verbosity of MET tools -#LOG_MET_VERBOSITY=4 - GRID_STAT_OUTPUT_PREFIX = {MODEL}-hindcast_{CURRENT_OBS_NAME}_vs_{OBTYPE}_IC{init?fmt=%Y%b}_V{valid?fmt=%Y%m%d} -# sets the desc variable in the SeriesAnalysis config file +### +# SeriesAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis +### + SERIES_ANALYSIS_DESC = hindcast -# sets the cat_thresh variable in the SeriesAnalysis config file SERIES_ANALYSIS_CAT_THRESH = >=50, >=100, >=150, >=200, >=250, >=300, >=400, >=500 -# sets the vld_thresh variable in the SeriesAnalysis config file SERIES_ANALYSIS_VLD_THRESH = 0.50 -# sets the block_size variable in the SeriesAnalysis config file SERIES_ANALYSIS_BLOCK_SIZE = 360*181 -# set to True to add the -paired flag to the SeriesAnalysis command SERIES_ANALYSIS_IS_PAIRED = False -# MET Configuration file passed to SeriesAnalysis -SERIES_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/SeriesAnalysisConfig_wrapped - -# If True/yes, run plot_data_plane on output from Series-Analysis to generate -# images for each stat item listed in SERIES_ANALYSIS_STAT_LIST SERIES_ANALYSIS_GENERATE_PLOTS = no - -# If True/yes, run convert on output from Series-Analysis to generate -# a gif using images in groups of name/level/stat SERIES_ANALYSIS_GENERATE_ANIMATIONS = no -# grid to remap data. Value is set as the 'to_grid' variable in the 'regrid' dictionary -# See MET User's Guide for more information -#SERIES_ANALYSIS_REGRID_TO_GRID = NONE - -SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_LEAD - SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = False -# used for SeriesAnalysis(climo) instance + SERIES_ANALYSIS_STAT_LIST = OBAR [full_stats] SERIES_ANALYSIS_STAT_LIST =TOTAL, FBAR, OBAR, ME, MAE, RMSE, ANOM_CORR, PR_CORR SERIES_ANALYSIS_CTS_LIST = BASER, CSI, GSS - -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR = {SERIES_ANALYSIS_OUTPUT_DIR} -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_TEMPLATE = series_analysis_{MODEL}_{OBTYPE}_stats_F{lead?fmt=%2m}_climo.nc - - -[dir] - -# input and output data directories -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/NMME/hindcast/monthly -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/NMME/obs -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast/GridStat - -BOTH_SERIES_ANALYSIS_INPUT_DIR = {GRID_STAT_OUTPUT_DIR} - -SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/s2s/GridStat_SeriesAnalysis_fcstNMME_obsCPC_seasonal_forecast/SeriesAnalysis - -# used in full_stats instance file only -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_DIR = - - -[filename_templates] - -# format of filenames -# FCST -FCST_GRID_STAT_INPUT_TEMPLATE = nmme_pr_hcst_{init?fmt=%b}IC_{valid?fmt=%m}_*.nc - -# ANLYS -OBS_GRID_STAT_INPUT_TEMPLATE = obs_cpc_pp.1x1.nc - -BOTH_SERIES_ANALYSIS_INPUT_TEMPLATE = grid_stat_{MODEL}-hindcast_precip_vs_{OBTYPE}_IC{init?fmt=%Y%b}_V{valid?fmt=%Y%m}01_*pairs.nc - -SERIES_ANALYSIS_OUTPUT_TEMPLATE = series_analysis_{MODEL}_{OBTYPE}_stats_F{lead?fmt=%2m}_{instance?fmt=%s}.nc - -# used in full_stat instance only -SERIES_ANALYSIS_CLIMO_MEAN_INPUT_TEMPLATE = diff --git a/parm/use_cases/model_applications/s2s/GridStat_fcstCFSv2_obsGHCNCAMS_MultiTercile.conf b/parm/use_cases/model_applications/s2s/GridStat_fcstCFSv2_obsGHCNCAMS_MultiTercile.conf index 2282808384..59b26fb25c 100644 --- a/parm/use_cases/model_applications/s2s/GridStat_fcstCFSv2_obsGHCNCAMS_MultiTercile.conf +++ b/parm/use_cases/model_applications/s2s/GridStat_fcstCFSv2_obsGHCNCAMS_MultiTercile.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s/GridStat_fcstCFSv2_obsGHCNCAMS_MultiTercile.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -16,11 +35,12 @@ LEAD_SEQ = LOOP_ORDER = processes + ### # File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### - FCST_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY @@ -37,6 +57,7 @@ GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m} ### # Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### MODEL = CFSv2 @@ -52,25 +73,17 @@ OBS_VAR1_THRESH = lt1.5, lt2.5 CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/s2s/GridStat_fcstCFSv2_obsGHCNCAMS_MultiTercile + ### -# GridStat +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat ### - - -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - - GRID_STAT_REGRID_TO_GRID = FCST GRID_STAT_DESC = NA -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 - GRID_STAT_NEIGHBORHOOD_WIDTH = 1 GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE @@ -78,18 +91,8 @@ GRID_STAT_NEIGHBORHOOD_COV_THRESH = >=0.5 GRID_STAT_ONCE_PER_FIELD = False -FCST_IS_PROB = false - -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -OBS_IS_PROB = false - -OBS_GRID_STAT_PROB_THRESH = ==0.1 - GRID_STAT_OUTPUT_PREFIX = - - GRID_STAT_OUTPUT_FLAG_MCTC = BOTH GRID_STAT_OUTPUT_FLAG_MCTS = BOTH @@ -97,6 +100,4 @@ GRID_STAT_NC_PAIRS_FLAG_LATLON = TRUE GRID_STAT_NC_PAIRS_FLAG_RAW = TRUE GRID_STAT_NC_PAIRS_FLAG_DIFF = TRUE - GRID_STAT_HSS_EC_VALUE = - diff --git a/parm/use_cases/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool.conf b/parm/use_cases/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool.conf index d6e1f475c0..7e32b1e8d4 100644 --- a/parm/use_cases/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool.conf +++ b/parm/use_cases/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool.conf @@ -1,9 +1,28 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = SeriesAnalysis, GenEnsProd, SeriesAnalysis(run_two), GridStat + ### # Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control ### LOOP_BY = INIT @@ -14,27 +33,19 @@ INIT_INCREMENT = 1Y LEAD_SEQ = -LOOP_ORDER = processes - -### -# SERIES_ANALYSIS FIELDINFO -### - -SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE -MODEL = CFSv2 SERIES_ANALYSIS_CUSTOM_LOOP_LIST = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 +SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE + +LOOP_ORDER = processes -BOTH_SERIES_ANALYSIS_VAR1_NAME = fcst -BOTH_SERIES_ANALYSIS_VAR1_LEVELS = "({custom},0,*,*)" -SERIES_ANALYSIS_FCST_FILE_TYPE = NETCDF_NCCF -SERIES_ANALYSIS_OBS_FILE_TYPE = NETCDF_NCCF -SERIES_ANALYSIS_OUTPUT_STATS_CNT = TOTAL, FBAR, FSTDEV -SERIES_ANALYSIS_BLOCK_SIZE = 0 ### -# File I/O SERIES_ANALYSIS +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### +# SeriesAnalysis + FCST_SERIES_ANALYSIS_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = CFSv2.tmp2m.{init?fmt=%Y%m}.fcst.nc @@ -44,109 +55,49 @@ OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = {FCST_SERIES_ANALYSIS_INPUT_TEMPLATE} SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/SA_run1 SERIES_ANALYSIS_OUTPUT_TEMPLATE = mem{custom?fmt=%s}_output.nc -### -# File I/O Gen_Ens_Prod -### -GEN_ENS_PROD_INPUT_DIR = {FCST_SERIES_ANALYSIS_INPUT_DIR} +# GenEnsProd +GEN_ENS_PROD_INPUT_DIR = {FCST_SERIES_ANALYSIS_INPUT_DIR} GEN_ENS_PROD_INPUT_TEMPLATE = {FCST_SERIES_ANALYSIS_INPUT_TEMPLATE} -#GEN_ENS_PROD_CTRL_INPUT_DIR = -#GEN_ENS_PROD_CTRL_INPUT_TEMPLATE = - GEN_ENS_PROD_N_MEMBERS = 24 -GEN_ENS_PROD_OUTPUT_DIR = {OUTPUT_BASE}/GEP -GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{init?fmt=%Y%m}_ens.nc - -### -# Field Info -### +GEN_ENS_PROD_CLIMO_MEAN_FILE_NAME = {SERIES_ANALYSIS_OUTPUT_DIR}/memMET_ENS_MEMBER_ID_output.nc +GEN_ENS_PROD_CLIMO_MEAN_FIELD = {name="series_cnt_FBAR"; level="(*,*)";} -ENS_VAR1_NAME = fcst -ENS_VAR1_LEVELS = "(MET_ENS_MEMBER_ID,0,*,*)" -ENS_VAR1_THRESH = <-0.43, >=-0.43&&<=0.43, >0.43 -ENS_FILE_TYPE = NETCDF_NCCF +GEN_ENS_PROD_CLIMO_STDEV_FILE_NAME = {SERIES_ANALYSIS_OUTPUT_DIR}/memMET_ENS_MEMBER_ID_output.nc +GEN_ENS_PROD_CLIMO_STDEV_FIELD = {name="series_cnt_FSTDEV"; level="(*,*)";} -### -# GenEnsProd -### +GEN_ENS_PROD_OUTPUT_DIR = {OUTPUT_BASE}/GEP +GEN_ENS_PROD_OUTPUT_TEMPLATE = gen_ens_prod_{init?fmt=%Y%m}_ens.nc -#LOG_GEN_ENS_PROD_VERBOSITY = 2 -MODEL = CFSv2 -# GEN_ENS_PROD_DESC = NA +# SeriesAnalysis(run_two) -#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 +[run_two] -#GEN_ENS_PROD_CENSOR_THRESH = -#GEN_ENS_PROD_CENSOR_VAL = -GEN_ENS_PROD_NORMALIZE = CLIMO_STD_ANOM -#GEN_ENS_PROD_CAT_THRESH = -#GEN_ENS_PROD_NC_VAR_STR = +FCST_SERIES_ANALYSIS_INPUT_DIR = {OUTPUT_BASE}/GEP +FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = gen_ens_prod_{init?fmt=%Y%m}_ens.nc -GEN_ENS_PROD_ENS_THRESH = 0.3 -GEN_ENS_PROD_VLD_THRESH = 0.3 +OBS_SERIES_ANALYSIS_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool +OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = ghcn_cams.1x1.1982-2020.mon.nc -#GEN_ENS_PROD_NBRHD_PROB_WIDTH = 5 -#GEN_ENS_PROD_NBRHD_PROB_SHAPE = CIRCLE -#GEN_ENS_PROD_NBRHD_PROB_VLD_THRESH = 0.0 +SERIES_ANALYSIS_CLIMO_MEAN_FILE_NAME = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool/ghcn_cams.1x1.1982-2010.mon.clim.nc +SERIES_ANALYSIS_CLIMO_MEAN_FIELD = {name="clim"; level="(0,*,*)";} +SERIES_ANALYSIS_CLIMO_MEAN_FILE_TYPE = NETCDF_NCCF -#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 +SERIES_ANALYSIS_CLIMO_STDEV_FILE_NAME = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool/ghcn_cams.1x1.1982-2010.mon.stddev.nc +SERIES_ANALYSIS_CLIMO_STDEV_FIELD = {name="stddev"; level="(0,*,*)";} +SERIES_ANALYSIS_CLIMO_STDEV_FILE_TYPE = NETCDF_NCCF -GEN_ENS_PROD_CLIMO_MEAN_FILE_NAME = {SERIES_ANALYSIS_OUTPUT_DIR}/memMET_ENS_MEMBER_ID_output.nc -GEN_ENS_PROD_CLIMO_MEAN_FIELD = {name="series_cnt_FBAR"; level="(*,*)";} -#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 +SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/SA_run2 +SERIES_ANALYSIS_OUTPUT_TEMPLATE = {INIT_BEG}to{INIT_END}_CFSv2_SA.nc -GEN_ENS_PROD_CLIMO_STDEV_FILE_NAME = {SERIES_ANALYSIS_OUTPUT_DIR}/memMET_ENS_MEMBER_ID_output.nc -GEN_ENS_PROD_CLIMO_STDEV_FIELD = {name="series_cnt_FSTDEV"; level="(*,*)";} -#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 = TRUE -#GEN_ENS_PROD_ENSEMBLE_FLAG_PLUS = TRUE -#GEN_ENS_PROD_ENSEMBLE_FLAG_MIN = TRUE -#GEN_ENS_PROD_ENSEMBLE_FLAG_MAX = TRUE -#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 = FALSE -#GEN_ENS_PROD_ENSEMBLE_FLAG_NMEP = FALSE -#GEN_ENS_PROD_ENSEMBLE_FLAG_CLIMO = FALSE -#GEN_ENS_PROD_ENSEMBLE_FLAG_CLIMO_CDF = FALSE +# GridStat -GEN_ENS_PROD_ENS_MEMBER_IDS = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 -#GEN_ENS_PROD_CONTROL_ID = - -### -# File I/O Grid_Stat -### +[config] FCST_GRID_STAT_INPUT_DIR = {GEN_ENS_PROD_OUTPUT_DIR} FCST_GRID_STAT_INPUT_TEMPLATE = {GEN_ENS_PROD_OUTPUT_TEMPLATE} @@ -154,15 +105,62 @@ FCST_GRID_STAT_INPUT_TEMPLATE = {GEN_ENS_PROD_OUTPUT_TEMPLATE} OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool OBS_GRID_STAT_INPUT_TEMPLATE = ghcn_cams.1x1.1982-2020.mon.nc +GRID_STAT_CLIMO_MEAN_FILE_NAME = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool/ghcn_cams.1x1.1982-2010.mon.clim.nc +GRID_STAT_CLIMO_MEAN_FIELD = {name="clim"; level="(0,*,*)";} +GRID_STAT_CLIMO_MEAN_FILE_TYPE = NETCDF_NCCF + +GRID_STAT_CLIMO_STDEV_FILE_NAME = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool/ghcn_cams.1x1.1982-2010.mon.stddev.nc +GRID_STAT_CLIMO_STDEV_FIELD = {name="stddev"; level="(0,*,*)";} +GRID_STAT_CLIMO_STDEV_FILE_TYPE = NETCDF_NCCF + GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/GridStat GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m} -GRID_STAT_OUTPUT_PREFIX = {init?fmt=%Y%m} ### -# Field Info GridStat +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### +MODEL = CFSv2 + + +# SeriesAnalysis + +BOTH_SERIES_ANALYSIS_VAR1_NAME = fcst +BOTH_SERIES_ANALYSIS_VAR1_LEVELS = "({custom},0,*,*)" +SERIES_ANALYSIS_FCST_FILE_TYPE = NETCDF_NCCF +SERIES_ANALYSIS_OBS_FILE_TYPE = NETCDF_NCCF + + +# GenEnsProd + +ENS_VAR1_NAME = fcst +ENS_VAR1_LEVELS = "(MET_ENS_MEMBER_ID,0,*,*)" +ENS_VAR1_THRESH = <-0.43, >=-0.43&&<=0.43, >0.43 +ENS_FILE_TYPE = NETCDF_NCCF + + +# SeriesAnalysis(run_two) + +[run_two] + +FCST_SERIES_ANALYSIS_VAR1_NAME = fcst_0_0_all_all_ENS_FREQ_lt-0.43 +FCST_SERIES_ANALYSIS_VAR1_LEVELS = "(*,*)" + +FCST_CAT_THRESH = ==0.1 +FCST_IS_PROB = True + +OBS_SERIES_ANALYSIS_VAR1_NAME = tmp2m +OBS_SERIES_ANALYSIS_VAR1_LEVELS = "({init?fmt=%Y%m%d_%H%M%S},*,*)" +OBS_SERIES_ANALYSIS_CAT_THRESH = <=CDP33 + +OBS_FILE_TYPE = NETCDF_NCCF + + +# GridStat + +[config] FCST_GRID_STAT_VAR1_NAME = fcst_0_0_all_all_ENS_FREQ_lt-0.43 FCST_GRID_STAT_VAR1_LEVELS = "(*,*)" FCST_GRID_STAT_VAR1_THRESH = ==0.1 @@ -175,77 +173,60 @@ OBS_GRID_STAT_FILE_TYPE = NETCDF_NCCF ### -# Field Info for GridStat +# SeriesAnalysis Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis ### -GRID_STAT_CLIMO_MEAN_FILE_NAME = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool/ghcn_cams.1x1.1982-2010.mon.clim.nc -GRID_STAT_CLIMO_MEAN_FIELD = {name="clim"; level="(0,*,*)";} -GRID_STAT_CLIMO_MEAN_FILE_TYPE = NETCDF_NCCF - - -GRID_STAT_CLIMO_STDEV_FILE_NAME = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool/ghcn_cams.1x1.1982-2010.mon.stddev.nc -GRID_STAT_CLIMO_STDEV_FIELD = {name="stddev"; level="(0,*,*)";} -GRID_STAT_CLIMO_STDEV_FILE_TYPE = NETCDF_NCCF - -GRID_STAT_REGRID_TO_GRID = FCST -GRID_STAT_OUTPUT_FLAG_PSTD = BOTH -GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE -GRID_STAT_NC_PAIRS_FLAG_RAW = TRUE - -[run_two] -### -# FILE I/O of SeriesAnalysis run_two -### - -FCST_SERIES_ANALYSIS_INPUT_DIR = {OUTPUT_BASE}/GEP -FCST_SERIES_ANALYSIS_INPUT_TEMPLATE = gen_ens_prod_{init?fmt=%Y%m}_ens.nc - -OBS_SERIES_ANALYSIS_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool -OBS_SERIES_ANALYSIS_INPUT_TEMPLATE = ghcn_cams.1x1.1982-2020.mon.nc +SERIES_ANALYSIS_OUTPUT_STATS_CNT = TOTAL, FBAR, FSTDEV +SERIES_ANALYSIS_BLOCK_SIZE = 0 -SERIES_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/SA_run2 -SERIES_ANALYSIS_OUTPUT_TEMPLATE = {INIT_BEG}to{INIT_END}_CFSv2_SA.nc ### -# Field Info for SeriesAnalysis run_two +# GenEnsProd Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#genensprod ### -# -#These first entries are empty to override the intial SeriesAnalysis call -#SERIES_ANALYSIS_CUSTOM_LOOP_LIST = -#BOTH_SERIES_ANALYSIS_VAR1_NAME = -#BOTH_SERIES_ANALYSIS_VAR1_LEVELS = +GEN_ENS_PROD_NORMALIZE = CLIMO_STD_ANOM -FCST_SERIES_ANALYSIS_VAR1_NAME = fcst_0_0_all_all_ENS_FREQ_lt-0.43 -FCST_SERIES_ANALYSIS_VAR1_LEVELS = "(*,*)" +GEN_ENS_PROD_ENS_THRESH = 0.3 +GEN_ENS_PROD_VLD_THRESH = 0.3 -FCST_CAT_THRESH = ==0.1 -FCST_IS_PROB = True +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_FREQUENCY = TRUE -OBS_SERIES_ANALYSIS_VAR1_NAME = tmp2m -OBS_SERIES_ANALYSIS_VAR1_LEVELS = "({init?fmt=%Y%m%d_%H%M%S},*,*)" -OBS_SERIES_ANALYSIS_CAT_THRESH = <=CDP33 +GEN_ENS_PROD_ENS_MEMBER_IDS = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 -OBS_FILE_TYPE = NETCDF_NCCF ### -# SeriesAnalysis General for run_two +# SeriesAnalysis(run_two) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#seriesanalysis ### +[run_two] + SERIES_ANALYSIS_REGRID_TO_GRID = FCST SERIES_ANALYSIS_OUTPUT_STATS_PSTD = TOTAL, BRIER, RELIABILITY, BRIERCL, BSS SERIES_ANALYSIS_VLD_THRESH = 0.5 SERIES_ANALYSIS_BLOCK_SIZE = 0 -SERIES_ANALYSIS_CLIMO_MEAN_FILE_NAME = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool/ghcn_cams.1x1.1982-2010.mon.clim.nc -SERIES_ANALYSIS_CLIMO_MEAN_FIELD = {name="clim"; level="(0,*,*)";} -SERIES_ANALYSIS_CLIMO_MEAN_FILE_TYPE = NETCDF_NCCF - - -SERIES_ANALYSIS_CLIMO_STDEV_FILE_NAME = {INPUT_BASE}/model_applications/s2s/SeriesAnalysis_fcstCFSv2_obsGHCNCAMS_climoStandardized_MultiStatisticTool/ghcn_cams.1x1.1982-2010.mon.stddev.nc -SERIES_ANALYSIS_CLIMO_STDEV_FIELD = {name="stddev"; level="(0,*,*)";} -SERIES_ANALYSIS_CLIMO_STDEV_FILE_TYPE = NETCDF_NCCF SERIES_ANALYSIS_RUNTIME_FREQ = RUN_ONCE SERIES_ANALYSIS_RUN_ONCE_PER_STORM_ID = False + + +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### + +[config] + +GRID_STAT_OUTPUT_PREFIX = {init?fmt=%Y%m} + +GRID_STAT_REGRID_TO_GRID = FCST +GRID_STAT_OUTPUT_FLAG_PSTD = BOTH +GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE +GRID_STAT_NC_PAIRS_FLAG_RAW = TRUE diff --git a/parm/use_cases/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF.conf b/parm/use_cases/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF.conf index 591fcc51b5..5c02108948 100644 --- a/parm/use_cases/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF.conf +++ b/parm/use_cases/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF.conf @@ -1,48 +1,60 @@ [config] -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. -LOOP_ORDER = times +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# 'Tasks' to be run PROCESS_LIST = TCGen, UserScript -LOOP_BY = INIT -# The init time +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = INIT INIT_TIME_FMT = %Y INIT_BEG = 2016 -LOG_TC_GEN_VERBOSITY = 5 -LOG_LEVEL=INFO +LEAD_SEQ = -# optional list of strings to loop over and call the tool multiple times -# value of each item can be referenced in filename templates with {custom?fmt=%s} -TC_GEN_CUSTOM_LOOP_LIST = +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_FOR_EACH + +LOOP_ORDER = times -# I/O Configurations +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Location of input data directory for track data TC_GEN_TRACK_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF/obs/bdecks/{INIT_BEG} TC_GEN_TRACK_INPUT_TEMPLATE = *.dat -# Location of input data directory for genesis data TC_GEN_GENESIS_INPUT_DIR = {INPUT_BASE}/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF/fcst/tracker/reformat/{INIT_BEG} TC_GEN_GENESIS_INPUT_TEMPLATE = *.fort.66 -# directory to write output files generated by tc_gen TC_GEN_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF/TCGen TC_GEN_OUTPUT_TEMPLATE = tc_gen_{init?fmt=%Y} -# MET Configurations - -TC_GEN_CONFIG_FILE = {PARM_BASE}/met_config/TCGenConfig_wrapped - -# The following variables set values in the MET configuration file used by this example -# Leaving these values commented will use the value found in the default MET configuration file -# See the MET documentation for this tool for more information on the settings +### +# TCGen Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcgen +### TC_GEN_INIT_FREQ = 6 @@ -69,37 +81,12 @@ TC_GEN_GDF_FILTER_DESC = GDF TC_GEN_EARLY_FILTER_DESC = GDF_EARLY TC_GEN_LATE_FILTER_DESC = GDF_LATE -# TC_GEN_FILTER_ sets filter items in the MET configuration file -# quotation marks within quotation marks must be preceeded with \ TC_GEN_FILTER_1 = model = "{TC_GEN_FILTER_MODEL}"; desc = "{TC_GEN_GDF_FILTER_DESC}"; dev_hit_window = { beg = -24; end = 24; }; dev_hit_radius = 555; genesis_match_window = { beg = -24; end = 24;}; TC_GEN_FILTER_2 = model = "{TC_GEN_FILTER_MODEL}"; desc = "{TC_GEN_EARLY_FILTER_DESC}"; dev_hit_window = { beg = -120; end = 0; }; dev_hit_radius = 555; genesis_match_window = { beg = -120; end = 0;}; TC_GEN_FILTER_3 = model = "{TC_GEN_FILTER_MODEL}"; desc = "{TC_GEN_LATE_FILTER_DESC}"; dev_hit_window = { beg = 0; end = 120; }; dev_hit_radius = 555; genesis_match_window = { beg = 0; end = 120;}; TC_GEN_DESC = ALL -MODEL = - -TC_GEN_STORM_ID = - -TC_GEN_STORM_NAME = - -TC_GEN_INIT_BEG = -TC_GEN_INIT_END = -TC_GEN_INIT_INC = -TC_GEN_INIT_EXC = - -TC_GEN_VALID_BEG = -TC_GEN_VALID_END = - -TC_GEN_INIT_HOUR = - -# sets METPLUS_LEAD in the wrapped MET config file -LEAD_SEQ = - -TC_GEN_VX_MASK = - -TC_GEN_BASIN_MASK = - TC_GEN_DLAND_THRESH = NA TC_GEN_GENESIS_MATCH_RADIUS = 555 @@ -152,11 +139,15 @@ TC_GEN_BASIN_FILE = MET_BASE/tc_data/basin_global_tenth_degree.nc TC_GEN_NC_PAIRS_GRID = G003 -USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_FOR_EACH -USER_SCRIPT_INPUT_TEMPLATE = {TC_GEN_OUTPUT_DIR}/tc_gen_{init?fmt=%Y}_pairs.nc +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### -USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF/UserScript_fcstGFSO_obsBDECKS_GDF_TDF.py {USER_SCRIPT_INPUT_TEMPLATE} +USER_SCRIPT_INPUT_TEMPLATE = {TC_GEN_OUTPUT_DIR}/tc_gen_{init?fmt=%Y}_pairs.nc +SCRIPT_DIR = {PARM_BASE}/use_cases/model_applications/s2s/TCGen_fcstGFSO_obsBDECKS_GDF_TDF +USER_SCRIPT_COMMAND = {SCRIPT_DIR}/UserScript_fcstGFSO_obsBDECKS_GDF_TDF.py {USER_SCRIPT_INPUT_TEMPLATE} [user_env_vars] TCGEN_INIT_FREQ = {TC_GEN_INIT_FREQ} diff --git a/parm/use_cases/model_applications/s2s/UserScript_obsERA_obsOnly_Stratosphere.conf b/parm/use_cases/model_applications/s2s/UserScript_obsERA_obsOnly_Stratosphere.conf index ced3ba8e79..86c4e5264a 100644 --- a/parm/use_cases/model_applications/s2s/UserScript_obsERA_obsOnly_Stratosphere.conf +++ b/parm/use_cases/model_applications/s2s/UserScript_obsERA_obsOnly_Stratosphere.conf @@ -1,54 +1,51 @@ - [config] -# time looping - options are INIT, VALID, RETRO, and REALTIME +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s/UserScript_obsERA_obsOnly_Stratosphere.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = UserScript + + +### +# Time Info +# LOOP_BY 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 = REALTIME - -# %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 -VALID_TIME_FMT = %Y%m%d%H - -# BLank for this usecase but the parameter still needs to be there -VALID_BEG = - -# BLank for this usecase but the parameter still needs to be there -VALID_END = - -# BLank for this usecase but the parameter still needs to be there -VALID_INCREMENT = - -# 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 = - -# 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = REALTIME + +VALID_TIME_FMT = %Y +VALID_BEG = 2013 + +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE + LOOP_ORDER = processes -PROCESS_LIST = UserScript -USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/s2s/UserScript_obsERA_obsOnly_Stratosphere/meridonial_mean.py - [user_env_vars] INPUT_FILE_NAME = {INPUT_BASE}/model_applications/s2s/UserScript_obsERA_obsOnly_Stratosphere/SSWC_v1.0_varFull_ERAi_d20130106_s20121107_e20130307_c20160701.nc YAML_CONFIG_NAME = {METPLUS_BASE}/parm/use_cases/model_applications/s2s/UserScript_obsERA_obsOnly_Stratosphere/meridonial_mean.yaml - LOG_FILE = "Meridonial_means.log" LOG_LEVEL = "INFO" diff --git a/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot.conf b/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot.conf index 44a433f6c5..0723f90fa7 100644 --- a/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot.conf +++ b/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + # Note: time looping is not used in this use case LOOP_BY = REALTIME VALID_TIME_FMT = %Y @@ -9,8 +32,13 @@ VALID_BEG = 2020 USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE -USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot/cross_spectra_plot.py +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + +USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot/cross_spectra_plot.py [user_env_vars] @@ -26,4 +54,4 @@ METPLOTPY_BASE = {METPLUS_BASE}/METplotpy YAML_CONFIG_NAME = {METPLUS_BASE}/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot/spectra_plot.yaml -OUTPUT_DIR = {OUTPUT_BASE}/plots/ +OUTPUT_DIR = {OUTPUT_BASE}/plots diff --git a/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_Hovmoeller.conf b/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_Hovmoeller.conf index ed4ef9111b..ac838c5f42 100644 --- a/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_Hovmoeller.conf +++ b/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_Hovmoeller.conf @@ -1,13 +1,42 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s/UserScript_obsPrecip_obsOnly_Hovmoeller.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = REALTIME VALID_TIME_FMT = %Y VALID_BEG = 2014 USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE + +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_Hovmoeller/hovmoeller_diagram.py diff --git a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf index d3b346a661..5789aee358 100644 --- a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf +++ b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf @@ -1,220 +1,173 @@ -# UserScript wrapper example - [config] -# List of applications to run - Pre-Processing and Blocking Script -# PROCESS_LIST = RegridDataPlane(regrid_fcst), RegridDataPlane(regrid_obs), PcpCombine(daily_mean_fcst), PcpCombine(daily_mean_obs), PcpCombine(running_mean_obs), PcpCombine(anomaly_obs), UserScript(create_cbl_filelist), UserScript(script_blocking), StatAnalysis(sanal_ibls), StatAnalysis(sanal_blocks) -# List of applications to run - Omit Pre-Processing Steps + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript(create_cbl_filelist), UserScript(script_blocking), StatAnalysis(sanal_ibls), StatAnalysis(sanal_blocks) -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 2000120100 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2017022800 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 86400 -# 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 = 0 # Only Process DJF SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:0229" -# 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 = processes -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mid_lat + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### OBS_ANOM_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Anomaly OBS_ANOM_INPUT_TEMPLATE = Z500_anomaly_{valid?fmt=%Y%m%d}_NH.nc + OBS_ANOM_OUTPUT_DIR = {OBS_ANOM_INPUT_DIR} OBS_ANOM_OUTPUT_TEMPLATE = ERA_anom_files_lead{lead?fmt=%HHH}.txt OBS_AVE_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Daily OBS_AVE_INPUT_TEMPLATE = Z500_daily_{valid?fmt=%Y%m%d}_NH.nc + OBS_AVE_OUTPUT_DIR = {OBS_AVE_INPUT_DIR} OBS_AVE_OUTPUT_TEMPLATE = ERA_daily_files_lead{lead?fmt=%HHH}.txt FCST_AVE_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/GFS/Daily FCST_AVE_INPUT_TEMPLATE = Z500_daily_{init?fmt=%Y%m%d}_{lead?fmt=%HHH}_NH.nc + FCST_AVE_OUTPUT_DIR = {FCST_AVE_INPUT_DIR} FCST_AVE_OUTPUT_TEMPLATE = GFS_daily_files_lead{lead?fmt=%HHH}.txt +### +# RegridDataPlane(regrid_fcst) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + # Forecast Regridding to 1 degree using regrid_data_plane [regrid_fcst] -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = INIT -# Format of INIT_BEG and INIT_END +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run INIT_BEG = 2000120100 - -# End time for METplus run INIT_END = 2017022800 - -# Increment between METplus runs in seconds. Must be >= 60 INIT_INCREMENT = 86400 -# list of forecast leads to process LEAD_SEQ = 24 # REGRID_DATA_PLANE (Step 1) -# Run regrid_data_plane on forecast data + FCST_REGRID_DATA_PLANE_RUN = True -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified FCST_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process FCST_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = Z500 - -# Level of input field to process FCST_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = P500 - -# Name of output field to create FCST_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = Z500 -# Mask to use for regridding REGRID_DATA_PLANE_VERIF_GRID = latlon 360 90 89 0 -1.0 1.0 -# Method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = BILIN -# Regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 -# input and output data directories for each application in PROCESS_LIST FCST_REGRID_DATA_PLANE_INPUT_DIR = /gpfs/fs1/p/ral/jntp/GMTB/Phys_Test_FV3GFSv2/POST/suite1/ FCST_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/FV3GFS/Regrid -# format of filenames -# Input ERA Interim FCST_REGRID_DATA_PLANE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/gfs.t00z.pgrb2.0p25.f{lead?fmt=%HHH} FCST_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/Z500_3hourly_{init?fmt=%Y%m%d%H}_{lead?fmt=%HHH}_NH.nc +### +# RegridDataPlane(regrid_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + # Observation Regridding to 1 degree using regrid_data_plane [regrid_obs] -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID -# Format of INIT_BEG and INIT_END +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 1979120100 - -# End time for METplus run VALID_END = 2017022818 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 21600 -# list of forecast leads to process LEAD_SEQ = 0 -# Run regrid_data_plane on forecast data OBS_REGRID_DATA_PLANE_RUN = True -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified OBS_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = Z - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = P500 - -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = Z500 -# Mask to use for regridding REGRID_DATA_PLANE_VERIF_GRID = latlon 360 90 89 0 -1.0 1.0 -# Method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = BILIN -# Regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = /gpfs/fs1/collections/rda/data/ds627.0/ei.oper.an.pl OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Regrid -# format of filenames -# Input ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = {valid?fmt=%Y%m}/ei.oper.an.pl.regn128sc.{valid?fmt=%Y%m%d%H} OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/Z500_6hourly_{init?fmt=%Y%m%d%H}_NH.nc +### +# PCPCombine(daily_mean_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Perform a sum over the 4 daily times that have been regridded using pcp_combine # 00, 06, 12, 18 UTC [daily_mean_obs] -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID -# Format of INIT_BEG and INIT_END +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 1979120118 - -# End time for METplus run VALID_END = 2017022818 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = True -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, and DERIVE OBS_PCP_COMBINE_METHOD = DERIVE OBS_PCP_COMBINE_STAT_LIST = MEAN -# field name and level of 1 hr accumulation in forecast files OBS_PCP_COMBINE_INPUT_ACCUMS = 6 OBS_PCP_COMBINE_INPUT_NAMES = Z500 OBS_PCP_COMBINE_INPUT_LEVELS = "(*,*)" OBS_PCP_COMBINE_INPUT_OPTIONS = convert(x) = x / 9.81; set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S?shift=-64800}"; -# Convert output and set 24 hours as the accumulation OBS_PCP_COMBINE_OUTPUT_NAME = Z500 OBS_PCP_COMBINE_OUTPUT_ACCUM = 24 OBS_PCP_COMBINE_DERIVE_LOOKBACK = 24 -# input and output data directories for each application in PROCESS_LIST OBS_PCP_COMBINE_INPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Regrid OBS_PCP_COMBINE_OUTPUT_DIR = {OBS_AVE_INPUT_DIR} @@ -223,102 +176,87 @@ OBS_PCP_COMBINE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/Z500_6hourly_{valid?fmt=%Y%m OBS_PCP_COMBINE_OUTPUT_TEMPLATE = {OBS_AVE_INPUT_TEMPLATE} +### +# PCPCombine(running_mean_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Perform a 5 day running mean on the data using pcp_combine [running_mean_obs] -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID -# Format of INIT_BEG and INIT_END +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 1979120100 - -# End time for METplus run VALID_END = 2017022800 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 # Add the first/last 2 days to the skip times to compute the running mean SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:1201,1202,0227,0228,0229" -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = TRUE - -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, and DERIVE OBS_PCP_COMBINE_METHOD = DERIVE + OBS_PCP_COMBINE_STAT_LIST = MEAN -# field name, level and setting time attribute of 1 hr accumulation in forecast files OBS_PCP_COMBINE_INPUT_ACCUMS = 24 OBS_PCP_COMBINE_INPUT_NAMES = Z500 OBS_PCP_COMBINE_INPUT_LEVELS = "(*,*)" OBS_PCP_COMBINE_INPUT_OPTIONS = set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S?shift=-172800}"; -# Set output variable name OBS_PCP_COMBINE_OUTPUT_NAME = Z500 # Running mean is 5 days OBS_PCP_COMBINE_OUTPUT_ACCUM = 120 OBS_PCP_COMBINE_DERIVE_LOOKBACK = 120 -# input and output data directories for each application in PROCESS_LIST + OBS_PCP_COMBINE_INPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Daily OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Rmean5d -# format of filenames -# Input ERA Interim OBS_PCP_COMBINE_INPUT_TEMPLATE = Z500_daily_{valid?fmt=%Y%m%d}_NH.nc OBS_PCP_COMBINE_OUTPUT_TEMPLATE = Z500_5daymean_{valid?fmt=%Y%m%d?shift=-172800}_NH.nc +### +# PCPCombine(anomaly_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Compute anomalies using the daily means and 5 day running mean using pcp_combine [anomaly_obs] -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID -# Format of INIT_BEG and INIT_END +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 1979120100 - -# End time for METplus run VALID_END = 2017022800 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# list of forecast leads to process LEAD_SEQ = 0 # Add the first/last 2 days to the skip times to compute the running mean SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:1201,1202,0227,0228,0229" -# run pcp_combine on obs data -OBS_PCP_COMBINE_RUN = True -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED +OBS_PCP_COMBINE_RUN = True OBS_PCP_COMBINE_METHOD = USER_DEFINED -# User defined pcp_combine command OBS_PCP_COMBINE_COMMAND = -subtract {OBS_PCP_COMBINE_INPUT_DIR}/Daily/Z500_daily_{valid?fmt=%Y%m%d}_NH.nc {OBS_PCP_COMBINE_INPUT_DIR}/Rmean5d/Z500_5daymean_{valid?fmt=%Y%m%d}_NH.nc -field 'name="Z500"; level="(*,*)";' -# input and output data directories for each application in PROCESS_LIST OBS_PCP_COMBINE_INPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA OBS_PCP_COMBINE_OUTPUT_DIR = {OBS_ANOM_INPUT_DIR} -# format of filenames -# Input ERA Interim OBS_PCP_COMBINE_INPUT_TEMPLATE = Z500_daily_{valid?fmt=%Y%m%d}_NH.nc OBS_PCP_COMBINE_OUTPUT_TEMPLATE = {OBS_ANOM_INPUT_TEMPLATE} +### +# UserScript(create_cbl_filelist) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # This is run separately since it has different start/end times [create_cbl_filelist] + # Skip the days on the edges that are not available due to the running mean SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:1201,0229" @@ -331,7 +269,6 @@ VALID_END = 2017022800 VALID_INCREMENT = 86400 LEAD_SEQ = 0 -# Template of filenames to input to the user-script USER_SCRIPT_INPUT_TEMPLATE = {INPUT_BASE}/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Anomaly/Z500_anomaly_{valid?fmt=%Y%m%d}_NH.nc # Name of the file containing the listing of input files @@ -424,6 +361,11 @@ IBL_PLOT_OBS_LABEL = ERA Reanalysis IBL_PLOT_FCST_LABEL = GEFS +### +# UserScript(script_blocking) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Run the Blocking Analysis Script [script_blocking] # Timing Information @@ -447,28 +389,21 @@ USER_SCRIPT_INPUT_TEMPLATE_LABELS = OBS_IBL_INPUT, FCST_IBL_INPUT USER_SCRIPT_COMMAND = {METPLUS_BASE}/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/Blocking_driver.py +### +# StatAnalysis(sanal_ibls) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis +### + # Stat Analysis for the IBLs [sanal_ibls] -# Format of VALID_BEG and VALID_END using % items -# Note, you cannot have hour, minutes, or seconds here -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d expands to YYYYMMDD -VALID_TIME_FMT = %Y%m%d -# Start time for METplus run - must match VALID_TIME_FMT +VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001201 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20170228 MODEL1 = GFS MODEL1_OBTYPE = ADPUPA -# Location of MET config file to pass to StatAnalysis -# References CONFIG_DIR from the [dir] section -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped - # stat_analysis job info STAT_ANALYSIS_JOB_NAME = aggregate_stat # if using -dump_row, put in JOBS_ARGS "-dump_row [dump_row_file]" @@ -476,106 +411,47 @@ STAT_ANALYSIS_JOB_NAME = aggregate_stat # METplus will fill in filename STAT_ANALYSIS_JOB_ARGS = -out_line_type CTS -out_thresh ==1 -out_stat [out_stat_file] -# Optional variables for further filtering -# can be blank, single, or multiple values -# if more than one use comma separated list -# -# (FCST)(OBS)_(VALID)(INIT)_HOUR_LIST: HH format (ex. 00, 06, 12) -# (FCST)(OBS)_LEAD_LIST: HH[H][MMSS] format (ex. 00, 06, 120) MODEL_LIST = {MODEL1} FCST_LEAD_LIST = 24 LINE_TYPE_LIST = MPR -# how to treat items listed in above _LIST variables -# GROUP_LIST_ITEMS: items listed in a given _LIST variable -# will be grouped together -# LOOP_LIST_ITEMS: items listed in a give _LIST variable -# will be looped over -# if not listed METplus will treat the list as a group + GROUP_LIST_ITEMS = MODEL_LIST LOOP_LIST_ITEMS = FCST_LEAD_LIST MODEL1_STAT_ANALYSIS_LOOKIN_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/mpr/IBL -# Output data directory STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking -CONFIG_DIR = {PARM_BASE}/met_config - -# Optional settings to create templated directory and file name information -# to save files as stat_analysis output as, this is appended to STAT_ANALYSIS_OUTPUT_DIR -# if no template is provided a default filename set in the code will be used -# Use: -# string templates can be set for all the lists being looped over, just -# use and a lower case version of the list, ex. {fcst_valid_hour?fmt=%H} -# or {fcst_var?fmt=%s} -# For looping over models: -# can set MODELn_STAT_ANALYSIS_[DUMP_ROW/OUT_STAT]_TEMPLATE for individual models -# or STAT_ANALYSIS_[DUMP_ROW/OUT_STAT] with {model?fmt=%s} MODEL1_STAT_ANALYSIS_OUT_STAT_TEMPLATE = {model?fmt=%s}_ERA_IBLS_{lead?fmt=%H%M%S}L_CTS_CNT.stat +### +# StatAnalysis(sanal_blocks) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis +### + # Stat Analysis for the Blocks [sanal_blocks] -# Format of VALID_BEG and VALID_END using % items -# Note, you cannot have hour, minutes, or seconds here -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d expands to YYYYMMDD -VALID_TIME_FMT = %Y%m%d -# Start time for METplus run - must match VALID_TIME_FMT +VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001201 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20170228 MODEL1 = GFS MODEL1_OBTYPE = ADPUPA -# Location of MET config file to pass to StatAnalysis -# References CONFIG_DIR from the [dir] section -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped - -# stat_analysis job info STAT_ANALYSIS_JOB_NAME = aggregate_stat -# if using -dump_row, put in JOBS_ARGS "-dump_row [dump_row_file]" -# if using -out_stat, put in JOBS_ARGS "-out_stat [out_stat_file]" -# METplus will fill in filename STAT_ANALYSIS_JOB_ARGS = -out_line_type CTS -out_thresh ==1 -out_stat [out_stat_file] -# Optional variables for further filtering -# can be blank, single, or multiple values -# if more than one use comma separated list -# -# (FCST)(OBS)_(VALID)(INIT)_HOUR_LIST: HH format (ex. 00, 06, 12) -# (FCST)(OBS)_LEAD_LIST: HH[H][MMSS] format (ex. 00, 06, 120) MODEL_LIST = {MODEL1} FCST_LEAD_LIST = 24 LINE_TYPE_LIST = MPR -# how to treat items listed in above _LIST variables -# GROUP_LIST_ITEMS: items listed in a given _LIST variable -# will be grouped together -# LOOP_LIST_ITEMS: items listed in a give _LIST variable -# will be looped over -# if not listed METplus will treat the list as a group + GROUP_LIST_ITEMS = MODEL_LIST LOOP_LIST_ITEMS = FCST_LEAD_LIST MODEL1_STAT_ANALYSIS_LOOKIN_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/mpr/Blocks -# Output data directory STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking -CONFIG_DIR = {PARM_BASE}/met_config - -# Optional settings to create templated directory and file name information -# to save files as stat_analysis output as, this is appended to STAT_ANALYSIS_OUTPUT_DIR -# if no template is provided a default filename set in the code will be used -# Use: -# string templates can be set for all the lists being looped over, just -# use and a lower case version of the list, ex. {fcst_valid_hour?fmt=%H} -# or {fcst_var?fmt=%s} -# For looping over models: -# can set MODELn_STAT_ANALYSIS_[DUMP_ROW/OUT_STAT]_TEMPLATE for individual models -# or STAT_ANALYSIS_[DUMP_ROW/OUT_STAT] with {model?fmt=%s} MODEL1_STAT_ANALYSIS_OUT_STAT_TEMPLATE = {model?fmt=%s}_ERA_Blocks_{lead?fmt=%H%M%S}L_CTS.stat diff --git a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf index 5a69011610..8562bdc98e 100644 --- a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf +++ b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf @@ -1,82 +1,69 @@ -# UserScript wrapper for Weather Regime Analysis [config] + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + # All steps, including pre-processing: # PROCESS_LIST = RegridDataPlane(regrid_obs), PcpCombine(daily_mean_obs), UserScript(script_wr), StatAnalysis(sanal_wrclass), StatAnalysis(sanal_wrfreq) # Weather Regime Analysis and stat_analysis: + PROCESS_LIST = UserScript(script_wr), StatAnalysis(sanal_wrclass), StatAnalysis(sanal_wrfreq) -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT #VALID_BEG = 1979120100 VALID_BEG = 2000120100 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2017022800 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 86400 -# 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 = 0 # Only Process DJF SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:1201,0229" -# 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 = processes -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mid_lat +### +# RegridDataPlane(regrid_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### # Regridding Pre-Processing Step [regrid_obs] -# Start time for METplus run - must match VALID_TIME_FMT -VALID_BEG = 2000120200 -# End time for METplus run - must match VALID_TIME_FMT +VALID_BEG = 2000120200 VALID_END = 2017022818 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 21600 # REGRID_DATA_PLANE (Pre Processing Step 1), currently turned off # Run regrid_data_plane on forecast data OBS_REGRID_DATA_PLANE_RUN = True -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified OBS_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = Z - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = P500 - -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = Z500 # Mask to use for regridding @@ -90,33 +77,30 @@ REGRID_DATA_PLANE_METHOD = BILIN # Regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/OrigData OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/Regrid -# format of filenames -# Input and output ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = {valid?fmt=%Y%m}/ei.oper.an.pl.regn128sc.{valid?fmt=%Y%m%d%H} OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/Z500_6hourly_{init?fmt=%Y%m%d%H}_NH.nc +### +# PCPCombine(daily_mean_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Daily Mean Pre-Processing Step [daily_mean_obs] -# Start time for METplus run -VALID_BEG = 2000120218 -# End time for METplus run +VALID_BEG = 2000120218 VALID_END = 2017022818 -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = True -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED + OBS_PCP_COMBINE_METHOD = DERIVE OBS_PCP_COMBINE_STAT_LIST = MEAN -# field name and level of 1 hr accumulation in forecast files OBS_PCP_COMBINE_INPUT_ACCUMS = 6 OBS_PCP_COMBINE_INPUT_NAMES = Z500 OBS_PCP_COMBINE_INPUT_LEVELS = "(*,*)" @@ -129,11 +113,9 @@ OBS_PCP_COMBINE_DERIVE_LOOKBACK = 24 # Name output variable Z500 OBS_PCP_COMBINE_OUTPUT_NAME = Z500 -# input and output data directories for each application in PROCESS_LIST OBS_PCP_COMBINE_INPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/Regrid OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/Daily -# Input ERA Interim OBS_PCP_COMBINE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/Z500_6hourly_{valid?fmt=%Y%m%d%H}_NH.nc OBS_PCP_COMBINE_OUTPUT_TEMPLATE = Z500_daily_{valid?fmt=%Y%m%d?shift=-64800}_NH.nc @@ -227,12 +209,16 @@ MASK_NAME = FULL WR_MPR_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/mpr +### +# UserScript(script_wr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Run the Weather Regime Script [script_wr] -# Timing Information + LEAD_SEQ = 24 -# Run the user script once USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD # Template of filenames to input to the user-script @@ -248,133 +234,63 @@ USER_SCRIPT_INPUT_TEMPLATE_LABELS = OBS_INPUT, FCST_INPUT USER_SCRIPT_COMMAND = {METPLUS_BASE}/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/WeatherRegime_driver.py +### +# StatAnalysis(sanal_wrclass) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis +### + [sanal_wrclass] -# Format of VALID_BEG and VALID_END using % items -# Note, you cannot have hour, minutes, or seconds here -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d expands to YYYYMMDD -VALID_TIME_FMT = %Y%m%d -# Start time for METplus run - must match VALID_TIME_FMT +VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001202 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20170228 MODEL1 = GFS MODEL1_OBTYPE = ADPUPA -# Location of MET config file to pass to StatAnalysis -# References CONFIG_DIR from the [dir] section -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped - -# stat_analysis job info STAT_ANALYSIS_JOB_NAME = aggregate_stat -# if using -dump_row, put in JOBS_ARGS "-dump_row [dump_row_file]" -# if using -out_stat, put in JOBS_ARGS "-out_stat [out_stat_file]" -# METplus will fill in filename STAT_ANALYSIS_JOB_ARGS = -out_line_type MCTS -out_thresh >=1,>=2,>=3,>=4,>=5 -out_stat [out_stat_file] -# Optional variables for further filtering -# can be blank, single, or multiple values -# if more than one use comma separated list -# -# (FCST)(OBS)_(VALID)(INIT)_HOUR_LIST: HH format (ex. 00, 06, 12) -# (FCST)(OBS)_LEAD_LIST: HH[H][MMSS] format (ex. 00, 06, 120) MODEL_LIST = {MODEL1} FCST_LEAD_LIST = 24 LINE_TYPE_LIST = MPR -# how to treat items listed in above _LIST variables -# GROUP_LIST_ITEMS: items listed in a given _LIST variable -# will be grouped together -# LOOP_LIST_ITEMS: items listed in a give _LIST variable -# will be looped over -# if not listed METplus will treat the list as a group + GROUP_LIST_ITEMS = MODEL_LIST LOOP_LIST_ITEMS = FCST_LEAD_LIST MODEL1_STAT_ANALYSIS_LOOKIN_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/mpr/WeatherRegime -# Output data directory STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime -CONFIG_DIR = {PARM_BASE}/met_config - -# Optional settings to create templated directory and file name information -# to save files as stat_analysis output as, this is appended to STAT_ANALYSIS_OUTPUT_DIR -# if no template is provided a default filename set in the code will be used -# Use: -# string templates can be set for all the lists being looped over, just -# use and a lower case version of the list, ex. {fcst_valid_hour?fmt=%H} -# or {fcst_var?fmt=%s} -# For looping over models: -# can set MODELn_STAT_ANALYSIS_[DUMP_ROW/OUT_STAT]_TEMPLATE for individual models -# or STAT_ANALYSIS_[DUMP_ROW/OUT_STAT] with {model?fmt=%s} MODEL1_STAT_ANALYSIS_OUT_STAT_TEMPLATE = {model?fmt=%s}_ERA_WRClass_{lead?fmt=%H%M%S}L_MCTS.stat +### +# StatAnalysis(sanal_wrfreq) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis +### + [sanal_wrfreq] -# Format of VALID_BEG and VALID_END using % items -# Note, you cannot have hour, minutes, or seconds here -# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. -# see www.strftime.org for more information -# %Y%m%d expands to YYYYMMDD -VALID_TIME_FMT = %Y%m%d -# Start time for METplus run - must match VALID_TIME_FMT +VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001202 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 20170228 MODEL1 = GFS MODEL1_OBTYPE = ADPUPA -# Location of MET config file to pass to StatAnalysis -# References CONFIG_DIR from the [dir] section -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped - -# stat_analysis job info STAT_ANALYSIS_JOB_NAME = aggregate_stat -# if using -dump_row, put in JOBS_ARGS "-dump_row [dump_row_file]" -# if using -out_stat, put in JOBS_ARGS "-out_stat [out_stat_file]" -# METplus will fill in filename STAT_ANALYSIS_JOB_ARGS = -out_line_type CNT -by DESC -out_stat [out_stat_file] -# Optional variables for further filtering -# can be blank, single, or multiple values -# if more than one use comma separated list -# -# (FCST)(OBS)_(VALID)(INIT)_HOUR_LIST: HH format (ex. 00, 06, 12) -# (FCST)(OBS)_LEAD_LIST: HH[H][MMSS] format (ex. 00, 06, 120) MODEL_LIST = {MODEL1} FCST_LEAD_LIST = 24 LINE_TYPE_LIST = MPR -# how to treat items listed in above _LIST variables -# GROUP_LIST_ITEMS: items listed in a given _LIST variable -# will be grouped together -# LOOP_LIST_ITEMS: items listed in a give _LIST variable -# will be looped over -# if not listed METplus will treat the list as a group + GROUP_LIST_ITEMS = MODEL_LIST LOOP_LIST_ITEMS = FCST_LEAD_LIST MODEL1_STAT_ANALYSIS_LOOKIN_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/mpr/freq -# Output data directory STAT_ANALYSIS_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime -CONFIG_DIR = {PARM_BASE}/met_config - -# Optional settings to create templated directory and file name information -# to save files as stat_analysis output as, this is appended to STAT_ANALYSIS_OUTPUT_DIR -# if no template is provided a default filename set in the code will be used -# Use: -# string templates can be set for all the lists being looped over, just -# use and a lower case version of the list, ex. {fcst_valid_hour?fmt=%H} -# or {fcst_var?fmt=%s} -# For looping over models: -# can set MODELn_STAT_ANALYSIS_[DUMP_ROW/OUT_STAT]_TEMPLATE for individual models -# or STAT_ANALYSIS_[DUMP_ROW/OUT_STAT] with {model?fmt=%s} MODEL1_STAT_ANALYSIS_OUT_STAT_TEMPLATE = {model?fmt=%s}_ERA_WR_freq_{lead?fmt=%H%M%S}L_CNT.stat diff --git a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_Blocking.conf b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_Blocking.conf index 1b35aa2e51..0b4a32cca6 100644 --- a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_Blocking.conf +++ b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_Blocking.conf @@ -1,155 +1,136 @@ -# UserScript wrapper example - [config] + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_Blocking.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + # All steps, including pre-processing: # PROCESS_LIST = RegridDataPlane(regrid_obs), PcpCombine(daily_mean_obs), PcpCombine(running_mean_obs), PcpCombine(anomaly_obs), UserScript(script_blocking) # Only Blocking Analysis script for the observations + PROCESS_LIST = UserScript(script_blocking) -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 1979120100 - -# End time for METplus run VALID_END = 2017022800 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# 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 = 0 # Only Process DJF SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:0229" -# 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 = processes -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mid_lat # Run the obs data # A variable set to be used in the pre-processing steps OBS_RUN = True +### +# RegridDataPlane(regrid_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + # Regrid the observations to 1 degree using regrid_data_plane [regrid_obs] -# End time for METplus run -VALID_END = 2017022818 -# Increment between METplus runs in seconds. Must be >= 60 +VALID_END = 2017022818 VALID_INCREMENT = 21600 -# Run regrid_data_plane on forecast data OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified OBS_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = Z - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = P500 - -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = Z500 -# Mask to use for regridding REGRID_DATA_PLANE_VERIF_GRID = latlon 360 90 89 0 -1.0 1.0 -# Method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = BILIN -# Regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = /gpfs/fs1/collections/rda/data/ds627.0/ei.oper.an.pl OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Regrid -# format of filenames -# Input ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = {valid?fmt=%Y%m}/ei.oper.an.pl.regn128sc.{valid?fmt=%Y%m%d%H} OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/Z500_6hourly_{init?fmt=%Y%m%d%H}_NH.nc +### +# PCPCombine(daily_mean_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Perform a sum over the 4 daily times that have been regridded using pcp_combine # 00, 06, 12, 18 UTC [daily_mean_obs] -# Start time for METplus run -VALID_BEG = 1979120118 -# End time for METplus run +VALID_BEG = 1979120118 VALID_END = 2017022818 -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = {OBS_RUN} -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED OBS_PCP_COMBINE_METHOD = DERIVE OBS_PCP_COMBINE_STAT_LIST = MEAN -# field name and level of 1 hr accumulation in forecast files OBS_PCP_COMBINE_INPUT_ACCUMS = 6 OBS_PCP_COMBINE_INPUT_NAMES = Z500 OBS_PCP_COMBINE_INPUT_LEVELS = "(*,*)" OBS_PCP_COMBINE_INPUT_OPTIONS = convert(x) = x / 9.81; set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S?shift=-64800}"; -# Convert output and set 24 hours as the accumulation OBS_PCP_COMBINE_OUTPUT_ACCUM = 24 OBS_PCP_COMBINE_DERIVE_LOOKBACK = 24 -# Name output variable Z500 OBS_PCP_COMBINE_OUTPUT_NAME = Z500 -# Input and output Data directories for each application in PROCESS_LIST OBS_PCP_COMBINE_INPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Regrid OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Daily -# Input and Output filename templates, ERA Interim OBS_PCP_COMBINE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/Z500_6hourly_{valid?fmt=%Y%m%d%H}_NH.nc OBS_PCP_COMBINE_OUTPUT_TEMPLATE = Z500_daily_{valid?fmt=%Y%m%d?shift=-64800}_NH.nc +### +# PCPCombine(running_mean_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Perform a 5 day running mean on the data using pcp_combine + [running_mean_obs] + # Add the first/last 2 days to the skip times to compute the running mean SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:1201,1202,1203,1204,0229" -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = {OBS_RUN} -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED OBS_PCP_COMBINE_METHOD = DERIVE OBS_PCP_COMBINE_STAT_LIST = MEAN -# field name, level and setting time attribute of 1 hr accumulation in forecast files OBS_PCP_COMBINE_INPUT_ACCUMS = 24 OBS_PCP_COMBINE_INPUT_NAMES = Z500 OBS_PCP_COMBINE_INPUT_LEVELS = "(*,*)" @@ -159,40 +140,36 @@ OBS_PCP_COMBINE_INPUT_OPTIONS = set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S?shift OBS_PCP_COMBINE_OUTPUT_ACCUM = 120 OBS_PCP_COMBINE_DERIVE_LOOKBACK = 120 -# Set output variable name OBS_PCP_COMBINE_OUTPUT_NAME = Z500 -# input and output data directories for each application in PROCESS_LIST OBS_PCP_COMBINE_INPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Daily OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Rmean5d -# format of filenames -# Input ERA Interim OBS_PCP_COMBINE_INPUT_TEMPLATE = Z500_daily_{valid?fmt=%Y%m%d}_NH.nc OBS_PCP_COMBINE_OUTPUT_TEMPLATE = Z500_5daymean_{valid?fmt=%Y%m%d?shift=-172800}_NH.nc +### +# PCPCombine(anomaly_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Compute anomalies using the daily means and 5 day running mean using pcp_combine + [anomaly_obs] + # Add the first/last 2 days to the skip times to compute the running mean SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:1201,1202,0227,0228,0229" -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = {OBS_RUN} -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED OBS_PCP_COMBINE_METHOD = USER_DEFINED -# User defined pcp_combine command OBS_PCP_COMBINE_COMMAND = -subtract {OBS_PCP_COMBINE_INPUT_DIR}/Daily/Z500_daily_{valid?fmt=%Y%m%d}_NH.nc {OBS_PCP_COMBINE_INPUT_DIR}/Rmean5d/Z500_5daymean_{valid?fmt=%Y%m%d}_NH.nc -field 'name="Z500"; level="(*,*)";' -# input and output data directories for each application in PROCESS_LIST OBS_PCP_COMBINE_INPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking/ERA/Anomaly -# format of filenames -# Input ERA Interim OBS_PCP_COMBINE_INPUT_TEMPLATE = Z500_daily_{valid?fmt=%Y%m%d}_NH.nc OBS_PCP_COMBINE_OUTPUT_TEMPLATE = Z500_anomaly_{valid?fmt=%Y%m%d}_NH.nc @@ -264,12 +241,18 @@ OBS_BLOCKING_PLOT_TITLE = DJF ERA Blocking Frequency OBS_BLOCKING_PLOT_OUTPUT_NAME = ERA_Block_Freq_DJF +### +# UserScript(script_blocking) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Run the Blocking Analysis Script [script_blocking] + # Skip the days on the edges that are not available due to the running mean SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:1201,1202,0227,0228,0229" -# Run the user script once pler lead +# Run the user script once per lead USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD # Template of filenames to input to the user-script diff --git a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_WeatherRegime.conf b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_WeatherRegime.conf index 6f1a60d786..1d0583ea44 100644 --- a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_WeatherRegime.conf +++ b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_WeatherRegime.conf @@ -1,81 +1,69 @@ -# UserScript wrapper for Weather Regime Analysis [config] + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s_mid_lat/UserScript_obsERA_obsOnly_WeatherRegime.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + # All steps, including pre-processing: # PROCESS_LIST = RegridDataPlane(regrid_obs), PcpCombine(daily_mean_obs), UserScript(script_wr) # Weather Regime Analysis only: PROCESS_LIST = UserScript(script_wr) -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match VALID_TIME_FMT VALID_BEG = 1979120100 - -# End time for METplus run - must match VALID_TIME_FMT VALID_END = 2017022800 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 86400 -# 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 = 0 # Only Process DJF SKIP_TIMES = "%m:begin_end_incr(3,11,1)", "%m%d:0229" -# 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 +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD + LOOP_ORDER = processes -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mid_lat +### +# RegridDataPlane(regrid_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### # Regridding Pre-Processing Step [regrid_obs] -# Start time for METplus run - must match VALID_TIME_FMT -VALID_BEG = 1979120100 -# End time for METplus run - must match VALID_TIME_FMT +VALID_BEG = 1979120100 VALID_END = 2017022818 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 21600 # REGRID_DATA_PLANE (Pre Processing Step 1), currently turned off -# Run regrid_data_plane on forecast data + OBS_REGRID_DATA_PLANE_RUN = True -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified OBS_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = Z - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = P500 - -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = Z500 # Mask to use for regridding @@ -83,39 +71,33 @@ OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = Z500 # and 230 to 300 degrees longitude REGRID_DATA_PLANE_VERIF_GRID = latlon 71 31 54 230 -1.0 1.0 -# Method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = BILIN -# Regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 2 -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/OrigData OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/Regrid -# format of filenames -# Input and output ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = {valid?fmt=%Y%m}/ei.oper.an.pl.regn128sc.{valid?fmt=%Y%m%d%H} OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/Z500_6hourly_{init?fmt=%Y%m%d%H}_NH.nc +### +# PCPCombine(daily_mean_obs) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Daily Mean Pre-Processing Step [daily_mean_obs] -# Start time for METplus run -VALID_BEG = 1979120118 -# End time for METplus run +VALID_BEG = 1979120118 VALID_END = 2017022818 -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = True -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED OBS_PCP_COMBINE_METHOD = DERIVE OBS_PCP_COMBINE_STAT_LIST = MEAN -# field name and level of 1 hr accumulation in forecast files OBS_PCP_COMBINE_INPUT_ACCUMS = 6 OBS_PCP_COMBINE_INPUT_NAMES = Z500 OBS_PCP_COMBINE_INPUT_LEVELS = "(*,*)" @@ -125,14 +107,11 @@ OBS_PCP_COMBINE_INPUT_OPTIONS = convert(x) = x / 9.81; set_attr_valid = "{valid? OBS_PCP_COMBINE_OUTPUT_ACCUM = 24 OBS_PCP_COMBINE_DERIVE_LOOKBACK = 24 -# Name output variable Z500 OBS_PCP_COMBINE_OUTPUT_NAME = Z500 -# input and output data directories for each application in PROCESS_LIST OBS_PCP_COMBINE_INPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/Regrid OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/Daily -# Input ERA Interim OBS_PCP_COMBINE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/Z500_6hourly_{valid?fmt=%Y%m%d%H}_NH.nc OBS_PCP_COMBINE_OUTPUT_TEMPLATE = Z500_daily_{valid?fmt=%Y%m%d?shift=-64800}_NH.nc @@ -200,10 +179,13 @@ MASK_NAME = FULL WR_MPR_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/mpr +### +# UserScript(script_wr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Run the Weather Regime Script [script_wr] -# Run the user script once -USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD # Template of filenames to input to the user-script USER_SCRIPT_INPUT_TEMPLATE = {INPUT_BASE}/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime/ERA/Daily/Z500_daily_{valid?fmt=%Y%m%d}_NH.nc diff --git a/parm/use_cases/model_applications/s2s_mjo/UserScript_fcstGFS_obsERA_OMI.conf b/parm/use_cases/model_applications/s2s_mjo/UserScript_fcstGFS_obsERA_OMI.conf index 99fc2cc2a7..63fd483b91 100644 --- a/parm/use_cases/model_applications/s2s_mjo/UserScript_fcstGFS_obsERA_OMI.conf +++ b/parm/use_cases/model_applications/s2s_mjo/UserScript_fcstGFS_obsERA_OMI.conf @@ -1,63 +1,50 @@ -# OMI UserScript wrapper [config] + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s_mjo/UserScript_fcstGFS_obsERA_OMI.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + # All steps, including pre-processing: #PROCESS_LIST = PcpCombine(daily_mean_fcst), RegridDataPlane(regrid_obs_olr), RegridDataPlane(regrid_fcst_olr), UserScript(create_eof_filelist), UserScript(script_omi) # Finding EOF files and OMI Analysis script for the observations + PROCESS_LIST = UserScript(create_eof_filelist), UserScript(script_omi) -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 2017010100 - -# End time for METplus run VALID_END = 2018123100 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# 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 = 0 -# 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 = processes -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mjo +# variables referenced in other sections # Run the obs for these cases OBS_RUN = True FCST_RUN = True -# Mask to use for regridding -REGRID_DATA_PLANE_VERIF_GRID = latlon 144 17 -20 0 2.5 2.5 - -# Method to run regrid_data_plane, not setting this will default to NEAREST -REGRID_DATA_PLANE_METHOD = NEAREST - -# Regridding width used in regrid_data_plane, not setting this will default to 1 -REGRID_DATA_PLANE_WIDTH = 1 - # Input and Output Directories for the OBS OLR Files and output text file containing the file list OBS_OLR_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_fcstGFS_obsERA_OMI/ERA/Regrid OBS_OLR_INPUT_TEMPLATE = OLR_{valid?fmt=%Y%m%d}.nc @@ -67,13 +54,28 @@ FCST_OLR_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_fcstGFS_ FCST_OLR_INPUT_TEMPLATE = OLR_{valid?fmt=%Y%m%d}.nc +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + +REGRID_DATA_PLANE_VERIF_GRID = latlon 144 17 -20 0 2.5 2.5 + +REGRID_DATA_PLANE_METHOD = NEAREST + +REGRID_DATA_PLANE_WIDTH = 1 + + +### +# PCPCombine(daily_mean_fcst) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Configurations for pcp_combine: Create daily means for the GFS [daily_mean_fcst] -# run pcp_combine on obs data + FCST_PCP_COMBINE_RUN = {FCST_RUN} -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED FCST_PCP_COMBINE_METHOD = USER_DEFINED FCST_PCP_COMBINE_COMMAND = -derive mean {FCST_PCP_COMBINE_INPUT_DIR}/{valid?fmt=%Y}/{valid?fmt=%Y%m%d}/gfs.0p25.{valid?fmt=%Y%m%d%H}.f{lead?fmt=%HHH?shift=86400}.grib2 {FCST_PCP_COMBINE_INPUT_DIR}/{valid?fmt=%Y}/{valid?fmt=%Y%m%d}/gfs.0p25.{valid?fmt=%Y%m%d%H}.f{lead?fmt=%HHH?shift=75600}.grib2 {FCST_PCP_COMBINE_INPUT_DIR}/{valid?fmt=%Y}/{valid?fmt=%Y%m%d}/gfs.0p25.{valid?fmt=%Y%m%d%H}.f{lead?fmt=%HHH?shift=64800}.grib2 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y}/{init?fmt=%Y%m%d}/gfs.0p25.{init?fmt=%Y%m%d%H}.f{lead?fmt=%HHH?shift=54000}.grib2 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y}/{init?fmt=%Y%m%d}/gfs.0p25.{init?fmt=%Y%m%d%H}.f{lead?fmt=%HHH?shift=43200}.grib2 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y}/{init?fmt=%Y%m%d}/gfs.0p25.{init?fmt=%Y%m%d%H}.f{lead?fmt=%HHH?shift=32400}.grib2 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y}/{init?fmt=%Y%m%d}/gfs.0p25.{init?fmt=%Y%m%d%H}.f{lead?fmt=%HHH?shift=21600}.grib2 {FCST_PCP_COMBINE_INPUT_DIR}/{init?fmt=%Y}/{init?fmt=%Y%m%d}/gfs.0p25.{init?fmt=%Y%m%d%H}.f{lead?fmt=%HHH?shift=10800}.grib2 -field 'name="ULWRF"; level="L0"; set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S}"; GRIB2_ipdtmpl_index = 9; GRIB2_ipdtmpl_val = 8;' @@ -85,68 +87,64 @@ FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_fcstGFS_obsERA_OM FCST_PCP_COMBINE_OUTPUT_TEMPLATE = GFS_mean_{valid?fmt=%Y%m%d}.nc +### +# RegridDataPlane(regrid_obs_olr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + # Configurations for regrid_data_plane: Regrid ERA OLR to -20 to 20 latitude [regrid_obs_olr] + LEAD_SEQ = 0 -# Run regrid_data_plane on forecast data OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified OBS_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_NAME = olr - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_LEVELS = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" - OBS_REGRID_DATA_PLANE_VAR1_OPTIONS = file_type=NETCDF_NCCF; censor_thresh=eq-999.0; censor_val=-9999.0; -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = olr -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_fcstGFS_obsERA_OMI/ERA/daily_mean OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OBS_OLR_INPUT_DIR} -# format of filenames -# Input ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = olr.1x.7920.nc OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {OBS_OLR_INPUT_TEMPLATE} +### +# RegridDataPlane(regrid_fcst_olr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + # Configurations for regrid_data_plane: Regrid GFS OLR to -20 to 20 latitude [regrid_fcst_olr] -# Run regrid_data_plane on forecast data + FCST_REGRID_DATA_PLANE_RUN = {FCST_RUN} -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified REGRID_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process FCST_REGRID_DATA_PLANE_VAR1_NAME = ULWRF_L0_mean - -# Level of input field to process FCST_REGRID_DATA_PLANE_VAR1_LEVELS = "(*,*)" - -# Name of output field to create FCST_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = olr -# input and output data directories for each application in PROCESS_LIST FCST_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_fcstGFS_obsERA_OMI/GFS/daily_mean FCST_REGRID_DATA_PLANE_OUTPUT_DIR = {FCST_OLR_INPUT_DIR} -# format of filenames -# Input ERA Interim FCST_REGRID_DATA_PLANE_INPUT_TEMPLATE = GFS_mean_{valid?fmt=%Y%m%d}.nc FCST_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {FCST_OLR_INPUT_TEMPLATE} +### +# UserScript(create_eof_filelist) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Create the EOF filelists [create_eof_filelist] + # Find the files for each time to create the time list USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE @@ -194,6 +192,11 @@ FCST_PHASE_PLOT_OUTPUT_NAME = fcst_OMI_comp_phase FCST_PHASE_PLOT_OUTPUT_FORMAT = png +### +# UserScript(script_omi) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Configurations for UserScript: Run the RMM Analysis driver [script_omi] # Run the script once per lead time diff --git a/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_OMI.conf b/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_OMI.conf index 19d97d361b..8f7a87db21 100644 --- a/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_OMI.conf +++ b/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_OMI.conf @@ -1,100 +1,79 @@ # OMI UserScript wrapper [config] + + # All steps, including pre-processing: #PROCESS_LIST = RegridDataPlane(regrid_obs_olr), UserScript(create_eof_filelist), UserScript(script_omi) # Finding EOF files and OMI Analysis script for the observations PROCESS_LIST = UserScript(create_eof_filelist), UserScript(script_omi) -# 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 = VALID -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 1979010100 - -# End time for METplus run VALID_END = 2012123000 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# 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 = 0 -# 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 = processes -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mjo + +# variables referenced in other sections # Run the obs for these cases OBS_RUN = True FCST_RUN = False -# Mask to use for regridding +OBS_OLR_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_OMI/ERA +OBS_OLR_INPUT_TEMPLATE = OLR_{valid?fmt=%Y%m%d}.nc + + +### +# RegridDataPlane(regrid_obs_olr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + REGRID_DATA_PLANE_VERIF_GRID = latlon 144 17 -20 0 2.5 2.5 -# Method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = NEAREST -# Regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 1 -# Input and Output Directories for the OBS OLR Files and output text file containing the file list -OBS_OLR_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_OMI/ERA -OBS_OLR_INPUT_TEMPLATE = OLR_{valid?fmt=%Y%m%d}.nc +### +# RegridDataPlane(regrid_obs_olr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### # Configurations for regrid_data_plane: Regrid OLR to -20 to 20 latitude [regrid_obs_olr] -# Run regrid_data_plane on forecast data + OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified OBS_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_NAME = olr - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_LEVELS = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" - OBS_REGRID_DATA_PLANE_VAR1_OPTIONS = file_type=NETCDF_NCCF; censor_thresh=eq-999.0; censor_val=-9999.0; -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = olr -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_OMI OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OBS_OLR_INPUT_DIR} -# format of filenames -# Input ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = olr.1x.7920.nc OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = {OBS_OLR_INPUT_TEMPLATE} +### +# UserScript(create_eof_filelist) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Create the EOF filelists [create_eof_filelist] + # Find the files for each time to create the time list USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE @@ -140,6 +119,11 @@ OBS_PHASE_PLOT_OUTPUT_NAME = obs_OMI_comp_phase OBS_PHASE_PLOT_OUTPUT_FORMAT = png +### +# UserScript(script_omi) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Configurations for UserScript: Run the RMM Analysis driver [script_omi] # Run the script once per lead time diff --git a/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_PhaseDiagram.conf b/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_PhaseDiagram.conf index bb8168e9b4..1bd1ec75d6 100644 --- a/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_PhaseDiagram.conf +++ b/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_PhaseDiagram.conf @@ -1,47 +1,41 @@ -# OMI UserScript wrapper [config] -# Steps + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_PhaseDiagram.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = UserScript(obs_time_filelist), UserScript(script_PhaseDiagram) -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 2012010100 - -# End time for METplus run VALID_END = 2012033100 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# 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 = 0 -# 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 = processes -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mjo +# variables referenced in other sections # Run the obs for these cases OBS_RUN = True @@ -54,8 +48,14 @@ OBS_PDTIME_OUTPUT_DIR = {INPUT_BASE}/model_applications/s2s_mjo/UserScript_obsER OBS_PDTIME_OUTPUT_TEMPLATE = time_list_lead{lead?fmt=%HHH}.txt +### +# UserScript(obs_time_filelist) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Create a time file that contains the times we want to filter for plotting [obs_time_filelist] + # Find the files for each time USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_FOR_EACH @@ -92,6 +92,11 @@ PHASE_DIAGRAM_PLOT_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_ OBS_PHASE_PLOT_OUTPUT_NAME = RMM_phase_diagram +### +# UserScript(script_PhaseDiagram) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Configurations for UserScript: Run the RMM Analysis driver [script_PhaseDiagram] # list of strings to loop over for each run time. diff --git a/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_RMM.conf b/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_RMM.conf index 8f6b64b8c4..add8fae514 100644 --- a/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_RMM.conf +++ b/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_RMM.conf @@ -1,91 +1,78 @@ -# RMM UserScript wrapper [config] + +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_RMM.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + # All steps, including creating daily means and mean daily annual cycle #PROCESS_LIST = PcpCombine(mean_daily_annual_cycle_obs_wind), PcpCombine(mean_daily_annual_cycle_obs_olr), PcpCombine(daily_mean_obs_wind), PcpCombine(daily_mean_obs_olr), UserScript(create_mda_filelist), UserScript(harmonic_anomalies_olr), UserScript(harmonic_anomalies_u850), UserScript(harmonic_anomalies_u200), RegridDataPlane(regrid_obs_olr), RegridDataPlane(regrid_obs_u850), RegridDataPlane(regrid_obs_u200), UserScript(script_rmm) # Computing anomalies, regridding, and RMM Analysis script + PROCESS_LIST = UserScript(create_mda_filelist), UserScript(harmonic_anomalies_olr), UserScript(harmonic_anomalies_u850), UserScript(harmonic_anomalies_u200), RegridDataPlane(regrid_obs_olr), RegridDataPlane(regrid_obs_u850), RegridDataPlane(regrid_obs_u200), UserScript(script_rmm) -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 2000010100 - -# End time for METplus run VALID_END = 2002123000 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# 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 = 0 -# 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 = processes -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/s2s_mjo +# variables referenced in other sections # Run the obs for these cases OBS_RUN = True FCST_RUN = False -# Mask to use for regridding -REGRID_DATA_PLANE_VERIF_GRID = latlon 144 13 -15 0 2.5 2.5 -# Method to run regrid_data_plane, not setting this will default to NEAREST -REGRID_DATA_PLANE_METHOD = NEAREST +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### -# Regridding width used in regrid_data_plane, not setting this will default to 1 +REGRID_DATA_PLANE_VERIF_GRID = latlon 144 13 -15 0 2.5 2.5 +REGRID_DATA_PLANE_METHOD = NEAREST REGRID_DATA_PLANE_WIDTH = 1 +### +# PCPCombine(mean_daily_annual_cycle_obs_wind) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Configurations for creating U200 and U850 mean daily annual cycle obs # Mean daily annual cycle anomalies are computed for 1979 - 2001 [mean_daily_annual_cycle_obs_wind] -LOOP_BY = VALID -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run -# Set to one year, since we want a mean daily across all years -# Using 2012 because leap day will be included VALID_BEG = 2012010100 - -# End time for METplus run VALID_END = 2012123100 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = {OBS_RUN} -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED OBS_PCP_COMBINE_METHOD = USER_DEFINED OBS_PCP_COMBINE_COMMAND = -derive mean {OBS_PCP_COMBINE_INPUT_DIR}/{OBS_PCP_COMBINE_INPUT_TEMPLATE} -field 'name="U_P850_mean"; level="(*,*)"; set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S}";' -field 'name="U_P200_mean"; level="(*,*)"; set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S}";' -name U_P850_mean,U_P200_mean @@ -97,33 +84,23 @@ OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM OBS_PCP_COMBINE_OUTPUT_TEMPLATE = ERA_wind_daily_annual_{valid?fmt=%m%d}.nc +### +# PCPCombine(mean_daily_annual_cycle_obs_olr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Configurations for creating OLR mean daily annual cycle obs # Mean daily annual cycle anomalies are computed for 1979 - 2001 [mean_daily_annual_cycle_obs_olr] -LOOP_BY = VALID -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run -# Set to one year, since we want a mean daily across all years -# Using 2012 because leap day will be included VALID_BEG = 2012010100 - -# End time for METplus run VALID_END = 2012123100 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = {OBS_RUN} -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED OBS_PCP_COMBINE_METHOD = USER_DEFINED OBS_PCP_COMBINE_COMMAND = -derive mean {OBS_PCP_COMBINE_INPUT_DIR}/{OBS_PCP_COMBINE_INPUT_TEMPLATE} -field 'name="olr"; level="(*,*)";' @@ -135,30 +112,22 @@ OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM OBS_PCP_COMBINE_OUTPUT_TEMPLATE = ERA_OLR_daily_annual_{valid?fmt=%m%d}.nc +### +# PCPCombine(daily_mean_obs_wind) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Configurations for creating U200 and U850 daily mean obs [daily_mean_obs_wind] -LOOP_BY = VALID -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 1979010100 - -# End time for METplus run VALID_END = 2002123100 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = {OBS_RUN} -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED OBS_PCP_COMBINE_METHOD = USER_DEFINED OBS_PCP_COMBINE_COMMAND = -derive mean {OBS_PCP_COMBINE_INPUT_DIR}/{OBS_PCP_COMBINE_INPUT_TEMPLATE} -field 'name="U"; level="P850"; set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S}";' -field 'name="U"; level="P200"; set_attr_valid = "{valid?fmt=%Y%m%d_%H%M%S}";' @@ -170,30 +139,22 @@ OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM OBS_PCP_COMBINE_OUTPUT_TEMPLATE = ERA_wind_daily_mean_{valid?fmt=%Y%m%d}.nc +### +# PCPCombine(daily_mean_obs_olr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### + # Configurations for creating mean daily annual cycle obs OLR [daily_mean_obs_olr] -LOOP_BY = VALID -# Format of VALID_BEG and VALID_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run VALID_BEG = 1979010100 - -# End time for METplus run VALID_END = 2002123100 - -# Increment between METplus runs in seconds. Must be >= 60 VALID_INCREMENT = 86400 -# run pcp_combine on obs data OBS_PCP_COMBINE_RUN = {OBS_RUN} -# method to run pcp_combine on forecast data -# Options are ADD, SUM, SUBTRACT, DERIVE, and USER_DEFINED OBS_PCP_COMBINE_METHOD = USER_DEFINED OBS_PCP_COMBINE_COMMAND = -add {OBS_PCP_COMBINE_INPUT_DIR}/{OBS_PCP_COMBINE_INPUT_TEMPLATE} -field 'name="olr"; level="({valid?fmt=%Y%m%d_%H%M%S},*,*)"; file_type=NETCDF_NCCF;' @@ -205,9 +166,15 @@ OBS_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM OBS_PCP_COMBINE_OUTPUT_TEMPLATE = ERA_OLR_daily_mean_{valid?fmt=%Y%m%d}.nc +### +# UserScript(create_mda_filelist) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Creating a file list of the mean daily annual cycle files # This is run separately since it has different start/end times [create_mda_filelist] + # Find the files for each lead time USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD @@ -228,8 +195,14 @@ USER_SCRIPT_INPUT_TEMPLATE_LABELS = input_mean_daily_annual_infiles_olr,input_me USER_SCRIPT_COMMAND = echo Populated file list for Mean daily annual cycle Input +### +# UserScript(harmonic_anomalies_olr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Configurations to create anomalies for OLR [harmonic_anomalies_olr] + # list of strings to loop over for each run time. # Run the user script once per lead USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD @@ -246,8 +219,14 @@ USER_SCRIPT_INPUT_TEMPLATE_LABELS = input_daily_mean_infiles USER_SCRIPT_COMMAND = {METPLUS_BASE}/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_RMM/compute_harmonic_anomalies.py 'METPLUS_FILELIST_INPUT_MEAN_DAILY_ANNUAL_INFILES_OLR' 'olr' 'olr_NA_mean' '{OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Anomaly' 'ERA_OLR_anom' +### +# UserScript(harmonic_anomalies_u850) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Configurations to create anomalies for U850 [harmonic_anomalies_u850] + # list of strings to loop over for each run time. # Run the user script once per lead USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD @@ -264,8 +243,14 @@ USER_SCRIPT_INPUT_TEMPLATE_LABELS = input_daily_mean_infiles USER_SCRIPT_COMMAND = {METPLUS_BASE}/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_RMM/compute_harmonic_anomalies.py 'METPLUS_FILELIST_INPUT_MEAN_DAILY_ANNUAL_INFILES_WIND' 'U_P850_mean' 'U_P850_mean' '{OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Anomaly' 'ERA_U850_anom' +### +# UserScript(harmonic_anomalies_u200) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Configurations to create anomalies for U200 [harmonic_anomalies_u200] + # list of strings to loop over for each run time. # Run the user script once per lead USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_LEAD @@ -282,86 +267,71 @@ USER_SCRIPT_INPUT_TEMPLATE_LABELS = input_daily_mean_infiles USER_SCRIPT_COMMAND = {METPLUS_BASE}/parm/use_cases/model_applications/s2s_mjo/UserScript_obsERA_obsOnly_RMM/compute_harmonic_anomalies.py 'METPLUS_FILELIST_INPUT_MEAN_DAILY_ANNUAL_INFILES_WIND' 'U_P200_mean' 'U_P200_mean' '{OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Anomaly' 'ERA_U200_anom' +### +# RegridDataPlane(regrid_obs_olr) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + # Configurations for regrid_data_plane: Regrid OLR to -15 to 15 latitude [regrid_obs_olr] -# Run regrid_data_plane on forecast data + OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified REGRID_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_NAME = olr_anom - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_LEVELS = "(*,*)" - -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = OLR_anom -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Anomaly OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Regrid -# format of filenames -# Input ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = ERA_OLR_anom_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = ERA_OLR_{valid?fmt=%Y%m%d}.nc +### +# RegridDataPlane(regrid_obs_u850) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + # Configurations for regrid_data_plane: Regrid u850 to -15 to 15 latitude [regrid_obs_u850] -# Run regrid_data_plane on forecast data + OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified REGRID_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_NAME = U_P850_mean_anom - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_LEVELS = "(*,*)" - -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = U_P850_anom -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Anomaly OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Regrid -# format of filenames -# Input ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = ERA_U850_anom_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = ERA_U850_{valid?fmt=%Y%m%d}.nc +### +# RegridDataPlane(regrid_obs_u200) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + # Configurations for regrid_data_plane: Regrid u200 to -15 to 15 latitude [regrid_obs_u200] -# Run regrid_data_plane on forecast data + OBS_REGRID_DATA_PLANE_RUN = {OBS_RUN} -# If true, process each field individually and write a file for each -# If false, run once per run time passing in all fields specified REGRID_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_NAME = U_P200_mean_anom - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_LEVELS = "(*,*)" - -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = U_P200_anom -# input and output data directories for each application in PROCESS_LIST OBS_REGRID_DATA_PLANE_INPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Anomaly OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {OUTPUT_BASE}/s2s_mjo/UserScript_obsERA_obsOnly_RMM/ERA/Regrid -# format of filenames -# Input ERA Interim OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = ERA_U200_anom_{lead?fmt=%H%M%S}L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V.nc OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = ERA_U200_{valid?fmt=%Y%m%d}.nc @@ -418,6 +388,11 @@ OBS_TIMESERIES_PLOT_OUTPUT_NAME = obs_RMM_time_series OBS_TIMESERIES_PLOT_OUTPUT_FORMAT = png +### +# UserScript(script_rmm) Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + # Configurations for UserScript: Run the RMM Analysis driver [script_rmm] # list of strings to loop over for each run time. From c0bd80b83bef497d1d2dc6f33a81ea5fe92866b5 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:07:58 -0600 Subject: [PATCH 17/35] fix logic that logs default value used to properly output False vs. empty string. Previously a False default value was logged as set to empty string --- metplus/util/config_metplus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metplus/util/config_metplus.py b/metplus/util/config_metplus.py index 3ce629bdc2..1a66999ad4 100644 --- a/metplus/util/config_metplus.py +++ b/metplus/util/config_metplus.py @@ -656,7 +656,7 @@ def check_default(self, sec, name, default): raise # print debug message saying default value was used - if not default: + if default == '': default_text = 'empty string' else: default_text = default From 05156fd18ea54be8eaccfac4319353936079ba7a Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:08:30 -0600 Subject: [PATCH 18/35] fixed logic to not require MTD_SINGLE_RUN to be set for MTD by using a default value of False --- metplus/util/config_metplus.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/metplus/util/config_metplus.py b/metplus/util/config_metplus.py index 1a66999ad4..e407774400 100644 --- a/metplus/util/config_metplus.py +++ b/metplus/util/config_metplus.py @@ -1766,7 +1766,8 @@ def skip_field_info_validation(config): process_list = [item[0] for item in get_process_list(config)] # if running MTD in single mode, you don't need matching FCST/OBS - if 'MTD' in process_list and config.getbool('config', 'MTD_SINGLE_RUN'): + if ('MTD' in process_list and + config.getbool('config', 'MTD_SINGLE_RUN', False)): return True # if running any app other than the reformatters, you need matching FCST/OBS, so don't skip From 278797800d7b7627b05eed72de46194251cb9347 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:09:27 -0600 Subject: [PATCH 19/35] added wrapped StatAnalysis config file back because the config file for this wrapper is optional and different behavior will be executed if no config file is set --- .../GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf b/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf index e8c9a8bf60..28c513fdd1 100644 --- a/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf +++ b/parm/use_cases/model_applications/medium_range/GridStat_fcstGFS_obsGFS_climoNCEP_MultiField.conf @@ -121,6 +121,8 @@ GRID_STAT_MET_CONFIG_OVERRIDES = climo_mean = fcst; # https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#statanalysis ### +STAT_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/STATAnalysisConfig_wrapped + MODEL1 = GFS MODEL1_OBTYPE = ANLYS From ed05775a06aa8b7e066d1d08d71833023d5077c0 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:22:37 -0600 Subject: [PATCH 20/35] added missing import needed if an error occurs --- .../cross_spectra_plot.py | 1 + 1 file changed, 1 insertion(+) diff --git a/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot/cross_spectra_plot.py b/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot/cross_spectra_plot.py index e423c93f40..12ad482c18 100755 --- a/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot/cross_spectra_plot.py +++ b/parm/use_cases/model_applications/s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot/cross_spectra_plot.py @@ -7,6 +7,7 @@ """ import numpy as np import os +import sys import xarray as xr import metplotpy.contributed.spacetime_plot.spacetime_plot as stp From 1cd974f4a6e98eb9cbda364b21df393c7d3acf52 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:28:06 -0600 Subject: [PATCH 21/35] added wrapped StatAnalysis config file back because the config file for this wrapper is optional and different behavior will be executed if no config file is set --- .../s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf | 4 ++++ .../s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf index 5789aee358..106b13f977 100644 --- a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf +++ b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf @@ -401,6 +401,8 @@ VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001201 VALID_END = 20170228 +STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped + MODEL1 = GFS MODEL1_OBTYPE = ADPUPA @@ -437,6 +439,8 @@ VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001201 VALID_END = 20170228 +STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped + MODEL1 = GFS MODEL1_OBTYPE = ADPUPA diff --git a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf index 8562bdc98e..4da32280f9 100644 --- a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf +++ b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf @@ -245,6 +245,8 @@ VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001202 VALID_END = 20170228 +STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped + MODEL1 = GFS MODEL1_OBTYPE = ADPUPA @@ -276,6 +278,8 @@ VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001202 VALID_END = 20170228 +STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped + MODEL1 = GFS MODEL1_OBTYPE = ADPUPA From d7f7cb80fdbaafe42db2353fa675d722269006b0 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:28:41 -0600 Subject: [PATCH 22/35] run use cases that failed in the last run and ci-run-diff --- .github/parm/use_case_groups.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/parm/use_case_groups.json b/.github/parm/use_case_groups.json index 2a4da1ef67..ff3b9942e1 100644 --- a/.github/parm/use_case_groups.json +++ b/.github/parm/use_case_groups.json @@ -87,7 +87,7 @@ { "category": "medium_range", "index_list": "3-5", - "run": false + "run": true }, { "category": "medium_range", @@ -122,7 +122,7 @@ { "category": "precipitation", "index_list": "3-7", - "run": false + "run": true }, { "category": "precipitation", @@ -147,7 +147,7 @@ { "category": "s2s", "index_list": "3", - "run": false + "run": true }, { "category": "s2s", @@ -167,12 +167,12 @@ { "category": "s2s_mid_lat", "index_list": "0-2", - "run": false + "run": true }, { "category": "s2s_mid_lat", "index_list": "3", - "run": false + "run": true }, { "category": "s2s_mjo", From ef6f3a6ea09bf2beba5ac158296dcf2108e81407 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:59:03 -0600 Subject: [PATCH 23/35] fixed path that used CONFIG_DIR because variable was removed --- .../s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf | 4 ++-- .../s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf index 106b13f977..6bb4c9f07e 100644 --- a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf +++ b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_Blocking.conf @@ -401,7 +401,7 @@ VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001201 VALID_END = 20170228 -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped +STAT_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/STATAnalysisConfig_wrapped MODEL1 = GFS MODEL1_OBTYPE = ADPUPA @@ -439,7 +439,7 @@ VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001201 VALID_END = 20170228 -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped +STAT_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/STATAnalysisConfig_wrapped MODEL1 = GFS MODEL1_OBTYPE = ADPUPA diff --git a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf index 4da32280f9..4d74927724 100644 --- a/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf +++ b/parm/use_cases/model_applications/s2s_mid_lat/UserScript_fcstGFS_obsERA_WeatherRegime.conf @@ -245,7 +245,7 @@ VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001202 VALID_END = 20170228 -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped +STAT_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/STATAnalysisConfig_wrapped MODEL1 = GFS MODEL1_OBTYPE = ADPUPA @@ -278,7 +278,7 @@ VALID_TIME_FMT = %Y%m%d VALID_BEG = 20001202 VALID_END = 20170228 -STAT_ANALYSIS_CONFIG_FILE = {CONFIG_DIR}/STATAnalysisConfig_wrapped +STAT_ANALYSIS_CONFIG_FILE = {PARM_BASE}/met_config/STATAnalysisConfig_wrapped MODEL1 = GFS MODEL1_OBTYPE = ADPUPA From ccfa89ab8d41baa5dbe3818ab4c50b6202b59191 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:59:14 -0600 Subject: [PATCH 24/35] turn off use cases that passed to test again --- .github/parm/use_case_groups.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/parm/use_case_groups.json b/.github/parm/use_case_groups.json index ff3b9942e1..01910f37c7 100644 --- a/.github/parm/use_case_groups.json +++ b/.github/parm/use_case_groups.json @@ -87,7 +87,7 @@ { "category": "medium_range", "index_list": "3-5", - "run": true + "run": false }, { "category": "medium_range", @@ -122,7 +122,7 @@ { "category": "precipitation", "index_list": "3-7", - "run": true + "run": false }, { "category": "precipitation", @@ -147,7 +147,7 @@ { "category": "s2s", "index_list": "3", - "run": true + "run": false }, { "category": "s2s", From 4e2c0024feb3a6c1a9aa66f0190c6cff958e0313 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:39:30 -0600 Subject: [PATCH 25/35] per #1402, rearrange and clean up config files for short_range use cases --- ...tat_fcstHRRRE_obsHRRRE_Sfc_MultiField.conf | 229 ++++++++---------- ...tat_fcstHRRR_fcstOnly_SurrogateSevere.conf | 94 +++++-- ...at_fcstFV3_obsGOES_BrightnessTempDmap.conf | 82 ++++--- ...stHRRR_obsPracPerfect_SurrogateSevere.conf | 88 ++++--- ...RR_obsPracPerfect_SurrogateSevereProb.conf | 93 +++---- ...dbLoad_fcstFV3_obsGoes_BrightnessTemp.conf | 41 +++- .../MODE_fcstFV3_obsGOES_BrightnessTemp.conf | 123 ++++++---- ...DE_fcstFV3_obsGOES_BrightnessTempObjs.conf | 161 ++++++------ .../MODE_fcstHRRR_obsMRMS_Hail_GRIB2.conf | 124 +++++----- ...rid_obsLSR_ObsOnly_PracticallyPerfect.conf | 170 ++++++------- 10 files changed, 652 insertions(+), 553 deletions(-) diff --git a/parm/use_cases/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField.conf b/parm/use_cases/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField.conf index 0506c7d588..830276b6d6 100644 --- a/parm/use_cases/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField.conf +++ b/parm/use_cases/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField.conf @@ -1,77 +1,130 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PB2NC, EnsembleStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG=2018070912 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END=2018070912 - -# 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 = 0,1,2 -# 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 -# Name to identify model (forecast) data in output -MODEL = HRRRE_ens +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +# PB2NC + +PB2NC_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/hrrr_ensemble_sfc/prepbufr +PB2NC_INPUT_TEMPLATE = {da_init?fmt=%Y%m%d}/{da_init?fmt=%Y%j%H%M}.rap.t{da_init?fmt=%H}z.prepbufr.tm{offset?fmt=%2H}.{da_init?fmt=%Y%m%d} + +PB2NC_SKIP_IF_OUTPUT_EXISTS = True + +PB2NC_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField/rap +PB2NC_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/{valid?fmt=%Y%m%d%H}.rap.nc + + +# EnsembleStat + +FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/hrrr_ensemble_sfc/fcst +FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = + {init?fmt=%Y%m%d%H}/postprd_mem0001/wrfprs_conus_mem0001_{lead?fmt=%HH}.grib2, + {init?fmt=%Y%m%d%H}/postprd_mem0002/wrfprs_conus_mem0002_{lead?fmt=%HH}.grib2 + +OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = {PB2NC_OUTPUT_DIR} +OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} + +ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE = + {INPUT_BASE}/model_applications/short_range/mask/EAST.nc, + {INPUT_BASE}/model_applications/short_range/mask/WEST.nc, + {INPUT_BASE}/model_applications/short_range/mask/CONUS.nc, + {INPUT_BASE}/model_applications/short_range/mask/LMV.nc + +ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField/EnsembleStat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = HRRRE_ens OBTYPE = ANALYS -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET output, 2 is default. -# This takes precendence over the general MET logging level set in metplus_logging.conf -#LOG_ENSEMBLE_STAT_VERBOSITY = 3 +ENS_VAR1_NAME = TMP +ENS_VAR1_LEVELS = Z02 +ENS_VAR1_THRESH = >=283, >=288, >=293, >=298, >=303 + +ENS_VAR2_NAME = DPT +ENS_VAR2_LEVELS = Z2 +ENS_VAR2_THRESH = >=278, >=283, >=288, >=293, >=298 + +ENS_VAR3_NAME = UGRD +ENS_VAR3_LEVELS = Z10 +ENS_VAR3_THRESH = <=-10, <=-5, <=-2, >=2, >=5, >=10 + +ENS_VAR4_NAME = VGRD +ENS_VAR4_LEVELS = Z10 +ENS_VAR4_THRESH = <=-10, <=-5, <=-2, >=2, >=5, >=10 + +ENS_VAR5_NAME = WIND +ENS_VAR5_LEVELS = Z10 +ENS_VAR5_THRESH = >=2, >=4, >=6, >=8, >=10 + +FCST_VAR1_NAME = TMP +FCST_VAR1_LEVELS = Z2 +BOTH_VAR1_THRESH = >=283, >=288, >=293, >=298, >=303 + +OBS_VAR1_NAME = {FCST_VAR1_NAME} +OBS_VAR1_LEVELS = {FCST_VAR1_LEVELS} +OBS_VAR1_OPTIONS = ens_ssvar_bin_size = 1.0; ens_phist_bin_size = 0.05; wind_thresh = >2.572; + -# MET Configuration files for pb2nc -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped +### +# PB2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pb2nc +### PB2NC_LEVEL_RANGE_END = 255 PB2NC_QUALITY_MARK_THRESH = 3 -# if True, pb2nc will skip processing a file if the output already exists -# used to speed up runs and reduce redundancy -PB2NC_SKIP_IF_OUTPUT_EXISTS = True - -# These are appended with PB2NC to differentiate the GRID, POLY, and MESSAGE_TYPE for point_stat. PB2NC_GRID = PB2NC_POLY = PB2NC_STATION_ID = PB2NC_MESSAGE_TYPE = ADPUPA, ADPSFC, AIRCFT, PROFLR -# Leave empty to process all PB2NC_OBS_BUFR_VAR_LIST = POB, QOB, TOB, ZOB, UOB, VOB, D_DPT, D_WDIR, D_WIND, D_RH, D_MIXR, D_PRMSL -# False for no time summary, True otherwise PB2NC_TIME_SUMMARY_FLAG = False PB2NC_TIME_SUMMARY_RAW_DATA = False PB2NC_TIME_SUMMARY_BEG = 000000 @@ -87,18 +140,19 @@ PB2NC_TIME_SUMMARY_VALID_THRESH = 0.0 PB2NC_OBS_WINDOW_BEGIN = -900 PB2NC_OBS_WINDOW_END = 900 + +### +# EnsembleStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ensemblestat +### + ENSEMBLE_STAT_OBS_WINDOW_BEGIN = -900 ENSEMBLE_STAT_OBS_WINDOW_END = 900 -# 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 = 2 -# 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 = 1.0 -# Used in the MET config file for: regrid to_grid field ENSEMBLE_STAT_REGRID_TO_GRID = FCST ENSEMBLE_STAT_REGRID_METHOD = BILIN ENSEMBLE_STAT_REGRID_WIDTH = 2 @@ -140,90 +194,7 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_NMEP = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE -ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped - - -# 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. +CONFIG_DIR={PARM_BASE}/use_cases/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField ENSEMBLE_STAT_MET_OBS_ERR_TABLE = {CONFIG_DIR}/obs_error_table_V8.0.txt -# Variables and levels as specified in the field dictionary of the MET -# configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION - -ENS_VAR1_NAME = TMP -ENS_VAR1_LEVELS = Z02 -ENS_VAR1_THRESH = >=283, >=288, >=293, >=298, >=303 - -ENS_VAR2_NAME = DPT -ENS_VAR2_LEVELS = Z2 -ENS_VAR2_THRESH = >=278, >=283, >=288, >=293, >=298 - -ENS_VAR3_NAME = UGRD -ENS_VAR3_LEVELS = Z10 -ENS_VAR3_THRESH = <=-10, <=-5, <=-2, >=2, >=5, >=10 - -ENS_VAR4_NAME = VGRD -ENS_VAR4_LEVELS = Z10 -ENS_VAR4_THRESH = <=-10, <=-5, <=-2, >=2, >=5, >=10 - -ENS_VAR5_NAME = WIND -ENS_VAR5_LEVELS = Z10 -ENS_VAR5_THRESH = >=2, >=4, >=6, >=8, >=10 - - -FCST_VAR1_NAME = TMP -FCST_VAR1_LEVELS = Z2 -BOTH_VAR1_THRESH = >=283, >=288, >=293, >=298, >=303 - -OBS_VAR1_NAME = {FCST_VAR1_NAME} -OBS_VAR1_LEVELS = {FCST_VAR1_LEVELS} -OBS_VAR1_OPTIONS = ens_ssvar_bin_size = 1.0; ens_phist_bin_size = 0.05; wind_thresh = >2.572; - ENSEMBLE_STAT_OUTPUT_PREFIX = HRRRE_F{lead?fmt=%3H}_ADPSFC - -[dir] -# Use case config directory -CONFIG_DIR={PARM_BASE}/use_cases/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField - -# input and output directories for pb2nc -PB2NC_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/hrrr_ensemble_sfc/prepbufr -PB2NC_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField/rap - -# input directory for ensemble_stat -FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/hrrr_ensemble_sfc/fcst - -# point observation input dir for ensemble_stat (can also set grid obs) -OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = {PB2NC_OUTPUT_DIR} - -# output directory for ensemble_stat -ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/EnsembleStat_fcstHRRRE_obsHRRRE_Sfc_MultiField/EnsembleStat - - -[filename_templates] - -# input and output templates for pb2nc -PB2NC_INPUT_TEMPLATE = {da_init?fmt=%Y%m%d}/{da_init?fmt=%Y%j%H%M}.rap.t{da_init?fmt=%H}z.prepbufr.tm{offset?fmt=%2H}.{da_init?fmt=%Y%m%d} - -PB2NC_OUTPUT_TEMPLATE = {valid?fmt=%Y%m%d}/{valid?fmt=%Y%m%d%H}.rap.nc - -# input ensemble template - comma separated list of ensemble members -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = - {init?fmt=%Y%m%d%H}/postprd_mem0001/wrfprs_conus_mem0001_{lead?fmt=%HH}.grib2, - {init?fmt=%Y%m%d%H}/postprd_mem0002/wrfprs_conus_mem0002_{lead?fmt=%HH}.grib2 - -# input template for EnsembleStat can also be defined using a single -# member with wildcard characters to find multiple files -#FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = -# {init?fmt=%Y%m%d%H}/postprd_mem000?/wrfprs_conus_mem000?_{lead?fmt=%HH}.grib2 - -OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} - -ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE = - {INPUT_BASE}/model_applications/short_range/mask/EAST.nc, - {INPUT_BASE}/model_applications/short_range/mask/WEST.nc, - {INPUT_BASE}/model_applications/short_range/mask/CONUS.nc, - {INPUT_BASE}/model_applications/short_range/mask/LMV.nc - -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H%M} diff --git a/parm/use_cases/model_applications/short_range/EnsembleStat_fcstHRRR_fcstOnly_SurrogateSevere.conf b/parm/use_cases/model_applications/short_range/EnsembleStat_fcstHRRR_fcstOnly_SurrogateSevere.conf index 732e9b8997..2566dd2421 100644 --- a/parm/use_cases/model_applications/short_range/EnsembleStat_fcstHRRR_fcstOnly_SurrogateSevere.conf +++ b/parm/use_cases/model_applications/short_range/EnsembleStat_fcstHRRR_fcstOnly_SurrogateSevere.conf @@ -1,7 +1,30 @@ [config] +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/EnsembleStat_fcstHRRR_fcstOnly_SurrogateSevere.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = PCPCombine, EnsembleStat, RegridDataPlane + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG=2020020500 @@ -13,6 +36,11 @@ LEAD_SEQ = 36 LOOP_ORDER = processes +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + FCST_PCP_COMBINE_RUN = True FCST_PCP_COMBINE_METHOD = DERIVE FCST_PCP_COMBINE_STAT_LIST = MAX @@ -39,9 +67,42 @@ FCST_REGRID_DATA_PLANE_OUTPUT_DIR = {FCST_PCP_COMBINE_OUTPUT_DIR} FCST_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = surrogate_severe_{init?fmt=%Y%m%d}_{lead?fmt=%HHH}V_regrid.nc +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + MODEL = FCST_ens OBTYPE = ANALYS +ENS_VAR1_NAME = {FCST_PCP_COMBINE_OUTPUT_NAME} +ENS_VAR1_LEVELS = "(*,*)" +ENS_VAR1_THRESH = >=14.2, >=19.0, >=26.0, >=38.0, >=61.0 + + +FCST_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge14.2 +FCST_REGRID_DATA_PLANE_VAR2_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge19.0 +FCST_REGRID_DATA_PLANE_VAR3_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge26.0 +FCST_REGRID_DATA_PLANE_VAR4_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge38.0 +FCST_REGRID_DATA_PLANE_VAR5_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge61.0 + +FCST_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = "(*,*)" +FCST_REGRID_DATA_PLANE_VAR2_INPUT_LEVEL = "(*,*)" +FCST_REGRID_DATA_PLANE_VAR3_INPUT_LEVEL = "(*,*)" +FCST_REGRID_DATA_PLANE_VAR4_INPUT_LEVEL = "(*,*)" +FCST_REGRID_DATA_PLANE_VAR5_INPUT_LEVEL = "(*,*)" + +FCST_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = MXUPHL_prob_75 +FCST_REGRID_DATA_PLANE_VAR2_OUTPUT_FIELD_NAME = MXUPHL_prob_80 +FCST_REGRID_DATA_PLANE_VAR3_OUTPUT_FIELD_NAME = MXUPHL_prob_85 +FCST_REGRID_DATA_PLANE_VAR4_OUTPUT_FIELD_NAME = MXUPHL_prob_90 +FCST_REGRID_DATA_PLANE_VAR5_OUTPUT_FIELD_NAME = MXUPHL_prob_95 + + +### +# PCPCombine Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pcpcombine +### FCST_PCP_COMBINE_INPUT_ACCUMS = 1 FCST_PCP_COMBINE_INPUT_NAMES = MXUPHL @@ -52,7 +113,10 @@ FCST_PCP_COMBINE_DERIVE_LOOKBACK = 24 FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB -ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped +### +# EnsembleStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ensemblestat +### ENSEMBLE_STAT_N_MEMBERS = 1 ENSEMBLE_STAT_ENS_THRESH = 1.0 @@ -98,30 +162,10 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE -ENS_VAR1_NAME = {FCST_PCP_COMBINE_OUTPUT_NAME} -ENS_VAR1_LEVELS = "(*,*)" -ENS_VAR1_THRESH = >=14.2, >=19.0, >=26.0, >=38.0, >=61.0 - - -FCST_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge14.2 -FCST_REGRID_DATA_PLANE_VAR2_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge19.0 -FCST_REGRID_DATA_PLANE_VAR3_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge26.0 -FCST_REGRID_DATA_PLANE_VAR4_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge38.0 -FCST_REGRID_DATA_PLANE_VAR5_INPUT_FIELD_NAME = MXUPHL_24_A1_ENS_FREQ_ge61.0 - -FCST_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = "(*,*)" -FCST_REGRID_DATA_PLANE_VAR2_INPUT_LEVEL = "(*,*)" -FCST_REGRID_DATA_PLANE_VAR3_INPUT_LEVEL = "(*,*)" -FCST_REGRID_DATA_PLANE_VAR4_INPUT_LEVEL = "(*,*)" -FCST_REGRID_DATA_PLANE_VAR5_INPUT_LEVEL = "(*,*)" - -FCST_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = MXUPHL_prob_75 -FCST_REGRID_DATA_PLANE_VAR2_OUTPUT_FIELD_NAME = MXUPHL_prob_80 -FCST_REGRID_DATA_PLANE_VAR3_OUTPUT_FIELD_NAME = MXUPHL_prob_85 -FCST_REGRID_DATA_PLANE_VAR4_OUTPUT_FIELD_NAME = MXUPHL_prob_90 -FCST_REGRID_DATA_PLANE_VAR5_OUTPUT_FIELD_NAME = MXUPHL_prob_95 - - +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### REGRID_DATA_PLANE_ONCE_PER_FIELD = False diff --git a/parm/use_cases/model_applications/short_range/GridStat_fcstFV3_obsGOES_BrightnessTempDmap.conf b/parm/use_cases/model_applications/short_range/GridStat_fcstFV3_obsGOES_BrightnessTempDmap.conf index 1413acf396..2deafe1408 100644 --- a/parm/use_cases/model_applications/short_range/GridStat_fcstFV3_obsGOES_BrightnessTempDmap.conf +++ b/parm/use_cases/model_applications/short_range/GridStat_fcstFV3_obsGOES_BrightnessTempDmap.conf @@ -1,28 +1,60 @@ [config] -# Loop by model initialization -LOOP_BY = init -INIT_TIME_FMT = %Y%m%d%H +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/GridStat_fcstFV3_obsGOES_BrightnessTempDmap.html -# Start time for METplus run -INIT_BEG = 2019052100 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# End time for METplus run -INIT_END = 2019052100 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = GridStat(lsm1), GridStat(mp1) + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Increment between METplus runs in seconds. Must be >= 60 +LOOP_BY = init +INIT_TIME_FMT = %Y%m%d%H +INIT_BEG = 2019052100 +INIT_END = 2019052100 INIT_INCREMENT = 3600 +LEAD_SEQ = 1,2 + LOOP_ORDER = processes -PROCESS_LIST = GridStat(lsm1), GridStat(mp1) -# Sequence of leads to process -LEAD_SEQ = 1,2 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature +FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/core_{instance}/core_{instance}_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_f{lead?fmt=%HH}.nc + +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature +OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y_%m_%d}_141/remap_GOES-16.{valid?fmt=%Y%m%d}.{valid?fmt=%H%M%S}.nc + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/short_range/brightness_temperature/grid_stat -FCST_IS_PROB = false -# Grid stat variables +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + FCST_GRID_STAT_VAR1_NAME = SBTA1613_topofatmosphere FCST_GRID_STAT_VAR1_LEVELS = "(*,*)" FCST_GRID_STAT_VAR1_THRESH = le235 @@ -33,31 +65,17 @@ OBS_GRID_STAT_VAR1_LEVELS = "(*,*)" OBS_GRID_STAT_VAR1_THRESH = le235 OBS_GRID_STAT_VAR1_OPTIONS = file_type = NETCDF_MET; +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### + GRID_STAT_NEIGHBORHOOD_WIDTH = 1 GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - GRID_STAT_OUTPUT_PREFIX = FV3_core_{instance} GRID_STAT_OUTPUT_FLAG_DMAP = BOTH GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE GRID_STAT_NC_PAIRS_FLAG_DISTANCE_MAP = TRUE - - -[dir] -# Input and Output Diretory of the object data -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature - -#Grid Stat output data location -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/short_range/brightness_temperature/grid_stat - - -[filename_templates] -# Forecast Filename Template -FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/core_{instance}/core_{instance}_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_f{lead?fmt=%HH}.nc - -# Obs Filename Template -OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y_%m_%d}_141/remap_GOES-16.{valid?fmt=%Y%m%d}.{valid?fmt=%H%M%S}.nc diff --git a/parm/use_cases/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevere.conf b/parm/use_cases/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevere.conf index c72fffc792..0301941e0f 100644 --- a/parm/use_cases/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevere.conf +++ b/parm/use_cases/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevere.conf @@ -1,40 +1,64 @@ -# HRRR Surrogate Severe verified against Practically Perfect - [config] -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID -# Format of INIT_BEG and INIT_END -VALID_TIME_FMT = %Y%m%d%H +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevere.html -# Start time for METplus run -VALID_BEG=2020020612 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# End time for METplus run -VALID_END=2020020612 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = GridStat + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Increment between METplus runs in seconds. Must be >= 60 +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H +VALID_BEG=2020020612 +VALID_END=2020020612 VALID_INCREMENT=86400 -# forecast leads to process INIT_SEQ = 0 LEAD_SEQ_MIN = 36 LEAD_SEQ_MAX = 36 -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# List of applications to run -PROCESS_LIST = GridStat +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/surrogate_severe_prac_perfect +FCST_GRID_STAT_INPUT_TEMPLATE = surrogate_severe_{init?fmt=%Y%m%d}_{lead?fmt=%HHH}V_regrid.nc + +OBS_GRID_STAT_INPUT_DIR = {FCST_GRID_STAT_INPUT_DIR} +OBS_GRID_STAT_INPUT_TEMPLATE = StormReps_211_Probs.{init?fmt=%Y%m%d}.nc + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/surrogate_severe_prac_perfect/grid_stat + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### MODEL = HRRR OBTYPE = PP -# Forecast Variables FCST_VAR1_NAME = MXUPHL_prob_75 FCST_VAR1_LEVELS = "(*,*)" FCST_VAR1_THRESH = ge0.02, ge0.05, ge0.10, ge0.10, ge0.15, ge0.30, ge0.45, ge0.60 @@ -55,7 +79,6 @@ FCST_VAR5_NAME = MXUPHL_prob_95 FCST_VAR5_LEVELS = {FCST_VAR1_LEVELS} FCST_VAR5_THRESH = {FCST_VAR1_THRESH} -# Obs Variables OBS_VAR1_NAME = PP_probs OBS_VAR1_LEVELS = "(*,*)" OBS_VAR1_THRESH = ge0.02, ge0.05, ge0.10, ge0.10, ge0.15, ge0.30, ge0.45, ge0.60 @@ -76,9 +99,11 @@ OBS_VAR5_NAME = {OBS_VAR1_NAME} OBS_VAR5_LEVELS = {OBS_VAR1_LEVELS} OBS_VAR5_THRESH = {OBS_VAR1_THRESH} -FCST_IS_PROB = false -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### GRID_STAT_OUTPUT_FLAG_CTC = BOTH GRID_STAT_OUTPUT_FLAG_CTS = BOTH @@ -88,20 +113,3 @@ 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_APPLY_MASK = FALSE - -[dir] - -# input and output data directories for each application in PROCESS_LIST -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/surrogate_severe_prac_perfect - -OBS_GRID_STAT_INPUT_DIR = {FCST_GRID_STAT_INPUT_DIR} - -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/surrogate_severe_prac_perfect/grid_stat - -[filename_templates] -# format of filenames -# Surrogate Severe -FCST_GRID_STAT_INPUT_TEMPLATE = surrogate_severe_{init?fmt=%Y%m%d}_{lead?fmt=%HHH}V_regrid.nc - -# Practically Perfect -OBS_GRID_STAT_INPUT_TEMPLATE = StormReps_211_Probs.{init?fmt=%Y%m%d}.nc diff --git a/parm/use_cases/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevereProb.conf b/parm/use_cases/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevereProb.conf index b4aba49ff1..24c3be3533 100644 --- a/parm/use_cases/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevereProb.conf +++ b/parm/use_cases/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevereProb.conf @@ -1,40 +1,67 @@ -# HRRR Surrogate Severe verified against Practically Perfect - [config] -# time looping - options are INIT, VALID, RETRO, and REALTIME -LOOP_BY = VALID -# Format of INIT_BEG and INIT_END -VALID_TIME_FMT = %Y%m%d%H +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevereProb.html -# Start time for METplus run -VALID_BEG=2020020612 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# End time for METplus run -VALID_END=2020020612 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# Increment between METplus runs in seconds. Must be >= 60 +PROCESS_LIST = GridStat + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H +VALID_BEG=2020020612 +VALID_END=2020020612 VALID_INCREMENT=86400 -# forecast leads to process INIT_SEQ = 0 LEAD_SEQ_MIN = 36 LEAD_SEQ_MAX = 36 -# Options are times, processes -# times = run all items in the PROCESS_LIST for a single initialization -# time, then repeat until all times have been evaluated. -# processes = run each item in the PROCESS_LIST for all times -# specified, then repeat for the next item in the PROCESS_LIST. LOOP_ORDER = times -# List of applications to run -PROCESS_LIST = GridStat +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/surrogate_severe_prac_perfect +FCST_GRID_STAT_INPUT_TEMPLATE = surrogate_severe_{init?fmt=%Y%m%d}_{lead?fmt=%HHH}V_regrid.nc + +OBS_GRID_STAT_INPUT_DIR = {FCST_GRID_STAT_INPUT_DIR} +OBS_GRID_STAT_INPUT_TEMPLATE = StormReps_211.{init?fmt=%Y%m%d}.nc + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/surrogate_severe_prac_perfect/grid_stat/prob + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### MODEL = HRRR OBTYPE = PP -# Forecast Variables +FCST_IS_PROB = true +FCST_GRID_STAT_INPUT_DATATYPE = NETCDF + FCST_VAR1_NAME = MXUPHL_prob_75 FCST_VAR1_LEVELS = "(*,*)" FCST_VAR1_THRESH = ge0.02 @@ -56,7 +83,6 @@ FCST_VAR5_NAME = MXUPHL_prob_95 FCST_VAR5_LEVELS = {FCST_VAR1_LEVELS} FCST_VAR5_THRESH = {FCST_VAR1_THRESH} -# Obs Variables OBS_VAR1_NAME = Fscale_mask OBS_VAR1_LEVELS = "(*,*)" OBS_VAR1_THRESH = ge1.0 @@ -77,11 +103,11 @@ OBS_VAR5_NAME = {OBS_VAR1_NAME} OBS_VAR5_LEVELS = {OBS_VAR1_LEVELS} OBS_VAR5_THRESH = {OBS_VAR1_THRESH} -FCST_IS_PROB = true -FCST_GRID_STAT_INPUT_DATATYPE = NETCDF - -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### GRID_STAT_OUTPUT_FLAG_PCT = BOTH GRID_STAT_OUTPUT_FLAG_PSTD = BOTH @@ -93,20 +119,3 @@ 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_APPLY_MASK = FALSE - -[dir] - -# input and output data directories for each application in PROCESS_LIST -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/surrogate_severe_prac_perfect - -OBS_GRID_STAT_INPUT_DIR = {FCST_GRID_STAT_INPUT_DIR} - -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/surrogate_severe_prac_perfect/grid_stat/prob - -[filename_templates] -# format of filenames -# Surrogate Severe -FCST_GRID_STAT_INPUT_TEMPLATE = surrogate_severe_{init?fmt=%Y%m%d}_{lead?fmt=%HHH}V_regrid.nc - -# Practically Perfect -OBS_GRID_STAT_INPUT_TEMPLATE = StormReps_211.{init?fmt=%Y%m%d}.nc diff --git a/parm/use_cases/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp.conf b/parm/use_cases/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp.conf index 0874966bba..79ef5d57fb 100644 --- a/parm/use_cases/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp.conf +++ b/parm/use_cases/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp.conf @@ -1,8 +1,30 @@ [config] -# METdbLoad for grid_stat distance maps and MODE +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = METDbLoad + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H @@ -14,6 +36,20 @@ LOOP_ORDER = processes MET_DB_LOAD_RUNTIME_FREQ = RUN_ONCE + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +MET_DB_LOAD_INPUT_TEMPLATE = {INPUT_BASE}/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp/grid_stat,{INPUT_BASE}/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp/grid_stat_obj,{INPUT_BASE}/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp/mode + + +### +# METdbLoad Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#metdbload +### + MET_DATA_DB_DIR = {METPLUS_BASE}/../METdataio # XML file with settings for @@ -41,6 +77,3 @@ MET_DB_LOAD_MV_LOAD_STAT = true MET_DB_LOAD_MV_LOAD_MODE = true MET_DB_LOAD_MV_LOAD_MTD = false MET_DB_LOAD_MV_LOAD_MPR = false - -# Location of input files -MET_DB_LOAD_INPUT_TEMPLATE = {INPUT_BASE}/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp/grid_stat,{INPUT_BASE}/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp/grid_stat_obj,{INPUT_BASE}/model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp/mode diff --git a/parm/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp.conf b/parm/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp.conf index 7da3455855..d85396cee9 100644 --- a/parm/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp.conf +++ b/parm/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp.conf @@ -1,28 +1,85 @@ [config] -# Loop by model initialization -LOOP_BY = init -INIT_TIME_FMT = %Y%m%d%H +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp.html -# Start time for METplus run -INIT_BEG = 2019052100 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# End time for METplus run -INIT_END = 2019052100 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = MODE(lsm1), MODE(mp1) + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Increment between METplus runs in seconds. Must be >= 60 +LOOP_BY = init +INIT_TIME_FMT = %Y%m%d%H +INIT_BEG = 2019052100 +INIT_END = 2019052100 INIT_INCREMENT = 3600 +LEAD_SEQ = 1,2 + LOOP_ORDER = processes -PROCESS_LIST = MODE(lsm1), MODE(mp1) -# Sequence of leads to process -LEAD_SEQ = 1,2 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -FCST_IS_PROB = false +FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature +FCST_MODE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/core_{instance}/core_{instance}_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_f{lead?fmt=%HH}.nc + +OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature +OBS_MODE_INPUT_TEMPLATE = {valid?fmt=%Y_%m_%d}_141/remap_GOES-16.{valid?fmt=%Y%m%d}.{valid?fmt=%H%M%S}.nc + +MODE_OUTPUT_DIR = {OUTPUT_BASE}/short_range/brightness_temperature + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = FV3_core + +FCST_VAR1_NAME = SBTA1613_topofatmosphere +FCST_VAR1_LEVELS = "(*,*)" +FCST_VAR1_OPTIONS = file_type = NETCDF_MET; + +MODE_FCST_CENSOR_THRESH = <=0 +MODE_FCST_CENSOR_VAL = 9999 + + +OBTYPE = GOES + +OBS_VAR1_NAME = channel_13_brightness_temperature +OBS_VAR1_LEVELS = "(*,*)" +OBS_VAR1_OPTIONS = file_type = NETCDF_MET; + +MODE_OBS_CENSOR_THRESH = <=0 +MODE_OBS_CENSOR_VAL = 9999 + + +### +# MODE Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mode +### -# MODE variables for the forecast and observations MODE_QUILT = FALSE MODE_CONV_RADIUS = 5 @@ -41,54 +98,14 @@ MODE_INTEREST_FUNCTION_CENTROID_DIST = ( ( 0.0, 1.0 ) ( 60.0/grid_res, 1.0 ) ( MODE_MASK_MISSING_FLAG = BOTH -MODE_FCST_CENSOR_THRESH = <=0 -MODE_FCST_CENSOR_VAL = 9999 - -MODE_OBS_CENSOR_THRESH = <=0 -MODE_OBS_CENSOR_VAL = 9999 - - MODE_WEIGHT_CENTROID_DIST = 4.0 MODE_WEIGHT_BOUNDARY_DIST = 3.0 MODE_WEIGHT_CONVEX_HULL_DIST = 1.0 MODE_WEIGHT_AREA_RATIO = 4.0 MODE_WEIGHT_INT_AREA_RATIO = 3.0 - MODE_TOTAL_INTEREST_THRESH = 0.65 - -# Forecast Brightness Temperature Variable Information -MODEL = FV3_core -FCST_VAR1_NAME = SBTA1613_topofatmosphere -FCST_VAR1_LEVELS = "(*,*)" -FCST_VAR1_OPTIONS = file_type = NETCDF_MET; - -# Obs GOES Brightness Temperature Variable Information -OBTYPE = GOES -OBS_VAR1_NAME = channel_13_brightness_temperature -OBS_VAR1_LEVELS = "(*,*)" -OBS_VAR1_OPTIONS = file_type = NETCDF_MET; - -#CONFIG_DIR={PARM_BASE}/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp -MODE_CONFIG_FILE = {PARM_BASE}/met_config/MODEConfig_wrapped MODE_REGRID_TO_GRID = NONE MODE_OUTPUT_PREFIX = FV3_core_{instance} - -[dir] -# Directory for FV3 data -FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature - -# Directory of the GOES obs -OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature - -# Output Data Location -MODE_OUTPUT_DIR = {OUTPUT_BASE}/short_range/brightness_temperature - -[filename_templates] -# Forecast Filename Template -FCST_MODE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/core_{instance}/core_{instance}_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_f{lead?fmt=%HH}.nc - -# Obs Filename Template -OBS_MODE_INPUT_TEMPLATE = {valid?fmt=%Y_%m_%d}_141/remap_GOES-16.{valid?fmt=%Y%m%d}.{valid?fmt=%H%M%S}.nc diff --git a/parm/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTempObjs.conf b/parm/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTempObjs.conf index 19f84437c2..86723c215d 100644 --- a/parm/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTempObjs.conf +++ b/parm/use_cases/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTempObjs.conf @@ -1,54 +1,114 @@ [config] -# Loop by model initialization -LOOP_BY = init -INIT_TIME_FMT = %Y%m%d%H +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTempObjs.html -# Start time for METplus run -INIT_BEG = 2019052100 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = MODE(lsm1), MODE(mp1), GridStat(lsm1), GridStat(mp1) -# End time for METplus run -INIT_END = 2019052100 -# Increment between METplus runs in seconds. Must be >= 60 +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = init +INIT_TIME_FMT = %Y%m%d%H +INIT_BEG = 2019052100 +INIT_END = 2019052100 INIT_INCREMENT = 3600 +LEAD_SEQ = 1,2 + LOOP_ORDER = processes -PROCESS_LIST = MODE(lsm1), MODE(mp1), GridStat(lsm1), GridStat(mp1) +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Sequence of leads to process -LEAD_SEQ = 1,2 +# MODE -FCST_IS_PROB = false +FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature +FCST_MODE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/core_{instance}/core_{instance}_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_f{lead?fmt=%HH}.nc -# MODE variables for the forecast and observations -MODE_QUILT = FALSE +OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature +OBS_MODE_INPUT_TEMPLATE = {valid?fmt=%Y_%m_%d}_141/remap_GOES-16.{valid?fmt=%Y%m%d}.{valid?fmt=%H%M%S}.nc -MODE_CONV_RADIUS = 5 +MODE_OUTPUT_DIR = {OUTPUT_BASE}/short_range/brightness_temperature/mode -MODE_CONV_THRESH = <=235 +# GridStat -MODE_MERGE_THRESH = <=235 +FCST_GRID_STAT_INPUT_DIR = {MODE_OUTPUT_DIR} +FCST_GRID_STAT_INPUT_TEMPLATE = mode_{MODE_OUTPUT_PREFIX}_{lead?fmt=%HH}0000L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V_NAA_obj.nc -MODE_MERGE_FLAG = NONE +OBS_GRID_STAT_INPUT_DIR = {FCST_GRID_STAT_INPUT_DIR} +OBS_GRID_STAT_INPUT_TEMPLATE = {FCST_GRID_STAT_INPUT_TEMPLATE} + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/short_range/brightness_temperature/grid_stat_obj -MODE_MASK_POLY = {INPUT_BASE}/model_applications/short_range/brightness_temperature/CentUS.nc -# Forecast Brightness Temperature Variable Information +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + MODEL = FV3_core +OBTYPE = GOES + FCST_MODE_VAR1_NAME = SBTA1613_topofatmosphere FCST_MODE_VAR1_LEVELS = "(*,*)" FCST_MODE_VAR1_OPTIONS = file_type = NETCDF_MET; +MODE_FCST_CENSOR_THRESH = <=0 +MODE_FCST_CENSOR_VAL = 9999 -# Obs GOES Brightness Temperature Variable Information -OBTYPE = GOES OBS_MODE_VAR1_NAME = channel_13_brightness_temperature OBS_MODE_VAR1_LEVELS = "(*,*)" OBS_MODE_VAR1_OPTIONS = file_type = NETCDF_MET; +MODE_OBS_CENSOR_THRESH = <=0 +MODE_OBS_CENSOR_VAL = 9999 + + +FCST_GRID_STAT_VAR1_NAME = fcst_obj_raw +FCST_GRID_STAT_VAR1_LEVELS = "(*,*)" +FCST_GRID_STAT_VAR1_THRESH = lt999 +FCST_GRID_STAT_VAR1_OPTIONS = file_type = NETCDF_MET; censor_thresh = eq-9999; censor_val = 999; + +OBS_GRID_STAT_VAR1_NAME = obs_obj_raw +OBS_GRID_STAT_VAR1_LEVELS = "(*,*)" +OBS_GRID_STAT_VAR1_THRESH = lt999 +OBS_GRID_STAT_VAR1_OPTIONS = file_type = NETCDF_MET; censor_thresh = eq-9999; censor_val = 999; + +### +# MODE Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mode +### + +MODE_QUILT = FALSE -MODE_CONFIG_FILE = {PARM_BASE}/met_config/MODEConfig_wrapped +MODE_CONV_RADIUS = 5 + +MODE_CONV_THRESH = <=235 + +MODE_MERGE_THRESH = <=235 + +MODE_MERGE_FLAG = NONE + +MODE_MASK_POLY = {INPUT_BASE}/model_applications/short_range/brightness_temperature/CentUS.nc MODE_GRID_RES = 3 @@ -56,12 +116,6 @@ MODE_MAX_CENTROID_DIST = 600.0/grid_res MODE_INTEREST_FUNCTION_CENTROID_DIST = ( ( 0.0, 1.0 ) ( 60.0/grid_res, 1.0 ) ( 450.0/grid_res, 0.0 ) ) -MODE_FCST_CENSOR_THRESH = <=0 -MODE_FCST_CENSOR_VAL = 9999 - -MODE_OBS_CENSOR_THRESH = <=0 -MODE_OBS_CENSOR_VAL = 9999 - MODE_MASK_MISSING_FLAG = BOTH MODE_MASK_POLY_FLAG = BOTH @@ -72,67 +126,26 @@ MODE_WEIGHT_CONVEX_HULL_DIST = 1.0 MODE_WEIGHT_AREA_RATIO = 4.0 MODE_WEIGHT_INT_AREA_RATIO = 3.0 - MODE_TOTAL_INTEREST_THRESH = 0.65 MODE_NC_PAIRS_FLAG_POLYLINES = False - MODE_REGRID_TO_GRID = NONE MODE_OUTPUT_PREFIX = FV3_core_{instance} -# Grid stat variables -FCST_GRID_STAT_VAR1_NAME = fcst_obj_raw -FCST_GRID_STAT_VAR1_LEVELS = "(*,*)" -FCST_GRID_STAT_VAR1_THRESH = lt999 -FCST_GRID_STAT_VAR1_OPTIONS = file_type = NETCDF_MET; censor_thresh = eq-9999; censor_val = 999; - -OBS_GRID_STAT_VAR1_NAME = obs_obj_raw -OBS_GRID_STAT_VAR1_LEVELS = "(*,*)" -OBS_GRID_STAT_VAR1_THRESH = lt999 -OBS_GRID_STAT_VAR1_OPTIONS = file_type = NETCDF_MET; censor_thresh = eq-9999; censor_val = 999; +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### GRID_STAT_NEIGHBORHOOD_WIDTH = 1 GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped - GRID_STAT_OUTPUT_FLAG_NBRCTC = BOTH GRID_STAT_OUTPUT_FLAG_DMAP = BOTH GRID_STAT_NC_PAIRS_FLAG_DISTANCE_MAP = TRUE GRID_STAT_OUTPUT_PREFIX = FV3_core_{instance} - -[dir] -# Directory for FV3 data -FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature - -# Directory of the GOES obs -OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/brightness_temperature - -# MODE Output Data Location -MODE_OUTPUT_DIR = {OUTPUT_BASE}/short_range/brightness_temperature/mode - -# Input and Output Diretory of the object data -FCST_GRID_STAT_INPUT_DIR = {MODE_OUTPUT_DIR} -OBS_GRID_STAT_INPUT_DIR = {FCST_GRID_STAT_INPUT_DIR} - -#Grid Stat output data location -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/short_range/brightness_temperature/grid_stat_obj - - -[filename_templates] -# Forecast Filename Template -FCST_MODE_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/core_{instance}/core_{instance}_{init?fmt=%Y%m%d}_{init?fmt=%H%M}_f{lead?fmt=%HH}.nc - -# Obs Filename Template -OBS_MODE_INPUT_TEMPLATE = {valid?fmt=%Y_%m_%d}_141/remap_GOES-16.{valid?fmt=%Y%m%d}.{valid?fmt=%H%M%S}.nc - -# Grid stat forecast filename template -FCST_GRID_STAT_INPUT_TEMPLATE = mode_{MODE_OUTPUT_PREFIX}_{lead?fmt=%HH}0000L_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V_NAA_obj.nc - -# Grid stat obs filename template -OBS_GRID_STAT_INPUT_TEMPLATE = {FCST_GRID_STAT_INPUT_TEMPLATE} diff --git a/parm/use_cases/model_applications/short_range/MODE_fcstHRRR_obsMRMS_Hail_GRIB2.conf b/parm/use_cases/model_applications/short_range/MODE_fcstHRRR_obsMRMS_Hail_GRIB2.conf index f7d9fabdf1..16f73d3674 100644 --- a/parm/use_cases/model_applications/short_range/MODE_fcstHRRR_obsMRMS_Hail_GRIB2.conf +++ b/parm/use_cases/model_applications/short_range/MODE_fcstHRRR_obsMRMS_Hail_GRIB2.conf @@ -1,47 +1,97 @@ [config] -LOOP_BY = valid -VALID_TIME_FMT = %Y%m%d%H -# Start time for METplus run -VALID_BEG = 2019052902 +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/MODE_fcstHRRR_obsMRMS_Hail_GRIB2.html -# End time for METplus run -VALID_END = 2019052903 +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# Increment between METplus runs in seconds. Must be >= 60 -VALID_INCREMENT = 3600 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + +PROCESS_LIST = MODE -LOOP_ORDER = processes -PROCESS_LIST = Mode +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = valid +VALID_TIME_FMT = %Y%m%d%H +VALID_BEG = 2019052902 +VALID_END = 2019052903 +VALID_INCREMENT = 3600 +INIT_SEQ = 0 LEAD_SEQ_MAX = 36 LEAD_SEQ_MIN = 12 -FCST_IS_PROB = false -# list of forecast generation to process -INIT_SEQ = 0 +LOOP_ORDER = processes -MODE_QUILT = True -MODE_CONV_RADIUS = 4 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -MODE_CONV_THRESH = >=0.5 +FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/hrrr_esrl +FCST_MODE_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/hrrr_esrl_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}.grib2 -MODE_MERGE_THRESH = >=0.0 +OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/hrrr_esrl +OBS_MODE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/mrms.MESH_Max_60min.{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}.grib2 + +MODE_OUTPUT_DIR = {OUTPUT_BASE}/hailtest +MODE_VERIFICATION_MASK_TEMPLATE = {FCST_MODE_INPUT_DIR}/{init?fmt=%Y%m%d}_hrefv2_subdomainmask.nc -MODE_MERGE_FLAG = NONE +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = HRRRv4_HAILCAST +FCST_VAR1_NAME = HAIL +FCST_VAR1_LEVELS = L0 +FCST_VAR1_OPTIONS = convert(x) = x / 0.0254 MODE_FCST_CENSOR_THRESH = >0&&<0.75 MODE_FCST_CENSOR_VAL = -9999.0 MODE_FCST_FILTER_ATTR_NAME = AREA MODE_FCST_FILTER_ATTR_THRESH = >=4 +OBTYPE = MRMS +OBS_VAR1_NAME = MESHMax60min +OBS_VAR1_LEVELS = Z500 +OBS_VAR1_OPTIONS = convert(x) = MM_to_IN(x); MODE_OBS_CENSOR_THRESH = >0&&<0.75 MODE_OBS_CENSOR_VAL = -9999.0 MODE_OBS_FILTER_ATTR_NAME = AREA MODE_OBS_FILTER_ATTR_THRESH = >=4 + +### +# MODE Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#mode +### + +MODE_QUILT = True + +MODE_CONV_RADIUS = 4 + +MODE_CONV_THRESH = >=0.5 + +MODE_MERGE_THRESH = >=0.0 + +MODE_MERGE_FLAG = NONE + MODE_MATCH_FLAG = NO_MERGE MODE_MAX_CENTROID_DIST = 400.0/grid_res @@ -54,44 +104,6 @@ MODE_WEIGHT_INTEN_PERC_VALUE = 99 MODE_TOTAL_INTEREST_THRESH = 0.5 -# Forecast Reflectivity Variable Information -MODEL = HRRRv4_HAILCAST -FCST_VAR1_NAME = HAIL -FCST_VAR1_LEVELS = L0 -FCST_VAR1_OPTIONS = convert(x) = x / 0.0254 - -# MRMS Reflecivitiy Variable Information -OBTYPE = MRMS -OBS_VAR1_NAME = MESHMax60min -OBS_VAR1_LEVELS = Z500 -OBS_VAR1_OPTIONS = convert(x) = MM_to_IN(x); - -#CONFIG_DIR={PARM_BASE}/use_cases/model_applications/short_range/MODE_fcstHRRR_obsMRMS_Hail_GRIB2 -#MODE_CONFIG_FILE = {CONFIG_DIR}/MODEConfig_hailcast -MODE_CONFIG_FILE = {PARM_BASE}/met_config/MODEConfig_wrapped - MODE_REGRID_TO_GRID = FCST MODE_REGRID_METHOD = MAX MODE_REGRID_WIDTH = 2 - -[dir] - -# Directory for HRRR data -FCST_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/hrrr_esrl - -# Directory of the MRMS obs -OBS_MODE_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/hrrr_esrl - -# Output Data -MODE_OUTPUT_DIR = {OUTPUT_BASE}/hailtest - -METPLUS_CONF = {MODE_OUTPUT_DIR}/metplus_final.conf - -[filename_templates] -# Forecast Filename Templates: -FCST_MODE_INPUT_TEMPLATE = {init?fmt=%Y%m%d}/hrrr_esrl_{init?fmt=%Y%m%d%H}f{lead?fmt=%HHH}.grib2 -#OBS_MODE_INPUT_TEMPLATE = {valid?fmt=%Y}/{valid?fmt=%m}/{valid?fmt=%d}/mrms.MESH_Max_60min.{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}.grib2 -OBS_MODE_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/mrms.MESH_Max_60min.{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}.grib2 -MODE_VERIFICATION_MASK_TEMPLATE = {FCST_MODE_INPUT_DIR}/{init?fmt=%Y%m%d}_hrefv2_subdomainmask.nc - - diff --git a/parm/use_cases/model_applications/short_range/Point2Grid_obsLSR_ObsOnly_PracticallyPerfect.conf b/parm/use_cases/model_applications/short_range/Point2Grid_obsLSR_ObsOnly_PracticallyPerfect.conf index affb8768f1..5255814797 100644 --- a/parm/use_cases/model_applications/short_range/Point2Grid_obsLSR_ObsOnly_PracticallyPerfect.conf +++ b/parm/use_cases/model_applications/short_range/Point2Grid_obsLSR_ObsOnly_PracticallyPerfect.conf @@ -1,58 +1,84 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - Ascii2nc and Point2Grid +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/short_range/Point2Grid_obsLSR_ObsOnly_PracticallyPerfect.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = ASCII2NC, Point2Grid, RegridDataPlane -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = 2020020500 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END = 2020020500 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 24H -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 12H -# 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 -# Time relative to valid time (in seconds if no units are specified) 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. -ASCII2NC_FILE_WINDOW_BEGIN = 0 -ASCII2NC_FILE_WINDOW_END = 0 -# 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. +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/short_range/Point2Grid_obsLSR_ObsOnly_PracticallyPerfect + + +# ASCII2NC + +ASCII2NC_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/practically_perfect +ASCII2NC_INPUT_TEMPLATE = "{CONFIG_DIR}/read_ascii_storm.py {ASCII2NC_INPUT_DIR}/200205_rpts_filtered.csv" + +ASCII2NC_OUTPUT_TEMPLATE = {OUTPUT_BASE}/model_applications/short_range/practically_perfect/StormReps.{init?fmt=%Y%m%d%H}.nc + + +# Point2Grid + +POINT2GRID_INPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/practically_perfect +POINT2GRID_INPUT_TEMPLATE = {OUTPUT_BASE}/model_applications/short_range/practically_perfect/StormReps.{init?fmt=%Y%m%d%H}.nc + +POINT2GRID_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/practically_perfect + + +# RegridDataPlane + +OBS_REGRID_DATA_PLANE_INPUT_DIR = {POINT2GRID_OUTPUT_DIR} +OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = StormReps_211.{init?fmt=%Y%m%d%H}.nc + +OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {POINT2GRID_OUTPUT_DIR} +OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = StormReps_211_Probs.{init?fmt=%Y%m%d}.nc + +POINT2GRID_OUTPUT_TEMPLATE = {OUTPUT_BASE}/model_applications/short_range/practically_perfect/StormReps_211.{init?fmt=%Y%m%d%H}.nc + + +### +# ASCII2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ascii2nc +### + ASCII2NC_WINDOW_BEGIN = 0 ASCII2NC_WINDOW_END = 0 -# Value to pass with the -format argument to ascii2nc. See MET User's Guide for more information ASCII2NC_INPUT_FORMAT = python ASCII2NC_TIME_SUMMARY_FLAG = False ASCII2NC_TIME_SUMMARY_RAW_DATA = False @@ -67,100 +93,48 @@ ASCII2NC_TIME_SUMMARY_VALID_FREQ = 0 ASCII2NC_TIME_SUMMARY_VALID_THRESH = 0.0 +### +# Point2Grid Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#point2grid +### -# Verbosity of MET output - overrides LOG_VERBOSITY for Point2Grid only -# POINT2GRID_VERBOSITY = 1 - -# Time relative to valid time (in seconds if no units are specified) 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. -POINT2GRID_FILE_WINDOW_BEGIN = 0 -POINT2GRID_FILE_WINDOW_END = 0 - -# Value to pass with the -to_grid See MET User's Guide for more information -POINT2GRID_REGRID_TO_GRID = G211 +POINT2GRID_REGRID_TO_GRID = G211 -# Value to pass with the -field string. See MET User's Guide for more information -# FIELD and LEVEL both end up in the -field string POINT2GRID_INPUT_FIELD =Fscale POINT2GRID_INPUT_LEVEL = -# Value to pass with the -qc argument POINT2GRID_QC_FLAGS = 0 -# Value to pass with the -adp argument - This is a file name with GOES Aerosol Detection Product data POINT2GRID_ADP = -# Value to pass with the -method argumen - Default is UW_MEAN, other examples are -POINT2GRID_REGRID_METHOD = MAX +POINT2GRID_REGRID_METHOD = MAX -# Value to pass with the -gaussian-dx argument - Distance interval for gaussian smoothing -# Default is 81.271 POINT2GRID_GAUSSIAN_DX = 81.271 +POINT2GRID_GAUSSIAN_RADIUS = 120 -# Value to pass with the -gaussian-radius argument - radius of influence for the gaussian smoothing -# Default is 120 -POINT2GRID_GAUSSIAN_RADIUS = 120 - -# Value to pass with the -prob_cat_thresh argument - threshold for probability of occurrence POINT2GRID_PROB_CAT_THRESH = -# Value to pass with the -vld_thresh argument - threshold for percentage of valid data .5 default POINT2GRID_VLD_THRESH = -# Regrid Data Plane +### +# RegridDataPlane Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#regriddataplane +### + OBS_REGRID_DATA_PLANE_RUN = True REGRID_DATA_PLANE_ONCE_PER_FIELD = False -# Name of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_FIELD_NAME = Fscale_mask - -# Level of input field to process OBS_REGRID_DATA_PLANE_VAR1_INPUT_LEVEL = "(*,*)" - -# Name of output field to create OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = PP_probs -# Mask to use for regridding REGRID_DATA_PLANE_VERIF_GRID = G211 -# Method to run regrid_data_plane, not setting this will default to NEAREST REGRID_DATA_PLANE_METHOD = MAXGAUSS -# Regridding width used in regrid_data_plane, not setting this will default to 1 REGRID_DATA_PLANE_WIDTH = 1 -# Set Gaussian dx value to add as command line argument - not added if unset or blank REGRID_DATA_PLANE_GAUSSIAN_DX = 81.271 - -# Set Gaussian filter radius value to add as command line argument - not added if unset or blank -REGRID_DATA_PLANE_GAUSSIAN_RADIUS = 120 - -# End of [config] section and start of [dir] section -[dir] - -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -ASCII2NC_INPUT_DIR = {INPUT_BASE}/model_applications/short_range/practically_perfect -POINT2GRID_INPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/practically_perfect -POINT2GRID_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/short_range/practically_perfect -OBS_REGRID_DATA_PLANE_INPUT_DIR = {POINT2GRID_OUTPUT_DIR} -OBS_REGRID_DATA_PLANE_OUTPUT_DIR = {POINT2GRID_OUTPUT_DIR} - -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/short_range/Point2Grid_obsLSR_ObsOnly_PracticallyPerfect - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for input to ASCII2NC input storm reports -ASCII2NC_INPUT_TEMPLATE = "{CONFIG_DIR}/read_ascii_storm.py {ASCII2NC_INPUT_DIR}/200205_rpts_filtered.csv" -ASCII2NC_OUTPUT_TEMPLATE = {OUTPUT_BASE}/model_applications/short_range/practically_perfect/StormReps.{init?fmt=%Y%m%d%H}.nc - -# Templates to use for input to Point2Grid from the output of ASCII2NC and output from Point2Grid -POINT2GRID_INPUT_TEMPLATE = {OUTPUT_BASE}/model_applications/short_range/practically_perfect/StormReps.{init?fmt=%Y%m%d%H}.nc -POINT2GRID_OUTPUT_TEMPLATE = {OUTPUT_BASE}/model_applications/short_range/practically_perfect/StormReps_211.{init?fmt=%Y%m%d%H}.nc - -#Regrid data plane templates -OBS_REGRID_DATA_PLANE_INPUT_TEMPLATE = StormReps_211.{init?fmt=%Y%m%d%H}.nc -OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = StormReps_211_Probs.{init?fmt=%Y%m%d}.nc +REGRID_DATA_PLANE_GAUSSIAN_RADIUS = 120 From da4e01b5d07e7d30fdca6cb8eb2a1c1bcf65a2cd Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 14:00:08 -0600 Subject: [PATCH 26/35] per #1402, rearrange and clean up space_weather config files --- ...sk_fcstGloTEC_FcstOnly_solar_altitude.conf | 125 +++------ .../GridStat_fcstGloTEC_obsGloTEC_vx7.conf | 238 +++++------------- 2 files changed, 91 insertions(+), 272 deletions(-) diff --git a/parm/use_cases/model_applications/space_weather/GenVxMask_fcstGloTEC_FcstOnly_solar_altitude.conf b/parm/use_cases/model_applications/space_weather/GenVxMask_fcstGloTEC_FcstOnly_solar_altitude.conf index 2948166cee..a2f6d992ba 100644 --- a/parm/use_cases/model_applications/space_weather/GenVxMask_fcstGloTEC_FcstOnly_solar_altitude.conf +++ b/parm/use_cases/model_applications/space_weather/GenVxMask_fcstGloTEC_FcstOnly_solar_altitude.conf @@ -1,119 +1,62 @@ -# GenVxMask METplus Configuration for the GenVxMask_glotec_solar_altitude space weather use case: -# Creating masks based on the solar altitude angle for GloTEC model data (id: vx12) -# -# Author: Jonathan Vigh (NCAR/RAL/JNTP) -# -# Description: This use case illustrates the use of the gen_vx_mask tool for the space weather domain. -# It creates a mask for region where the solar altitude angle is less than 45 degrees -# (low sun angle or sun below the horizon), only letting data through for the region -# where the sun is high in the sky (i.e., solar altitude angle greater than 45 degrees). -# -# In this use case, the input data is the GloTEC model run assimilated with COSMIC-1 RO data. -# -# This use case runs gen_vx_mask for a couple forecast times from a -# space weather event known as the St. Patricks Day Storm (Mar 17, 2015). -# -# Novel aspects of this use case: -# - First example use case to run gen_vx_mask on a space weather model (GloTEC) -# - Example of how to run gen_vx_mask on NetCDF input data which do not strictly conform to the -# Climate Forecasts (CF) conventions -# - Example of constructing a mask based on the solar altitude angle. -# - Changing the mask condition to solar alt <= 0 will mask out the night region. -# - Changing the mask condition to solar alt > 0 will mask the day region. -# -# Background: The solar altitude angle is the angle of the sun relative to the Earth's horizon, -# and is measured in degrees. The altitude is zero at sunrise and sunset, and can reach a -# maximum of 90 degrees (directly overhead) at noon at latitudes near the equator. -# [Source: https://sciencing.com/solar-altitude-23364.html] -# - -# section heading for [config] variables - all items below this line and -# before the next section heading correspond to the [config] section [config] -## Configuration-related settings such as the process list, begin and end times, etc. -# List of applications to run - only GenVxMask for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/space_weather/GenVxMask_fcstGloTEC_FcstOnly_solar_altitude.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GenVxMask -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 -VALID_TIME_FMT = %Y%m%d%H%M +# Just run the first two time points for this use case example +# replace with 201503172355 process the entire day -# Start time for METplus run - must match INIT_TIME_FMT +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H%M VALID_BEG = 201503170005 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END = 201503170015 - -# Just run the first two time points for this use case example -# replace with 201503172355 process the entire day - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds VALID_INCREMENT = 600 -# List of forecast leads to process for each run time (init or valid) -# If unset, defaults to 0 (don't loop through forecast leads LEAD_SEQ = 0 -# The above configuration will loop by valid time in increments of -# VALID_INCREMENT from VALID_BEG to VALID_END. Since LEAD_SEQ is set to 0, -# it will not loop over any forecast lead times. -# This will run: -# Valid: 2015-03-17_0005Z Forecast lead: 0 -# to 2015-03-17_0055Z Forecast lead: 0 - - -# 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 GenVxMask only -LOG_GEN_VX_MASK_VERBOSITY = 2 - -GEN_VX_MASK_SKIP_IF_OUTPUT_EXISTS = False -# Time relative to valid time (in seconds if no units are specified) 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. -GEN_VX_MASK_FILE_WINDOW_BEGIN = 0 -GEN_VX_MASK_FILE_WINDOW_END = 0 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Command line arguments to add to the call to gen_vx_mask -GEN_VX_MASK_OPTIONS = -type solar_alt -thresh 'le45' -name TEC_with_solar_altitude_angle_le_45_masked_{valid?fmt=%Y_%m_%d_%H%M} -input_field 'name="TEC"; level="({valid?fmt=%Y%m%d_%H%M%S},*,*)"; file_type=NETCDF_NCCF;' -mask_field 'name="TEC"; level="({valid?fmt=%Y%m%d_%H%M%S},*,*)"; file_type=NETCDF_NCCF;' - -[filename_templates] - -# Template to look for input to GenVxMask relative to GEN_VX_MASK_INPUT_DIR +GEN_VX_MASK_INPUT_DIR = {INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/GLO_20190422_with_cosmic GEN_VX_MASK_INPUT_TEMPLATE = GloTEC_TEC_{valid?fmt=%Y_%m_%d}_cosmic.nc +GEN_VX_MASK_INPUT_MASK_DIR = {INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/GLO_20190422_with_cosmic GEN_VX_MASK_INPUT_MASK_TEMPLATE = GloTEC_TEC_{valid?fmt=%Y_%m_%d}_cosmic.nc -# Template to use to write output from GenVxMask +GEN_VX_MASK_OUTPUT_DIR={OUTPUT_BASE}/model_applications/space_weather/GenVxMask_glotec_solar_altitude GEN_VX_MASK_OUTPUT_TEMPLATE = GloTEC_TEC_solar_altitude_le_45_masked_{valid?fmt=%Y_%m_%d_%H%M}.nc -[dir] - -# Input/Output directories can be left empty if the corresponding template contains the full path to the files -GEN_VX_MASK_INPUT_DIR = {INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/GLO_20190422_with_cosmic - -GEN_VX_MASK_INPUT_MASK_DIR = {INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/GLO_20190422_with_cosmic - -GEN_VX_MASK_OUTPUT_DIR={OUTPUT_BASE}/model_applications/space_weather/GenVxMask_glotec_solar_altitude +### +# GenVxMask Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#genvxmask +### +GEN_VX_MASK_OPTIONS = -type solar_alt -thresh 'le45' -name TEC_with_solar_altitude_angle_le_45_masked_{valid?fmt=%Y_%m_%d_%H%M} -input_field 'name="TEC"; level="({valid?fmt=%Y%m%d_%H%M%S},*,*)"; file_type=NETCDF_NCCF;' -mask_field 'name="TEC"; level="({valid?fmt=%Y%m%d_%H%M%S},*,*)"; file_type=NETCDF_NCCF;' diff --git a/parm/use_cases/model_applications/space_weather/GridStat_fcstGloTEC_obsGloTEC_vx7.conf b/parm/use_cases/model_applications/space_weather/GridStat_fcstGloTEC_obsGloTEC_vx7.conf index c0b106b956..04e2575d10 100644 --- a/parm/use_cases/model_applications/space_weather/GridStat_fcstGloTEC_obsGloTEC_vx7.conf +++ b/parm/use_cases/model_applications/space_weather/GridStat_fcstGloTEC_obsGloTEC_vx7.conf @@ -1,93 +1,75 @@ -# GridStat METplus Configuration for the glotec_vs_glotec space weather use case: -# GloTEC initialized with and without COSMIC-1 RO data (id: vx7) -# -# Author: Jonathan Vigh (NCAR/RAL/JNTP) -# -# Description: This use case illustrates the use of grid_stat tool for the space weather domain. -# It compares Total Electron Content for a GloTEC model run initialized with COSMIC-1 -# radio occultation (RO) data to a GloTEC model run without such data. -# -# In this use case, the forecast is considered to be the run without COSMIC-1 RO data. -# The observations are considered to be the run with COSMIC-1 RO data. -# -# This use case runs grid_stat for all of the forecast times for one day for a -# space weather event known as the St. Patricks Day Storm (Mar 17, 2015). -# -# Novel aspects of this use case: -# - First example use case to run grid_stat on a space weather model (GloTEC) -# - Example of how to run with NetCDF input data which do not strictly conform to the -# Climate Forecasts (CF) conventions -# - Example of using masks covering latitudinal bands of interest to the space weather community: -# equatorial region, mid-latitude region, and polar region -# - Example of masking using the value of a quality flag at each time step and grid point -# -# - -# section heading for [config] variables - all items below this line and -# before the next section heading correspond to the [config] section [config] -# Masking poly for GridStat -MODEL_FILE={FCST_GRID_STAT_INPUT_DIR}/{FCST_GRID_STAT_INPUT_TEMPLATE} -MODEL_LEVEL=({valid?fmt=%Y%m%d_%H%M%S},*,*) -MASK_DIR={INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/masks -GRID_STAT_MASK_POLY = {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==0, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==1, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==2, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==3, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==4, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==5, {MASK_DIR}/EQUATORIAL.nc, {MASK_DIR}/MIDLATITUDE.nc, {MASK_DIR}/POLAR.nc +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/space_weather/GridStat_fcstGloTEC_obsGloTEC_vx7.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# List of applications to run - only GridStat for this case PROCESS_LIST = GridStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of VALID_BEG and VALID_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 -VALID_TIME_FMT = %Y%m%d%H%M - -# Start time for METplus run - must match VALID_TIME_FMT -VALID_BEG = 201503170005 - -# End time for METplus run - must match VALID_TIME_FMT -VALID_END = 201503170015 -# Just run the first two time points for this use case example +# Just run the first two time points for this use case example # replace with 201503172355 process the entire day -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +LOOP_BY = VALID +VALID_TIME_FMT = %Y%m%d%H%M +VALID_BEG = 201503170005 +VALID_END = 201503170015 VALID_INCREMENT = 600 -# List of forecast leads to process for each run time (init or valid) LEAD_SEQ = 0 -# The above configuration will loop by valid time in increments of -# VALID_INCREMENT from VALID_BEG to VALID_END. Since LEAD_SEQ is set to 0, -# it will not loop over any forecast lead times. -# This will run: -# Valid: 2015-03-17_0005Z Forecast lead: 0 -# to 2015-03-17_0055Z Forecast lead: 0 - -# 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 +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/GLO_20190422_without_cosmic +FCST_GRID_STAT_INPUT_TEMPLATE = GloTEC_TEC_{valid?fmt=%Y_%m_%d}.nc + +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/GLO_20190422_with_cosmic +OBS_GRID_STAT_INPUT_TEMPLATE = GloTEC_TEC_{valid?fmt=%Y_%m_%d}_cosmic.nc + +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/space_weather/glotec_vs_glotec +GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y_%m_%d} + -# Location of MET config file to pass to the GridStat -GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + +MODEL = GloTEC_without_cosmic +OBTYPE = GloTEC_with_cosmic + +BOTH_VAR1_NAME = TEC +BOTH_VAR1_LEVELS = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" + + +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### -# Override MET config file settings for this use case GRID_STAT_MET_CONFIG_OVERRIDES = file_type = NETCDF_NCCF; GRID_STAT_OUTPUT_FLAG_CTC = STAT @@ -100,123 +82,17 @@ GRID_STAT_OUTPUT_FLAG_SL1L2 = STAT GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE -# Name to identify model (forecast) data in output -MODEL = GloTEC_without_cosmic - -# Name to identify observation data in output (used in output file path) -OBTYPE = GloTEC_with_cosmic - -# List of variables to compare in GridStat - FCST_VAR1 variables correspond -# to OBS_VAR1 variables - -# Name of forecast variable 1 -BOTH_VAR1_NAME = TEC - -# List of levels to evaluate for forecast variable 1 -# NOTE: this uses the new capability in METplus v3.0 to specify levels with valid time -# Previously, a user would have had to provide a list, such as: -# FCST_VAR1_LEVELS = "(20150317_000500,*,*)", "(20150317_001500,*,*)", "( 20150317_002500,*,*)", "( 20150317_003500,*,*)", "( 20150317_004500,*,*)" -BOTH_VAR1_LEVELS = "({valid?fmt=%Y%m%d_%H%M%S},*,*)" - -# NOTE that if the values do not match exactly, one can specify a time offset, as follows: -#FCST_VAR1_LEVELS = "({valid?fmt=%Y%m%d_%H%M%S?shift=5M},*,*)" - -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1 -# Not used for this example -#FCST_VAR1_THRESH = gt10.0, gt20.0, gt30.0, gt40.0 - -# Name of observation variable 1 (this is specified in the GridStat.conf file) -# Not used for this example -#OBS_VAR1_NAME = APCP_03 - -# List of levels to evaluate for observation variable 1 -# (*,*) is NetCDF notation - must include quotes around these values! -# must be the same lenght as FCST_VAR1_LEVELS -# Not used for this example -#OBS_VAR1_LEVELS = "(*,*)" - -# List of thresholds to evaluate for each name/level combination for -# forecast variable 1 - must be the same length as FCST_VAR1_THRESH -# Not used for this example -#OBS_VAR1_THRESH = gt10.0, gt20.0, gt30.0, gt40.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. -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 - -# width value passed to nbrhd dictionary in the MET config file GRID_STAT_NEIGHBORHOOD_WIDTH = 1 - -# shape value passed to nbrhd dictionary in the MET config file GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE -# 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. -# Not used for this example 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 -# Not used for this example -FCST_GRID_STAT_PROB_THRESH = ==0.1 - -# 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 -# Not used for this example -OBS_GRID_STAT_PROB_THRESH = ==0.1 - -# Output prefix set in grid_stat config file GRID_STAT_OUTPUT_PREFIX={MODEL}-vx7_{CURRENT_OBS_NAME}_vs_{OBTYPE} GRID_STAT_DESC = vx7 -# End of [config] section and start of [dir] section -[dir] - -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/GLO_20190422_without_cosmic - -# directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/GLO_20190422_with_cosmic - -# directory containing climatology input to GridStat -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_DIR = - -# directory to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/space_weather/glotec_vs_glotec - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = GloTEC_TEC_{valid?fmt=%Y_%m_%d}.nc - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = GloTEC_TEC_{valid?fmt=%Y_%m_%d}_cosmic.nc - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {valid?fmt=%Y_%m_%d} - -# Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = - -# Used to specify one or more verification mask files for GridStat -# Not used for this example -GRID_STAT_VERIFICATION_MASK_TEMPLATE = - +# Masking poly for GridStat +MODEL_FILE={FCST_GRID_STAT_INPUT_DIR}/{FCST_GRID_STAT_INPUT_TEMPLATE} +MODEL_LEVEL=({valid?fmt=%Y%m%d_%H%M%S},*,*) +MASK_DIR={INPUT_BASE}/model_applications/space_weather/glotec_vs_glotec/masks +GRID_STAT_MASK_POLY = {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==0, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==1, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==2, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==3, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==4, {MODEL_FILE} {name = "quality_flag"; level = "{MODEL_LEVEL}"; file_type=NETCDF_NCCF;} ==5, {MASK_DIR}/EQUATORIAL.nc, {MASK_DIR}/MIDLATITUDE.nc, {MASK_DIR}/POLAR.nc From c5b2a9a84498e688bd41b7280beeb7cee116a272 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 14:02:38 -0600 Subject: [PATCH 27/35] per #1402, updated another use case conf --- ...ter_fcstGFS_obsGFS_UserScript_ExtraTC.conf | 167 ++++++------------ 1 file changed, 51 insertions(+), 116 deletions(-) diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf b/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf index 3549ba23c5..fb29028f8a 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf @@ -1,169 +1,104 @@ -# -# CONFIGURATION -# [config] -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. -LOOP_ORDER = processes +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -# Configuration files -TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# 'Tasks' to be run PROCESS_LIST = UserScript, TCPairs, CyclonePlotter -LOOP_BY = INIT +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# The init time begin and end times, increment, and last init hour. +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2020100700 INIT_END = 2020100700 - -# This is the step-size. Increment in seconds from the begin time to the end time -# set to 6 hours = 21600 seconds INIT_INCREMENT = 21600 USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID -USER_SCRIPT_PATH = {PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC/extract_opc_decks.py - -USER_SCRIPT_INPUT_PATH = {INPUT_BASE}/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC/trak.gfso.atcf_gen.glbl.{init?fmt=%Y} +LOOP_ORDER = processes -USER_SCRIPT_COMMAND = {USER_SCRIPT_PATH} {USER_SCRIPT_INPUT_PATH} {USER_SCRIPT_OUTPUT_DIR} {init?fmt=%Y%m%d%H} -# A list of times to include, in format YYYYMMDD_hh -TC_PAIRS_INIT_INCLUDE = +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# A list of times to exclude, in format YYYYMMDD_hh -TC_PAIRS_INIT_EXCLUDE = +USER_SCRIPT_OUTPUT_DIR = {OUTPUT_BASE}/decks -# Specify model init time window in format YYYYMM[DD[_hh]] -# Only tracks that fall within the initialization time window will be used -TC_PAIRS_INIT_BEG = -TC_PAIRS_INIT_END = +TC_PAIRS_ADECK_INPUT_DIR = {USER_SCRIPT_OUTPUT_DIR}/adeck +TC_PAIRS_ADECK_TEMPLATE = adeck.{init?fmt=%Y%m%d%H}.{cyclone}.dat -# Specify model valid time window in format YYYYMM[DD[_hh]] -# Only tracks that fall within the valid time window will be used -TC_PAIRS_VALID_BEG = -TC_PAIRS_VALID_END = +TC_PAIRS_BDECK_INPUT_DIR = {USER_SCRIPT_OUTPUT_DIR}/adeck +TC_PAIRS_BDECK_TEMPLATE = adeck.{init?fmt=%Y%m%d%H}.{cyclone}.dat -# -# Run MET tc_pairs by indicating the top-level directories for the A-deck and B-deck files. Set to 'yes' to -# run using top-level directories, 'no' if you want to run tc_pairs on files paired by the wrapper. -TC_PAIRS_READ_ALL_FILES = no +TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +TC_PAIRS_OUTPUT_TEMPLATE = tc_pairs.{init?fmt=%Y%m%d%H}.{cyclone} -# set to true or yes to reformat track data into ATCF format expected by tc_pairs -TC_PAIRS_REFORMAT_DECK = no +CYCLONE_PLOTTER_INPUT_DIR = {TC_PAIRS_OUTPUT_DIR} +CYCLONE_PLOTTER_OUTPUT_DIR = {OUTPUT_BASE}/cyclone -# OVERWRITE OPTIONS -# Don't overwrite filter files if they already exist. -# Set to yes if you do NOT want to override existing files -# Set to no if you do want to override existing files -TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = no -# -# MET TC-Pairs -# -# List of models to be used (white space or comma separated) eg: DSHP, LGEM, HWRF -# If no models are listed, then process all models in the input file(s). -MODEL = +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### -#TC_PAIRS_DESC = +USER_SCRIPT_PATH = {PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC/extract_opc_decks.py -# List of storm ids of interest (space or comma separated) e.g.: AL112012, AL122012 -# If no storm ids are listed, then process all storm ids in the input file(s). -TC_PAIRS_STORM_ID = +USER_SCRIPT_INPUT_PATH = {INPUT_BASE}/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC/trak.gfso.atcf_gen.glbl.{init?fmt=%Y} -# Basins (of origin/region). Indicate with space or comma-separated list of regions, eg. AL: for North Atlantic, -# WP: Western North Pacific, CP: Central North Pacific, SH: Southern Hemisphere, IO: North Indian Ocean, LS: Southern -# Hemisphere -TC_PAIRS_BASIN = +USER_SCRIPT_COMMAND = {USER_SCRIPT_PATH} {USER_SCRIPT_INPUT_PATH} {USER_SCRIPT_OUTPUT_DIR} {init?fmt=%Y%m%d%H} -# Cyclone, a space or comma-separated list of cyclone numbers. If left empty, all cyclones will be used. -TC_PAIRS_CYCLONE = -# Storm name, a space or comma-separated list of storm names to evaluate. If left empty, all storms will be used. -TC_PAIRS_STORM_NAME = +### +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs +### -# DLAND file, the full path of the file that contains the gridded representation of the -# minimum distance from land. TC_PAIRS_DLAND_FILE = MET_BASE/tc_data/dland_global_tenth_degree.nc -# setting this so that when verifying against analysis track, the union of points are written TC_PAIRS_MET_CONFIG_OVERRIDES = match_points = FALSE; -## -# only 00, 06, 12, and 18z init times are supported in NOAA website, -# so for consistency, these are the only options for METplus. -# + +### +# CyclonePlotter Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#cycloneplotter +### + CYCLONE_PLOTTER_INIT_DATE={init?fmt=%Y%m%d} CYCLONE_PLOTTER_INIT_HR ={init?fmt=%H} CYCLONE_PLOTTER_MODEL = GFSO CYCLONE_PLOTTER_PLOT_TITLE = Model Forecast Storm Tracks -## -# Indicate the region (i.e. define a bounding box) to plot -# - -# Set to Y[y]es or True to plot entire global extent, N[n]o or False -# to generate a plot of a defined region of the world (and define lons and -# lats below). CYCLONE_PLOTTER_GLOBAL_PLOT = no -# ***IMPORTANT*** If CYCLONE_PLOTTER_GLOBAL_PLOT -# is set to False or N[n]o, then define the region of the world to plot. -# Longitudes can range from -180 to 180 degrees and latitudes from -90 to 90 degrees - -# -------------------------------- -# EXAMPLE OF BOUNDING BOX SETTINGS -# -------------------------------- -# NORTHERN HEMISPHERE -CYCLONE_PLOTTER_WEST_LON = -180 -CYCLONE_PLOTTER_EAST_LON = 179 -CYCLONE_PLOTTER_SOUTH_LAT = 0 -CYCLONE_PLOTTER_NORTH_LAT = 90 - -## -# Indicate the size of symbol (point size) CYCLONE_PLOTTER_CIRCLE_MARKER_SIZE = 4 CYCLONE_PLOTTER_CROSS_MARKER_SIZE = 6 -## -# Indicate text size of annotation label CYCLONE_PLOTTER_ANNOTATION_FONT_SIZE = 3 -# Indicate the text size for the legend labels CYCLONE_PLOTTER_LEGEND_FONT_SIZE = 3 -## -# Resolution of saved plot in dpi (dots per inch) -# Set to 0 to allow Matplotlib to determine, based on your computer CYCLONE_PLOTTER_RESOLUTION_DPI = 400 CYCLONE_PLOTTER_GENERATE_TRACK_ASCII = yes CYCLONE_PLOTTER_ADD_WATERMARK = False - -# -# DIRECTORIES -# -[dir] -# Location of input track data directory -# for ADECK and BDECK data - -USER_SCRIPT_OUTPUT_DIR = {OUTPUT_BASE}/decks - -TC_PAIRS_ADECK_INPUT_DIR = {USER_SCRIPT_OUTPUT_DIR}/adeck -TC_PAIRS_BDECK_INPUT_DIR = {USER_SCRIPT_OUTPUT_DIR}/adeck - -TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs - -CYCLONE_PLOTTER_INPUT_DIR = {TC_PAIRS_OUTPUT_DIR} -CYCLONE_PLOTTER_OUTPUT_DIR = {OUTPUT_BASE}/cyclone - -[filename_templates] -TC_PAIRS_ADECK_TEMPLATE = adeck.{init?fmt=%Y%m%d%H}.{cyclone}.dat -TC_PAIRS_BDECK_TEMPLATE = adeck.{init?fmt=%Y%m%d%H}.{cyclone}.dat -TC_PAIRS_OUTPUT_TEMPLATE = tc_pairs.{init?fmt=%Y%m%d%H}.{cyclone} From dcc8028c359e61648f73371c9f942d92d02bc4c6 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 14:03:34 -0600 Subject: [PATCH 28/35] add support for setting match_points in the TCPairs wrapped config file and replace MET_CONFIG_OVERRIDE variable with TC_PAIRS_MATCH_POINTS --- docs/Users_Guide/glossary.rst | 5 +++++ docs/Users_Guide/wrappers.rst | 12 ++++++++++++ .../wrappers/tc_pairs/test_tc_pairs_wrapper.py | 3 +++ metplus/wrappers/tc_pairs_wrapper.py | 3 +++ parm/met_config/TCPairsConfig_wrapped | 3 ++- .../TCPairs/TCPairs_extra_tropical.conf | 2 ++ .../met_tool_wrapper/TCPairs/TCPairs_tropical.conf | 2 ++ ...onePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf | 2 +- 8 files changed, 30 insertions(+), 2 deletions(-) diff --git a/docs/Users_Guide/glossary.rst b/docs/Users_Guide/glossary.rst index cdfead0a9e..cf8ff44469 100644 --- a/docs/Users_Guide/glossary.rst +++ b/docs/Users_Guide/glossary.rst @@ -9648,3 +9648,8 @@ METplus Configuration Glossary Set the resolution for CyclonePlotter output. | *Used by:* CyclonePlotter + + TC_PAIRS_MATCH_POINTS + Specify the value for 'match_points' in the MET configuration file for TCPairs. + + | *Used by:* TCPairs diff --git a/docs/Users_Guide/wrappers.rst b/docs/Users_Guide/wrappers.rst index faacd539eb..ad359da405 100644 --- a/docs/Users_Guide/wrappers.rst +++ b/docs/Users_Guide/wrappers.rst @@ -7829,6 +7829,7 @@ METplus Configuration | :term:`TC_PAIRS_RUN_ONCE` | :term:`TC_PAIRS_CHECK_DUP` | :term:`TC_PAIRS_INTERP12` +| :term:`TC_PAIRS_MATCH_POINTS` | .. warning:: **DEPRECATED:** @@ -8039,6 +8040,17 @@ see :ref:`How METplus controls MET config file settings`. * - :term:`TC_PAIRS_VALID_END` - valid_end +**${METPLUS_MATCH_POINTS}** + +.. list-table:: + :widths: 5 5 + :header-rows: 0 + + * - METplus Config(s) + - MET Config File + * - :term:`TC_PAIRS_MATCH_POINTS` + - match_points + **${METPLUS_DLAND_FILE}** .. list-table:: diff --git a/internal_tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py b/internal_tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py index 265564a29b..943f0bf6a5 100644 --- a/internal_tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py +++ b/internal_tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py @@ -378,6 +378,9 @@ def test_tc_pairs_storm_id_lists(metplus_config, config_overrides, # 19: interp12 ({'TC_PAIRS_INTERP12': 'replace', }, {'METPLUS_INTERP12': 'interp12 = REPLACE;'}), + # 20 match_points + ({'TC_PAIRS_MATCH_POINTS': 'False', }, + {'METPLUS_MATCH_POINTS': 'match_points = FALSE;'}), ] ) diff --git a/metplus/wrappers/tc_pairs_wrapper.py b/metplus/wrappers/tc_pairs_wrapper.py index 424b25a4af..6ceee73d33 100755 --- a/metplus/wrappers/tc_pairs_wrapper.py +++ b/metplus/wrappers/tc_pairs_wrapper.py @@ -63,6 +63,7 @@ class TCPairsWrapper(CommandBuilder): 'METPLUS_VALID_EXC', 'METPLUS_CHECK_DUP', 'METPLUS_INTERP12', + 'METPLUS_MATCH_POINTS', ] WILDCARDS = { @@ -177,6 +178,8 @@ def create_c_dict(self): extra_args={'remove_quotes': True, 'uppercase': True}) + self.add_met_config(name='match_points', data_type='bool') + c_dict['INIT_INCLUDE'] = getlist( self.get_wrapper_or_generic_config('INIT_INCLUDE') ) diff --git a/parm/met_config/TCPairsConfig_wrapped b/parm/met_config/TCPairsConfig_wrapped index 67246863de..34f85e1a2f 100644 --- a/parm/met_config/TCPairsConfig_wrapped +++ b/parm/met_config/TCPairsConfig_wrapped @@ -124,7 +124,8 @@ anly_track = BDECK; // Specify if only those track points common to both the ADECK and BDECK // tracks be written out. // -match_points = TRUE; +//match_points = +${METPLUS_MATCH_POINTS} // // Specify the NetCDF output of the gen_dland tool containing a gridded diff --git a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf index 593970cced..092a7f985c 100644 --- a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf +++ b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf @@ -104,3 +104,5 @@ TC_PAIRS_MISSING_VAL = -9999 #TC_PAIRS_CHECK_DUP = #TC_PAIRS_INTERP12 = + +#TC_PAIRS_MATCH_POINTS = \ No newline at end of file diff --git a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf index 044712728f..680a1515a6 100644 --- a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf +++ b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf @@ -100,3 +100,5 @@ TC_PAIRS_DLAND_FILE = MET_BASE/tc_data/dland_global_tenth_degree.nc #TC_PAIRS_CHECK_DUP = #TC_PAIRS_INTERP12 = + +#TC_PAIRS_MATCH_POINTS = diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf b/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf index fb29028f8a..e7c4ba2cc1 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf @@ -75,7 +75,7 @@ USER_SCRIPT_COMMAND = {USER_SCRIPT_PATH} {USER_SCRIPT_INPUT_PATH} {USER_SCRIPT_O TC_PAIRS_DLAND_FILE = MET_BASE/tc_data/dland_global_tenth_degree.nc -TC_PAIRS_MET_CONFIG_OVERRIDES = match_points = FALSE; +TC_PAIRS_MATCH_POINTS = FALSE ### From 40ee8885af17f703b6980c37f9dece8eeeab1d00 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Fri, 22 Jul 2022 14:29:54 -0600 Subject: [PATCH 29/35] per #1402, rearrange and clean up config files for tc_and_extra_tc use cases. ci-run-all-diff --- .../GridStat_fcstHAFS_obsTDR_NetCDF.conf | 201 +++++------------- .../Plotter_fcstGFS_obsGFS_ExtraTC.conf | 168 +++++---------- .../Plotter_fcstGFS_obsGFS_RPlotting.conf | 164 ++++++-------- .../TCGen_fcstGFS_obsBDECK_2021season.conf | 87 +++----- ..._fcstADECK_obsBDECK_ATCF_BasicExample.conf | 112 +++++----- .../TCRMW_fcstGFS_fcstOnly_gonzalo.conf | 155 ++++---------- ...I2NC_PointStat_fcstHAFS_obsFRD_NetCDF.conf | 164 +++++++------- 7 files changed, 392 insertions(+), 659 deletions(-) diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF.conf b/parm/use_cases/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF.conf index 37cacb0c96..38b229e0f3 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF.conf @@ -1,88 +1,62 @@ -# 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 +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = GridStat -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 = VALID +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT VALID_BEG = 2019082912 - -# End time for METplus run - must match INIT_TIME_FMT VALID_END = 2019082912 +VALID_INCREMENT = 21600 -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds -VALID_INCREMENT = 21600 - -# 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 = 0,6,12,18 -# 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 = 200 +CUSTOM_LOOP_LIST = 190829H1 -# Location of MET config file to pass to GridStat -# References CONFIG_DIR from the [dir] section -GRID_STAT_CONFIG_FILE = {CONFIG_DIR}/GridStatConfig_wrapped -GRID_STAT_OUTPUT_FLAG_FHO = BOTH -GRID_STAT_OUTPUT_FLAG_CTC = STAT -GRID_STAT_OUTPUT_FLAG_CTS = STAT -GRID_STAT_OUTPUT_FLAG_CNT = STAT -GRID_STAT_OUTPUT_FLAG_SL1L2 = STAT -GRID_STAT_OUTPUT_FLAG_ECLV = NONE +LOOP_ORDER = times -# 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 = OBS -# Name to identify model (forecast) data in output -MODEL = HAFS +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Name to identify observation data in output -OBTYPE = TDR +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF/hafs_height +FCST_GRID_STAT_INPUT_TEMPLATE = dorian05l.{init?fmt=%Y%m%d%H}.hafsprs.synoptic.0p03.f{lead?fmt=%HHH}.nc4 -# add list of missions separated by commas -CUSTOM_LOOP_LIST = 190829H1 +OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF/obs +OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY -# 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_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/tdr +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} -FCST_VAR1_NAME = u -FCST_VAR1_OPTIONS = set_attr_init="{init?fmt=%Y%m%d_%H%M%S}"; set_attr_valid="{valid?fmt=%Y%m%d_%H%M%S}"; set_attr_lead="{lead?fmt=%H}"; -# FCST_VAR_LEVELS dimensions are (valid_time, lev, latitude, longitude) -FCST_VAR1_LEVELS = "(0,1,*,*)" -FCST_GRID_STAT_INPUT_DATATYPE = NETCDF_NCCF +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### # Location of the TDR file TC_RADAR_FILE = {OBS_GRID_STAT_INPUT_DIR}/merged_zonal_wind_tdr.nc @@ -90,96 +64,37 @@ TC_RADAR_FILE = {OBS_GRID_STAT_INPUT_DIR}/merged_zonal_wind_tdr.nc # Obs vertical level in km OBS_VERT_LEVEL_KM = 2 +MODEL = HAFS +OBTYPE = TDR -# Name of observation variable 1 -# In this example the variable is merged_zonal_wind -# -OBS_VAR1_NAME = {PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF/read_tdr.py {TC_RADAR_FILE} merged_zonal_wind {custom?fmt=%s} {OBS_VERT_LEVEL_KM} - -#Thresholds for categorical statistics +FCST_VAR1_NAME = u +FCST_VAR1_LEVELS = "(0,1,*,*)" FCST_VAR1_THRESH = gt10.0, gt20.0, lt-10.0, lt-20.0 +FCST_VAR1_OPTIONS = set_attr_init="{init?fmt=%Y%m%d_%H%M%S}"; set_attr_valid="{valid?fmt=%Y%m%d_%H%M%S}"; set_attr_lead="{lead?fmt=%H}"; +FCST_GRID_STAT_INPUT_DATATYPE = NETCDF_NCCF + +OBS_VAR1_NAME = {PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF/read_tdr.py {TC_RADAR_FILE} merged_zonal_wind {custom?fmt=%s} {OBS_VERT_LEVEL_KM} OBS_VAR1_THRESH = gt10.0, gt20.0, lt-10.0, lt-20.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 -FCST_GRID_STAT_FILE_WINDOW_BEGIN = 0 -FCST_GRID_STAT_FILE_WINDOW_END = 0 -# MET GridStat neighborhood values -# See the MET User's Guide GridStat section for more information -# width value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_WIDTH = 1 +### +# GridStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat +### -# shape value passed to nbrhd dictionary in the MET config file -GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE +GRID_STAT_OUTPUT_FLAG_FHO = BOTH +GRID_STAT_OUTPUT_FLAG_CTC = STAT +GRID_STAT_OUTPUT_FLAG_CTS = STAT +GRID_STAT_OUTPUT_FLAG_CNT = STAT +GRID_STAT_OUTPUT_FLAG_SL1L2 = STAT +GRID_STAT_OUTPUT_FLAG_ECLV = NONE + +GRID_STAT_REGRID_TO_GRID = OBS -# cov thresh list passed to nbrhd dictionary in the MET config file +GRID_STAT_NEIGHBORHOOD_WIDTH = 1 +GRID_STAT_NEIGHBORHOOD_SHAPE = SQUARE 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 - -# 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 - GRID_STAT_OUTPUT_PREFIX = {MODEL}_vs_{OBTYPE} - -# End of [config] section and start of [dir] section -[dir] - -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config - -# directory containing forecast input to GridStat -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF/hafs_height - -# directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF/obs - -# 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 to write output from GridStat -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/tdr - -# End of [dir] section and start of [filename_templates] section -[filename_templates] - -# Template to look for forecast input to GridStat relative to FCST_GRID_STAT_INPUT_DIR -FCST_GRID_STAT_INPUT_TEMPLATE = dorian05l.{init?fmt=%Y%m%d%H}.hafsprs.synoptic.0p03.f{lead?fmt=%HHH}.nc4 - -# Template to look for observation input to GridStat relative to OBS_GRID_STAT_INPUT_DIR -OBS_GRID_STAT_INPUT_TEMPLATE = PYTHON_NUMPY - - -# Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H} - -# Template to look 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 to look for climatology input to GridStat relative to GRID_STAT_CLIMO_STDEV_INPUT_DIR -# Not used in this example -GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -# Used to specify one or more verification mask files for GridStat -# Not used for this example -GRID_STAT_VERIFICATION_MASK_TEMPLATE = diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_ExtraTC.conf b/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_ExtraTC.conf index cd213f47ac..60bf71574c 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_ExtraTC.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_ExtraTC.conf @@ -1,144 +1,93 @@ -[dir] -## Dirs below used by tc_pairs_wrapper module. -# -------------------------------------------- -# track data, set to your data source +[config] -TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/track_data -TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_ExtraTC.html -# Where modified track files are saved -TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf -TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -## Dirs below used by cyclone_plotter_wrapper module. -# -------------------------------------------------- -CYCLONE_PLOTTER_INPUT_DIR = {OUTPUT_BASE}/tc_pairs -CYCLONE_PLOTTER_OUTPUT_DIR = {OUTPUT_BASE}/cyclone +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -[filename_templates] -TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s} - -[config] -# ================================================ -## -# EXTRA TROPICAL CYCLONE PLOT OPTIONS... -# PROCESS_LIST = TCPairs, CyclonePlotter -LOOP_ORDER = processes -LOOP_BY = init -## Config options below used by tc_pairs_wrapper module. -# ------------------------------------------------------- -## -# -# MET TC-Pairs -# -# -## - -# -# Generate the tc-pairs data of interest -# -# Configuration files -TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = init INIT_TIME_FMT = %Y%m%d INIT_BEG = 20150301 INIT_END = 20150330 -INIT_INCREMENT = 21600 ;; 6 hours - +INIT_INCREMENT = 21600 TC_PAIRS_RUN_ONCE = True -# A list of times to include, in format YYYYMMDD_hh -INIT_INCLUDE = +LOOP_ORDER = processes + -# A list of times to exclude, in format YYYYMMDD_hh -INIT_EXCLUDE = +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# -# Specify model valid time window in format YYYYMM[DD[_hh]]. -# Only tracks that fall within the valid time window will -# be used. -VALID_BEG = -VALID_END = +# TCPairs -# -# Run MET tc_pairs by indicating the top-level directories for the A-deck and B-deck files. Set to 'yes' to -# run using top-level directories, 'no' if you want to run tc_pairs on files paired by the wrapper. -TC_PAIRS_READ_ALL_FILES = no +TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/track_data +TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -# -# MET TC-Pairs -# -# List of models to be used (white space or comma separated) eg: DSHP, LGEM, HWRF -# If no models are listed, then process all models in the input file(s). -MODEL = +TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} +TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -# List of storm ids of interest (space or comma separated) e.g.: AL112012, AL122012 -# If no storm ids are listed, then process all storm ids in the input file(s). -TC_PAIRS_STORM_ID = +TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf +TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes -# Basins (of origin/region). Indicate with space or comma-separated list of regions, eg. AL: for North Atlantic, -# WP: Western North Pacific, CP: Central North Pacific, SH: Southern Hemisphere, IO: North Indian Ocean, LS: Southern -# Hemisphere -TC_PAIRS_BASIN = +TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s} +TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes -# Cyclone, a space or comma-separated list of cyclone numbers. If left empty, all cyclones will be used. -TC_PAIRS_CYCLONE = -# Storm name, a space or comma-separated list of storm names to evaluate. If left empty, all storms will be used. -TC_PAIRS_STORM_NAME = +# CyclonePlotter +CYCLONE_PLOTTER_INPUT_DIR = {OUTPUT_BASE}/tc_pairs +CYCLONE_PLOTTER_OUTPUT_DIR = {OUTPUT_BASE}/cyclone + + +### +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs +### -# DLAND file, the full path of the file that contains the gridded representation of the -# minimum distance from land. -# Setting this causes tc_pairs to run approx 4x slower TC_PAIRS_DLAND_FILE = {MET_INSTALL_DIR}/share/met/tc_data/dland_global_tenth_degree.nc -## tc-pairs filtering options TC_PAIRS_REFORMAT_DECK = yes TC_PAIRS_REFORMAT_TYPE = SBU TC_PAIRS_MISSING_VAL_TO_REPLACE = -99 TC_PAIRS_MISSING_VAL = -9999 -# SKIP OPTIONS -# Skip processing files if the output already exists. -# Set to yes if you do NOT want to override existing files -# Set to no if you do want to override existing files -TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes -TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes -## -# CYCLONE PLOTTER -# -## Config options below used by cyclone_plotter_wrapper module. -# ------------------------------------------------------------- -## +### +# CyclonePlotter Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#cycloneplotter +### -# -# Specify the YMD of tracks of interest -# CYCLONE_PLOTTER_INIT_DATE = 20150301 -## -# only 00, 06, 12, and 18z init times are supported in NOAA website, -# so for consistency, these are the only options for METplus. -# CYCLONE_PLOTTER_INIT_HR = 12 ;; hh format CYCLONE_PLOTTER_MODEL = GFSO CYCLONE_PLOTTER_PLOT_TITLE = Model Forecast Storm Tracks -## -# Indicate the region (i.e. define a bounding box) to plot -# - -# Set to Y[y]es or True to plot entire global extent, N[n]o or False -# to generate a plot of a defined region of the world (and define lons and -# lats below). CYCLONE_PLOTTER_GLOBAL_PLOT = no # ***IMPORTANT*** If CYCLONE_PLOTTER_GLOBAL_PLOT @@ -154,28 +103,15 @@ CYCLONE_PLOTTER_EAST_LON = 179 CYCLONE_PLOTTER_SOUTH_LAT = 0 CYCLONE_PLOTTER_NORTH_LAT = 90 -# Indicate the size of symbol (point size) + CYCLONE_PLOTTER_CIRCLE_MARKER_SIZE = 2 CYCLONE_PLOTTER_CROSS_MARKER_SIZE = 3 -## -# Indicate text size of annotation label CYCLONE_PLOTTER_ANNOTATION_FONT_SIZE = 3 - -# Indicate the text size for the legend labels CYCLONE_PLOTTER_LEGEND_FONT_SIZE = 3 -## -# Turn on/off the generation of an ASCII output file listing all the -# tracks that are in the plot. This can be helpful in debugging or verifying -# that what is plotted is consistent with the data. -# CYCLONE_PLOTTER_GENERATE_TRACK_ASCII = yes CYCLONE_PLOTTER_ADD_WATERMARK = False -## -# Resolution of saved plot in dpi (dots per inch) -# Set to 0 to allow Matplotlib to determine, based on your computer CYCLONE_PLOTTER_RESOLUTION_DPI = 400 - diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_RPlotting.conf b/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_RPlotting.conf index 7ebe6f256c..dbd4e39267 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_RPlotting.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_RPlotting.conf @@ -1,78 +1,70 @@ -# -# PRECONDITION: REQUIRES INSTALLATION OF R on user system -# - -# -# CONFIGURATION -# [config] -# Loop over each process in the process list (set in PROCESS_LIST) for all times in the time window of -# interest. -LOOP_ORDER = processes -# Configuration files -TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_RPlotting.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### PROCESS_LIST = TCPairs, TCMPRPlotter -# The init time begin and end times, increment +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d INIT_BEG = 20141214 INIT_END = 20141214 - -# This is the step-size. Increment in seconds from the begin time to the end -# time INIT_INCREMENT = 21600 ;; set to every 6 hours=21600 seconds -# A list of times to include, in format YYYYMMDD_hh -INIT_INCLUDE = - -# A list of times to exclude, in format YYYYMMDD_hh -INIT_EXCLUDE = - -# -# Specify model valid time window in format YYYYMM[DD[_hh]]. Only tracks -# that fall within the valid time window will -# be used. -# -VALID_BEG = -VALID_END = - -## -# -# MET TC-Pairs -# -## - -# -# Run MET tc_pairs by indicating the top-level directories for the A-deck -# and B-deck files. Set to 'yes' to run using top-level directories, 'no' -# if you want to run tc_pairs on files paired by the wrapper. -TC_PAIRS_READ_ALL_FILES = no - -# List of models to be used (white space or comma separated) eg: DSHP, LGEM, HWRF -# If no models are listed, then process all models in the input file(s). -MODEL = - -# List of storm ids of interest (space or comma separated) e.g.: AL112012, AL122012 -# If no storm ids are listed, then process all storm ids in the input file(s). -TC_PAIRS_STORM_ID = - -# Basins (of origin/region). Indicate with space or comma-separated list of regions, eg. AL: for North Atlantic, -# WP: Western North Pacific, CP: Central North Pacific, SH: Southern Hemisphere, IO: North Indian Ocean, LS: Southern -# Hemisphere -TC_PAIRS_BASIN = - -# Cyclone, a space or comma-separated list of cyclone numbers. If left empty, all cyclones will be used. -TC_PAIRS_CYCLONE = - -# Storm name, a space or comma-separated list of storm names to evaluate. If left empty, all storms will be used. -TC_PAIRS_STORM_NAME = - -# DLAND file, the full path of the file that contains the gridded representation of the -# minimum distance from land. +LOOP_ORDER = processes + +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### + +# TCPairs + +TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/track_data +TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} + +TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} +TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} + +TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf +TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes + +TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s} +TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes + + +# TCMPRPlotter + +TCMPR_PLOTTER_TCMPR_DATA_DIR = {TC_PAIRS_OUTPUT_DIR} +TCMPR_PLOTTER_PLOT_OUTPUT_DIR = {OUTPUT_BASE}/tcmpr_plots + + +### +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs +### + TC_PAIRS_DLAND_FILE = {MET_INSTALL_DIR}/share/met/tc_data/dland_global_tenth_degree.nc TC_PAIRS_REFORMAT_DECK = yes @@ -82,9 +74,14 @@ TC_PAIRS_MISSING_VAL_TO_REPLACE = -99 TC_PAIRS_MISSING_VAL = -9999 -# Plot_TCMPR options, if left unset, default values that are -# pre-defined in the R utility (packaged with MET) will be used. +### +# TCMPRPlotter Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcmprplotter +### + +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_RPlotting TCMPR_PLOTTER_CONFIG_FILE = {CONFIG_DIR}/TCMPRPlotterConfig_customize + TCMPR_PLOTTER_PREFIX = TCMPR_PLOTTER_TITLE = TCMPR_PLOTTER_SUBTITLE = Your subtitle goes here @@ -119,40 +116,3 @@ TCMPR_PLOTTER_SAVE_DATA = TCMPR_PLOTTER_NO_EE = no TCMPR_PLOTTER_NO_LOG = no TCMPR_PLOTTER_SAVE = no - - -# OVERWRITE OPTIONS -# Don't overwrite filter files if they already exist. -# Set to no if you do NOT want to override existing files -# Set to yes if you do want to override existing files - -# overwrite modified track data (non-ATCF to ATCF format) -TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes - -# overwrite tc_pairs output -TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes - -# FILENAME TEMPLATES -# -[filename_templates] -# Define the format of the filenames - -TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s} -TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s} - -# -# DIRECTORIES -# -[dir] - -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_RPlotting - -# track data, set to your data source -TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/medium_range/track_data -TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR} -TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf -TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs - -TCMPR_PLOTTER_TCMPR_DATA_DIR = {TC_PAIRS_OUTPUT_DIR} -TCMPR_PLOTTER_PLOT_OUTPUT_DIR = {OUTPUT_BASE}/tcmpr_plots diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season.conf b/parm/use_cases/model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season.conf index 86b6251205..3ea343ac81 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season.conf @@ -1,33 +1,45 @@ [config] -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. -LOOP_ORDER = times +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# 'Tasks' to be run PROCESS_LIST = TCGen -LOOP_BY = INIT -# The init time +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### + +LOOP_BY = INIT INIT_TIME_FMT = %Y INIT_BEG = 2021 - -LOG_TC_GEN_VERBOSITY = 2 - -# optional list of strings to loop over and call the tool multiple times -# value of each item can be referenced in filename templates with {custom?fmt=%s} -TC_GEN_CUSTOM_LOOP_LIST = +LOOP_ORDER = times -# I/O Configurations +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Location of input data directory for track data TC_GEN_TRACK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season/abdeck/ TC_GEN_TRACK_INPUT_TEMPLATE = *.dat -# Location of input data directory for genesis data TC_GEN_GENESIS_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season/genesis/ TC_GEN_GENESIS_INPUT_TEMPLATE = genesis*.atcf_gen @@ -37,19 +49,14 @@ TC_GEN_EDECK_INPUT_TEMPLATE = edeck*.dat TC_GEN_SHAPE_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season/shape TC_GEN_SHAPE_INPUT_TEMPLATE = */{init?fmt=%Y}*/gtwo*.shp - -# directory to write output files generated by tc_gen TC_GEN_OUTPUT_DIR = {OUTPUT_BASE}/model_application/tc_and_extra_tc/TCGen TC_GEN_OUTPUT_TEMPLATE = tc_gen -# MET Configurations - -TC_GEN_CONFIG_FILE = {PARM_BASE}/met_config/TCGenConfig_wrapped - -# The following variables set values in the MET configuration file used by this example -# Leaving these values commented will use the value found in the default MET configuration file -# See the MET documentation for this tool for more information on the settings +### +# TCGen Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcgen +### TC_GEN_INIT_FREQ = 6 @@ -71,42 +78,10 @@ TC_GEN_BEST_GENESIS_MSLP_THRESH = NA TC_GEN_OPER_TECHNIQUE = CARQ -# TC_GEN_FILTER_ sets filter items in the MET configuration file -# quotation marks within quotation marks must be preceeded with \ -#TC_GEN_FILTER_1 = desc = "AL_BASIN"; vx_mask = "MET_BASE/tc_data/basin_global_tenth_degree.nc { name=\"basin\"; level=\"(*,*)\"; } ==1"; -#TC_GEN_FILTER_2 = desc = "AL_DLAND_300"; vx_mask = "MET_BASE/tc_data/basin_global_tenth_degree.nc { name=\"basin\"; level=\"(*,*)\"; } ==1"; dland_thresh = >0&&<300; -#TC_GEN_FILTER_3 = desc = "EP_CP_BASIN"; vx_mask = "MET_BASE/tc_data/basin_global_tenth_degree.nc { name=\"basin\"; level=\"(*,*)\";} ==2||==3"; -#TC_GEN_FILTER_4 = desc = "EP_BASIN"; genesis_window = { beg = -3*24; end = 3*24; }; genesis_radius = 300; -#TC_GEN_FILTER_5 = desc = "3DAY_300KM"; genesis_window = { beg = -3*24; end = 3*24; }; genesis_radius = 300; -#TC_GEN_FILTER_6 = desc = "3DAY_600KM"; genesis_window = { beg = -3*24; end = 3*24; }; genesis_radius = 600; -#TC_GEN_FILTER_7 = desc = "5DAY_300KM"; genesis_window = { beg = -5*24; end = 5*24; }; genesis_radius = 300; -#TC_GEN_FILTER_8 = desc = "5DAY_600KM"; genesis_window = { beg = -5*24; end = 5*24; }; genesis_radius = 600; - TC_GEN_DESC = ALL MODEL = GFS -TC_GEN_STORM_ID = - -TC_GEN_STORM_NAME = - -TC_GEN_INIT_BEG = -TC_GEN_INIT_END = -TC_GEN_INIT_INC = -TC_GEN_INIT_EXC = - -TC_GEN_VALID_BEG = -TC_GEN_VALID_END = - -TC_GEN_INIT_HOUR = - -# sets METPLUS_LEAD in the wrapped MET config file -LEAD_SEQ = - -TC_GEN_VX_MASK = - -TC_GEN_BASIN_MASK = - TC_GEN_DLAND_THRESH = NA TC_GEN_GENESIS_MATCH_RADIUS = 500 diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample.conf b/parm/use_cases/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample.conf index b57696ae61..9847b29a18 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample.conf @@ -1,89 +1,83 @@ -# -# CONFIGURATION -# [config] -# Looping by times: steps through each 'task' in the PROCESS_LIST for each -# defined time, and repeats until all times have been evaluated. +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -# 'Tasks' to be run PROCESS_LIST = TCPairs, TCStat -LOOP_BY = INIT +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# The init time begin and end times, increment, and last init hour. +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H INIT_BEG = 2021082500 INIT_END = 2021083000 - -# This is the step-size. Increment in seconds from the begin time to the end time -# set to 6 hours = 21600 seconds INIT_INCREMENT = 21600 -# -# Run MET tc_pairs by indicating the top-level directories for the A-deck and B-deck files. Set to 'yes' to -# run using top-level directories, 'no' if you want to run tc_pairs on files paired by the wrapper. -TC_PAIRS_READ_ALL_FILES = no +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### +# TCPairs -# -# MET TC-Pairs -# -# List of models to be used (white space or comma separated) eg: DSHP, LGEM, HWRF -# If no models are listed, then process all models in the input file(s). -MODEL = OFCL, HWRF +TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample +TC_PAIRS_BDECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample -# List of storm ids of interest (space or comma separated) e.g.: AL112012, AL122012 -# If no storm ids are listed, then process all storm ids in the input file(s). -#TC_PAIRS_STORM_ID = AL092021, AL102021 +TC_PAIRS_ADECK_TEMPLATE = a{basin}{cyclone}{init?fmt=%Y}.dat +TC_PAIRS_BDECK_TEMPLATE = b{basin}{cyclone}{init?fmt=%Y}.dat -# Basins (of origin/region). Indicate with space or comma-separated list of regions, eg. AL: for North Atlantic, -# WP: Western North Pacific, CP: Central North Pacific, SH: Southern Hemisphere, IO: North Indian Ocean, LS: Southern -# Hemisphere -TC_PAIRS_BASIN = AL +TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +TC_PAIRS_OUTPUT_TEMPLATE = tc_pairs.{basin}{cyclone}{init?fmt=%Y} -# Cyclone, a space or comma-separated list of cyclone numbers. If left empty, all cyclones will be used. -TC_PAIRS_CYCLONE = 09, 10 +# TCStat -# DLAND file, the full path of the file that contains the gridded representation of the -# minimum distance from land. -TC_PAIRS_DLAND_FILE = MET_BASE/tc_data/dland_global_tenth_degree.nc +TC_STAT_LOOKIN_DIR = {TC_PAIRS_OUTPUT_DIR} +TC_STAT_OUTPUT_DIR = {OUTPUT_BASE}/tc_stat -# setting this so that when verifying against analysis track, the union of points are written -TC_PAIRS_MET_CONFIG_OVERRIDES = match_points = TRUE; -# -# MET TC-Stat -# -#The line_type field stratifies by the line_type column. -TC_STAT_LINE_TYPE = TCMPR +### +# TCPairs Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcpairs +### -#The column_str_name and column_str_val fields stratify by performing string matching on non-numeric data columns. -TC_STAT_COLUMN_STRING_NAME = LEVEL -TC_STAT_COLUMN_STRING_VAL = HU,SD,SS,TS,TD +MODEL = OFCL, HWRF -#The water_only flag stratifies by only using points where both the amodel and bmodel tracks are over water. -TC_STAT_WATER_ONLY = FALSE +TC_PAIRS_BASIN = AL +TC_PAIRS_CYCLONE = 09, 10 -# -# DIRECTORIES -# -# Location of input track data directory -# for ADECK and BDECK data +TC_PAIRS_DLAND_FILE = MET_BASE/tc_data/dland_global_tenth_degree.nc -TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample -TC_PAIRS_BDECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample +TC_PAIRS_MATCH_POINTS = TRUE -TC_PAIRS_ADECK_TEMPLATE = a{basin}{cyclone}{init?fmt=%Y}.dat -TC_PAIRS_BDECK_TEMPLATE = b{basin}{cyclone}{init?fmt=%Y}.dat -TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs +### +# TCStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcstat +### -TC_PAIRS_OUTPUT_TEMPLATE = tc_pairs.{basin}{cyclone}{init?fmt=%Y} +TC_STAT_LINE_TYPE = TCMPR -TC_STAT_LOOKIN_DIR = {TC_PAIRS_OUTPUT_DIR} -TC_STAT_OUTPUT_DIR = {OUTPUT_BASE}/tc_stat +TC_STAT_COLUMN_STRING_NAME = LEVEL +TC_STAT_COLUMN_STRING_VAL = HU,SD,SS,TS,TD -TC_STAT_JOB_ARGS = -job filter -dump_row {TC_STAT_OUTPUT_DIR}/tc_stat_summary.tcst +TC_STAT_WATER_ONLY = FALSE +TC_STAT_JOB_ARGS = -job filter -dump_row {TC_STAT_OUTPUT_DIR}/tc_stat_summary.tcst diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/TCRMW_fcstGFS_fcstOnly_gonzalo.conf b/parm/use_cases/model_applications/tc_and_extra_tc/TCRMW_fcstGFS_fcstOnly_gonzalo.conf index a9f8bce45e..f44ee2d2c0 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/TCRMW_fcstGFS_fcstOnly_gonzalo.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/TCRMW_fcstGFS_fcstOnly_gonzalo.conf @@ -1,73 +1,66 @@ -# TCRMW Gonzalo - 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 TCRMW for this case +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/tc_and_extra_tc/TCRMW_fcstGFS_fcstOnly_gonzalo.html + +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide + +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### + PROCESS_LIST = TCRMW -# time looping - options are INIT, VALID, RETRO, and REALTIME + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### -# Format of INIT_BEG and INT_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 +LOOP_BY = INIT INIT_TIME_FMT = %Y%m%d%H - -# Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = 2014101312 - -# End time for METplus run - must match INIT_TIME_FMT INIT_END = 2014101312 - -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds INIT_INCREMENT = 6H -# 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) -# begin_end_incr(x,y,z) expands to a list where -# x = begin, y = end (inclusive), and z = increment between each value -#LEAD_SEQ = begin_end_incr(0, 126, 6) LEAD_SEQ = begin_end_incr(0, 24, 6) +#LEAD_SEQ = begin_end_incr(0, 126, 6) -# 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 TCRMW only -LOG_TC_RMW_VERBOSITY = 3 -# Location of MET config file to pass to TCRMW -# References CONFIG_DIR from the [dir] section -TC_RMW_CONFIG_FILE = {CONFIG_DIR}/TCRMWConfig_wrapped +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# type of data used for input to TCRMW data dictionary -# The value set here will be used to add 'data_type = ;' -# If this option is removed/commented out/empty, nothing will be set -TC_RMW_INPUT_DATATYPE = GRIB2 +TC_RMW_DECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/rmw/adeck +TC_RMW_DECK_TEMPLATE = gonzalo08l.{init?fmt=%Y%m%d%H}.f00-24.trak.hwrf.atcfunix.06hr + +TC_RMW_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/rmw/fcst +TC_RMW_INPUT_TEMPLATE = gonzalo08l.subset.{init?fmt=%Y%m%d%H}.hwrfprs.core.0p02.f{lead?fmt=%3H}.grb2 + +TC_RMW_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/TCRMW_gonzalo +TC_RMW_OUTPUT_TEMPLATE = tc_rmw_gonzal09l.{init?fmt=%Y%m%d%H}.nc + + +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### MODEL = HCLT -# list of pressure values to be referenced by other config variables -# this is not a variable name known to METplus, but added to avoid repeating values PRESSURE_LEVELS = "P1000","P850","P700","P500","P300","P200","P150","P100" -# List of variables to process in TCRMW -# must use BOTH_ config variables regardless if input is forecast or observation BOTH_VAR1_NAME = PRMSL BOTH_VAR1_LEVELS = L0 @@ -86,77 +79,15 @@ BOTH_VAR5_LEVELS = {PRESSURE_LEVELS} BOTH_VAR5_NAME = VGRD BOTH_VAR5_LEVELS = {PRESSURE_LEVELS} -# The following variables set MET configuration variables of the same name, -# i.e. TC_RMW_BASIN sets basin, TC_RMW_STORM_NAME sets storm_name, etc. -TC_RMW_BASIN = -TC_RMW_STORM_ID = +### +# TCRMW Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#tcrmw +### -TC_RMW_CYCLONE = +TC_RMW_INPUT_DATATYPE = GRIB2 -# Regrid options in TCRMW config file -# If these options are removed/commented out/empty, they will use -# the values from default MET config file TC_RMW_REGRID_METHOD = BILIN - TC_RMW_REGRID_WIDTH = 2 - TC_RMW_REGRID_VLD_THRESH = 0.5 - TC_RMW_REGRID_SHAPE = SQUARE - -# The following variables set values in the MET -# configuration file used by this example -# Leaving these values commented will use the value -# found in the default MET configuration file -#TC_RMW_INIT_INCLUDE = -#TC_RMW_VALID_BEG = -#TC_RMW_VALID_END = -#TC_RMW_VALID_INCLUDE_LIST = -#TC_RMW_VALID_EXCLUDE_LIST = -#TC_RMW_VALID_HOUR_LIST = - - -# Other TCRMW config file options -# If these options are removed/commented out/empty, they will use -# the values from default MET config file - -#TC_RMW_N_RANGE = 100 - -#TC_RMW_N_AZIMUTH = 180 - -#TC_RMW_MAX_RANGE_KM = 1000.0 - -#TC_RMW_DELTA_RANGE_KM = 10.0 - -#TC_RMW_SCALE = 0.2 - - -# -# DIRECTORIES -# -[dir] - -# location of configuration files used by MET applications -CONFIG_DIR={PARM_BASE}/met_config - -# Location of input track data directory -# for DECK data -TC_RMW_DECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/rmw/adeck - -# directory containing input data files -TC_RMW_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/rmw/fcst - -# directory to write output files -TC_RMW_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/TCRMW_gonzalo - -[filename_templates] - -# template to use to find DECK files relative to TC_RMW_DECK_INPUT_DIR -TC_RMW_DECK_TEMPLATE = gonzalo08l.{init?fmt=%Y%m%d%H}.f00-24.trak.hwrf.atcfunix.06hr - -# template to use to find input files relative to TC_RMW_INPUT_DIR -TC_RMW_INPUT_TEMPLATE = gonzalo08l.subset.{init?fmt=%Y%m%d%H}.hwrfprs.core.0p02.f{lead?fmt=%3H}.grb2 - -# template to use write output files relative to TC_RMW_OUTPUT_DIR -TC_RMW_OUTPUT_TEMPLATE = tc_rmw_gonzal09l.{init?fmt=%Y%m%d%H}.nc diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF.conf b/parm/use_cases/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF.conf index 9a8d5f10a3..409c3422ca 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF.conf @@ -1,34 +1,29 @@ [config] -## Configuration-related settings such as the process list, begin and end times, etc. -PROCESS_LIST = UserScript(untar_drop_file), Ascii2nc, PointStat +# Documentation for this use case can be found at +# https://metplus.readthedocs.io/en/latest/generated/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF.html -USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID -USER_SCRIPT_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/obs -USER_SCRIPT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/obs -USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF/hrd_frd_sonde_find_tar.py {USER_SCRIPT_ARGUMENTS} +# For additional information, please see the METplus Users Guide. +# https://metplus.readthedocs.io/en/latest/Users_Guide -ASCII2NC_INPUT_FORMAT = python -ASCII2NC_TIME_SUMMARY_FLAG = False -ASCII2NC_TIME_SUMMARY_RAW_DATA = False -ASCII2NC_TIME_SUMMARY_BEG = 000000 -ASCII2NC_TIME_SUMMARY_END = 235959 -ASCII2NC_TIME_SUMMARY_STEP = 300 -ASCII2NC_TIME_SUMMARY_WIDTH = 600 -ASCII2NC_TIME_SUMMARY_GRIB_CODES = 11, 204, 211 -ASCII2NC_TIME_SUMMARY_VAR_NAMES = -ASCII2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 -ASCII2NC_TIME_SUMMARY_VALID_FREQ = 0 -ASCII2NC_TIME_SUMMARY_VALID_THRESH = 0.0 +### +# Processes to run +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list +### -## LOOP_ORDER -## Options are: processes, times -## Looping by time- runs all items in the PROCESS_LIST for each -## initialization time and repeats until all times have been evaluated. -## Looping by processes- run each item in the PROCESS_LIST for all -## specified initialization times then repeat for the next item in the -## PROCESS_LIST. -LOOP_ORDER = processes +PROCESS_LIST = UserScript(untar_drop_file), Ascii2nc, PointStat + + +### +# Time Info +# LOOP_BY 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 +# LEAD_SEQ is the list of forecast leads to process +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control +### LOOP_BY = VALID VALID_TIME_FMT = %Y%m%d%H @@ -38,44 +33,91 @@ VALID_INCREMENT = 21600 LEAD_SEQ = 0,6,12,18 +USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID -# Logging levels: DEBUG, INFO, WARN, ERROR (most verbose is DEBUG) -LOG_LEVEL = DEBUG +LOOP_ORDER = processes -## MET Configuration files for point_stat -# Message types, if all message types are to be returned, leave this empty, -# otherwise indicate the message types of interest. -POINT_STAT_MESSAGE_TYPE = ADPUPA -POINT_STAT_STATION_ID = +### +# File I/O +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info +### -# Verification Masking regions -# Indicate which grid and polygon masking region, if applicable -POINT_STAT_GRID = FULL +# UserScript -# List of full path to poly masking files. NOTE: Only short lists of poly -# files work (those that fit on one line), a long list will result in an -# environment variable that is too long, resulting in an error. For long -# lists of poly masking files (i.e. all the mask files in the NCEP_mask -# directory), define these in the MET point_stat configuration file. -POINT_STAT_POLY = +USER_SCRIPT_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/obs +USER_SCRIPT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/obs + + +# ASCII2NC + +ASCII2NC_INPUT_TEMPLATE = "{PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF/hrd_frd_sonde_for_ascii2nc.py {USER_SCRIPT_OUTPUT_DIR}/{valid?fmt=%Y%m%d}" + +ASCII2NC_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/ascii2nc +ASCII2NC_OUTPUT_TEMPLATE = drop{valid?fmt=%Y%m%d}.nc + +# PointStat + +FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde +FCST_POINT_STAT_INPUT_TEMPLATE = hafs.{valid?fmt=%Y%m%d%H}/dorian05l.{init?fmt=%Y%m%d%H}.hafsprs.synoptic.TMP600-900.0p03.f{lead?fmt=%3H}.grb2 + +OBS_POINT_STAT_INPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/ascii2nc +OBS_POINT_STAT_INPUT_TEMPLATE = {ASCII2NC_OUTPUT_TEMPLATE} + +POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{OBTYPE} -# For both pb2nc and point_stat, the obs_window dictionary: -OBS_WINDOW_BEGIN = -5400 -OBS_WINDOW_END = 5400 -# Model/fcst and obs name, e.g. GFS, NAM, GDAS, etc. +### +# Field Info +# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info +### + MODEL = HAFS OBTYPE = drop -# Variables and levels as specified in the field dictionary of the MET -# point_stat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, -# (optional) FCST_VARn_OPTION - BOTH_VAR1_NAME = TMP BOTH_VAR1_LEVELS = P925-950, P850-800, P700-650 -POINT_STAT_CONFIG_FILE ={PARM_BASE}/met_config/PointStatConfig_wrapped +OBS_WINDOW_BEGIN = -5400 +OBS_WINDOW_END = 5400 + + +### +# UserScript Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript +### + +USER_SCRIPT_ARGUMENTS = {USER_SCRIPT_INPUT_DIR} {valid?fmt=%Y%m%d} {USER_SCRIPT_OUTPUT_DIR} +USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF/hrd_frd_sonde_find_tar.py {USER_SCRIPT_ARGUMENTS} + + +### +# ASCII2NC Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#ascii2nc +### + +ASCII2NC_INPUT_FORMAT = python +ASCII2NC_TIME_SUMMARY_FLAG = False +ASCII2NC_TIME_SUMMARY_RAW_DATA = False +ASCII2NC_TIME_SUMMARY_BEG = 000000 +ASCII2NC_TIME_SUMMARY_END = 235959 +ASCII2NC_TIME_SUMMARY_STEP = 300 +ASCII2NC_TIME_SUMMARY_WIDTH = 600 +ASCII2NC_TIME_SUMMARY_GRIB_CODES = 11, 204, 211 +ASCII2NC_TIME_SUMMARY_VAR_NAMES = +ASCII2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 +ASCII2NC_TIME_SUMMARY_VALID_FREQ = 0 +ASCII2NC_TIME_SUMMARY_VALID_THRESH = 0.0 + + +### +# PointStat Settings +# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#pointstat +### + +POINT_STAT_MESSAGE_TYPE = ADPUPA + +POINT_STAT_GRID = FULL POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST @@ -91,24 +133,4 @@ POINT_STAT_OUTPUT_FLAG_CNT = BOTH POINT_STAT_OUTPUT_FLAG_ECLV = BOTH POINT_STAT_OUTPUT_FLAG_MPR = BOTH -# Regrid to specified grid. Indicate NONE if no regridding, or the grid id -# (e.g. G212) POINT_STAT_REGRID_TO_GRID = NONE - -LOG_POINT_STAT_VERBOSITY=5 - -[dir] -TAR_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/obs -FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde -OBS_POINT_STAT_INPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/ascii2nc -ASCII2NC_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/tc_and_extra_tc/dropsonde/ascii2nc -POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/{OBTYPE} - -[filename_templates] - -USER_SCRIPT_ARGUMENTS = {USER_SCRIPT_INPUT_DIR} {valid?fmt=%Y%m%d} {USER_SCRIPT_OUTPUT_DIR} -ASCII2NC_OUTPUT_TEMPLATE = drop{valid?fmt=%Y%m%d}.nc -FCST_POINT_STAT_INPUT_TEMPLATE = hafs.{valid?fmt=%Y%m%d%H}/dorian05l.{init?fmt=%Y%m%d%H}.hafsprs.synoptic.TMP600-900.0p03.f{lead?fmt=%3H}.grb2 -OBS_POINT_STAT_INPUT_TEMPLATE = {ASCII2NC_OUTPUT_TEMPLATE} -ASCII2NC_INPUT_TEMPLATE = "{PARM_BASE}/use_cases/model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF/hrd_frd_sonde_for_ascii2nc.py {USER_SCRIPT_OUTPUT_DIR}/{valid?fmt=%Y%m%d}" - From dd5c2eb3e1519252b828163a5c1741328f1b859f Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 27 Jul 2022 11:35:29 -0600 Subject: [PATCH 30/35] turn off use cases --- .github/parm/use_case_groups.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/parm/use_case_groups.json b/.github/parm/use_case_groups.json index 01910f37c7..2a4da1ef67 100644 --- a/.github/parm/use_case_groups.json +++ b/.github/parm/use_case_groups.json @@ -167,12 +167,12 @@ { "category": "s2s_mid_lat", "index_list": "0-2", - "run": true + "run": false }, { "category": "s2s_mid_lat", "index_list": "3", - "run": true + "run": false }, { "category": "s2s_mjo", From a4f4af4e44f2d3d4627f391cd53564df131b533d Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 27 Jul 2022 14:38:31 -0600 Subject: [PATCH 31/35] if TC_PAIRS_MATCH_POINTS is unset, set 'match_points = TRUE;'. This is done because the value in the TCPairsConfig_wrapped file was TRUE, but the default value in the MET config file is FALSE. Typically if a METplus variable is unset, we do not set any value for the corresponding env var which results in using the value in the default MET config file. Doing this would cause many use cases to change their results unless TC_PAIRS_MATCH_POINTS=True was added to each use case config file. We could do this for our repository, but any use case config files outside of the METplus repo would need to be updated --- metplus/wrappers/tc_pairs_wrapper.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/metplus/wrappers/tc_pairs_wrapper.py b/metplus/wrappers/tc_pairs_wrapper.py index 6ceee73d33..0c6b42d828 100755 --- a/metplus/wrappers/tc_pairs_wrapper.py +++ b/metplus/wrappers/tc_pairs_wrapper.py @@ -180,6 +180,10 @@ def create_c_dict(self): self.add_met_config(name='match_points', data_type='bool') + # if unset, set match_points to TRUE to match old default in wrapped + if not self.env_var_dict.get('METPLUS_MATCH_POINTS'): + self.env_var_dict['METPLUS_MATCH_POINTS'] = 'match_points = TRUE;' + c_dict['INIT_INCLUDE'] = getlist( self.get_wrapper_or_generic_config('INIT_INCLUDE') ) From 6471b51588b59adec2ca4249a9695e5060922ba7 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 27 Jul 2022 15:35:08 -0600 Subject: [PATCH 32/35] fixed TCPairs unit tests to handle default value for match_points --- .../wrappers/tc_pairs/test_tc_pairs_wrapper.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/internal_tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py b/internal_tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py index 943f0bf6a5..bea68e7492 100644 --- a/internal_tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py +++ b/internal_tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py @@ -389,7 +389,7 @@ def test_tc_pairs_loop_order_processes(metplus_config, config_overrides, env_var_values): # run using init and valid time variables for loop_by in ['INIT', 'VALID']: - remove_beg = remove_end = False + remove_beg = remove_end = remove_match_points = False config = metplus_config() set_minimum_config_settings(config, loop_by) @@ -423,6 +423,12 @@ def test_tc_pairs_loop_order_processes(metplus_config, config_overrides, ) remove_end = True + if f'METPLUS_MATCH_POINTS' not in env_var_values: + env_var_values[f'METPLUS_MATCH_POINTS'] = ( + 'match_points = TRUE;' + ) + remove_match_points = True + wrapper = TCPairsWrapper(config) assert wrapper.isOK @@ -459,6 +465,8 @@ def test_tc_pairs_loop_order_processes(metplus_config, config_overrides, del env_var_values[f'METPLUS_{loop_by}_BEG'] if remove_end: del env_var_values[f'METPLUS_{loop_by}_END'] + if remove_match_points: + del env_var_values['METPLUS_MATCH_POINTS'] @pytest.mark.parametrize( @@ -513,6 +521,10 @@ def test_tc_pairs_read_all_files(metplus_config, config_overrides, f'{loop_by.lower()}_end = "{run_times[-1]}";' ) + env_var_values['METPLUS_MATCH_POINTS'] = ( + 'match_points = TRUE;' + ) + wrapper = TCPairsWrapper(config) assert wrapper.isOK From a41115fda0d3a843fccb857e088d21b4be60e4e3 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 27 Jul 2022 16:31:31 -0600 Subject: [PATCH 33/35] added variables that are needed for use case and were accidentally removed --- .../CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf b/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf index e7c4ba2cc1..ef1344706e 100644 --- a/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf +++ b/parm/use_cases/model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf @@ -90,6 +90,11 @@ CYCLONE_PLOTTER_PLOT_TITLE = Model Forecast Storm Tracks CYCLONE_PLOTTER_GLOBAL_PLOT = no +CYCLONE_PLOTTER_WEST_LON = -180 +CYCLONE_PLOTTER_EAST_LON = 179 +CYCLONE_PLOTTER_SOUTH_LAT = 0 +CYCLONE_PLOTTER_NORTH_LAT = 90 + CYCLONE_PLOTTER_CIRCLE_MARKER_SIZE = 4 CYCLONE_PLOTTER_CROSS_MARKER_SIZE = 6 From 4d318dbcde269f3fb7d0a6c43250b6022aadd8ec Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 27 Jul 2022 16:36:28 -0600 Subject: [PATCH 34/35] log error and increment error count if required lat/lon bound variables are not set instad of calling sys.exit --- metplus/wrappers/cyclone_plotter_wrapper.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/metplus/wrappers/cyclone_plotter_wrapper.py b/metplus/wrappers/cyclone_plotter_wrapper.py index b3db2c8ed1..740141ff43 100644 --- a/metplus/wrappers/cyclone_plotter_wrapper.py +++ b/metplus/wrappers/cyclone_plotter_wrapper.py @@ -134,37 +134,33 @@ def __init__(self, config, instance=None): else: self.logger.debug("Getting lons and lats that define the plot's extent") west_lon = (self.config.getstr('config', - 'CYCLONE_PLOTTER_WEST_LON') + 'CYCLONE_PLOTTER_WEST_LON', '') ) east_lon = (self.config.getstr('config', - 'CYCLONE_PLOTTER_EAST_LON') + 'CYCLONE_PLOTTER_EAST_LON', '') ) north_lat = (self.config.getstr('config', - 'CYCLONE_PLOTTER_NORTH_LAT') + 'CYCLONE_PLOTTER_NORTH_LAT', '') ) south_lat = (self.config.getstr('config', - 'CYCLONE_PLOTTER_SOUTH_LAT') + 'CYCLONE_PLOTTER_SOUTH_LAT', '') ) # Check for unconfigured lons and lats needed for defining the extent if not west_lon: - self.logger.error("Missing CYCLONE_PLOTTER_WEST_LON in config file. ") - sys.exit("Missing the CYCLONE_PLOTTER_WEST_LON please check config file") + self.log_error("Missing CYCLONE_PLOTTER_WEST_LON in config file. ") else: self.west_lon = (float(west_lon)) if not east_lon: - self.logger.error("Missing CYCLONE_PLOTTER_EAST_LON in config file. ") - sys.exit("Missing the CYCLONE_PLOTTER_EAST_LON please check config file") + self.log_error("Missing CYCLONE_PLOTTER_EAST_LON in config file. ") else: self.east_lon = (float(east_lon)) if not south_lat: - self.logger.error("Missing CYCLONE_PLOTTER_SOUTH_LAT in config file. ") - sys.exit("Missing the CYCLONE_PLOTTER_SOUTH_LAT please check config file") + self.log_error("Missing CYCLONE_PLOTTER_SOUTH_LAT in config file. ") else: self.south_lat = float(south_lat) if not north_lat: - self.logger.error("Missing CYCLONE_PLOTTER_NORTH_LAT in config file. ") - sys.exit("Missing the CYCLONE_PLOTTER_NORTH_LAT please check config file") + self.log_error("Missing CYCLONE_PLOTTER_NORTH_LAT in config file. ") else: self.north_lat = float(north_lat) From 748c098a534050b24a6d16ba1aaa9368442b7657 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Thu, 28 Jul 2022 12:05:03 -0600 Subject: [PATCH 35/35] skip metplus_final.conf in check for new output to prevent false alarm diffs --- metplus/util/diff_util.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/metplus/util/diff_util.py b/metplus/util/diff_util.py index 1de442caac..009939333b 100644 --- a/metplus/util/diff_util.py +++ b/metplus/util/diff_util.py @@ -108,6 +108,11 @@ def compare_dir(dir_a, dir_b, debug=False, save_diff=False): for filename in files: filepath_b = os.path.join(root, filename) + + # skip metplus_final.conf + if filepath_b.endswith('metplus_final.conf'): + continue + filepath_a = filepath_b.replace(dir_b, dir_a) if not os.path.exists(filepath_a): # check if missing file is actually diff file that was generated