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}