From f8b4eb4a974acfbc130676d385f9c18ea4e39481 Mon Sep 17 00:00:00 2001 From: gsketefian <31046882+gsketefian@users.noreply.github.com> Date: Mon, 20 Mar 2023 07:30:39 -0600 Subject: [PATCH] [develop] Split calling of METplus's Pb2nc tool into separate task (from PointStat and EnsembleStat tasks) (#668) Split calls to METplus's Pb2nc tool out of the tasks that run: 1. deterministic verification (vx) using the PointStat tool, 2. ensemble vx using the EnsembleStat, and 3. verification on the ensemble mean and ensemble probabilities using the PointStat tool into separate tasks. This new task is run for each cycle to convert NDAS prep-bufr files to NetCDF format. Also, include additional cleanup of vx tasks. --- jobs/JREGIONAL_RUN_MET_PB2NC_OBS | 85 +++++ parm/FV3LAM_wflow.xml | 146 ++++++-- parm/metplus/EnsembleStat_APCP01h.conf | 18 +- parm/metplus/EnsembleStat_APCP03h.conf | 24 +- parm/metplus/EnsembleStat_APCP06h.conf | 24 +- parm/metplus/EnsembleStat_APCP24h.conf | 24 +- parm/metplus/EnsembleStat_REFC.conf | 18 +- parm/metplus/EnsembleStat_RETOP.conf | 18 +- parm/metplus/EnsembleStat_SFC.conf | 147 +++----- parm/metplus/EnsembleStat_UPA.conf | 145 +++----- parm/metplus/GridStat_APCP01h.conf | 8 +- parm/metplus/GridStat_APCP03h.conf | 8 +- parm/metplus/GridStat_APCP06h.conf | 8 +- parm/metplus/GridStat_APCP24h.conf | 8 +- parm/metplus/GridStat_REFC.conf | 8 +- parm/metplus/GridStat_RETOP.conf | 8 +- parm/metplus/GridStat_ensmean_APCP01h.conf | 14 +- parm/metplus/GridStat_ensmean_APCP03h.conf | 16 +- parm/metplus/GridStat_ensmean_APCP06h.conf | 16 +- parm/metplus/GridStat_ensmean_APCP24h.conf | 16 +- parm/metplus/GridStat_ensmean_REFC.conf | 14 +- parm/metplus/GridStat_ensmean_RETOP.conf | 14 +- parm/metplus/GridStat_ensprob_APCP01h.conf | 14 +- parm/metplus/GridStat_ensprob_APCP03h.conf | 16 +- parm/metplus/GridStat_ensprob_APCP06h.conf | 16 +- parm/metplus/GridStat_ensprob_APCP24h.conf | 16 +- parm/metplus/GridStat_ensprob_REFC.conf | 14 +- parm/metplus/GridStat_ensprob_RETOP.conf | 14 +- parm/metplus/Pb2nc_obs.conf | 124 +++++++ parm/metplus/PointStat_SFC.conf | 197 +++++------ parm/metplus/PointStat_UPA.conf | 204 ++++++----- parm/metplus/PointStat_ensmean_SFC.conf | 199 +++++------ parm/metplus/PointStat_ensmean_UPA.conf | 194 +++++------ parm/metplus/PointStat_ensprob_SFC.conf | 195 +++++------ parm/metplus/PointStat_ensprob_UPA.conf | 194 +++++------ ...exregional_run_met_ensemblestat_vx_grid.sh | 4 +- scripts/exregional_run_met_gridstat_vx.sh | 21 +- .../exregional_run_met_gridstat_vx_ensmean.sh | 8 +- .../exregional_run_met_gridstat_vx_ensprob.sh | 8 +- scripts/exregional_run_met_pb2nc_obs.sh | 317 ++++++++++++++++++ scripts/exregional_run_met_pcpcombine.sh | 8 +- scripts/exregional_run_met_pointstat_vx.sh | 57 ++-- ...exregional_run_met_pointstat_vx_ensmean.sh | 42 ++- ...exregional_run_met_pointstat_vx_ensprob.sh | 43 ++- ush/config_defaults.yaml | 13 + ush/set_vx_params.sh | 8 +- 46 files changed, 1573 insertions(+), 1140 deletions(-) create mode 100755 jobs/JREGIONAL_RUN_MET_PB2NC_OBS create mode 100644 parm/metplus/Pb2nc_obs.conf create mode 100755 scripts/exregional_run_met_pb2nc_obs.sh diff --git a/jobs/JREGIONAL_RUN_MET_PB2NC_OBS b/jobs/JREGIONAL_RUN_MET_PB2NC_OBS new file mode 100755 index 0000000000..552d855214 --- /dev/null +++ b/jobs/JREGIONAL_RUN_MET_PB2NC_OBS @@ -0,0 +1,85 @@ +#!/bin/bash + +# +#----------------------------------------------------------------------- +# +# +# +#----------------------------------------------------------------------- +# + +# +#----------------------------------------------------------------------- +# +# Source the variable definitions file and the bash utility functions. +# +#----------------------------------------------------------------------- +# +. $USHdir/source_util_funcs.sh +source_config_for_task "task_run_met_pb2nc_obs" ${GLOBAL_VAR_DEFNS_FP} +. $USHdir/job_preamble.sh +# +#----------------------------------------------------------------------- +# +# Save current shell options (in a global array). Then set new options +# for this script/function. +# +#----------------------------------------------------------------------- +# +{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1 +# +#----------------------------------------------------------------------- +# +# Get the full path to the file in which this script/function is located +# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in +# which the file is located (scrfunc_dir). +# +#----------------------------------------------------------------------- +# +scrfunc_fp=$( $READLINK -f "${BASH_SOURCE[0]}" ) +scrfunc_fn=$( basename "${scrfunc_fp}" ) +scrfunc_dir=$( dirname "${scrfunc_fp}" ) +# +#----------------------------------------------------------------------- +# +# Print message indicating entry into script. +# +#----------------------------------------------------------------------- +# +print_info_msg " +======================================================================== +Entering script: \"${scrfunc_fn}\" +In directory: \"${scrfunc_dir}\" + +This is the J-job script for the task that runs METplus for point-stat +by initialization time for all forecast hours. +========================================================================" +# +#----------------------------------------------------------------------- +# +# Call the ex-script for this J-job and pass to it the necessary varia- +# bles. +# +#----------------------------------------------------------------------- +# +$SCRIPTSdir/exregional_run_met_pb2nc_obs.sh || \ +print_err_msg_exit "\ +Call to ex-script corresponding to J-job \"${scrfunc_fn}\" failed." +# +#----------------------------------------------------------------------- +# +# Run job postamble. +# +#----------------------------------------------------------------------- +# +job_postamble +# +#----------------------------------------------------------------------- +# +# Restore the shell options saved at the beginning of this script/func- +# tion. +# +#----------------------------------------------------------------------- +# +{ restore_shell_opts; } > /dev/null 2>&1 + diff --git a/parm/FV3LAM_wflow.xml b/parm/FV3LAM_wflow.xml index 26ab83aca5..6b9c62ddf1 100644 --- a/parm/FV3LAM_wflow.xml +++ b/parm/FV3LAM_wflow.xml @@ -47,6 +47,7 @@ Workflow task names. {%- if run_tasks_metvx_det or run_tasks_metvx_ens %} + {%- endif%} {%- if run_tasks_metvx_det %} @@ -1605,10 +1606,79 @@ xml. This may be changed in the future. {#- -Obs pre-processing tasks that must be run if either deterministic or -ensemble verification tasks are going to be run. +Obs processing tasks that must be run if either deterministic or ensemble +verification tasks are going to be run. #} {%- if run_tasks_metvx_det or run_tasks_metvx_ens %} + +{#- +Task for pre-processing of NDAS observations to convert prep-buffer files +to NetCDF format. + {%- set obtype = "NDAS" %} +#} + {%- if ("SFC" in vx_fields) or ("UPA" in vx_fields) %} +{#- +This for-loop isn't strictly necessary because it loops over only one +item, but having it allows for the use of the "set" tag to define new +variables within the loop (in Jinja, it is not possible to define variables +outside a loop unless one uses a namespace, which would be overkill in +this case). So here we opt for a redundant for-loop. +#} + {%- for obtype in ["NDAS"] -%} + {%- set tn = tn_run_met_pb2nc_obs -%} + {%- set maxtries = maxtries_run_met_pb2nc_obs -%} + {%- set nnodes = nnodes_run_met_pb2nc_obs -%} + {%- set ppn = ppn_run_met_pb2nc_obs -%} + {%- set wtime = wtime_run_met_pb2nc_obs -%} + + + + &RSRV_DEFAULT; + &LOAD_MODULES_RUN_TASK_FP; "&VX_LOCAL_MODULE_FN;" "&JOBSdir;/JREGIONAL_RUN_MET_PB2NC_OBS" + {{nnodes}}:ppn={{ppn}} + {{wtime}} + &NCORES_PER_NODE; + &SCHED_NATIVE_CMD; + {{tn}} + &LOGDIR;/{{tn}}_@Y@m@d@H&LOGEXT; + + GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; + USHdir&USHdir; + LOGDIR&LOGDIR; + PDY@Y@m@d + cyc@H + subcyc@M + VARSFC + ACCUM_HH01 + obs_or_fcstobs + OBTYPE{{obtype}} + OBS_DIR&{{obtype}}_OBS_DIR; + + + + {%- if run_task_get_obs_ndas %} + + {%- else %} +{#- +We only check for the existence of the NDAS observations directory, not +for individual prepbufr files within. This is because this and other +downstream vx tasks can complete successfully even when some obs files +are missing (the check for individual files is done by the scripts that +this task calls). +#} + &NDAS_OBS_DIR; + {%- endif %} + + + + + {%- endfor %} + + {%- endif %} + {#- Tasks for combining (adding) hourly APCP (accumulated precipitation) from CCPA observations to obtain APCP obs for longer accumulation periods @@ -1715,10 +1785,10 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM01 + ACCUM_HH01 USCORE_ENSMEM_NAME_OR_NULL{{uscore_ensmem_name}} + SLASH_ENSMEM_SUBDIR_OR_NULL{{ slash_ensmem_subdir }} {%- if do_ensemble %} - SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# {%- endif %} @@ -1767,10 +1837,10 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(3, fcst_len_hrs+1, 3) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM03 + ACCUM_HH03 USCORE_ENSMEM_NAME_OR_NULL{{uscore_ensmem_name}} + SLASH_ENSMEM_SUBDIR_OR_NULL{{ slash_ensmem_subdir }} {%- if do_ensemble %} - SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# {%- endif %} @@ -1812,10 +1882,10 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(6, fcst_len_hrs+1, 6) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM06 + ACCUM_HH06 USCORE_ENSMEM_NAME_OR_NULL{{uscore_ensmem_name}} + SLASH_ENSMEM_SUBDIR_OR_NULL{{ slash_ensmem_subdir }} {%- if do_ensemble %} - SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# {%- endif %} @@ -1857,10 +1927,10 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(24, fcst_len_hrs+1, 24) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM24 + ACCUM_HH24 USCORE_ENSMEM_NAME_OR_NULL{{uscore_ensmem_name}} + SLASH_ENSMEM_SUBDIR_OR_NULL{{ slash_ensmem_subdir }} {%- if do_ensemble %} - SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# {%- endif %} @@ -1902,8 +1972,8 @@ done by the scripts that this task calls). FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARREFC USCORE_ENSMEM_NAME_OR_NULL{{uscore_ensmem_name}} + SLASH_ENSMEM_SUBDIR_OR_NULL{{ slash_ensmem_subdir }} {%- if do_ensemble %} - SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# {%- endif %} @@ -1952,8 +2022,8 @@ done by the scripts that this task calls). FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARRETOP USCORE_ENSMEM_NAME_OR_NULL{{uscore_ensmem_name}} + SLASH_ENSMEM_SUBDIR_OR_NULL{{ slash_ensmem_subdir }} {%- if do_ensemble %} - SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# {%- endif %} @@ -2001,11 +2071,11 @@ done by the scripts that this task calls). cyc@H subcyc@M LOGDIR&LOGDIR; - FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARSFC + ACCUM_HH USCORE_ENSMEM_NAME_OR_NULL{{uscore_ensmem_name}} + SLASH_ENSMEM_SUBDIR_OR_NULL{{ slash_ensmem_subdir }} {%- if do_ensemble %} - SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# {%- endif %} @@ -2021,6 +2091,7 @@ done by the scripts that this task calls). {%- elif run_task_run_post %} {%- endif %} + @@ -2050,11 +2121,11 @@ done by the scripts that this task calls). cyc@H subcyc@M LOGDIR&LOGDIR; - FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARUPA + ACCUM_HH USCORE_ENSMEM_NAME_OR_NULL{{uscore_ensmem_name}} + SLASH_ENSMEM_SUBDIR_OR_NULL{{ slash_ensmem_subdir }} {%- if do_ensemble %} - SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# {%- endif %} @@ -2070,6 +2141,7 @@ done by the scripts that this task calls). {%- elif run_task_run_post %} {%- endif %} + @@ -2108,7 +2180,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM01 + ACCUM_HH01 @@ -2144,7 +2216,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(3, fcst_len_hrs+1, 3) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM03 + ACCUM_HH03 @@ -2181,7 +2253,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(6, fcst_len_hrs+1, 6) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM06 + ACCUM_HH06 @@ -2218,7 +2290,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(24, fcst_len_hrs+1, 24) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM24 + ACCUM_HH24 @@ -2326,7 +2398,10 @@ done by the scripts that this task calls). VARSFC - + + + + @@ -2359,7 +2434,10 @@ done by the scripts that this task calls). VARUPA - + + + + @@ -2393,7 +2471,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM01 + ACCUM_HH01 @@ -2429,7 +2507,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(3, fcst_len_hrs+1, 3) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM03 + ACCUM_HH03 @@ -2466,7 +2544,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(6, fcst_len_hrs+1, 6) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM06 + ACCUM_HH06 @@ -2503,7 +2581,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(24, fcst_len_hrs+1, 24) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM24 + ACCUM_HH24 @@ -2539,8 +2617,8 @@ done by the scripts that this task calls). cyc@H subcyc@M LOGDIR&LOGDIR; - FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARSFC + ACCUM_HH @@ -2572,8 +2650,8 @@ done by the scripts that this task calls). cyc@H subcyc@M LOGDIR&LOGDIR; - FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARUPA + ACCUM_HH @@ -2610,7 +2688,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM01 + ACCUM_HH01 @@ -2646,7 +2724,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(3, fcst_len_hrs+1, 3) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM03 + ACCUM_HH03 @@ -2683,7 +2761,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(6, fcst_len_hrs+1, 6) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM06 + ACCUM_HH06 @@ -2720,7 +2798,7 @@ done by the scripts that this task calls). LOGDIR&LOGDIR; FHR {% for h in range(24, fcst_len_hrs+1, 24) %}{{ " %02d" % h }}{% endfor %} VARAPCP - ACCUM24 + ACCUM_HH24 @@ -2824,8 +2902,8 @@ done by the scripts that this task calls). cyc@H subcyc@M LOGDIR&LOGDIR; - FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARSFC + ACCUM_HH @@ -2857,8 +2935,8 @@ done by the scripts that this task calls). cyc@H subcyc@M LOGDIR&LOGDIR; - FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARUPA + ACCUM_HH diff --git a/parm/metplus/EnsembleStat_APCP01h.conf b/parm/metplus/EnsembleStat_APCP01h.conf index fc1e92566a..f0de205047 100644 --- a/parm/metplus/EnsembleStat_APCP01h.conf +++ b/parm/metplus/EnsembleStat_APCP01h.conf @@ -1,4 +1,4 @@ -# Ensemble-Stat METplus Configuration +# EnsembleStat METplus Configuration [config] @@ -37,8 +37,8 @@ OBTYPE = CCPA #ENSEMBLE_STAT_DESC = # not in other file -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. +# The METplus EnsembleStat logging level +# 0 quiet to 5 loud, Verbosity setting for METplus EnsembleStat output, 2 is default. # This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf #LOG_ENSEMBLE_STAT_VERBOSITY = 2 @@ -189,13 +189,13 @@ OBS_VAR1_OPTIONS = {FCST_VAR1_OPTIONS} INPUT_BASE = {ENV[INPUT_BASE]} OUTPUT_BASE = {ENV[OUTPUT_BASE]} -# Forecast model input directory for ensemble_stat +# Forecast model input directory for EnsembleStat FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE} -# Point observation input dir for ensemble_stat +# Point observation input dir for EnsembleStat OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = -# Grid observation input dir for ensemble_stat +# Grid observation input dir for EnsembleStat OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OBS_DIR]} # directory containing climatology mean input to EnsembleStat @@ -206,7 +206,7 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat +# output directory for EnsembleStat ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} # directory containing log files @@ -241,11 +241,11 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_TEMPLATE = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/EnsembleStat # Specify the name of the metplus.log file LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat/metplus_final.ensgrid_APCP_01h.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/EnsembleStat/metplus_final.APCP_01h.conf diff --git a/parm/metplus/EnsembleStat_APCP03h.conf b/parm/metplus/EnsembleStat_APCP03h.conf index 626fa5b593..ff339bdcdf 100644 --- a/parm/metplus/EnsembleStat_APCP03h.conf +++ b/parm/metplus/EnsembleStat_APCP03h.conf @@ -1,4 +1,4 @@ -# Ensemble-Stat METplus Configuration +# EnsembleStat METplus Configuration [config] @@ -48,8 +48,8 @@ FCST_IS_PROB = false #ENSEMBLE_STAT_DESC = # not in other file -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. +# The MET EnsembleStat logging level +# 0 quiet to 5 loud, Verbosity setting for MET EnsembleStat output, 2 is default. # This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf #LOG_ENSEMBLE_STAT_VERBOSITY = 2 @@ -72,7 +72,7 @@ ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_APCP_03h_{OBTYPE} -# MET Configuration file for ensemble_stat +# MET Configuration file for EnsembleStat ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. @@ -199,16 +199,16 @@ OBS_VAR1_OPTIONS = {FCST_VAR1_OPTIONS} INPUT_BASE = {ENV[INPUT_BASE]} OUTPUT_BASE = {ENV[OUTPUT_BASE]} # -# Forecast model input directory for ensemble_stat +# Forecast model input directory for EnsembleStat # FCST_ENSEMBLE_STAT_INPUT_DIR = {ENV[MEM_BASE]} # -# Point observation input dir for ensemble_stat +# Point observation input dir for EnsembleStat # OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = -# Grid observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +# Grid observation input dir for EnsembleStat +OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to EnsembleStat # Not used in this example @@ -218,7 +218,7 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat +# output directory for EnsembleStat ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} # # Directory for staging data. @@ -233,7 +233,7 @@ STAGING_DIR = {OUTPUT_BASE}/stage/APCP_03 # The template FCST_ENSEMBLE_STAT_INPUT_TEMPLATE is relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_CUSTOM]}metprd/pcp_combine_fcst/{ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_MEM_CUSTOM]}.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}_a03h.nc +FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_CUSTOM]}metprd/PcpCombine_fcst/{ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_MEM_CUSTOM]}.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}_a03h.nc # Template to look for point observations. # Example precip24_2010010112.nc @@ -258,7 +258,7 @@ ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = # The template ENSEMBLE_STAT_OUTPUT_TEMPLATE is relative to # ENSEMBLE_STAT_OUTPUT_DIR. # -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/EnsembleStat # # Specify the name of the METplus log file. # @@ -266,4 +266,4 @@ LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # # Specify the location and name of the final METplus conf file. # -METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat/metplus_final.ensgrid_APCP_03h.conf +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/EnsembleStat/metplus_final.APCP_03h.conf diff --git a/parm/metplus/EnsembleStat_APCP06h.conf b/parm/metplus/EnsembleStat_APCP06h.conf index 6a2fd2c3ec..d087fcef3a 100644 --- a/parm/metplus/EnsembleStat_APCP06h.conf +++ b/parm/metplus/EnsembleStat_APCP06h.conf @@ -1,4 +1,4 @@ -# Ensemble-Stat METplus Configuration +# EnsembleStat METplus Configuration [config] @@ -48,8 +48,8 @@ FCST_IS_PROB = false #ENSEMBLE_STAT_DESC = # not in other file -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. +# The MET EnsembleStat logging level +# 0 quiet to 5 loud, Verbosity setting for MET EnsembleStat output, 2 is default. # This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf #LOG_ENSEMBLE_STAT_VERBOSITY = 2 @@ -72,7 +72,7 @@ ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_APCP_06h_{OBTYPE} -# MET Configuration file for ensemble_stat +# MET Configuration file for EnsembleStat ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. @@ -199,16 +199,16 @@ OBS_VAR1_OPTIONS = {FCST_VAR1_OPTIONS} INPUT_BASE = {ENV[INPUT_BASE]} OUTPUT_BASE = {ENV[OUTPUT_BASE]} # -# Forecast model input directory for ensemble_stat +# Forecast model input directory for EnsembleStat # FCST_ENSEMBLE_STAT_INPUT_DIR = {ENV[MEM_BASE]} # -# Point observation input dir for ensemble_stat +# Point observation input dir for EnsembleStat # OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = -# Grid observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +# Grid observation input dir for EnsembleStat +OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to EnsembleStat # Not used in this example @@ -218,7 +218,7 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat +# output directory for EnsembleStat ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} # # Directory for staging data. @@ -233,7 +233,7 @@ STAGING_DIR = {OUTPUT_BASE}/stage/APCP_06 # The template FCST_ENSEMBLE_STAT_INPUT_TEMPLATE is relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_CUSTOM]}metprd/pcp_combine_fcst/{ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_MEM_CUSTOM]}.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}_a06h.nc +FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_CUSTOM]}metprd/PcpCombine_fcst/{ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_MEM_CUSTOM]}.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}_a06h.nc # Template to look for point observations. # Example precip24_2010010112.nc @@ -258,7 +258,7 @@ ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = # The template ENSEMBLE_STAT_OUTPUT_TEMPLATE is relative to # ENSEMBLE_STAT_OUTPUT_DIR. # -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/EnsembleStat # # Specify the name of the METplus log file. # @@ -266,4 +266,4 @@ LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # # Specify the location and name of the final METplus conf file. # -METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat/metplus_final.ensgrid_APCP_06h.conf +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/EnsembleStat/metplus_final.APCP_06h.conf diff --git a/parm/metplus/EnsembleStat_APCP24h.conf b/parm/metplus/EnsembleStat_APCP24h.conf index 9bfa2f1f52..760419d852 100644 --- a/parm/metplus/EnsembleStat_APCP24h.conf +++ b/parm/metplus/EnsembleStat_APCP24h.conf @@ -1,4 +1,4 @@ -# Ensemble-Stat METplus Configuration +# EnsembleStat METplus Configuration [config] @@ -48,8 +48,8 @@ FCST_IS_PROB = false #ENSEMBLE_STAT_DESC = # not in other file -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. +# The MET EnsembleStat logging level +# 0 quiet to 5 loud, Verbosity setting for MET EnsembleStat output, 2 is default. # This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf #LOG_ENSEMBLE_STAT_VERBOSITY = 2 @@ -72,7 +72,7 @@ ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_APCP_24h_{OBTYPE} -# MET Configuration file for ensemble_stat +# MET Configuration file for EnsembleStat ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped # ENSEMBLE_STAT_MET_OBS_ERR_TABLE is not required. @@ -199,16 +199,16 @@ OBS_VAR1_OPTIONS = {FCST_VAR1_OPTIONS} INPUT_BASE = {ENV[INPUT_BASE]} OUTPUT_BASE = {ENV[OUTPUT_BASE]} # -# Forecast model input directory for ensemble_stat +# Forecast model input directory for EnsembleStat # FCST_ENSEMBLE_STAT_INPUT_DIR = {ENV[MEM_BASE]} # -# Point observation input dir for ensemble_stat +# Point observation input dir for EnsembleStat # OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = -# Grid observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +# Grid observation input dir for EnsembleStat +OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to EnsembleStat # Not used in this example @@ -218,7 +218,7 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat +# output directory for EnsembleStat ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} # # Directory for staging data. @@ -233,7 +233,7 @@ STAGING_DIR = {OUTPUT_BASE}/stage/APCP_24 # The template FCST_ENSEMBLE_STAT_INPUT_TEMPLATE is relative to # FCST_ENSEMBLE_STAT_INPUT_DIR. # -FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_CUSTOM]}metprd/pcp_combine_fcst/{ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_MEM_CUSTOM]}.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}_a24h.nc +FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_CUSTOM]}metprd/PcpCombine_fcst/{ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_MEM_CUSTOM]}.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}_a24h.nc # Template to look for point observations. # Example precip24_2010010112.nc @@ -258,7 +258,7 @@ ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = # The template ENSEMBLE_STAT_OUTPUT_TEMPLATE is relative to # ENSEMBLE_STAT_OUTPUT_DIR. # -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/EnsembleStat # # Specify the name of the METplus log file. # @@ -266,4 +266,4 @@ LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # # Specify the location and name of the final METplus conf file. # -METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat/metplus_final.ensgrid_APCP_24h.conf +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/EnsembleStat/metplus_final.APCP_24h.conf diff --git a/parm/metplus/EnsembleStat_REFC.conf b/parm/metplus/EnsembleStat_REFC.conf index 7bda1db6dd..4ccab0c980 100644 --- a/parm/metplus/EnsembleStat_REFC.conf +++ b/parm/metplus/EnsembleStat_REFC.conf @@ -1,4 +1,4 @@ -# Ensemble-Stat METplus Configuration +# EnsembleStat METplus Configuration [config] @@ -37,8 +37,8 @@ OBTYPE = MRMS #ENSEMBLE_STAT_DESC = # not in other file -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. +# The MET EnsembleStat logging level +# 0 quiet to 5 loud, Verbosity setting for MET EnsembleStat output, 2 is default. # This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf #LOG_ENSEMBLE_STAT_VERBOSITY = 2 @@ -188,13 +188,13 @@ OBS_VAR1_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 INPUT_BASE = {ENV[INPUT_BASE]} OUTPUT_BASE = {ENV[OUTPUT_BASE]} -# Forecast model input directory for ensemble_stat +# Forecast model input directory for EnsembleStat FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE} -# Point observation input dir for ensemble_stat +# Point observation input dir for EnsembleStat OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = -# Grid observation input dir for ensemble_stat +# Grid observation input dir for EnsembleStat OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OBS_DIR]} # directory containing climatology mean input to EnsembleStat @@ -205,7 +205,7 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat +# output directory for EnsembleStat ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} # directory containing log files @@ -240,11 +240,11 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_TEMPLATE = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/EnsembleStat # Specify the name of the metplus.log file LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat/metplus_final.ensgrid_REFC.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/EnsembleStat/metplus_final.REFC.conf diff --git a/parm/metplus/EnsembleStat_RETOP.conf b/parm/metplus/EnsembleStat_RETOP.conf index 0f81607b8e..e05fbeffc7 100644 --- a/parm/metplus/EnsembleStat_RETOP.conf +++ b/parm/metplus/EnsembleStat_RETOP.conf @@ -1,4 +1,4 @@ -# Ensemble-Stat METplus Configuration +# EnsembleStat METplus Configuration [config] @@ -37,8 +37,8 @@ OBTYPE = MRMS #ENSEMBLE_STAT_DESC = # not in other file -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. +# The MET EnsembleStat logging level +# 0 quiet to 5 loud, Verbosity setting for MET EnsembleStat output, 2 is default. # This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf #LOG_ENSEMBLE_STAT_VERBOSITY = 2 @@ -191,13 +191,13 @@ OBS_VAR1_OPTIONS = censor_thresh = lt-20; censor_val = -20.0; cnt_thresh = [ >15 INPUT_BASE = {ENV[INPUT_BASE]} OUTPUT_BASE = {ENV[OUTPUT_BASE]} -# Forecast model input directory for ensemble_stat +# Forecast model input directory for EnsembleStat FCST_ENSEMBLE_STAT_INPUT_DIR = {INPUT_BASE} -# Point observation input dir for ensemble_stat +# Point observation input dir for EnsembleStat OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = -# Grid observation input dir for ensemble_stat +# Grid observation input dir for EnsembleStat OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = {ENV[OBS_DIR]} # directory containing climatology mean input to EnsembleStat @@ -208,7 +208,7 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat +# output directory for EnsembleStat ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} # directory containing log files @@ -243,11 +243,11 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_TEMPLATE = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/EnsembleStat # Specify the name of the metplus.log file LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat/metplus_final.ensgrid_RETOP.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/EnsembleStat/metplus_final.RETOP.conf diff --git a/parm/metplus/EnsembleStat_SFC.conf b/parm/metplus/EnsembleStat_SFC.conf index b8ee60e16a..78ded851a3 100644 --- a/parm/metplus/EnsembleStat_SFC.conf +++ b/parm/metplus/EnsembleStat_SFC.conf @@ -1,9 +1,9 @@ -# Ensemble-Stat METplus Configuration +# EnsembleStat METplus Configuration [config] ## Configuration-related settings such as the process list, begin and end times, etc. -PROCESS_LIST = PB2NC, EnsembleStat +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. @@ -12,22 +12,23 @@ LOOP_ORDER = times # LOOP_BY: Set to INIT to loop over initialization times LOOP_BY = INIT -# Format of INIT_BEG and INT_END +# Format of INIT_BEG and INIT_END INIT_TIME_FMT = %Y%m%d%H # Start time for METplus run -INIT_BEG={ENV[CDATE]} +INIT_BEG = {ENV[CDATE]} # End time for METplus run -INIT_END={ENV[CDATE]} +INIT_END = {ENV[CDATE]} # Increment between METplus runs in seconds. Must be >= 60 -INIT_INCREMENT=3600 +INIT_INCREMENT = 3600 # List of forecast leads to process LEAD_SEQ = {ENV[fhr_list]} - +# # Used in the MET config file for: model, output_prefix +# MODEL = {ENV[VX_FCST_MODEL_NAME]} ENSEMBLE_STAT_DESC = NA @@ -37,41 +38,14 @@ OBTYPE = NDAS #ENSEMBLE_STAT_DESC = -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. +# The MET EnsembleStat logging level +# 0 quiet to 5 loud, Verbosity setting for MET EnsembleStat output, 2 is default. # This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf LOG_ENSEMBLE_STAT_VERBOSITY = 3 -# Values to pass to pb2nc config file using environment variables of the same name. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 -PB2NC_QUALITY_MARK_THRESH = 9 - -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, MXGS, D_WIND, D_PRMSL - -# Mapping of input BUFR variable names to output variables names. -# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. -PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] - -# 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 - OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 -PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} -PB2NC_WINDOW_END = {OBS_WINDOW_END} - OBS_ENSEMBLE_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_ENSEMBLE_STAT_WINDOW_END = {OBS_WINDOW_END} @@ -88,17 +62,12 @@ ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_ADPSFC_{OBTYPE} -# MET Configuration files for pb2nc and ensemble_stat -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped +# MET Configuration file for EnsembleStat ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped ENSEMBLE_STAT_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #ENSEMBLE_STAT_OBS_QUALITY_EXC = -# 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 - # 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. @@ -115,17 +84,6 @@ ENSEMBLE_STAT_REGRID_TO_GRID = NONE ENSEMBLE_STAT_CENSOR_THRESH = ENSEMBLE_STAT_CENSOR_VAL = -#ENSEMBLE_STAT_NBRHD_PROB_WIDTH = 5 -#ENSEMBLE_STAT_NBRHD_PROB_SHAPE = CIRCLE -#ENSEMBLE_STAT_NBRHD_PROB_VLD_THRESH = 0.0 - -#ENSEMBLE_STAT_NMEP_SMOOTH_VLD_THRESH = 0.0 -#ENSEMBLE_STAT_NMEP_SMOOTH_SHAPE = CIRCLE -#ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_DX = 81.27 -#ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_RADIUS = 120 -#ENSEMBLE_STAT_NMEP_SMOOTH_METHOD = GAUSSIAN -#ENSEMBLE_STAT_NMEP_SMOOTH_WIDTH = 1 - ENSEMBLE_STAT_MESSAGE_TYPE = ADPSFC ENSEMBLE_STAT_DUPLICATE_FLAG = NONE @@ -163,7 +121,7 @@ ENSEMBLE_STAT_ENS_PHIST_BIN_SIZE = 0.05 #ENSEMBLE_STAT_CLIMO_CDF_CENTER_BINS = False #ENSEMBLE_STAT_CLIMO_CDF_WRITE_BINS = True -ENSEMBLE_STAT_MASK_GRID = +ENSEMBLE_STAT_MASK_GRID = ENSEMBLE_STAT_CI_ALPHA = 0.05 @@ -196,7 +154,7 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_NMEP = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = TRUE ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE -# Ensemble Variables and levels as specified in the ens field dictionary +# Ensemble Variables and levels as specified in the ens field dictionary # of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, # (optional) ENS_VARn_OPTION ENS_VAR1_NAME = TMP @@ -228,7 +186,7 @@ ENS_VAR6_THRESH = <152, <1520, >=914 ENS_VAR6_OPTIONS = GRIB_lvl_typ = 215; desc = "CEILING"; -# Forecast and observation variables and levels as specified in the fcst field dictionary +# Forecast and observation variables and levels as specified in the fcst field dictionary # of the MET configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, # (optional) FCST_VARn_OPTION and OBS_VARn_NAME, OBS_VARn_LEVELS, # (optional) OBS_VARn_OPTION @@ -281,18 +239,14 @@ OBS_VAR6_OPTIONS = GRIB_lvl_typ = 215; interp = { type = [ { method = NEAREST; w OBS_VAR6_THRESH = <152, <305, >=914 [dir] -# Input and output directories for pb2nc -PB2NC_INPUT_DIR = {ENV[OBS_DIR]} -PB2NC_OUTPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pb2nc - -# Forecast model input directory for ensemble_stat +# Forecast model input directory for EnsembleStat FCST_ENSEMBLE_STAT_INPUT_DIR = {ENV[INPUT_BASE]} -# Point observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = {PB2NC_OUTPUT_DIR} +# Point observation input dir for EnsembleStat +OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/Pb2nc_obs -# Grid observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = +# Grid observation input dir for EnsembleStat +OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = # directory containing climatology mean input to EnsembleStat # Not used in this example @@ -302,53 +256,54 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat +# output directory for EnsembleStat OUTPUT_BASE = {ENV[OUTPUT_BASE]} ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} - -# directory containing log files -LOG_DIR = {ENV[LOG_DIR]} - -# directory for staging data -STAGING_DIR = {OUTPUT_BASE}/stage/conus_sfc - +# +# Directory for staging data. +# +STAGING_DIR = {OUTPUT_BASE}/stage/SFC [filename_templates] - -# Input and output templates for pb2nc -PB2NC_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H} -PB2NC_OUTPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H}.nc - +# # FCST_ENSEMBLE_STAT_INPUT_TEMPLATE - comma separated list of ensemble members # or a single line, - filename wildcard characters may be used, ? or *. - +# +# The template FCST_ENSEMBLE_STAT_INPUT_TEMPLATE is relative to +# FCST_ENSEMBLE_STAT_INPUT_DIR. +# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_STAR]}{ENV[POSTPRD]}{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2 # Template to look for point observations. # Example precip24_2010010112.nc -OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} +OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H}.nc # Template to look for gridded observations. # Example ST4.2010010112.24h -OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = +OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE = {MET_INSTALL_DIR}/share/met/poly/CONUS.poly - -# Template to look for climatology input to EnsembleStat relative to ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example +# +# 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 +# +# 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 = - -# Template for where ensemble-stat output is written -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat - -# Specify the name of the metplus.log file +# +# The template ENSEMBLE_STAT_OUTPUT_TEMPLATE is relative to +# ENSEMBLE_STAT_OUTPUT_DIR. +# +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/EnsembleStat +# +# Specify the name of the METplus log file. +# LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_SFC_{ENV[CDATE]} - -# Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat/metplus_final.conus_surface.conf - +# +# Specify the location and name of the final METplus conf file. +# +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/EnsembleStat/metplus_final.SFC.conf diff --git a/parm/metplus/EnsembleStat_UPA.conf b/parm/metplus/EnsembleStat_UPA.conf index 536ea3788f..41823a1984 100644 --- a/parm/metplus/EnsembleStat_UPA.conf +++ b/parm/metplus/EnsembleStat_UPA.conf @@ -1,9 +1,9 @@ -# Ensemble-Stat METplus Configuration +# EnsembleStat METplus Configuration [config] ## Configuration-related settings such as the process list, begin and end times, etc. -PROCESS_LIST = PB2NC, EnsembleStat +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. @@ -12,22 +12,23 @@ LOOP_ORDER = times # LOOP_BY: Set to INIT to loop over initialization times LOOP_BY = INIT -# Format of INIT_BEG and INT_END +# Format of INIT_BEG and INIT_END INIT_TIME_FMT = %Y%m%d%H # Start time for METplus run -INIT_BEG={ENV[CDATE]} +INIT_BEG = {ENV[CDATE]} # End time for METplus run -INIT_END={ENV[CDATE]} +INIT_END = {ENV[CDATE]} # Increment between METplus runs in seconds. Must be >= 60 -INIT_INCREMENT=3600 +INIT_INCREMENT = 3600 # List of forecast leads to process LEAD_SEQ = begin_end_incr(0,{ENV[fhr_last]},6) - +# # Used in the MET config file for: model, output_prefix +# MODEL = {ENV[VX_FCST_MODEL_NAME]} ENSEMBLE_STAT_DESC = NA @@ -37,41 +38,14 @@ OBTYPE = NDAS #ENSEMBLE_STAT_DESC = -# The MET ensemble_stat logging level -# 0 quiet to 5 loud, Verbosity setting for MET ensemble_stat output, 2 is default. +# The MET EnsembleStat logging level +# 0 quiet to 5 loud, Verbosity setting for MET EnsembleStat output, 2 is default. # This takes precendence over the general LOG_MET_VERBOSITY set in metplus_logging.conf LOG_ENSEMBLE_STAT_VERBOSITY = 3 -# Values to pass to pb2nc config file using environment variables of the same name. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 -PB2NC_QUALITY_MARK_THRESH = 9 - -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, MXGS, D_WIND, D_PRMSL - -# Mapping of input BUFR variable names to output variables names. -# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. -PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] - -# 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 - OBS_WINDOW_BEGIN = -1799 OBS_WINDOW_END = 1800 -PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} -PB2NC_WINDOW_END = {OBS_WINDOW_END} - OBS_ENSEMBLE_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_ENSEMBLE_STAT_WINDOW_END = {OBS_WINDOW_END} @@ -88,17 +62,12 @@ ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 ENSEMBLE_STAT_OUTPUT_PREFIX = {MODEL}_ADPUPA_{OBTYPE} -# MET Configuration files for pb2nc and ensemble_stat -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped +# MET Configuration file for EnsembleStat ENSEMBLE_STAT_CONFIG_FILE = {PARM_BASE}/met_config/EnsembleStatConfig_wrapped ENSEMBLE_STAT_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #ENSEMBLE_STAT_OBS_QUALITY_EXC = -# 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 - # 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. @@ -115,17 +84,6 @@ ENSEMBLE_STAT_REGRID_TO_GRID = NONE ENSEMBLE_STAT_CENSOR_THRESH = ENSEMBLE_STAT_CENSOR_VAL = -#ENSEMBLE_STAT_NBRHD_PROB_WIDTH = 5 -#ENSEMBLE_STAT_NBRHD_PROB_SHAPE = CIRCLE -#ENSEMBLE_STAT_NBRHD_PROB_VLD_THRESH = 0.0 - -#ENSEMBLE_STAT_NMEP_SMOOTH_VLD_THRESH = 0.0 -#ENSEMBLE_STAT_NMEP_SMOOTH_SHAPE = CIRCLE -#ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_DX = 81.27 -#ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_RADIUS = 120 -#ENSEMBLE_STAT_NMEP_SMOOTH_METHOD = GAUSSIAN -#ENSEMBLE_STAT_NMEP_SMOOTH_WIDTH = 1 - ENSEMBLE_STAT_MESSAGE_TYPE = ADPUPA ENSEMBLE_STAT_DUPLICATE_FLAG = NONE @@ -163,7 +121,7 @@ ENSEMBLE_STAT_ENS_PHIST_BIN_SIZE = 0.05 #ENSEMBLE_STAT_CLIMO_CDF_CENTER_BINS = False #ENSEMBLE_STAT_CLIMO_CDF_WRITE_BINS = True -ENSEMBLE_STAT_MASK_GRID = +ENSEMBLE_STAT_MASK_GRID = ENSEMBLE_STAT_CI_ALPHA = 0.05 @@ -196,7 +154,7 @@ ENSEMBLE_STAT_ENSEMBLE_FLAG_NMEP = FALSE ENSEMBLE_STAT_ENSEMBLE_FLAG_RANK = TRUE ENSEMBLE_STAT_ENSEMBLE_FLAG_WEIGHT = FALSE -# Ensemble Variables and levels as specified in the ens field dictionary +# Ensemble Variables and levels as specified in the ens field dictionary # of the MET configuration file. Specify as ENS_VARn_NAME, ENS_VARn_LEVELS, # (optional) ENS_VARn_OPTION ENS_VAR1_NAME = TMP @@ -351,18 +309,14 @@ OBS_VAR12_OPTIONS = desc = "TKE"; OBS_VAR12_THRESH = <500, <1500, >1500 [dir] -# Input and output directories for pb2nc -PB2NC_INPUT_DIR = {ENV[OBS_DIR]} -PB2NC_OUTPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pb2nc - -# Forecast model input directory for ensemble_stat +# Forecast model input directory for EnsembleStat FCST_ENSEMBLE_STAT_INPUT_DIR = {ENV[INPUT_BASE]} -# Point observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = {PB2NC_OUTPUT_DIR} +# Point observation input dir for EnsembleStat +OBS_ENSEMBLE_STAT_POINT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/Pb2nc_obs -# Grid observation input dir for ensemble_stat -OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = +# Grid observation input dir for EnsembleStat +OBS_ENSEMBLE_STAT_GRID_INPUT_DIR = # directory containing climatology mean input to EnsembleStat # Not used in this example @@ -372,53 +326,54 @@ ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR = # Not used in this example ENSEMBLE_STAT_CLIMO_STDEV_INPUT_DIR = -# output directory for ensemble_stat +# output directory for EnsembleStat OUTPUT_BASE = {ENV[OUTPUT_BASE]} ENSEMBLE_STAT_OUTPUT_DIR = {OUTPUT_BASE} - -# directory containing log files -LOG_DIR = {ENV[LOG_DIR]} - -# directory for staging data -STAGING_DIR = {OUTPUT_BASE}/stage/upper_air - +# +# Directory for staging data. +# +STAGING_DIR = {OUTPUT_BASE}/stage/UPA [filename_templates] - -# Input and output templates for pb2nc -PB2NC_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H} -PB2NC_OUTPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H}.nc - +# # FCST_ENSEMBLE_STAT_INPUT_TEMPLATE - comma separated list of ensemble members # or a single line, - filename wildcard characters may be used, ? or *. - +# +# The template FCST_ENSEMBLE_STAT_INPUT_TEMPLATE is relative to +# FCST_ENSEMBLE_STAT_INPUT_DIR. +# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_STAR]}{ENV[POSTPRD]}{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2 # Template to look for point observations. # Example precip24_2010010112.nc -OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = {PB2NC_OUTPUT_TEMPLATE} +OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H}.nc # Template to look for gridded observations. # Example ST4.2010010112.24h -OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = +OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE = ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE = {MET_INSTALL_DIR}/share/met/poly/CONUS.poly - -# Template to look for climatology input to EnsembleStat relative to ENSEMBLE_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example +# +# 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 +# +# 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 = - -# Template for where ensemble-stat output is written -ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat - -# Specify the name of the metplus.log file +# +# The template ENSEMBLE_STAT_OUTPUT_TEMPLATE is relative to +# ENSEMBLE_STAT_OUTPUT_DIR. +# +ENSEMBLE_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/EnsembleStat +# +# Specify the name of the METplus log file. +# LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_UPA_{ENV[CDATE]} - -# Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat/metplus_final.upper_air.conf - +# +# Specify the location and name of the final METplus conf file. +# +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/EnsembleStat/metplus_final.UPA.conf diff --git a/parm/metplus/GridStat_APCP01h.conf b/parm/metplus/GridStat_APCP01h.conf index 95e9b46bb0..7a5b61ed5e 100644 --- a/parm/metplus/GridStat_APCP01h.conf +++ b/parm/metplus/GridStat_APCP01h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {ENV[LOG_DIR]} LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/metprd/grid_stat/metplus_final.APCP_01h{ENV[DOT_ENSMEM]}.conf +METPLUS_CONF={OUTPUT_BASE}/metprd/GridStat/metplus_final.APCP_01h{ENV[DOT_ENSMEM]}.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -259,7 +255,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_ENSMEM]}.prsl OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = metprd/grid_stat +GRID_STAT_OUTPUT_TEMPLATE = metprd/GridStat # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_APCP03h.conf b/parm/metplus/GridStat_APCP03h.conf index 747314d863..f861ea584c 100644 --- a/parm/metplus/GridStat_APCP03h.conf +++ b/parm/metplus/GridStat_APCP03h.conf @@ -55,7 +55,7 @@ LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # # Specify the location and name of the final METplus conf file. # -METPLUS_CONF = {OUTPUT_BASE}/metprd/grid_stat/metplus_final.APCP_03h.conf +METPLUS_CONF = {OUTPUT_BASE}/metprd/GridStat/metplus_final.APCP_03h.conf # # Location of MET config file to pass to GridStat. # @@ -237,11 +237,11 @@ GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE # # Directory containing observation input to GridStat. # -OBS_GRID_STAT_INPUT_DIR = {ENV[EXPTDIR]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[EXPTDIR]}/metprd/PcpCombine_obs # # Directory containing forecast input to GridStat. # -FCST_GRID_STAT_INPUT_DIR = {OUTPUT_BASE}/metprd/pcp_combine_fcst +FCST_GRID_STAT_INPUT_DIR = {OUTPUT_BASE}/metprd/PcpCombine_fcst # # Directory containing climatology mean input to GridStat. Not used in # this example. @@ -277,7 +277,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z.prslev.f{lead?fmt=%HH # # Template for output from GridStat relative to GRID_STAT_OUTPUT_DIR. # -GRID_STAT_OUTPUT_TEMPLATE = metprd/grid_stat +GRID_STAT_OUTPUT_TEMPLATE = metprd/GridStat # # Template for climatology input to GridStat relative to # GRID_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/GridStat_APCP06h.conf b/parm/metplus/GridStat_APCP06h.conf index b75114dda2..6c02a0dfdf 100644 --- a/parm/metplus/GridStat_APCP06h.conf +++ b/parm/metplus/GridStat_APCP06h.conf @@ -55,7 +55,7 @@ LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # # Specify the location and name of the final METplus conf file. # -METPLUS_CONF = {OUTPUT_BASE}/metprd/grid_stat/metplus_final.APCP_06h.conf +METPLUS_CONF = {OUTPUT_BASE}/metprd/GridStat/metplus_final.APCP_06h.conf # # Location of MET config file to pass to GridStat. # @@ -237,11 +237,11 @@ GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE # # Directory containing observation input to GridStat. # -OBS_GRID_STAT_INPUT_DIR = {ENV[EXPTDIR]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[EXPTDIR]}/metprd/PcpCombine_obs # # Directory containing forecast input to GridStat. # -FCST_GRID_STAT_INPUT_DIR = {OUTPUT_BASE}/metprd/pcp_combine_fcst +FCST_GRID_STAT_INPUT_DIR = {OUTPUT_BASE}/metprd/PcpCombine_fcst # # Directory containing climatology mean input to GridStat. Not used in # this example. @@ -277,7 +277,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z.prslev.f{lead?fmt=%HH # # Template for output from GridStat relative to GRID_STAT_OUTPUT_DIR. # -GRID_STAT_OUTPUT_TEMPLATE = metprd/grid_stat +GRID_STAT_OUTPUT_TEMPLATE = metprd/GridStat # # Template for climatology input to GridStat relative to # GRID_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/GridStat_APCP24h.conf b/parm/metplus/GridStat_APCP24h.conf index cd5aee6f7a..f45ec4037a 100644 --- a/parm/metplus/GridStat_APCP24h.conf +++ b/parm/metplus/GridStat_APCP24h.conf @@ -55,7 +55,7 @@ LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # # Specify the location and name of the final METplus conf file. # -METPLUS_CONF = {OUTPUT_BASE}/metprd/grid_stat/metplus_final.APCP_24h.conf +METPLUS_CONF = {OUTPUT_BASE}/metprd/GridStat/metplus_final.APCP_24h.conf # # Location of MET config file to pass to GridStat. # @@ -237,11 +237,11 @@ GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = FALSE # # Directory containing observation input to GridStat. # -OBS_GRID_STAT_INPUT_DIR = {ENV[EXPTDIR]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[EXPTDIR]}/metprd/PcpCombine_obs # # Directory containing forecast input to GridStat. # -FCST_GRID_STAT_INPUT_DIR = {OUTPUT_BASE}/metprd/pcp_combine_fcst +FCST_GRID_STAT_INPUT_DIR = {OUTPUT_BASE}/metprd/PcpCombine_fcst # # Directory containing climatology mean input to GridStat. Not used in # this example. @@ -277,7 +277,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z.prslev.f{lead?fmt=%HH # # Template for output from GridStat relative to GRID_STAT_OUTPUT_DIR. # -GRID_STAT_OUTPUT_TEMPLATE = metprd/grid_stat +GRID_STAT_OUTPUT_TEMPLATE = metprd/GridStat # # Template for climatology input to GridStat relative to # GRID_STAT_CLIMO_MEAN_INPUT_DIR. Not used in this example. diff --git a/parm/metplus/GridStat_REFC.conf b/parm/metplus/GridStat_REFC.conf index aeee7909ed..5d0c20693d 100644 --- a/parm/metplus/GridStat_REFC.conf +++ b/parm/metplus/GridStat_REFC.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {ENV[LOG_DIR]} LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/metprd/grid_stat/metplus_final.REFC{ENV[DOT_ENSMEM]}.conf +METPLUS_CONF={OUTPUT_BASE}/metprd/GridStat/metplus_final.REFC{ENV[DOT_ENSMEM]}.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -269,7 +265,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_ENSMEM]}.prsl OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/MergedReflectivityQCComposite_00.50_{valid?fmt=%Y%m%d}-{valid?fmt=%H}0000.grib2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = metprd/grid_stat +GRID_STAT_OUTPUT_TEMPLATE = metprd/GridStat # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_RETOP.conf b/parm/metplus/GridStat_RETOP.conf index e144fb22a7..1851623361 100644 --- a/parm/metplus/GridStat_RETOP.conf +++ b/parm/metplus/GridStat_RETOP.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {ENV[LOG_DIR]} LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/metprd/grid_stat/metplus_final.RETOP{ENV[DOT_ENSMEM]}.conf +METPLUS_CONF={OUTPUT_BASE}/metprd/GridStat/metplus_final.RETOP{ENV[DOT_ENSMEM]}.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -269,7 +265,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_ENSMEM]}.prsl OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/EchoTop_18_00.50_{valid?fmt=%Y%m%d}-{valid?fmt=%H%M%S}.grib2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = metprd/grid_stat +GRID_STAT_OUTPUT_TEMPLATE = metprd/GridStat # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensmean_APCP01h.conf b/parm/metplus/GridStat_ensmean_APCP01h.conf index 0713c6bada..fb97133fc1 100644 --- a/parm/metplus/GridStat_ensmean_APCP01h.conf +++ b/parm/metplus/GridStat_ensmean_APCP01h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_mean/metplus_final.APCP01.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensmean/metplus_final.APCP01.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_GRID_WEIGHT_FLAG = # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_mean +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensmean FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -157,7 +153,7 @@ FCST_IS_PROB = False # Only used if FCST_IS_PROB is true - sets probabilistic threshold FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_mean +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_ensmean # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -247,7 +243,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/APCP_01h_mean +STAGING_DIR = {OUTPUT_BASE}/stage/APCP_01h_ensmean # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -259,7 +255,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_APCP_{EN OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_mean +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensmean # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensmean_APCP03h.conf b/parm/metplus/GridStat_ensmean_APCP03h.conf index 689b8be8db..09d16759a6 100644 --- a/parm/metplus/GridStat_ensmean_APCP03h.conf +++ b/parm/metplus/GridStat_ensmean_APCP03h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_mean/metplus_final.APCP03.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensmean/metplus_final.APCP03.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_GRID_WEIGHT_FLAG = # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_mean +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensmean FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -157,7 +153,7 @@ FCST_IS_PROB = False # Only used if FCST_IS_PROB is true - sets probabilistic threshold FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_mean +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_ensmean # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -233,7 +229,7 @@ INPUT_BASE = {ENV[INPUT_BASE]} FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE} # directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to GridStat # Not used in this example @@ -247,7 +243,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/APCP_03h_mean +STAGING_DIR = {OUTPUT_BASE}/stage/APCP_03h_ensmean # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -259,7 +255,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_APCP_{EN OBS_GRID_STAT_INPUT_TEMPLATE = {OBS_GRID_STAT_INPUT_DIR}/{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2_a03h.nc # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_mean +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensmean # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensmean_APCP06h.conf b/parm/metplus/GridStat_ensmean_APCP06h.conf index 16c8e23f1a..363327eb4a 100644 --- a/parm/metplus/GridStat_ensmean_APCP06h.conf +++ b/parm/metplus/GridStat_ensmean_APCP06h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_mean/metplus_final.APCP06.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensmean/metplus_final.APCP06.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_GRID_WEIGHT_FLAG = # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_mean +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensmean FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -157,7 +153,7 @@ FCST_IS_PROB = False # Only used if FCST_IS_PROB is true - sets probabilistic threshold FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_mean +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_ensmean # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -233,7 +229,7 @@ INPUT_BASE = {ENV[INPUT_BASE]} FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE} # directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to GridStat # Not used in this example @@ -247,7 +243,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/APCP_06h_mean +STAGING_DIR = {OUTPUT_BASE}/stage/APCP_06h_ensmean # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -259,7 +255,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_APCP_{EN OBS_GRID_STAT_INPUT_TEMPLATE = {OBS_GRID_STAT_INPUT_DIR}/{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2_a06h.nc # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_mean +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensmean # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensmean_APCP24h.conf b/parm/metplus/GridStat_ensmean_APCP24h.conf index 3a3ffefcbf..5d36222efd 100644 --- a/parm/metplus/GridStat_ensmean_APCP24h.conf +++ b/parm/metplus/GridStat_ensmean_APCP24h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_mean/metplus_final.APCP24.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensmean/metplus_final.APCP24.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_GRID_WEIGHT_FLAG = # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_mean +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensmean FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -157,7 +153,7 @@ FCST_IS_PROB = False # Only used if FCST_IS_PROB is true - sets probabilistic threshold FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_mean +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_ensmean # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -233,7 +229,7 @@ INPUT_BASE = {ENV[INPUT_BASE]} FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE} # directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to GridStat # Not used in this example @@ -247,7 +243,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/APCP_24h_mean +STAGING_DIR = {OUTPUT_BASE}/stage/APCP_24h_ensmean # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -259,7 +255,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_APCP_{EN OBS_GRID_STAT_INPUT_TEMPLATE = {OBS_GRID_STAT_INPUT_DIR}/{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2_a24h.nc # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_mean +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensmean # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensmean_REFC.conf b/parm/metplus/GridStat_ensmean_REFC.conf index d39d383e39..d7a8df1063 100644 --- a/parm/metplus/GridStat_ensmean_REFC.conf +++ b/parm/metplus/GridStat_ensmean_REFC.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_mean/metplus_final.REFC.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensmean/metplus_final.REFC.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_INTERP_TYPE_WIDTH = 1 GRID_STAT_GRID_WEIGHT_FLAG = NONE # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_mean +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensmean #FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -167,7 +163,7 @@ 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 = {ENV[VX_FCST_MODEL_NAME]}_REFC_{OBTYPE}_mean +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_REFC_{OBTYPE}_ensmean # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -257,7 +253,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/REFC_mean +STAGING_DIR = {OUTPUT_BASE}/stage/REFC_ensmean # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -269,7 +265,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_REFC_{OB OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/MergedReflectivityQCComposite_00.50_{valid?fmt=%Y%m%d}-{valid?fmt=%H}0000.grib2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_mean +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensmean # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensmean_RETOP.conf b/parm/metplus/GridStat_ensmean_RETOP.conf index 032c5a7d8a..bf61b5d0a2 100644 --- a/parm/metplus/GridStat_ensmean_RETOP.conf +++ b/parm/metplus/GridStat_ensmean_RETOP.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_mean/metplus_final.RETOP.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensmean/metplus_final.RETOP.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_INTERP_TYPE_WIDTH = 1 GRID_STAT_GRID_WEIGHT_FLAG = NONE # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_mean +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensmean #FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -167,7 +163,7 @@ 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 = {ENV[VX_FCST_MODEL_NAME]}_RETOP_{OBTYPE}_mean +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_RETOP_{OBTYPE}_ensmean # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -257,7 +253,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/RETOP_mean +STAGING_DIR = {OUTPUT_BASE}/stage/RETOP_ensmean # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -269,7 +265,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_RETOP_{O OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/EchoTop_18_00.50_{valid?fmt=%Y%m%d}-{valid?fmt=%H}0000.grib2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_mean +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensmean # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensprob_APCP01h.conf b/parm/metplus/GridStat_ensprob_APCP01h.conf index 087fc77123..01c8ae7404 100644 --- a/parm/metplus/GridStat_ensprob_APCP01h.conf +++ b/parm/metplus/GridStat_ensprob_APCP01h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_prob/metplus_final.APCP01.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensprob/metplus_final.APCP01.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_GRID_WEIGHT_FLAG = # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_prob +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensprob FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -168,7 +164,7 @@ FCST_PROB_IN_GRIB_PDS = False # Only used if FCST_IS_PROB is true - sets probabilistic threshold FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_prob +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_ensprob # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -258,7 +254,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/APCP_01h_prob +STAGING_DIR = {OUTPUT_BASE}/stage/APCP_01h_ensprob # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -270,7 +266,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_APCP_{EN OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_prob +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensprob # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensprob_APCP03h.conf b/parm/metplus/GridStat_ensprob_APCP03h.conf index 0cf2588582..f9a23196f5 100644 --- a/parm/metplus/GridStat_ensprob_APCP03h.conf +++ b/parm/metplus/GridStat_ensprob_APCP03h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_prob/metplus_final.APCP03.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensprob/metplus_final.APCP03.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_GRID_WEIGHT_FLAG = # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_prob +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensprob FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -167,7 +163,7 @@ FCST_PROB_IN_GRIB_PDS = False # Only used if FCST_IS_PROB is true - sets probabilistic threshold FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_prob +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_ensprob # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -243,7 +239,7 @@ INPUT_BASE = {ENV[INPUT_BASE]} FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE} # directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to GridStat # Not used in this example @@ -257,7 +253,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/APCP_03h_prob +STAGING_DIR = {OUTPUT_BASE}/stage/APCP_03h_ensprob # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -269,7 +265,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_APCP_{EN OBS_GRID_STAT_INPUT_TEMPLATE = {OBS_GRID_STAT_INPUT_DIR}/{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2_a03h.nc # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_prob +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensprob # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensprob_APCP06h.conf b/parm/metplus/GridStat_ensprob_APCP06h.conf index a04ed19c38..739c0d08af 100644 --- a/parm/metplus/GridStat_ensprob_APCP06h.conf +++ b/parm/metplus/GridStat_ensprob_APCP06h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_prob/metplus_final.APCP06.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensprob/metplus_final.APCP06.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_GRID_WEIGHT_FLAG = # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_prob +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensprob FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -167,7 +163,7 @@ FCST_PROB_IN_GRIB_PDS = False # Only used if FCST_IS_PROB is true - sets probabilistic threshold FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_prob +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_ensprob # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -243,7 +239,7 @@ INPUT_BASE = {ENV[INPUT_BASE]} FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE} # directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to GridStat # Not used in this example @@ -257,7 +253,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/APCP_06h_prob +STAGING_DIR = {OUTPUT_BASE}/stage/APCP_06h_ensprob # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -269,7 +265,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_APCP_{EN OBS_GRID_STAT_INPUT_TEMPLATE = {OBS_GRID_STAT_INPUT_DIR}/{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2_a06h.nc # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_prob +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensprob # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensprob_APCP24h.conf b/parm/metplus/GridStat_ensprob_APCP24h.conf index febd22a387..11befbad4c 100644 --- a/parm/metplus/GridStat_ensprob_APCP24h.conf +++ b/parm/metplus/GridStat_ensprob_APCP24h.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_prob/metplus_final.APCP24.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensprob/metplus_final.APCP24.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE #GRID_STAT_GRID_WEIGHT_FLAG = # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_prob +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensprob FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -167,7 +163,7 @@ FCST_PROB_IN_GRIB_PDS = False # Only used if FCST_IS_PROB is true - sets probabilistic threshold FCST_GRID_STAT_PROB_THRESH = ==0.1 -GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_prob +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_APCP_{ENV[acc]}_{OBTYPE}_ensprob # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -243,7 +239,7 @@ INPUT_BASE = {ENV[INPUT_BASE]} FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE} # directory containing observation input to GridStat -OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pcp_combine_obs +OBS_GRID_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/PcpCombine_obs # directory containing climatology mean input to GridStat # Not used in this example @@ -257,7 +253,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/APCP_24h_prob +STAGING_DIR = {OUTPUT_BASE}/stage/APCP_24h_ensprob # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -269,7 +265,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_APCP_{EN OBS_GRID_STAT_INPUT_TEMPLATE = {OBS_GRID_STAT_INPUT_DIR}/{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2_a24h.nc # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_prob +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensprob # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensprob_REFC.conf b/parm/metplus/GridStat_ensprob_REFC.conf index cec1ad5682..32dcea2ba5 100644 --- a/parm/metplus/GridStat_ensprob_REFC.conf +++ b/parm/metplus/GridStat_ensprob_REFC.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_prob/metplus_final.REFC.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensprob/metplus_final.REFC.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_INTERP_TYPE_WIDTH = 1 GRID_STAT_GRID_WEIGHT_FLAG = NONE # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_prob +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensprob #FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -194,7 +190,7 @@ 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 = {ENV[VX_FCST_MODEL_NAME]}_REFC_{OBTYPE}_prob +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_REFC_{OBTYPE}_ensprob # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -282,7 +278,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/REFC_prob +STAGING_DIR = {OUTPUT_BASE}/stage/REFC_ensprob # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -294,7 +290,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_REFC_{OB OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/MergedReflectivityQCComposite_00.50_{valid?fmt=%Y%m%d}-{valid?fmt=%H}0000.grib2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_prob +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensprob # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/GridStat_ensprob_RETOP.conf b/parm/metplus/GridStat_ensprob_RETOP.conf index 9c757badcd..26e203e8ae 100644 --- a/parm/metplus/GridStat_ensprob_RETOP.conf +++ b/parm/metplus/GridStat_ensprob_RETOP.conf @@ -45,10 +45,6 @@ LEAD_SEQ = {ENV[fhr_list]} # wrappers have been run LOOP_ORDER = times -# Run pcp_combine on forecast/obs data? -FCST_PCP_COMBINE_RUN = False -OBS_PCP_COMBINE_RUN = False - # Verbosity of MET output - overrides LOG_VERBOSITY for GridStat only #LOG_GRID_STAT_VERBOSITY = 2 @@ -58,7 +54,7 @@ LOG_DIR = {OUTPUT_BASE}/log LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]} # Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_prob/metplus_final.RETOP.conf +METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/GridStat_ensprob/metplus_final.RETOP.conf # Location of MET config file to pass to GridStat GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped @@ -80,7 +76,7 @@ GRID_STAT_INTERP_TYPE_WIDTH = 1 GRID_STAT_GRID_WEIGHT_FLAG = NONE # Name to identify model (forecast) data in output -MODEL = {ENV[VX_FCST_MODEL_NAME]}_prob +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensprob #FCST_NATIVE_DATA_TYPE = GRIB # Name to identify observation data in output @@ -177,7 +173,7 @@ 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 = {ENV[VX_FCST_MODEL_NAME]}_RETOP_{OBTYPE}_prob +GRID_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_RETOP_{OBTYPE}_ensprob # Climatology data #GRID_STAT_CLIMO_MEAN_FILE_NAME = @@ -265,7 +261,7 @@ GRID_STAT_CLIMO_STDEV_INPUT_DIR = OUTPUT_BASE = {ENV[OUTPUT_BASE]} GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE} -STAGING_DIR = {OUTPUT_BASE}/stage/RETOP_prob +STAGING_DIR = {OUTPUT_BASE}/stage/RETOP_ensprob # End of [dir] section and start of [filename_templates] section [filename_templates] @@ -277,7 +273,7 @@ FCST_GRID_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_RETOP_{O OBS_GRID_STAT_INPUT_TEMPLATE = {valid?fmt=%Y%m%d}/EchoTop_18_00.50_{valid?fmt=%Y%m%d}-{valid?fmt=%H}0000.grib2 # Optional subdirectories relative to GRID_STAT_OUTPUT_DIR to write output from GridStat -GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_prob +GRID_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/GridStat_ensprob # Template to look for climatology input to GridStat relative to GRID_STAT_CLIMO_MEAN_INPUT_DIR # Not used in this example diff --git a/parm/metplus/Pb2nc_obs.conf b/parm/metplus/Pb2nc_obs.conf new file mode 100644 index 0000000000..be19983b90 --- /dev/null +++ b/parm/metplus/Pb2nc_obs.conf @@ -0,0 +1,124 @@ +[config] + +# List of applications to run. +PROCESS_LIST = PB2NC + +# time looping - options are INIT, VALID, RETRO, and REALTIME +# If set to INIT or RETRO: +# INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set +# If set to VALID or REALTIME: +# VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set +LOOP_BY = INIT + +# Format of INIT_BEG and INIT_END using % items +# %Y = 4 digit year, %m = 2 digit month, %d = 2 digit day, etc. +# see www.strftime.org for more information +# %Y%m%d%H expands to YYYYMMDDHH +INIT_TIME_FMT = %Y%m%d%H + +# Start time for METplus run - must match INIT_TIME_FMT +INIT_BEG = {{cdate}} + +# End time for METplus run - must match INIT_TIME_FMT +INIT_END = {{cdate}} + +# Increment between METplus runs (in seconds if no units are specified) +# Must be >= 60 seconds +INIT_INCREMENT = 3600 + +# List of forecast leads to process for each run time (init or valid) +# In hours if units are not specified +# If unset, defaults to 0 (don't loop through forecast leads) +LEAD_SEQ = {{fhr_list}} + +# Order of loops to process data - Options are times, processes +# Not relevant if only one item is in the PROCESS_LIST +# times = run all wrappers in the PROCESS_LIST for a single run time, then +# increment the run time and run all wrappers again until all times have +# been evaluated. +# processes = run the first wrapper in the PROCESS_LIST for all times +# specified, then repeat for the next item in the PROCESS_LIST until all +# wrappers have been run +LOOP_ORDER = times + +# Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only +LOG_POINT_STAT_VERBOSITY = 2 + +# Location of MET config file to pass to PB2NC +PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped + +OBS_WINDOW_BEGIN = -1799 +OBS_WINDOW_END = 1800 +PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} +PB2NC_WINDOW_END = {OBS_WINDOW_END} + +# If set to True, skip run if the output file determined by the output +# directory and filename template already exists. +#PB2NC_SKIP_IF_OUTPUT_EXISTS = True +# Can remove the following line if default is False; not sure what the +# default is. +PB2NC_SKIP_IF_OUTPUT_EXISTS = False + +# Values to pass to Pb2nc config file using environment variables of the same name. +PB2NC_GRID = +PB2NC_POLY = +PB2NC_STATION_ID = +PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA +PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 +PB2NC_QUALITY_MARK_THRESH = 9 + +PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 + +# Leave empty to process all +PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, MXGS, D_WIND, D_PRMSL + +# Mapping of input BUFR variable names to output variables names. +# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. +PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] + +# For defining the time periods for summarization +# False for no time summary, True otherwise +# The rest of the PB2NC_TIME_SUMMARY variables are ignored if set to False +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 +# +# Specify the name of the METplus log file. +# +LOG_METPLUS = {LOG_DIR}/{{metplus_log_fn}} +# +# Specify the location and name of the final METplus configuration file. +# +METPLUS_CONF = {PB2NC_OUTPUT_DIR}/metplus_final.{{metplus_config_fn}} + +OBTYPE = NDAS + +# End of [config] section and start of [dir] section +[dir] +# +# Directory containing (obs) input to PB2NC. +# +PB2NC_INPUT_DIR = {{obs_input_dir}} +# +# Directory in which to write output from PB2NC. +# +PB2NC_OUTPUT_DIR = {{output_dir}} +# +# OUTPUT_BASE apparently has to be set to something; it cannot be left +# to its default value. But it is not explicitly used elsewhere in this +# configuration file. +# +OUTPUT_BASE = {{output_base}} + +# End of [dir] section and start of [filename_templates] section. +[filename_templates] +# +# Template to look for prepbvur input to PB2NC relative to PB2NC_INPUT_DIR. +# +PB2NC_INPUT_TEMPLATE = {{obs_input_fn_template}} +# +# Template for output from PB2NC. +# +PB2NC_OUTPUT_TEMPLATE = {{output_fn_template}} diff --git a/parm/metplus/PointStat_SFC.conf b/parm/metplus/PointStat_SFC.conf index 0b38cce536..07f96a1558 100644 --- a/parm/metplus/PointStat_SFC.conf +++ b/parm/metplus/PointStat_SFC.conf @@ -1,7 +1,9 @@ +# PointStat METplus Configuration + [config] # List of applications to run - only PointStat for this case -PROCESS_LIST = PB2NC, PointStat +PROCESS_LIST = PointStat # time looping - options are INIT, VALID, RETRO, and REALTIME # If set to INIT or RETRO: @@ -14,7 +16,7 @@ LOOP_BY = INIT # %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 +INIT_TIME_FMT = %Y%m%d%H # Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = {ENV[CDATE]} @@ -23,13 +25,13 @@ INIT_BEG = {ENV[CDATE]} INIT_END = {ENV[CDATE]} # Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +# 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 = {ENV[fhr_list]} +LEAD_SEQ = {ENV[FHR_LIST]} # Order of loops to process data - Options are times, processes # Not relevant if only one item is in the PROCESS_LIST @@ -39,56 +41,26 @@ LEAD_SEQ = {ENV[fhr_list]} # processes = run the first wrapper in the PROCESS_LIST for all times # specified, then repeat for the next item in the PROCESS_LIST until all # wrappers have been run -LOOP_ORDER = times +LOOP_ORDER = times # Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only LOG_POINT_STAT_VERBOSITY = 2 -# Location of MET config file to pass to PB2NC -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped - -# For both PB2NC and point_stat -OBS_WINDOW_BEGIN = -1799 -OBS_WINDOW_END = 1800 - -PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} -PB2NC_WINDOW_END = {OBS_WINDOW_END} - -# If set to True, skip run if the output file determined by the output directory and -# filename template already exists -PB2NC_SKIP_IF_OUTPUT_EXISTS = True - -# Values to pass to pb2nc config file using environment variables of the same name. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 -PB2NC_QUALITY_MARK_THRESH = 9 - -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, D_MLCAPE, MXGS, D_WIND, D_PRMSL - -# Mapping of input BUFR variable names to output variables names. -# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. -PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] - -# For defining the time periods for summarization -# False for no time summary, True otherwise -# The rest of the PB2NC_TIME_SUMMARY variables are ignored if set to False -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 +# +# Specify the name of the METplus log file. +# +LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_SFC{ENV[USCORE_ENSMEM_NAME_OR_NULL]}_{ENV[CDATE]} +# +# Specify the location and name of the final METplus conf file. +# +METPLUS_CONF = {OUTPUT_BASE}/metprd/PointStat/metplus_final.SFC{ENV[DOT_ENSMEM]}.conf # 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 +# 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_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #POINT_STAT_OBS_QUALITY_EXC = @@ -128,18 +100,33 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = -# Time relative to each input file's valid time (in seconds if no units are specified) for data within the file to be -# considered valid. Values are set in the 'obs_window' dictionary in the PointStat config file +# +# Time relative to each input file's valid time (in seconds if no units +# are specified) for data within the file to be considered valid. Values +# are set in the 'obs_window' dictionary in the PointStat config file. +# Set both BEGIN and END to 0 to require the exact time in the filename. +# +OBS_WINDOW_BEGIN = -1799 +OBS_WINDOW_END = 1800 OBS_POINT_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_POINT_STAT_WINDOW_END = {OBS_WINDOW_END} # 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. +# +# Name to identify model (forecast) data in output. +# +# The variable MODEL is recorded in the stat files, and the data in +# these files is then plotted (e.g. using METViewer). Here, we add a +# suffix to MODEL that identifies the forecast ensemble member. This +# makes it easier to identify each curve. +# MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]} POINT_STAT_DESC = NA +# +# Name to identify observation data in output. +# OBTYPE = NDAS # Regrid to specified grid. Indicate NONE if no regridding, or the grid id @@ -166,15 +153,15 @@ POINT_STAT_GRID = # 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. +# directory), define these in the METplus PointStat configuration file. POINT_STAT_POLY = {MET_INSTALL_DIR}/share/met/poly/CONUS.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 = 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, +# Variables and levels as specified in the field dictionary of the METplus +# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, # (optional) FCST_VARn_OPTION # set to True to run PointStat once for each name/level combination @@ -237,62 +224,64 @@ BOTH_VAR12_NAME = SPFH BOTH_VAR12_LEVELS = Z2 -# End of [config] section and start of [dir] section +# End of [config] section and start of [dir] section. [dir] - -# directory containing input to PB2NC -PB2NC_INPUT_DIR = {ENV[OBS_DIR]} - -# directory to write output from -PB2NC_OUTPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pb2nc - -INPUT_BASE = {ENV[INPUT_BASE]} - -FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE} -OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} - -# directory containing climatology mean input to PointStat -# Not used in this example +# +# Directory containing observation input to PointStat. +# +OBS_POINT_STAT_INPUT_DIR = {ENV[OBS_INPUT_DIR]} +# +# Directory containing forecast input to PointStat. +# +FCST_POINT_STAT_INPUT_DIR = {ENV[INPUT_BASE]} +# +# 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 +# +# Directory containing climatology mean input to PointStat. Not used in +# this example. +# POINT_STAT_CLIMO_STDEV_INPUT_DIR = - +# +# Directory in which to write output from PointStat. +# OUTPUT_BASE = {ENV[OUTPUT_BASE]} +# +# OUTPUT_BASE apparently has to be set to something; it cannot be left +# to its default value. But it is not explicitly used elsewhere in this +# configuration file. +# POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE} +# +# Directory for staging data. +# +STAGING_DIR = {OUTPUT_BASE}/stage/SFC -LOG_DIR = {ENV[LOG_DIR]} - -STAGING_DIR = {OUTPUT_BASE}/stage/conus_sfc - -# End of [dir] section and start of [filename_templates] section +# End of [dir] section and start of [filename_templates] section. [filename_templates] - -# Template to look for prepbvur input to PB2NC relative to PB2NC_INPUT_DIR -PB2NC_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H} -# Template to use to write output from PB2NC -PB2NC_OUTPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for forecast input to PointStat relative to FCST_POINT_STAT_INPUT_DIR +# +# Template for forecast input to PointStat relative to +# FCST_POINT_STAT_INPUT_DIR. +# FCST_POINT_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_ENSMEM]}.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2 - -# Template to look for observation input to PointStat relative to OBS_POINT_STAT_INPUT_DIR -OBS_POINT_STAT_INPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example +# +# Template for observation input to PointStat relative to +# OBS_POINT_STAT_INPUT_DIR. +# +OBS_POINT_STAT_INPUT_TEMPLATE = {ENV[OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE]} +# +# Template for output from PointStat relative to POINT_STAT_OUTPUT_DIR. +# +POINT_STAT_OUTPUT_TEMPLATE = metprd/PointStat +# +# Template 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 +# +# Template for climatology input to PointStat relative to +# POINT_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. +# POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -#Template for where point-stat output is written -POINT_STAT_OUTPUT_TEMPLATE = metprd/point_stat - -# Specify the name of the metplus.log file -LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_SFC{ENV[USCORE_ENSMEM_NAME_OR_NULL]}_{ENV[CDATE]} - -# Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/metprd/point_stat/metplus_final.conus_surface{ENV[DOT_ENSMEM]}.conf diff --git a/parm/metplus/PointStat_UPA.conf b/parm/metplus/PointStat_UPA.conf index 566820ce67..8479d102f8 100644 --- a/parm/metplus/PointStat_UPA.conf +++ b/parm/metplus/PointStat_UPA.conf @@ -1,7 +1,9 @@ +# PointStat METplus Configuration + [config] # List of applications to run - only PointStat for this case -PROCESS_LIST = PB2NC, PointStat +PROCESS_LIST = PointStat # time looping - options are INIT, VALID, RETRO, and REALTIME # If set to INIT or RETRO: @@ -14,7 +16,7 @@ LOOP_BY = INIT # %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 +INIT_TIME_FMT = %Y%m%d%H # Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = {ENV[CDATE]} @@ -23,13 +25,13 @@ INIT_BEG = {ENV[CDATE]} INIT_END = {ENV[CDATE]} # Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +# 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 = begin_end_incr(0,{ENV[fhr_last]},6) +LEAD_SEQ = {ENV[FHR_LIST]} # Order of loops to process data - Options are times, processes # Not relevant if only one item is in the PROCESS_LIST @@ -39,56 +41,25 @@ LEAD_SEQ = begin_end_incr(0,{ENV[fhr_last]},6) # 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 +LOOP_ORDER = times # Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only LOG_POINT_STAT_VERBOSITY = 2 - -# Location of MET config file to pass to PB2NC -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped - -# For both PB2NC and point_stat -OBS_WINDOW_BEGIN = -1799 -OBS_WINDOW_END = 1800 - -PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} -PB2NC_WINDOW_END = {OBS_WINDOW_END} - -# If set to True, skip run if the output file determined by the output directory and -# filename template already exists -PB2NC_SKIP_IF_OUTPUT_EXISTS = True - -# Values to pass to pb2nc config file using environment variables of the same name. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 -PB2NC_QUALITY_MARK_THRESH = 9 - -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, D_MLCAPE, MXGS, D_WIND, D_PRMSL - -# Mapping of input BUFR variable names to output variables names. -# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. -PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] - -# For defining the time periods for summarization -# False for no time summary, True otherwise -# The rest of the PB2NC_TIME_SUMMARY variables are ignored if set to False -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 +# +# Specify the name of the METplus log file. +# +LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_UPA{ENV[USCORE_ENSMEM_NAME_OR_NULL]}_{ENV[CDATE]} +# +# Specify the location and name of the final METplus conf file. +# +METPLUS_CONF = {OUTPUT_BASE}/metprd/PointStat/metplus_final.UPA{ENV[DOT_ENSMEM]}.conf # 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 +# 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_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #POINT_STAT_OBS_QUALITY_EXC = @@ -128,18 +99,33 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = -# Time relative to each input file's valid time (in seconds if no units are specified) for data within the file to be -# considered valid. Values are set in the 'obs_window' dictionary in the PointStat config file +# +# Time relative to each input file's valid time (in seconds if no units +# are specified) for data within the file to be considered valid. Values +# are set in the 'obs_window' dictionary in the PointStat config file. +# Set both BEGIN and END to 0 to require the exact time in the filename. +# +OBS_WINDOW_BEGIN = -1799 +OBS_WINDOW_END = 1800 OBS_POINT_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_POINT_STAT_WINDOW_END = {OBS_WINDOW_END} # 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. +# +# Name to identify model (forecast) data in output. +# +# The variable MODEL is recorded in the stat files, and the data in +# these files is then plotted (e.g. using METViewer). Here, we add a +# suffix to MODEL that identifies the forecast ensemble member. This +# makes it easier to identify each curve. +# MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]} POINT_STAT_DESC = NA +# +# Name to identify observation data in output. +# OBTYPE = NDAS # Regrid to specified grid. Indicate NONE if no regridding, or the grid id @@ -166,15 +152,15 @@ POINT_STAT_GRID = # 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. +# directory), define these in the METplus PointStat configuration file. POINT_STAT_POLY = {MET_INSTALL_DIR}/share/met/poly/CONUS.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, +# Variables and levels as specified in the field dictionary of the METplus +# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, # (optional) FCST_VARn_OPTION # set to True to run PointStat once for each name/level combination @@ -184,13 +170,14 @@ 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 + BOTH_VAR1_NAME = TMP BOTH_VAR1_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250, P200, P150, P100, P50, P20, P10 BOTH_VAR2_NAME = RH BOTH_VAR2_LEVELS = P1000, P925, P850, P700, P500, P400, P300, P250 -BOTH_VAR3_NAME = DPT +BOTH_VAR3_NAME = DPT BOTH_VAR3_LEVELS = P1000, P925, P850, P700, P500, P400, P300 BOTH_VAR4_NAME = UGRD @@ -242,63 +229,64 @@ OBS_VAR12_LEVELS = L0 OBS_VAR12_OPTIONS = cnt_thresh = [ >0 ]; cnt_logic = UNION; OBS_VAR12_THRESH = >500, >1000, >1500, >2000, >3000, >4000 -# End of [config] section and start of [dir] section +# End of [config] section and start of [dir] section. [dir] - -# directory containing input to PB2NC -PB2NC_INPUT_DIR = {ENV[OBS_DIR]} - -# directory to write output from -PB2NC_OUTPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pb2nc - -INPUT_BASE = {ENV[INPUT_BASE]} - -FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE} -OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} - -# directory containing climatology mean input to PointStat -# Not used in this example +# +# Directory containing observation input to PointStat. +# +OBS_POINT_STAT_INPUT_DIR = {ENV[OBS_INPUT_DIR]} +# +# Directory containing forecast input to PointStat. +# +FCST_POINT_STAT_INPUT_DIR = {ENV[INPUT_BASE]} +# +# 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 +# +# Directory containing climatology mean input to PointStat. Not used in +# this example. +# POINT_STAT_CLIMO_STDEV_INPUT_DIR = - -OUTPUT_BASE = {ENV[OUTPUT_BASE]} +# +# Directory in which to write output from PointStat. +# POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE} +# +# OUTPUT_BASE apparently has to be set to something; it cannot be left +# to its default value. But it is not explicitly used elsewhere in this +# configuration file. +# +OUTPUT_BASE = {ENV[OUTPUT_BASE]} +# +# Directory for staging data. +# +STAGING_DIR = {OUTPUT_BASE}/stage/UPA -LOG_DIR = {ENV[LOG_DIR]} - -STAGING_DIR = {OUTPUT_BASE}/stage/upper_air - -# End of [dir] section and start of [filename_templates] section +# End of [dir] section and start of [filename_templates] section. [filename_templates] - -# Template to look for prepbvur input to PB2NC relative to PB2NC_INPUT_DIR -PB2NC_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H} - -# Template to use to write output from PB2NC -PB2NC_OUTPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for forecast input to PointStat relative to FCST_POINT_STAT_INPUT_DIR +# +# Template for observation input to PointStat relative to +# OBS_POINT_STAT_INPUT_DIR. +# +OBS_POINT_STAT_INPUT_TEMPLATE = {ENV[OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE]} +# +# Template for forecast input to PointStat relative to +# FCST_POINT_STAT_INPUT_DIR. +# FCST_POINT_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z{ENV[DOT_ENSMEM]}.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2 - -# Template to look for observation input to PointStat relative to OBS_POINT_STAT_INPUT_DIR -OBS_POINT_STAT_INPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example +# +# Template for output from PointStat relative to POINT_STAT_OUTPUT_DIR. +# +POINT_STAT_OUTPUT_TEMPLATE = metprd/PointStat +# +# Template 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 +# +# Template for climatology input to PointStat relative to +# POINT_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. +# POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -#Template for where point-stat output is written -POINT_STAT_OUTPUT_TEMPLATE = metprd/point_stat - -# Specify the name of the metplus.log file -LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_UPA{ENV[USCORE_ENSMEM_NAME_OR_NULL]}_{ENV[CDATE]} - -# Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/metprd/point_stat/metplus_final.upper_air{ENV[DOT_ENSMEM]}.conf diff --git a/parm/metplus/PointStat_ensmean_SFC.conf b/parm/metplus/PointStat_ensmean_SFC.conf index b1bc1767ca..7f149d618d 100644 --- a/parm/metplus/PointStat_ensmean_SFC.conf +++ b/parm/metplus/PointStat_ensmean_SFC.conf @@ -1,7 +1,9 @@ +# Ensemble mean PointStat METplus Configuration + [config] # List of applications to run - only PointStat for this case -PROCESS_LIST = PB2NC, PointStat +PROCESS_LIST = PointStat # time looping - options are INIT, VALID, RETRO, and REALTIME # If set to INIT or RETRO: @@ -14,7 +16,7 @@ LOOP_BY = INIT # %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 +INIT_TIME_FMT = %Y%m%d%H # Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = {ENV[CDATE]} @@ -22,14 +24,14 @@ INIT_BEG = {ENV[CDATE]} # End time for METplus run - must match INIT_TIME_FMT INIT_END = {ENV[CDATE]} -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +# 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 = {ENV[fhr_list]} +LEAD_SEQ = {ENV[FHR_LIST]} # Order of loops to process data - Options are times, processes # Not relevant if only one item is in the PROCESS_LIST @@ -39,56 +41,26 @@ LEAD_SEQ = {ENV[fhr_list]} # processes = run the first wrapper in the PROCESS_LIST for all times # specified, then repeat for the next item in the PROCESS_LIST until all # wrappers have been run -LOOP_ORDER = times +LOOP_ORDER = times # Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only LOG_POINT_STAT_VERBOSITY = 2 - -# Location of MET config file to pass to PB2NC -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped - -# For both PB2NC and point_stat -OBS_WINDOW_BEGIN = -1799 -OBS_WINDOW_END = 1800 - -PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} -PB2NC_WINDOW_END = {OBS_WINDOW_END} - -# If set to True, skip run if the output file determined by the output directory and -# filename template already exists -PB2NC_SKIP_IF_OUTPUT_EXISTS = True - -# Values to pass to pb2nc config file using environment variables of the same name. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 -PB2NC_QUALITY_MARK_THRESH = 9 - -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, MXGS, D_WIND, D_PRMSL - -# Mapping of input BUFR variable names to output variables names. -# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. -PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] - -# For defining the time periods for summarization -# False for no time summary, True otherwise -# The rest of the PB2NC_TIME_SUMMARY variables are ignored if set to False -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 - +# +# Specify the name of the METplus log file. +# +LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_ensmean_SFC_{ENV[CDATE]} +# +# Specify the location and name of the final METplus conf file. +# +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/PointStat_ensmean/metplus_final.SFC.conf +# # 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 +# 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_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #POINT_STAT_OBS_QUALITY_EXC = @@ -101,9 +73,9 @@ POINT_STAT_CLIMO_MEAN_TIME_INTERP_METHOD = NEAREST POINT_STAT_INTERP_TYPE_METHOD = BILIN POINT_STAT_INTERP_TYPE_WIDTH = 2 -#POINT_STAT_OUTPUT_FLAG_FHO = -#POINT_STAT_OUTPUT_FLAG_CTC = -#POINT_STAT_OUTPUT_FLAG_CTS = +#POINT_STAT_OUTPUT_FLAG_FHO = +#POINT_STAT_OUTPUT_FLAG_CTC = +#POINT_STAT_OUTPUT_FLAG_CTS = #POINT_STAT_OUTPUT_FLAG_MCTC = #POINT_STAT_OUTPUT_FLAG_MCTS = POINT_STAT_OUTPUT_FLAG_CNT = STAT @@ -128,18 +100,33 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = -# Time relative to each input file's valid time (in seconds if no units are specified) for data within the file to be -# considered valid. Values are set in the 'obs_window' dictionary in the PointStat config file +# +# Time relative to each input file's valid time (in seconds if no units +# are specified) for data within the file to be considered valid. Values +# are set in the 'obs_window' dictionary in the PointStat config file. +# Set both BEGIN and END to 0 to require the exact time in the filename. +# +OBS_WINDOW_BEGIN = -1799 +OBS_WINDOW_END = 1800 OBS_POINT_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_POINT_STAT_WINDOW_END = {OBS_WINDOW_END} # 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 = {ENV[VX_FCST_MODEL_NAME]}_mean +# +# Name to identify model (forecast) data in output. +# +# The variable MODEL is recorded in the stat files, and the data in +# these files is then plotted (e.g. using METViewer). Here, we add a +# suffix to MODEL that identifies the data as that for the ensemble +# mean. This makes it easier to identify each curve. +# +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensmean POINT_STAT_DESC = NA +# +# Name to identify observation data in output. +# OBTYPE = NDAS # Regrid to specified grid. Indicate NONE if no regridding, or the grid id @@ -148,7 +135,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_ADPSFC_{OBTYPE}_mean +POINT_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_ADPSFC_{OBTYPE}_ensmean # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -166,15 +153,15 @@ POINT_STAT_GRID = # 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. +# directory), define these in the METplus PointStat configuration file. POINT_STAT_POLY = {MET_INSTALL_DIR}/share/met/poly/CONUS.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 = 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, +# Variables and levels as specified in the field dictionary of the METplus +# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, # (optional) FCST_VARn_OPTION # set to True to run PointStat once for each name/level combination @@ -208,62 +195,58 @@ OBS_VAR3_NAME = WIND OBS_VAR3_LEVELS = Z10 OBS_VAR3_THRESH = >=5, >=10, >=15 -# End of [config] section and start of [dir] section +# End of [config] section and start of [dir] section. [dir] - -# directory containing input to PB2NC_INPUT_DIR = {ENV[OBS_DIR]} -PB2NC_INPUT_DIR = {ENV[OBS_DIR]} - -# directory to write output from -PB2NC_OUTPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pb2nc - +# +# Directory containing observation input to PointStat. +# +OBS_POINT_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/Pb2nc_obs +# +# Directory containing forecast input to PointStat. +# INPUT_BASE = {ENV[INPUT_BASE]} - FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE} -OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} - -# directory containing climatology mean input to PointStat -# Not used in this example +# +# 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 +# +# Directory containing climatology mean input to PointStat. Not used in +# this example. +# POINT_STAT_CLIMO_STDEV_INPUT_DIR = - +# +# Directory in which to write output from PointStat. +# OUTPUT_BASE = {ENV[OUTPUT_BASE]} POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE} -LOG_DIR = {ENV[LOG_DIR]} +STAGING_DIR = {OUTPUT_BASE}/stage/SFC_ensmean -STAGING_DIR = {OUTPUT_BASE}/stage/conus_sfc_mean - -# End of [dir] section and start of [filename_templates] section +# End of [dir] section and start of [filename_templates] section. [filename_templates] - -# Template to look for prepbvur input to PB2NC relative to PB2NC_INPUT_DIR -PB2NC_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H} -# Template to use to write output from PB2NC -PB2NC_OUTPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for forecast input to PointStat relative to FCST_POINT_STAT_INPUT_DIR +# +# Template for forecast input to PointStat relative to +# FCST_POINT_STAT_INPUT_DIR. +# FCST_POINT_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_ADPSFC_{OBTYPE}_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V_ens.nc - -# Template to look for observation input to PointStat relative to OBS_POINT_STAT_INPUT_DIR +# +# Template for observation input to PointStat relative to +# OBS_POINT_STAT_INPUT_DIR. +# OBS_POINT_STAT_INPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example +# +# Template for output from PointStat relative to POINT_STAT_OUTPUT_DIR. +# +POINT_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/PointStat_ensmean +# +# Template 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 +# +# Template for climatology input to PointStat relative to +# POINT_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. +# POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -#Template for where point-stat output is written -POINT_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_mean - -# Specify the name of the metplus.log file -LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_ensmean_SFC_{ENV[CDATE]} - -# Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_mean/metplus_final.conus_surface.conf diff --git a/parm/metplus/PointStat_ensmean_UPA.conf b/parm/metplus/PointStat_ensmean_UPA.conf index 4d8fd295ad..0ab545d0a8 100644 --- a/parm/metplus/PointStat_ensmean_UPA.conf +++ b/parm/metplus/PointStat_ensmean_UPA.conf @@ -1,7 +1,9 @@ +# Ensemble mean PointStat METplus Configuration + [config] # List of applications to run - only PointStat for this case -PROCESS_LIST = PB2NC, PointStat +PROCESS_LIST = PointStat # time looping - options are INIT, VALID, RETRO, and REALTIME # If set to INIT or RETRO: @@ -14,7 +16,7 @@ LOOP_BY = INIT # %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 +INIT_TIME_FMT = %Y%m%d%H # Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = {ENV[CDATE]} @@ -22,14 +24,14 @@ INIT_BEG = {ENV[CDATE]} # End time for METplus run - must match INIT_TIME_FMT INIT_END = {ENV[CDATE]} -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +# 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 = begin_end_incr(0,{ENV[fhr_last]},6) +LEAD_SEQ = {ENV[FHR_LIST]} # Order of loops to process data - Options are times, processes # Not relevant if only one item is in the PROCESS_LIST @@ -39,56 +41,26 @@ LEAD_SEQ = begin_end_incr(0,{ENV[fhr_last]},6) # 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 +LOOP_ORDER = times # Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only LOG_POINT_STAT_VERBOSITY = 2 - -# Location of MET config file to pass to PB2NC -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped - -# For both PB2NC and point_stat -OBS_WINDOW_BEGIN = -1799 -OBS_WINDOW_END = 1800 - -PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} -PB2NC_WINDOW_END = {OBS_WINDOW_END} - -# If set to True, skip run if the output file determined by the output directory and -# filename template already exists -PB2NC_SKIP_IF_OUTPUT_EXISTS = True - -# Values to pass to pb2nc config file using environment variables of the same name. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 -PB2NC_QUALITY_MARK_THRESH = 9 - -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, MXGS, D_WIND, D_PRMSL - -# Mapping of input BUFR variable names to output variables names. -# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. -PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] - -# For defining the time periods for summarization -# False for no time summary, True otherwise -# The rest of the PB2NC_TIME_SUMMARY variables are ignored if set to False -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 - +# +# Specify the name of the METplus log file. +# +LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_ensmean_UPA_{ENV[CDATE]} +# +# Specify the location and name of the final METplus conf file. +# +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/PointStat_ensmean/metplus_final.UPA.conf +# # 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 +# 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_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #POINT_STAT_OBS_QUALITY_EXC = @@ -128,18 +100,33 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = -# Time relative to each input file's valid time (in seconds if no units are specified) for data within the file to be -# considered valid. Values are set in the 'obs_window' dictionary in the PointStat config file +# +# Time relative to each input file's valid time (in seconds if no units +# are specified) for data within the file to be considered valid. Values +# are set in the 'obs_window' dictionary in the PointStat config file. +# Set both BEGIN and END to 0 to require the exact time in the filename. +# +OBS_WINDOW_BEGIN = -1799 +OBS_WINDOW_END = 1800 OBS_POINT_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_POINT_STAT_WINDOW_END = {OBS_WINDOW_END} # 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 = {ENV[VX_FCST_MODEL_NAME]}_mean +# +# Name to identify model (forecast) data in output. +# +# The variable MODEL is recorded in the stat files, and the data in +# these files is then plotted (e.g. using METViewer). Here, we add a +# suffix to MODEL that identifies the data as that for the ensemble +# mean. This makes it easier to identify each curve. +# +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensmean POINT_STAT_DESC = NA +# +# Name to identify observation data in output. +# OBTYPE = NDAS # Regrid to specified grid. Indicate NONE if no regridding, or the grid id @@ -148,7 +135,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_ADPUPA_{OBTYPE}_mean +POINT_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_ADPUPA_{OBTYPE}_ensmean # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -166,15 +153,15 @@ POINT_STAT_GRID = # 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. +# directory), define these in the METplus PointStat configuration file. POINT_STAT_POLY = {MET_INSTALL_DIR}/share/met/poly/CONUS.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, +# Variables and levels as specified in the field dictionary of the METplus +# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, # (optional) FCST_VARn_OPTION # set to True to run PointStat once for each name/level combination @@ -283,63 +270,58 @@ OBS_VAR12_LEVELS = L0 OBS_VAR12_OPTIONS = desc = "TKE"; OBS_VAR12_THRESH = <500, <1500, >1500 -# End of [config] section and start of [dir] section +# End of [config] section and start of [dir] section. [dir] - -# directory containing input to PB2NC -PB2NC_INPUT_DIR = {ENV[OBS_DIR]} - -# directory to write output from -PB2NC_OUTPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pb2nc - +# +# Directory containing observation input to PointStat. +# +OBS_POINT_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/Pb2nc_obs +# +# Directory containing forecast input to PointStat. +# INPUT_BASE = {ENV[INPUT_BASE]} - FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE} -OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} - -# directory containing climatology mean input to PointStat -# Not used in this example +# +# 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 +# +# Directory containing climatology mean input to PointStat. Not used in +# this example. +# POINT_STAT_CLIMO_STDEV_INPUT_DIR = - +# +# Directory in which to write output from PointStat. +# OUTPUT_BASE = {ENV[OUTPUT_BASE]} POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE} -LOG_DIR = {ENV[LOG_DIR]} - -STAGING_DIR = {OUTPUT_BASE}/stage/upper_air_mean +STAGING_DIR = {OUTPUT_BASE}/stage/UPA_ensmean -# End of [dir] section and start of [filename_templates] section +# End of [dir] section and start of [filename_templates] section. [filename_templates] - -# Template to look for prepbvur input to PB2NC relative to PB2NC_INPUT_DIR -PB2NC_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H} - -# Template to use to write output from PB2NC -PB2NC_OUTPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for forecast input to PointStat relative to FCST_POINT_STAT_INPUT_DIR +# +# Template for forecast input to PointStat relative to +# FCST_POINT_STAT_INPUT_DIR. +# FCST_POINT_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_ADPUPA_{OBTYPE}_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V_ens.nc - -# Template to look for observation input to PointStat relative to OBS_POINT_STAT_INPUT_DIR +# +# Template for observation input to PointStat relative to +# OBS_POINT_STAT_INPUT_DIR. +# OBS_POINT_STAT_INPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example +# +# Template for output from PointStat relative to POINT_STAT_OUTPUT_DIR. +# +POINT_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/PointStat_ensmean +# +# Template 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 +# +# Template for climatology input to PointStat relative to +# POINT_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. +# POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -#Template for where point-stat output is written -POINT_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_mean - -# Specify the name of the metplus.log file -LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_ensmean_UPA_{ENV[CDATE]} - -# Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_mean/metplus_final.upper_air.conf diff --git a/parm/metplus/PointStat_ensprob_SFC.conf b/parm/metplus/PointStat_ensprob_SFC.conf index 18a6fc9031..100bfa2313 100644 --- a/parm/metplus/PointStat_ensprob_SFC.conf +++ b/parm/metplus/PointStat_ensprob_SFC.conf @@ -1,7 +1,9 @@ +# Ensemble probabilistic PointStat METplus Configuration + [config] # List of applications to run - only PointStat for this case -PROCESS_LIST = PB2NC, PointStat +PROCESS_LIST = PointStat # time looping - options are INIT, VALID, RETRO, and REALTIME # If set to INIT or RETRO: @@ -14,7 +16,7 @@ LOOP_BY = INIT # %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 +INIT_TIME_FMT = %Y%m%d%H # Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = {ENV[CDATE]} @@ -22,14 +24,14 @@ INIT_BEG = {ENV[CDATE]} # End time for METplus run - must match INIT_TIME_FMT INIT_END = {ENV[CDATE]} -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +# 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 = {ENV[fhr_list]} +LEAD_SEQ = {ENV[FHR_LIST]} # Order of loops to process data - Options are times, processes # Not relevant if only one item is in the PROCESS_LIST @@ -39,56 +41,26 @@ LEAD_SEQ = {ENV[fhr_list]} # processes = run the first wrapper in the PROCESS_LIST for all times # specified, then repeat for the next item in the PROCESS_LIST until all # wrappers have been run -LOOP_ORDER = times +LOOP_ORDER = times # Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only LOG_POINT_STAT_VERBOSITY = 2 - -# Location of MET config file to pass to PB2NC -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped - -# For both PB2NC and point_stat -OBS_WINDOW_BEGIN = -1799 -OBS_WINDOW_END = 1800 - -PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} -PB2NC_WINDOW_END = {OBS_WINDOW_END} - -# If set to True, skip run if the output file determined by the output directory and -# filename template already exists -PB2NC_SKIP_IF_OUTPUT_EXISTS = True - -# Values to pass to pb2nc config file using environment variables of the same name. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 -PB2NC_QUALITY_MARK_THRESH = 9 - -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, MXGS, D_WIND, D_PRMSL - -# Mapping of input BUFR variable names to output variables names. -# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. -PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] - -# For defining the time periods for summarization -# False for no time summary, True otherwise -# The rest of the PB2NC_TIME_SUMMARY variables are ignored if set to False -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 - +# +# Specify the name of the METplus log file. +# +LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_ensprob_SFC_{ENV[CDATE]} +# +# Specify the location and name of the final METplus conf file. +# +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/PointStat_ensprob/metplus_final.SFC.conf +# # 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 +# 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_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #POINT_STAT_OBS_QUALITY_EXC = @@ -128,18 +100,33 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = -# Time relative to each input file's valid time (in seconds if no units are specified) for data within the file to be -# considered valid. Values are set in the 'obs_window' dictionary in the PointStat config file +# +# Time relative to each input file's valid time (in seconds if no units +# are specified) for data within the file to be considered valid. Values +# are set in the 'obs_window' dictionary in the PointStat config file. +# Set both BEGIN and END to 0 to require the exact time in the filename. +# +OBS_WINDOW_BEGIN = -1799 +OBS_WINDOW_END = 1800 OBS_POINT_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_POINT_STAT_WINDOW_END = {OBS_WINDOW_END} # 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 = {ENV[VX_FCST_MODEL_NAME]}_prob +# +# Name to identify model (forecast) data in output. +# +# The variable MODEL is recorded in the stat files, and the data in +# these files is then plotted (e.g. using METViewer). Here, we add a +# suffix to MODEL that identifies the data as ensemble-probabilistic. +# This makes it easier to identify each curve. +# +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensprob POINT_STAT_DESC = NA +# +# Name to identify observation data in output. +# OBTYPE = NDAS # Regrid to specified grid. Indicate NONE if no regridding, or the grid id @@ -148,7 +135,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_ADPSFC_{OBTYPE}_prob +POINT_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_ADPSFC_{OBTYPE}_ensprob # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -166,15 +153,15 @@ POINT_STAT_GRID = # 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. +# directory), define these in the METplus PointStat configuration file. POINT_STAT_POLY = {MET_INSTALL_DIR}/share/met/poly/CONUS.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 = 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, +# Variables and levels as specified in the field dictionary of the METplus +# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, # (optional) FCST_VARn_OPTION # set to True to run PointStat once for each name/level combination @@ -184,6 +171,8 @@ 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 + +# FREQ FCST_VAR1_NAME = TMP_Z2_ENS_FREQ_ge268 FCST_VAR1_LEVELS = Z2 FCST_VAR1_THRESH = ==0.1 @@ -384,62 +373,58 @@ OBS_VAR23_OPTIONS = GRIB_lvl_typ = 215; interp = { type = [ { method = NEAREST; FCST_IS_PROB = True FCST_PROB_IN_GRIB_PDS = False -# End of [config] section and start of [dir] section +# End of [config] section and start of [dir] section. [dir] - -# directory containing input to PB2NC_INPUT_DIR = {ENV[OBS_DIR]} -PB2NC_INPUT_DIR = {ENV[OBS_DIR]} - -# directory to write output from -PB2NC_OUTPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pb2nc - +# +# Directory containing observation input to PointStat. +# +OBS_POINT_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/Pb2nc_obs +# +# Directory containing forecast input to PointStat. +# INPUT_BASE = {ENV[INPUT_BASE]} - FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE} -OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} - -# directory containing climatology mean input to PointStat -# Not used in this example +# +# 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 +# +# Directory containing climatology mean input to PointStat. Not used in +# this example. +# POINT_STAT_CLIMO_STDEV_INPUT_DIR = - +# +# Directory in which to write output from PointStat. +# OUTPUT_BASE = {ENV[OUTPUT_BASE]} POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE} -LOG_DIR = {ENV[LOG_DIR]} +STAGING_DIR = {OUTPUT_BASE}/stage/SFC_ensprob -STAGING_DIR = {OUTPUT_BASE}/stage/conus_sfc_prob - -# End of [dir] section and start of [filename_templates] section +# End of [dir] section and start of [filename_templates] section. [filename_templates] - -# Template to look for prepbvur input to PB2NC relative to PB2NC_INPUT_DIR -PB2NC_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H} -# Template to use to write output from PB2NC -PB2NC_OUTPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for forecast input to PointStat relative to FCST_POINT_STAT_INPUT_DIR +# +# Template for forecast input to PointStat relative to +# FCST_POINT_STAT_INPUT_DIR. +# FCST_POINT_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_ADPSFC_{OBTYPE}_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V_ens.nc - -# Template to look for observation input to PointStat relative to OBS_POINT_STAT_INPUT_DIR +# +# Template for observation input to PointStat relative to +# OBS_POINT_STAT_INPUT_DIR. +# OBS_POINT_STAT_INPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example +# +# Template for output from PointStat relative to POINT_STAT_OUTPUT_DIR. +# +POINT_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/PointStat_ensprob +# +# Template 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 +# +# Template for climatology input to PointStat relative to +# POINT_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. +# POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -#Template for where point-stat output is written -POINT_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_prob - -# Specify the name of the metplus.log file -LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_ensprob_SFC_{ENV[CDATE]} - -# Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_prob/metplus_final.conus_surface.conf diff --git a/parm/metplus/PointStat_ensprob_UPA.conf b/parm/metplus/PointStat_ensprob_UPA.conf index 1c7889a37f..3cb0a49375 100644 --- a/parm/metplus/PointStat_ensprob_UPA.conf +++ b/parm/metplus/PointStat_ensprob_UPA.conf @@ -1,7 +1,9 @@ +# Ensemble probabilistic PointStat METplus Configuration + [config] # List of applications to run - only PointStat for this case -PROCESS_LIST = PB2NC, PointStat +PROCESS_LIST = PointStat # time looping - options are INIT, VALID, RETRO, and REALTIME # If set to INIT or RETRO: @@ -14,7 +16,7 @@ LOOP_BY = INIT # %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 +INIT_TIME_FMT = %Y%m%d%H # Start time for METplus run - must match INIT_TIME_FMT INIT_BEG = {ENV[CDATE]} @@ -22,14 +24,14 @@ INIT_BEG = {ENV[CDATE]} # End time for METplus run - must match INIT_TIME_FMT INIT_END = {ENV[CDATE]} -# Increment between METplus runs (in seconds if no units are specified) -# Must be >= 60 seconds +# 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 = begin_end_incr(0,{ENV[fhr_last]},6) +LEAD_SEQ = {ENV[FHR_LIST]} # Order of loops to process data - Options are times, processes # Not relevant if only one item is in the PROCESS_LIST @@ -39,56 +41,26 @@ LEAD_SEQ = begin_end_incr(0,{ENV[fhr_last]},6) # 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 +LOOP_ORDER = times # Verbosity of MET output - overrides LOG_VERBOSITY for PointStat only LOG_POINT_STAT_VERBOSITY = 2 - -# Location of MET config file to pass to PB2NC -PB2NC_CONFIG_FILE = {PARM_BASE}/met_config/PB2NCConfig_wrapped - -# For both PB2NC and point_stat -OBS_WINDOW_BEGIN = -1799 -OBS_WINDOW_END = 1800 - -PB2NC_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} -PB2NC_WINDOW_END = {OBS_WINDOW_END} - -# If set to True, skip run if the output file determined by the output directory and -# filename template already exists -PB2NC_SKIP_IF_OUTPUT_EXISTS = True - -# Values to pass to pb2nc config file using environment variables of the same name. -PB2NC_GRID = -PB2NC_POLY = -PB2NC_STATION_ID = -PB2NC_MESSAGE_TYPE = ADPSFC, ADPUPA -PB2NC_LEVEL_CATEGORY = 0, 1, 4, 5, 6 -PB2NC_QUALITY_MARK_THRESH = 9 - -PB2NC_PB_REPORT_TYPE = 120, 220, 221, 122, 222, 223, 224, 131, 133, 233, 153, 156, 157, 188, 288, 180, 280, 181, 182, 281, 282, 183, 284, 187, 287 - -# Leave empty to process all -PB2NC_OBS_BUFR_VAR_LIST = PMO, ZOB, TOB, D_DPT, QOB, UOB, VOB, PWO, TOCC, D_RH, HOVI, CEILING, D_PBL, D_CAPE, MXGS, D_WIND, D_PRMSL - -# Mapping of input BUFR variable names to output variables names. -# The default PREPBUFR map, obs_prepbufr_map, is appended to this map. -PB2NC_OBS_BUFR_MAP = [{ key = "PWO"; val = "PWAT"; },{ key = "MXGS"; val = "GUST"; }, { key = "CEILING"; val = "CEILING"; }] - -# For defining the time periods for summarization -# False for no time summary, True otherwise -# The rest of the PB2NC_TIME_SUMMARY variables are ignored if set to False -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 - +# +# Specify the name of the METplus log file. +# +LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_ensprob_UPA_{ENV[CDATE]} +# +# Specify the location and name of the final METplus conf file. +# +METPLUS_CONF = {OUTPUT_BASE}/{ENV[CDATE]}/metprd/PointStat_ensprob/metplus_final.UPA.conf +# # 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 +# 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_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA #POINT_STAT_OBS_QUALITY_EXC = @@ -128,18 +100,33 @@ POINT_STAT_CLIMO_CDF_BINS = 1 #POINT_STAT_HSS_EC_VALUE = -# Time relative to each input file's valid time (in seconds if no units are specified) for data within the file to be -# considered valid. Values are set in the 'obs_window' dictionary in the PointStat config file +# +# Time relative to each input file's valid time (in seconds if no units +# are specified) for data within the file to be considered valid. Values +# are set in the 'obs_window' dictionary in the PointStat config file. +# Set both BEGIN and END to 0 to require the exact time in the filename. +# +OBS_WINDOW_BEGIN = -1799 +OBS_WINDOW_END = 1800 OBS_POINT_STAT_WINDOW_BEGIN = {OBS_WINDOW_BEGIN} OBS_POINT_STAT_WINDOW_END = {OBS_WINDOW_END} # 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 = {ENV[VX_FCST_MODEL_NAME]}_prob +# +# Name to identify model (forecast) data in output. +# +# The variable MODEL is recorded in the stat files, and the data in +# these files is then plotted (e.g. using METViewer). Here, we add a +# suffix to MODEL that identifies the data as ensemble-probabilistic. +# This makes it easier to identify each curve. +# +MODEL = {ENV[VX_FCST_MODEL_NAME]}_ensprob POINT_STAT_DESC = NA +# +# Name to identify observation data in output. +# OBTYPE = NDAS # Regrid to specified grid. Indicate NONE if no regridding, or the grid id @@ -148,7 +135,7 @@ POINT_STAT_REGRID_TO_GRID = NONE POINT_STAT_REGRID_METHOD = BILIN POINT_STAT_REGRID_WIDTH = 2 -POINT_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_ADPUPA_{OBTYPE}_prob +POINT_STAT_OUTPUT_PREFIX = {ENV[VX_FCST_MODEL_NAME]}_ADPUPA_{OBTYPE}_ensprob # sets the -obs_valid_beg command line argument (optional) # not used for this example @@ -166,15 +153,15 @@ POINT_STAT_GRID = # 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. +# directory), define these in the METplus PointStat configuration file. POINT_STAT_POLY = {MET_INSTALL_DIR}/share/met/poly/CONUS.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, +# Variables and levels as specified in the field dictionary of the METplus +# PointStat configuration file. Specify as FCST_VARn_NAME, FCST_VARn_LEVELS, # (optional) FCST_VARn_OPTION # set to True to run PointStat once for each name/level combination @@ -507,63 +494,58 @@ OBS_VAR39_THRESH = >1500 FCST_IS_PROB = True FCST_PROB_IN_GRIB_PDS = False -# End of [config] section and start of [dir] section +# End of [config] section and start of [dir] section. [dir] - -# directory containing input to PB2NC -PB2NC_INPUT_DIR = {ENV[OBS_DIR]} - -# directory to write output from -PB2NC_OUTPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/pb2nc - +# +# Directory containing observation input to PointStat. +# +OBS_POINT_STAT_INPUT_DIR = {ENV[OUTPUT_BASE]}/metprd/Pb2nc_obs +# +# Directory containing forecast input to PointStat. +# INPUT_BASE = {ENV[INPUT_BASE]} - FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE} -OBS_POINT_STAT_INPUT_DIR = {PB2NC_OUTPUT_DIR} - -# directory containing climatology mean input to PointStat -# Not used in this example +# +# 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 +# +# Directory containing climatology mean input to PointStat. Not used in +# this example. +# POINT_STAT_CLIMO_STDEV_INPUT_DIR = - +# +# Directory in which to write output from PointStat. +# OUTPUT_BASE = {ENV[OUTPUT_BASE]} POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE} -LOG_DIR = {ENV[LOG_DIR]} - -STAGING_DIR = {OUTPUT_BASE}/stage/upper_air_prob +STAGING_DIR = {OUTPUT_BASE}/stage/UPA_ensprob -# End of [dir] section and start of [filename_templates] section +# End of [dir] section and start of [filename_templates] section. [filename_templates] - -# Template to look for prepbvur input to PB2NC relative to PB2NC_INPUT_DIR -PB2NC_INPUT_TEMPLATE = prepbufr.ndas.{valid?fmt=%Y%m%d%H} - -# Template to use to write output from PB2NC -PB2NC_OUTPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for forecast input to PointStat relative to FCST_POINT_STAT_INPUT_DIR +# +# Template for forecast input to PointStat relative to +# FCST_POINT_STAT_INPUT_DIR. +# FCST_POINT_STAT_INPUT_TEMPLATE = ensemble_stat_{ENV[VX_FCST_MODEL_NAME]}_ADPUPA_{OBTYPE}_{valid?fmt=%Y%m%d}_{valid?fmt=%H%M%S}V_ens.nc - -# Template to look for observation input to PointStat relative to OBS_POINT_STAT_INPUT_DIR +# +# Template for observation input to PointStat relative to +# OBS_POINT_STAT_INPUT_DIR. +# OBS_POINT_STAT_INPUT_TEMPLATE = prepbufr.ndas{ENV[DOT_ENSMEM]}.{valid?fmt=%Y%m%d%H}.nc - -# Template to look for climatology input to PointStat relative to POINT_STAT_CLIMO_MEAN_INPUT_DIR -# Not used in this example +# +# Template for output from PointStat relative to POINT_STAT_OUTPUT_DIR. +# +POINT_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/PointStat_ensprob +# +# Template 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 +# +# Template for climatology input to PointStat relative to +# POINT_STAT_CLIMO_STDEV_INPUT_DIR. Not used in this example. +# POINT_STAT_CLIMO_STDEV_INPUT_TEMPLATE = - -#Template for where point-stat output is written -POINT_STAT_OUTPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/metprd/ensemble_stat_prob - -# Specify the name of the metplus.log file -LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_ensprob_UPA_{ENV[CDATE]} - -# Specify where the location and name of the final metplus_final.conf -METPLUS_CONF={OUTPUT_BASE}/{ENV[CDATE]}/metprd/ensemble_stat_prob/metplus_final.upper_air.conf diff --git a/scripts/exregional_run_met_ensemblestat_vx_grid.sh b/scripts/exregional_run_met_ensemblestat_vx_grid.sh index df3542ece7..75b52676af 100755 --- a/scripts/exregional_run_met_ensemblestat_vx_grid.sh +++ b/scripts/exregional_run_met_ensemblestat_vx_grid.sh @@ -117,7 +117,7 @@ export DOT_ENSMEM=${dot_ensmem} # if [ ${VAR} == "APCP" ]; then - LOG_SUFFIX=EnsembleStat_${VAR}${ACCUM}h_${CDATE} + LOG_SUFFIX=EnsembleStat_${VAR}${ACCUM_HH}h_${CDATE} else LOG_SUFFIX=EnsembleStat_${VAR}_${CDATE} fi @@ -149,7 +149,7 @@ export LOG_SUFFIX #----------------------------------------------------------------------- # if [ ${VAR} == "APCP" ]; then - acc="${ACCUM}h" # for stats output prefix in EnsembleStatConfig + acc="${ACCUM_HH}h" # for stats output prefix in EnsembleStatConfig ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${METPLUS_CONF}/EnsembleStat_${VAR}${acc}.conf diff --git a/scripts/exregional_run_met_gridstat_vx.sh b/scripts/exregional_run_met_gridstat_vx.sh index 133981db04..2b0216d41a 100755 --- a/scripts/exregional_run_met_gridstat_vx.sh +++ b/scripts/exregional_run_met_gridstat_vx.sh @@ -84,13 +84,8 @@ if [ $RUN_ENVIR = "nco" ]; then export MEM_CUSTOM= export DOT_MEM_CUSTOM=".{custom?fmt=%s}" else - if [[ ${DO_ENSEMBLE} == "FALSE" ]]; then - export INPUT_BASE=${VX_FCST_INPUT_BASEDIR}/${CDATE}/postprd - export OUTPUT_BASE=${EXPTDIR}/${CDATE} - else - export INPUT_BASE=${VX_FCST_INPUT_BASEDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR}/postprd - export OUTPUT_BASE=${EXPTDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR} - fi + export INPUT_BASE=${VX_FCST_INPUT_BASEDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR_OR_NULL}/postprd + export OUTPUT_BASE=${EXPTDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR_OR_NULL} export MEM_BASE=$EXPTDIR/$CDATE export LOG_DIR=${EXPTDIR}/log @@ -109,15 +104,15 @@ export DOT_ENSMEM=${dot_ensmem} #----------------------------------------------------------------------- # if [ ${VAR} == "APCP" ]; then - LOG_SUFFIX=GridStat_${VAR}${ACCUM}h${USCORE_ENSMEM_NAME_OR_NULL}_${CDATE} + LOG_SUFFIX=GridStat_${VAR}${ACCUM_HH}h${USCORE_ENSMEM_NAME_OR_NULL}_${CDATE} else LOG_SUFFIX=GridStat_${VAR}${USCORE_ENSMEM_NAME_OR_NULL}_${CDATE} fi -if [[ ${DO_ENSEMBLE} == "TRUE" ]]; then - ENSMEM=`echo ${SLASH_ENSMEM_SUBDIR} | cut -d"/" -f2` - VX_FCST_MODEL_NAME=${VX_FCST_MODEL_NAME}_${ENSMEM} -fi +#if [[ ${DO_ENSEMBLE} == "TRUE" ]]; then +# ENSMEM=`echo ${SLASH_ENSMEM_SUBDIR_OR_NULL} | cut -d"/" -f2` +# VX_FCST_MODEL_NAME=${VX_FCST_MODEL_NAME}_${ENSMEM} +#fi # #----------------------------------------------------------------------- @@ -158,7 +153,7 @@ export POST_OUTPUT_DOMAIN_NAME #----------------------------------------------------------------------- # if [ ${VAR} == "APCP" ]; then - export acc="${ACCUM}h" # for stats output prefix in GridStatConfig + export acc="${ACCUM_HH}h" # for stats output prefix in GridStatConfig ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${METPLUS_CONF}/GridStat_${VAR}${acc}.conf diff --git a/scripts/exregional_run_met_gridstat_vx_ensmean.sh b/scripts/exregional_run_met_gridstat_vx_ensmean.sh index 8ba358b05b..eab1f3a4e1 100755 --- a/scripts/exregional_run_met_gridstat_vx_ensmean.sh +++ b/scripts/exregional_run_met_gridstat_vx_ensmean.sh @@ -83,7 +83,7 @@ export fhr_list #----------------------------------------------------------------------- # if [ $RUN_ENVIR = "nco" ]; then - export INPUT_BASE=$COMOUT/metout/${CDATE}/metprd/ensemble_stat + export INPUT_BASE=$COMOUT/metout/${CDATE}/metprd/EnsembleStat export OUTPUT_BASE=$COMOUT/metout export MEM_BASE=$OUTPUT_BASE export LOG_DIR=$LOGDIR @@ -93,7 +93,7 @@ if [ $RUN_ENVIR = "nco" ]; then export MEM_CUSTOM= export DOT_MEM_CUSTOM=".{custom?fmt=%s}" else - export INPUT_BASE=${EXPTDIR}/${CDATE}/metprd/ensemble_stat + export INPUT_BASE=${EXPTDIR}/${CDATE}/metprd/EnsembleStat export OUTPUT_BASE=$EXPTDIR export MEM_BASE=$EXPTDIR/$CDATE export LOG_DIR=${EXPTDIR}/log @@ -114,7 +114,7 @@ export DOT_ENSMEM=${dot_ensmem} # if [ ${VAR} == "APCP" ]; then - LOG_SUFFIX=GridStat_ensmean_${VAR}${ACCUM}h_${CDATE} + LOG_SUFFIX=GridStat_ensmean_${VAR}${ACCUM_HH}h_${CDATE} else LOG_SUFFIX=GridStat_ensmean_${VAR}_${CDATE} fi @@ -156,7 +156,7 @@ export LOG_SUFFIX #----------------------------------------------------------------------- # if [ ${VAR} == "APCP" ]; then - export acc="${ACCUM}h" + export acc="${ACCUM_HH}h" ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${METPLUS_CONF}/GridStat_ensmean_${VAR}${acc}.conf diff --git a/scripts/exregional_run_met_gridstat_vx_ensprob.sh b/scripts/exregional_run_met_gridstat_vx_ensprob.sh index 207d69db5f..9450ae1195 100755 --- a/scripts/exregional_run_met_gridstat_vx_ensprob.sh +++ b/scripts/exregional_run_met_gridstat_vx_ensprob.sh @@ -83,7 +83,7 @@ export fhr_list #----------------------------------------------------------------------- # if [ $RUN_ENVIR = "nco" ]; then - export INPUT_BASE=$COMOUT/metout/${CDATE}/metprd/ensemble_stat + export INPUT_BASE=$COMOUT/metout/${CDATE}/metprd/EnsembleStat export OUTPUT_BASE=$COMOUT/metout export MEM_BASE=$OUTPUT_BASE export LOG_DIR=$LOGDIR @@ -93,7 +93,7 @@ if [ $RUN_ENVIR = "nco" ]; then export MEM_CUSTOM= export DOT_MEM_CUSTOM=".{custom?fmt=%s}" else - export INPUT_BASE=${EXPTDIR}/${CDATE}/metprd/ensemble_stat + export INPUT_BASE=${EXPTDIR}/${CDATE}/metprd/EnsembleStat export OUTPUT_BASE=$EXPTDIR export MEM_BASE=$EXPTDIR/$CDATE export LOG_DIR=${EXPTDIR}/log @@ -114,7 +114,7 @@ export DOT_ENSMEM=${dot_ensmem} # if [ ${VAR} == "APCP" ]; then - LOG_SUFFIX=GridStat_ensprob_${VAR}${ACCUM}h_${CDATE} + LOG_SUFFIX=GridStat_ensprob_${VAR}${ACCUM_HH}h_${CDATE} else LOG_SUFFIX=GridStat_ensprob_${VAR}_${CDATE} fi @@ -156,7 +156,7 @@ export LOG_SUFFIX #----------------------------------------------------------------------- # if [ ${VAR} == "APCP" ]; then - export acc="${ACCUM}h" + export acc="${ACCUM_HH}h" ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${METPLUS_CONF}/GridStat_ensprob_${VAR}${acc}.conf diff --git a/scripts/exregional_run_met_pb2nc_obs.sh b/scripts/exregional_run_met_pb2nc_obs.sh new file mode 100755 index 0000000000..9c6eaf4709 --- /dev/null +++ b/scripts/exregional_run_met_pb2nc_obs.sh @@ -0,0 +1,317 @@ +#!/bin/bash + +# +#----------------------------------------------------------------------- +# +# Source the variable definitions file and the bash utility functions. +# +#----------------------------------------------------------------------- +# +. $USHdir/source_util_funcs.sh +source_config_for_task "task_run_met_pb2nc_obs" ${GLOBAL_VAR_DEFNS_FP} +# +#----------------------------------------------------------------------- +# +# Source files defining auxiliary functions for verification. +# +#----------------------------------------------------------------------- +# +. $USHdir/set_vx_params.sh +. $USHdir/set_vx_fhr_list.sh +# +#----------------------------------------------------------------------- +# +# Save current shell options (in a global array). Then set new options +# for this script/function. +# +#----------------------------------------------------------------------- +# +{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1 +# +#----------------------------------------------------------------------- +# +# Get the full path to the file in which this script/function is located +# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in +# which the file is located (scrfunc_dir). +# +#----------------------------------------------------------------------- +# +scrfunc_fp=$( $READLINK -f "${BASH_SOURCE[0]}" ) +scrfunc_fn=$( basename "${scrfunc_fp}" ) +scrfunc_dir=$( dirname "${scrfunc_fp}" ) +# +#----------------------------------------------------------------------- +# +# Set the name of the MET/METplus tool this task will call. (Note: "sc" +# is for "snake case", i.e. using underscores as separators, and "pc" is +# for "Pascal case", i.e. no separators but first letter of each word +# capitalized.) +# +#----------------------------------------------------------------------- +# +met_tool_sc="pb2nc" +met_tool_pc="Pb2nc" +# +#----------------------------------------------------------------------- +# +# Print message indicating entry into script. +# +#----------------------------------------------------------------------- +# +print_info_msg " +======================================================================== +Entering script: \"${scrfunc_fn}\" +In directory: \"${scrfunc_dir}\" + +This is the ex-script for the task that runs the METplus tool ${met_tool_pc} +to convert NDAS prep buffer observation files to NetCDF format. +========================================================================" +# +#----------------------------------------------------------------------- +# +# Get the cycle date and time in YYYYMMDDHH format. +# +#----------------------------------------------------------------------- +# +CDATE="${PDY}${cyc}" +# +#----------------------------------------------------------------------- +# +# Set various verification parameters associated with the field to be +# verified. Not all of these are necessarily used later below but are +# set here for consistency with other verification ex-scripts. +# +#----------------------------------------------------------------------- +# +FIELDNAME_IN_OBS_INPUT="" +FIELDNAME_IN_FCST_INPUT="" +FIELDNAME_IN_MET_OUTPUT="" +FIELDNAME_IN_MET_FILEDIR_NAMES="" + +set_vx_params \ + obtype="${OBTYPE}" \ + field="$VAR" \ + accum_hh="${ACCUM_HH}" \ + outvarname_grid_or_point="grid_or_point" \ + outvarname_field_is_APCPgt01h="field_is_APCPgt01h" \ + outvarname_fieldname_in_obs_input="FIELDNAME_IN_OBS_INPUT" \ + outvarname_fieldname_in_fcst_input="FIELDNAME_IN_FCST_INPUT" \ + outvarname_fieldname_in_MET_output="FIELDNAME_IN_MET_OUTPUT" \ + outvarname_fieldname_in_MET_filedir_names="FIELDNAME_IN_MET_FILEDIR_NAMES" +# +#----------------------------------------------------------------------- +# +# Set paths and file templates for input to and output from the MET/ +# METplus tool to be run as well as other file/directory parameters. +# +#----------------------------------------------------------------------- +# +OBS_INPUT_DIR="${OBS_DIR}" +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_TEMPLATE} ) + +OUTPUT_BASE="${VX_OUTPUT_BASEDIR}" +OUTPUT_DIR="${OUTPUT_BASE}/metprd/${met_tool_pc}_obs" +OUTPUT_FN_TEMPLATE="${OBS_INPUT_FN_TEMPLATE}.nc" +STAGING_DIR="${OUTPUT_BASE}/stage/${met_tool_pc}_obs" +# +#----------------------------------------------------------------------- +# +# Set the array of forecast hours for which to run the MET/METplus tool. +# +#----------------------------------------------------------------------- +# +set_vx_fhr_list \ + cdate="${CDATE}" \ + fcst_len_hrs="${FCST_LEN_HRS}" \ + field="$VAR" \ + accum_hh="${ACCUM_HH}" \ + base_dir="${OBS_INPUT_DIR}" \ + fn_template="${OBS_INPUT_FN_TEMPLATE}" \ + check_hourly_files="FALSE" \ + outvarname_fhr_list="FHR_LIST" +# +#----------------------------------------------------------------------- +# +# Make sure the MET/METplus output directory(ies) exists. +# +#----------------------------------------------------------------------- +# +mkdir_vrfy -p "${OUTPUT_DIR}" +# +#----------------------------------------------------------------------- +# +# Check for existence of top-level OBS_DIR. +# +#----------------------------------------------------------------------- +# +if [ ! -d "${OBS_DIR}" ]; then + print_err_msg_exit "\ +OBS_DIR does not exist or is not a directory: + OBS_DIR = \"${OBS_DIR}\"" +fi +# +#----------------------------------------------------------------------- +# +# Export variables needed in the common METplus configuration file (at +# ${METPLUS_CONF}/common.conf). +# +#----------------------------------------------------------------------- +# +export MET_INSTALL_DIR +export METPLUS_PATH +export MET_BIN_EXEC +export METPLUS_CONF +export LOGDIR +# +#----------------------------------------------------------------------- +# +# Do not run METplus if there isn't at least one valid forecast hour for +# which to run it. +# +#----------------------------------------------------------------------- +# +if [ -z "${FHR_LIST}" ]; then + print_err_msg_exit "\ +The list of forecast hours for which to run METplus is empty: + FHR_LIST = [${FHR_LIST}]" +fi +# +#----------------------------------------------------------------------- +# +# Set the names of the template METplus configuration file, the METplus +# configuration file generated from this template, and the METplus log +# file. +# +#----------------------------------------------------------------------- +# +# First, set the base file names. +# +metplus_config_tmpl_fn="${met_tool_pc}_obs" +# +# If operating on observation files, +# Note that we append the cycle date to the name of the configuration +# file because we are considering only observations when using Pb2NC, so +# the output files from METplus are not placed under cycle directories. +# Thus, another method is necessary to associate the configuration file +# with the cycle for which it is used. +# +metplus_config_fn="${metplus_config_tmpl_fn}_$CDATE" +metplus_log_fn="${metplus_config_fn}" +# +# Add prefixes and suffixes (extensions) to the base file names. +# +metplus_config_tmpl_fn="${metplus_config_tmpl_fn}.conf" +metplus_config_fn="${metplus_config_fn}.conf" +metplus_log_fn="metplus.log.${metplus_log_fn}" +# +#----------------------------------------------------------------------- +# +# Generate the METplus configuration file from its jinja template. +# +#----------------------------------------------------------------------- +# +# Set the full paths to the jinja template METplus configuration file +# (which already exists) and the METplus configuration file that will be +# generated from it. +# +metplus_config_tmpl_fp="${METPLUS_CONF}/${metplus_config_tmpl_fn}" +metplus_config_fp="${OUTPUT_DIR}/${metplus_config_fn}" +# +# Define variables that appear in the jinja template. +# +settings="\ +# +# Date and forecast hour information. +# + 'cdate': '$CDATE' + 'fhr_list': '${FHR_LIST}' +# +# Input and output directory/file information. +# + 'metplus_config_fn': '${metplus_config_fn:-}' + 'metplus_log_fn': '${metplus_log_fn:-}' + 'obs_input_dir': '${OBS_INPUT_DIR:-}' + 'obs_input_fn_template': '${OBS_INPUT_FN_TEMPLATE:-}' + 'fcst_input_dir': '${FCST_INPUT_DIR:-}' + 'fcst_input_fn_template': '${FCST_INPUT_FN_TEMPLATE:-}' + 'output_base': '${OUTPUT_BASE}' + 'output_dir': '${OUTPUT_DIR}' + 'output_fn_template': '${OUTPUT_FN_TEMPLATE:-}' + 'staging_dir': '${STAGING_DIR}' + 'vx_fcst_model_name': '${VX_FCST_MODEL_NAME}' +# +# Ensemble and member-specific information. +# + 'num_ens_members': '${NUM_ENS_MEMBERS}' + 'uscore_ensmem_name_or_null': '${USCORE_ENSMEM_NAME_OR_NULL:-}' + 'time_lag': '${time_lag:-}' +# +# Field information. +# + 'fieldname_in_obs_input': '${FIELDNAME_IN_OBS_INPUT}' + 'fieldname_in_fcst_input': '${FIELDNAME_IN_FCST_INPUT}' + 'fieldname_in_met_output': '${FIELDNAME_IN_MET_OUTPUT}' + 'fieldname_in_met_filedir_names': '${FIELDNAME_IN_MET_FILEDIR_NAMES}' + 'obtype': '${OBTYPE}' + 'accum_hh': '${ACCUM_HH:-}' + 'accum_no_pad': '${ACCUM_NO_PAD:-}' + 'field_thresholds': '${FIELD_THRESHOLDS:-}' +" +# +# Call the python script to generate the METplus configuration file from +# the jinja template. +# +$USHdir/fill_jinja_template.py -q \ + -u "${settings}" \ + -t ${metplus_config_tmpl_fp} \ + -o ${metplus_config_fp} || \ +print_err_msg_exit "\ +Call to python script fill_jinja_template.py to generate a METplus +configuration file from a jinja template failed. Parameters passed +to this script are: + Full path to template METplus configuration file: + metplus_config_tmpl_fp = \"${metplus_config_tmpl_fp}\" + Full path to output METplus configuration file: + metplus_config_fp = \"${metplus_config_fp}\" + Namelist settings specified on command line: + settings = +$settings" +# +#----------------------------------------------------------------------- +# +# Call METplus. +# +#----------------------------------------------------------------------- +# +print_info_msg "$VERBOSE" " +Calling METplus to run MET's ${met_tool_sc} tool on observations of type: ${OBTYPE}" +${METPLUS_PATH}/ush/run_metplus.py \ + -c ${METPLUS_CONF}/common.conf \ + -c ${metplus_config_fp} || \ +print_err_msg_exit " +Call to METplus failed with return code: $? +METplus configuration file used is: + metplus_config_fp = \"${metplus_config_fp}\"" +# +#----------------------------------------------------------------------- +# +# Print message indicating successful completion of script. +# +#----------------------------------------------------------------------- +# +print_info_msg " +======================================================================== +METplus ${met_tool_pc} tool completed successfully. + +Exiting script: \"${scrfunc_fn}\" +In directory: \"${scrfunc_dir}\" +========================================================================" +# +#----------------------------------------------------------------------- +# +# Restore the shell options saved at the beginning of this script/func- +# tion. +# +#----------------------------------------------------------------------- +# +{ restore_shell_opts; } > /dev/null 2>&1 diff --git a/scripts/exregional_run_met_pcpcombine.sh b/scripts/exregional_run_met_pcpcombine.sh index 17fe12f03a..b9d12abb66 100755 --- a/scripts/exregional_run_met_pcpcombine.sh +++ b/scripts/exregional_run_met_pcpcombine.sh @@ -63,7 +63,7 @@ print_info_msg " Entering script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" -This is the ex-script for the task that runs the MET/METplus ${met_tool_sc} +This is the ex-script for the task that runs the METplus ${met_tool_pc} that combines hourly accumulated precipitation (APCP) data to generate files containing multi-hour accumulated precipitation (e.g. 3-hour, 6- hour, 24-hour). The input files can come from either observations or @@ -144,7 +144,7 @@ if [ "${obs_or_fcst}" = "obs" ]; then OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCP01h_FN_TEMPLATE} ) OUTPUT_BASE="${VX_OUTPUT_BASEDIR}" - OUTPUT_DIR="${OUTPUT_BASE}/metprd/${met_tool_sc}_obs" + OUTPUT_DIR="${OUTPUT_BASE}/metprd/${met_tool_pc}_obs" OUTPUT_FN_TEMPLATE=$( eval echo ${OBS_CCPA_APCPgt01h_FN_TEMPLATE} ) STAGING_DIR="${OUTPUT_BASE}/stage/${FIELDNAME_IN_MET_FILEDIR_NAMES}" @@ -154,7 +154,7 @@ elif [ "${obs_or_fcst}" = "fcst" ]; then FCST_INPUT_FN_TEMPLATE=$( eval echo ${FCST_SUBDIR_TEMPLATE}/${FCST_FN_TEMPLATE} ) OUTPUT_BASE="${VX_OUTPUT_BASEDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR_OR_NULL}" - OUTPUT_DIR="${OUTPUT_BASE}/metprd/${met_tool_sc}_fcst" + OUTPUT_DIR="${OUTPUT_BASE}/metprd/${met_tool_pc}_fcst" OUTPUT_FN_TEMPLATE=$( eval echo ${FCST_FN_METPROC_TEMPLATE} ) STAGING_DIR="${OUTPUT_BASE}/stage/${FIELDNAME_IN_MET_FILEDIR_NAMES}" @@ -357,7 +357,7 @@ METplus configuration file used is: # print_info_msg " ======================================================================== -MET/METplus ${met_tool_sc} tool completed successfully. +METplus ${met_tool_pc} tool completed successfully. Exiting script: \"${scrfunc_fn}\" In directory: \"${scrfunc_dir}\" diff --git a/scripts/exregional_run_met_pointstat_vx.sh b/scripts/exregional_run_met_pointstat_vx.sh index 556a20ddfb..d58e37a5bf 100755 --- a/scripts/exregional_run_met_pointstat_vx.sh +++ b/scripts/exregional_run_met_pointstat_vx.sh @@ -12,6 +12,15 @@ source_config_for_task "task_run_vx_pointstat|task_run_post" ${GLOBAL_VAR_DEFNS_ # #----------------------------------------------------------------------- # +# Source files defining auxiliary functions for verification. +# +#----------------------------------------------------------------------- +# +. $USHdir/set_vx_params.sh +. $USHdir/set_vx_fhr_list.sh +# +#----------------------------------------------------------------------- +# # Save current shell options (in a global array). Then set new options # for this script/function. # @@ -21,7 +30,7 @@ source_config_for_task "task_run_vx_pointstat|task_run_post" ${GLOBAL_VAR_DEFNS_ # #----------------------------------------------------------------------- # -# Get the full path to the file in which this script/function is located +# Get the full path to the file in which this script/function is located # (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in # which the file is located (scrfunc_dir). # @@ -59,13 +68,6 @@ yyyymmdd=${PDY} hh=${cyc} export CDATE export hh - -fhr_last=`echo ${FHR} | awk '{ print $NF }'` -export fhr_last - -fhr_list=`echo ${FHR} | $SED "s/ /,/g"` -export fhr_list - # #----------------------------------------------------------------------- # @@ -84,13 +86,8 @@ if [ $RUN_ENVIR = "nco" ]; then export MEM_CUSTOM= export DOT_MEM_CUSTOM=".{custom?fmt=%s}" else - if [[ ${DO_ENSEMBLE} == "FALSE" ]]; then - export INPUT_BASE=${VX_FCST_INPUT_BASEDIR}/${CDATE}/postprd - export OUTPUT_BASE=${EXPTDIR}/${CDATE} - else - export INPUT_BASE=${VX_FCST_INPUT_BASEDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR}/postprd - export OUTPUT_BASE=${EXPTDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR} - fi + export INPUT_BASE=${VX_FCST_INPUT_BASEDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR_OR_NULL}/postprd + export OUTPUT_BASE=${VX_OUTPUT_BASEDIR}/${CDATE}${SLASH_ENSMEM_SUBDIR_OR_NULL} export MEM_BASE=$EXPTDIR/$CDATE export LOG_DIR=${EXPTDIR}/log @@ -109,11 +106,30 @@ export DOT_ENSMEM=${dot_ensmem} #----------------------------------------------------------------------- # LOG_SUFFIX="PointStat" -if [[ ${DO_ENSEMBLE} == "TRUE" ]]; then - ENSMEM=`echo ${SLASH_ENSMEM_SUBDIR} | cut -d"/" -f2` - VX_FCST_MODEL_NAME=${VX_FCST_MODEL_NAME}_${ENSMEM} -fi +#if [[ ${DO_ENSEMBLE} == "TRUE" ]]; then +# ENSMEM=`echo ${SLASH_ENSMEM_SUBDIR_OR_NULL} | cut -d"/" -f2` +# VX_FCST_MODEL_NAME=${VX_FCST_MODEL_NAME}_${ENSMEM} +#fi +# +#----------------------------------------------------------------------- +# +# Set the array of forecast hours for which to run the MET/METplus tool. +# +#----------------------------------------------------------------------- +# +export OBS_INPUT_DIR="${VX_OUTPUT_BASEDIR}/metprd/Pb2nc_obs" +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE} ) + +set_vx_fhr_list \ + cdate="${CDATE}" \ + fcst_len_hrs="${FCST_LEN_HRS}" \ + field="$VAR" \ + accum_hh="${ACCUM_HH}" \ + base_dir="${OBS_INPUT_DIR}" \ + fn_template="${OBS_INPUT_FN_TEMPLATE}" \ + check_hourly_files="FALSE" \ + outvarname_fhr_list="FHR_LIST" # #----------------------------------------------------------------------- # @@ -142,11 +158,12 @@ export MET_CONFIG export VX_FCST_MODEL_NAME export NET export POST_OUTPUT_DOMAIN_NAME +export OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE} ) +export FHR_LIST ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ -c ${METPLUS_CONF}/PointStat_${VAR}.conf - # #----------------------------------------------------------------------- # diff --git a/scripts/exregional_run_met_pointstat_vx_ensmean.sh b/scripts/exregional_run_met_pointstat_vx_ensmean.sh index 67c952d38a..ef814b480c 100755 --- a/scripts/exregional_run_met_pointstat_vx_ensmean.sh +++ b/scripts/exregional_run_met_pointstat_vx_ensmean.sh @@ -12,6 +12,15 @@ source_config_for_task "task_run_vx_enspoint_mean|task_run_post" ${GLOBAL_VAR_DE # #----------------------------------------------------------------------- # +# Source files defining auxiliary functions for verification. +# +#----------------------------------------------------------------------- +# +. $USHdir/set_vx_params.sh +. $USHdir/set_vx_fhr_list.sh +# +#----------------------------------------------------------------------- +# # Save current shell options (in a global array). Then set new options # for this script/function. # @@ -21,7 +30,7 @@ source_config_for_task "task_run_vx_enspoint_mean|task_run_post" ${GLOBAL_VAR_DE # #----------------------------------------------------------------------- # -# Get the full path to the file in which this script/function is located +# Get the full path to the file in which this script/function is located # (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in # which the file is located (scrfunc_dir). # @@ -68,13 +77,6 @@ yyyymmdd=${PDY} hh=${cyc} export CDATE export hh - -fhr_last=`echo ${FHR} | awk '{ print $NF }'` -export fhr_last - -fhr_list=`echo ${FHR} | $SED "s/ /,/g"` -export fhr_list - # #----------------------------------------------------------------------- # @@ -83,7 +85,7 @@ export fhr_list #----------------------------------------------------------------------- # if [ $RUN_ENVIR = "nco" ]; then - export INPUT_BASE=$COMOUT/metout/${CDATE}/metprd/ensemble_stat + export INPUT_BASE=$COMOUT/metout/${CDATE}/metprd/EnsembleStat export OUTPUT_BASE=$COMOUT/metout export MEM_BASE=$OUTPUT_BASE export LOG_DIR=$LOGDIR @@ -93,7 +95,7 @@ if [ $RUN_ENVIR = "nco" ]; then export MEM_CUSTOM= export DOT_MEM_CUSTOM=".{custom?fmt=%s}" else - export INPUT_BASE=${EXPTDIR}/${CDATE}/metprd/ensemble_stat + export INPUT_BASE=${EXPTDIR}/${CDATE}/metprd/EnsembleStat export OUTPUT_BASE=$EXPTDIR export MEM_BASE=$EXPTDIR/$CDATE export LOG_DIR=${EXPTDIR}/log @@ -114,6 +116,25 @@ export DOT_ENSMEM=${dot_ensmem} # LOG_SUFFIX="PointStat" +# +#----------------------------------------------------------------------- +# +# Set the array of forecast hours for which to run the MET/METplus tool. +# +#----------------------------------------------------------------------- +# +export OBS_INPUT_DIR="${VX_OUTPUT_BASEDIR}/metprd/Pb2nc_obs" +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE} ) + +set_vx_fhr_list \ + cdate="${CDATE}" \ + fcst_len_hrs="${FCST_LEN_HRS}" \ + field="$VAR" \ + accum_hh="${ACCUM_HH}" \ + base_dir="${OBS_INPUT_DIR}" \ + fn_template="${OBS_INPUT_FN_TEMPLATE}" \ + check_hourly_files="FALSE" \ + outvarname_fhr_list="FHR_LIST" # #----------------------------------------------------------------------- # @@ -142,6 +163,7 @@ export MET_CONFIG export VX_FCST_MODEL_NAME export NET export POST_OUTPUT_DOMAIN_NAME +export FHR_LIST ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ diff --git a/scripts/exregional_run_met_pointstat_vx_ensprob.sh b/scripts/exregional_run_met_pointstat_vx_ensprob.sh index a3d4a36a70..649051ab96 100755 --- a/scripts/exregional_run_met_pointstat_vx_ensprob.sh +++ b/scripts/exregional_run_met_pointstat_vx_ensprob.sh @@ -12,6 +12,15 @@ source_config_for_task "task_run_vx_enspoint_prob|task_run_post" ${GLOBAL_VAR_DE # #----------------------------------------------------------------------- # +# Source files defining auxiliary functions for verification. +# +#----------------------------------------------------------------------- +# +. $USHdir/set_vx_params.sh +. $USHdir/set_vx_fhr_list.sh +# +#----------------------------------------------------------------------- +# # Save current shell options (in a global array). Then set new options # for this script/function. # @@ -21,7 +30,7 @@ source_config_for_task "task_run_vx_enspoint_prob|task_run_post" ${GLOBAL_VAR_DE # #----------------------------------------------------------------------- # -# Get the full path to the file in which this script/function is located +# Get the full path to the file in which this script/function is located # (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in # which the file is located (scrfunc_dir). # @@ -68,13 +77,6 @@ yyyymmdd=${PDY} hh=${cyc} export CDATE export hh - -fhr_last=`echo ${FHR} | awk '{ print $NF }'` -export fhr_last - -fhr_list=`echo ${FHR} | $SED "s/ /,/g"` -export fhr_list - # #----------------------------------------------------------------------- # @@ -83,7 +85,7 @@ export fhr_list #----------------------------------------------------------------------- # if [ $RUN_ENVIR = "nco" ]; then - export INPUT_BASE=$COMOUT/metout/${CDATE}/metprd/ensemble_stat + export INPUT_BASE=$COMOUT/metout/${CDATE}/metprd/EnsembleStat export OUTPUT_BASE=$COMOUT/metout export MEM_BASE=$OUTPUT_BASE export LOG_DIR=$LOGDIR @@ -93,7 +95,7 @@ if [ $RUN_ENVIR = "nco" ]; then export MEM_CUSTOM= export DOT_MEM_CUSTOM=".{custom?fmt=%s}" else - export INPUT_BASE=${EXPTDIR}/${CDATE}/metprd/ensemble_stat + export INPUT_BASE=${EXPTDIR}/${CDATE}/metprd/EnsembleStat export OUTPUT_BASE=$EXPTDIR export MEM_BASE=$EXPTDIR/$CDATE export LOG_DIR=${EXPTDIR}/log @@ -113,6 +115,26 @@ export DOT_ENSMEM=${dot_ensmem} #----------------------------------------------------------------------- # LOG_SUFFIX="PointStat" + +# +#----------------------------------------------------------------------- +# +# Set the array of forecast hours for which to run the MET/METplus tool. +# +#----------------------------------------------------------------------- +# +export OBS_INPUT_DIR="${VX_OUTPUT_BASEDIR}/metprd/Pb2nc_obs" +OBS_INPUT_FN_TEMPLATE=$( eval echo ${OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE} ) + +set_vx_fhr_list \ + cdate="${CDATE}" \ + fcst_len_hrs="${FCST_LEN_HRS}" \ + field="$VAR" \ + accum_hh="${ACCUM_HH}" \ + base_dir="${OBS_INPUT_DIR}" \ + fn_template="${OBS_INPUT_FN_TEMPLATE}" \ + check_hourly_files="FALSE" \ + outvarname_fhr_list="FHR_LIST" # #----------------------------------------------------------------------- # @@ -141,6 +163,7 @@ export MET_CONFIG export VX_FCST_MODEL_NAME export NET export POST_OUTPUT_DOMAIN_NAME +export FHR_LIST ${METPLUS_PATH}/ush/run_metplus.py \ -c ${METPLUS_CONF}/common.conf \ diff --git a/ush/config_defaults.yaml b/ush/config_defaults.yaml index c1e69f1eae..c46ab7dfe2 100644 --- a/ush/config_defaults.yaml +++ b/ush/config_defaults.yaml @@ -2071,6 +2071,17 @@ task_get_obs_ndas: WTIME_GET_OBS_NDAS: 02:00:00 MAXTRIES_GET_OBS_NDAS: 1 +#---------------------------- +# tn_run_met_pb2nc_obs config parameters +#----------------------------- +task_tn_run_met_pb2nc_obs: + TN_RUN_MET_PB2NC_OBS: "run_MET_Pb2nc_obs" + NNODES_RUN_MET_PB2NC_OBS: 1 + PPN_RUN_MET_PB2NC_OBS: 1 + MEM_RUN_MET_PB2NC_OBS: 2G + WTIME_RUN_MET_PB2NC_OBS: 00:30:00 + MAXTRIES_RUN_MET_PB2NC_OBS: 2 + #---------------------------- # tn_run_met_pcpcombine config parameters #----------------------------- @@ -2737,6 +2748,8 @@ verification: # OBS_CCPA_APCP01h_FN_TEMPLATE: '{valid?fmt=%Y%m%d}/ccpa.t{valid?fmt=%H}z.01h.hrap.conus.gb2' OBS_CCPA_APCPgt01h_FN_TEMPLATE: '${OBS_CCPA_APCP01h_FN_TEMPLATE}_a${ACCUM_HH}h.nc' + OBS_NDAS_SFCorUPA_FN_TEMPLATE: 'prepbufr.ndas.{valid?fmt=%Y%m%d%H}' + OBS_NDAS_SFCorUPA_FN_METPROC_TEMPLATE: '${OBS_NDAS_SFCorUPA_FN_TEMPLATE}.nc' # # VX_LOCAL_MODULE_FN: # Name (without extension) of the local module file for running the vx diff --git a/ush/set_vx_params.sh b/ush/set_vx_params.sh index d05ef5266e..61b74ff4ce 100644 --- a/ush/set_vx_params.sh +++ b/ush/set_vx_params.sh @@ -6,7 +6,7 @@ # the field being verified and, if the field is accumulated precipitation, # the accumulation period (both of which are inputs to this function). # -# As of 20220928, the verification tasks in the SRW App workflow use the +# As of 20220928, the verification tasks in the SRW App workflow use the # MET/METplus software (MET = Model Evaluation Tools) developed at the # DTC (Developmental Testbed Center). # @@ -144,7 +144,7 @@ The accumulation (accum_hh) must be a 2-digit integer: _grid_or_point_="grid" case "${field}" in - + "APCP") fieldname_in_obs_input="${field}" fieldname_in_fcst_input="${field}" @@ -177,7 +177,7 @@ this observation type (obtype) and field (field) combination: fieldname_in_MET_output="${field}" fieldname_in_MET_filedir_names="${field}" ;; - + "RETOP") fieldname_in_obs_input="EchoTop18" fieldname_in_fcst_input="${field}" @@ -207,7 +207,7 @@ this observation type (obtype) and field (field) combination: fieldname_in_MET_output="${field}" fieldname_in_MET_filedir_names="${field}" ;; - + "UPA") fieldname_in_obs_input="" fieldname_in_fcst_input=""