2. METplus Release Information
Users can view the Release Types section of the Release Guide for descriptions of the development releases (including beta releases and release candidates), official releases, and bugfix releases for the METplus Components.
The development timeline for the METplus 6.0.0 Coordinated Release is broken down into the following development cycles for each component:
Beta1 releases for the METplus components occurred around 2023-09-15.
Beta2 releases for the METplus components occurred around 2023-11-14.
Beta3 releases for the METplus components occurred around 2024-02-08.
Beta4 releases for the METplus components occurred around 2024-04-17.
Beta5 releases for the METplus components occurred around 2024-07-10.
Beta6 releases for the METplus components occurred around 2024-10-18.
Release Candidate 1 releases are tentatively scheduled for 2024-11-13.
Official Release releases are tentatively scheduled for 2024-12-11.
2.1. Existing Builds
The METplus team supports the installation of the METplus software components on several operational research high performance computing platforms. This includes installations at NCAR, NOAA, and other select community machines. Pre-built METplus images on DockerHub are also provided.
The NCAR/RAL Common Installation location under the NCAR Machines drop down menu is only updated after official releases. No developmental releases are installed in a common space on RAL machines.
Please submit a new discussion in the METplus Components Discussion forum if no instructions exist for the current release on a supported platform and the release is needed on that platform.
Select from the list below for instructions on using existing builds of the METplus components’ software packages. Please note that the commands to load the METplus components assume the user is using bash. If an installation is needed on a machine not listed here, please follow the installation instructions in the MET User’s Guide.
NCAR machines
CASPER
METplus-6.0.0-beta6
METplus-6.0.0-beta6 Installation:
/glade/work/dtcrt/METplus/casper/components/METplus/installation
METplus-6.0 Sample Data:
/glade/work/dtcrt/METplus/data/components/METplus/METplus-6.0_sample_data
- Users should create a file like
/glade/work/dtcrt/METplus/casper/components/METplus/installations/casper.dtcrt.conf to set a personalized INPUT_BASE and OUTPUT_BASE.
To set up the environment run:
export TOP_DIR=/glade/work/dtcrt/METplus/casper/components
module use $TOP_DIR/METplus/installations/modulefiles
module load metplus/6.0.0-beta6
MET-12.0.0-beta6
MODULES:
export TOP_DIR=/glade/work/dtcrt/METplus/casper/components
module use $TOP_DIR/MET/installations/modulefiles
module load met/12.0.0-beta6
METdataio-3.0.0-beta6
MODULES:
export TOP_DIR=/glade/work/dtcrt/METplus/casper/components
module use $TOP_DIR/METdataio/installations/modulefiles
module load metdataio/3.0.0-beta6
METcalcpy-3.0.0-beta6
MODULES:
METcalcpy-3.0.0-beta6
MODULES:
export TOP_DIR=/glade/work/dtcrt/METplus/casper/components
module use $TOP_DIR/METcalcpy/installations/modulefiles
module load metcalcpy/3.0.0-beta6
METplotpy-3.0.0-beta6
MODULES:
export TOP_DIR=/glade/work/dtcrt/METplus/casper/components
module use $TOP_DIR/METplotpy/installations/modulefiles
module load metplotpy/3.0.0-beta6
DERECHO
Warning
Users are encouraged to run METplus on Casper or submit to the develop queue on Derecho. Submitting serial METplus jobs to the main queue on Derecho may incur up to 128 times more charges than necessary. Please see this Derecho Job-submission queues and charges summary.
MET-12.0.0-beta3
MODULES:
module use /glade/work/dtcrt/METplus/derecho/components/MET/installations/modulefiles
Installation coming soon
METplus-6.0.0-beta3
METplus-6.0.0-beta3 Installation:
/glade/work/dtcrt/METplus/derecho/components/METplus/installations/METplus-6.0.0-beta3
METplus-6.0 Sample Data:
/glade/work/dtcrt/METplus/data/components/METplus/METplus-6.0_sample_data
To set up the environment run: Users should create a file like /glade/work/dtcrt/METplus/derecho/components/METplus/installations/derecho.dtcrt.conf to set a personalized INPUT_BASE and OUTPUT_BASE.
module use /glade/work/dtcrt/METplus/derecho/components/METplus/installations/modulefiles
Installation coming soon
METcalcpy-3.0.0-beta3 / METplotpy-3.0.0-beta3
MODULES:
module use /glade/work/dtcrt/METplus/derecho/components/METcalcpy/installations/modulefiles
module load metcalcpy/3.0.0-beta3
module use /glade/work/dtcrt/METplus/derecho/components/METplotpy/installations/modulefiles
module load metplotpy/3.0.0-beta3
METdataio-3.0.0-beta3
MODULES:
module use /glade/work/dtcrt/METplus/derecho/components/METdataio/installations/modulefiles
module load metdataio/3.0.0-beta3
NCAR/RAL Common Installation
METv12.0.0
MET BUILD:
METplus-12.0.0
METplus INSTALLATION: Add text here
NCAR/RAL Internal Development
MET BUILD:
MET BUILD:
LOCATION:
URL:
NOAA machines
WCOSS2
MET v12.0.0-beta5 / METplus v6.0.0-beta5 / METplus Analysis Tools v3.0.0-beta5
MODULES:
module reset module use /apps/dev/modulefiles/ module load ve/evs/2.0 module use /apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304 export HPC_OPT=/apps/ops/para/libs module load gsl/2.7 module load netcdf/4.7.4 module load met/12.0.0-beta5 module load metplus/6.0.0-beta5 module load METplotpy/3.0.0-beta5 module load METdataio/3.0.0-beta5 module load METcalcpy/3.0.0-beta5
HERA
METplus-6.0.0-beta6
METplus-6.0.0-beta6 Installation
/contrib/METplus/METplus-6.0.0-beta6
METplus-6.0 Sample Data
/scratch1/BMC/dtc/METplus/METplus-6.0_sample_data
Users should create a file like /scratch1/BMC/dtc/METplus/hera.role-metplus.conf to set a personalized INPUT_BASE and OUTPUT_BASE.
To use METplus run:
module load intel/2022.1.2 module use /contrib/METplus/modulefiles module load metplus/6.0.0-beta6MET-12.0.0-beta6
MODULES:
module load intel/2022.1.2 module use -a /contrib/met/modulefiles/ module load met/12.0.0-beta6METcalcpy-3.0.0-beta6 / METplotpy-3.0.0-beta6
MODULES:
module load intel/2022.1.2 module use /contrib/METcalcpy/modulefiles module load metcalcpy/3.0.0-beta6 module use /contrib/METplotpy/modulefiles module load metplotpy/3.0.0-beta6METdataio-3.0.0-beta6
MODULES:
module load intel/2022.1.2 module use /contrib/METdataio/modulefiles module load metdataio/3.0.0-beta6
HERCULES
MET-12.0.0-beta3
MODULES:
module load contrib
module load intel-oneapi-compilers/2022.2.1
module load met/12.0.0-beta3
METplus-6.0.0-beta3
METplus-6.0.0-beta3 Installation
METplus-6.0 Sample Data
/work/noaa/ovp/jprestop/METplus/METplus-6.0_sample_data
To use METplus run:
module load contrib
module load metplus/6.0.0-beta3
Users should create a file like /work/noaa/ovp/user_name/METplus/hercules.user_name.conf to set a personalized INPUT_BASE and OUTPUT_BASE.
METcalcpy-3.0.0-beta3 / METplotpy-3.0.0-beta3
MODULES:
module load contrib
module load intel-oneapi-compilers/2022.2.1
module load metcalcpy/3.0.0-beta3
module load metplotpy/3.0.0-beta3
PIP INSTALL:
python -m pip install –user tornado
python -m pip install –user plotly
python -m pip install –user kaleido
python -m pip install –user xarray
python -m pip install –user netcdf4
python -m pip install –user h5netcdf
METdataio-3.0.0-beta3
MODULES:
module load contrib
module load intel-oneapi-compilers/2022.2.1
module load metdataio/3.0.0-beta3
ORION
METplus-6.0.0-beta6
METplus-6.0 Sample Data
/work/noaa/ovp/jprestop/METplus/METplus-6.0_sample_data
To use METplus run: Users should create a file like /work/noaa/ovp/user_name/METplus/orion.role-ovp.conf to set a personalized INPUT_BASE and OUTPUT_BASE.
module load contrib module load metplus/6.0.0-beta6MET-12.0.0-beta6
MODULES:
module load contrib module load intel-oneapi-compilers/2022.2.1 module load met/12.0.0-beta6METcalcpy-3.0.0-beta6 / METplotpy-3.0.0-beta6
MODULES:
module load contrib module load intel-oneapi-compilers/2022.2.1 module use /apps/contrib/modulefiles module load metcalcpy/3.0.0-beta6 module load metplotpy/3.0.0-beta6PIP INSTALL
python -m pip install --user tornado python -m pip install --user plotly python -m pip install --user kaleido python -m pip install --user xarray python -m pip install --user netcdf4 python -m pip install --user h5netcdfMETdataio-3.0.0-beta6
MODULES:
module load contrib module load intel-oneapi-compilers/2022.2.1 module use /apps/contrib/modulefiles module load metdataio/3.0.0-beta6
JET
METplus-6.0.0-beta6
METplus-6.0.0-beta6 Installation
/contrib/met/METplus/METplus-6.0.0-beta6
METplus-6.0 Sample Data
/lfs5/HFIP/dtc-hurr/METplus/sample_data/METplus-6.0_sample_data
To use METplus run: Create a like /lfs5/HFIP/dtc-hurr/METplus/jet.role-metplus.conf to set a personalized INPUT_BASE and OUTPUT_BASE.
module load intel/2022.1.2 module load nco/4.9.1 module load wgrib/1.8.1.0b module load wgrib2/3.1.2_wmo module load R/4.0.2 module use /contrib/met/modulefiles module load met/12.0.0-beta6 module use /contrib/met/METplus/modulefiles module load metplus/6.0.0-beta6METv12.0.0-beta6
MODULES:
module load intel/2022.1.2 module load contrib module use /contrib/met/modulefiles module load met/12.0.0-beta6METcalcpy-3.0.0-beta6 / METplotpy-3.0.0-beta6
MODULES:
module load intel/2022.1.2 module use /contrib/met/METcalcpy/modulefiles module load metcalcpy/3.0.0-beta6 module use /contrib/met/METplotpy/modulefiles module load metplotpy/3.0.0-beta6METdataio-3.0.0-beta6
MODULES:
module load intel/2022.1.2 module use /contrib/met/METdataio/modulefiles module load metdataio/3.0.0-beta6
GAEA
METplus-6.0.0-beta5
METplus-6.0.0-beta5 Installation
/usw/met/METplus/METplus-6.0.0-beta5
METplus-6.0 Sample Data
/ncrc/proj/nggps_psd/user_name/projects/METplus/sample_data/METplus-6.0_sample_data
To use METplus run: Users should create a file like /gpfs/f5/esrl/proj-shared/user_name/projects/METplus/gaea.metplus.conf to set a personalized INPUT_BASE and OUTPUT_BASE.
module unload cray-libsci/23.02.1.1 module load intel-oneapi/2022.0.2 module use /usw/met/METplus/modulefiles module load metplus/6.0.0-beta5MET-12.0.0-beta5
MODULES:
module unload cray-libsci/23.02.1.1 module load intel-oneapi/2022.0.2 module use -a /usw/met/modulefiles/ module load met/12.0.0-beta5METcalcpy-3.0.0-beta5 / METplotpy-3.0.0-beta5
MODULES:
module unload cray-libsci/23.02.1.1 module load intel-oneapi/2022.0.2 module use /usw/met/METcalcpy/modulefiles module load metcalcpy/3.0.0-beta5 module use /usw/met/METplotpy/modulefiles module load metplotpy/3.0.0-beta5METdataio-3.0.0-beta5
MODULES:
module unload cray-libsci/23.02.1.1 module load intel-oneapi/2022.0.2 module use /usw/met/METdataio/modulefiles module load metdataio/3.0.0-beta5
Community machines
FRONTERA
MET-12.0.0-beta1
MODULES:
METplus-6.0.0-beta1
METplus-6.0.0-beta1 Installation
METplus-6.0 Sample Data
To set up the environment run:
Users should create a file like /work2/06612/tg859120/frontera/METplus/frontera.user_name.conf to set a personalized INPUT_BASE and OUTPUT_BASE.
Docker Hub
docker pull dtcenter/met:12.0.0-beta1
docker pull dtcenter/metplus:6.0.0-beta1
AWS
LOCATION:
URL:
2.2. METplus Components Release Note Links
MET (latest, development)
METviewer (latest, development)
METplotpy (latest, development)
METcalcpy (latest, development)
METdataio (latest, development)
METexpress (latest, development)
METplus Wrappers (latest, upgrade instructions, development)
2.3. METplus Wrappers Release Notes
When applicable, release notes are followed by the GitHub issue number which describes the bugfix, enhancement, or new feature. Important issues are listed in bold for emphasis.
2.3.1. METplus Version 6.0.0 beta6 Release Notes (2024-10-18)
Enhancement
Support for setting Point2Grid MET config variables (#2540)
Support processing groups of forecast leads (#2612)
Support separate climatology datasets for both the forecast and observation inputs (#2622)
Support the new -aggr command line option in SeriesAnalysis wrapper (#2651)
Deprecate master_metplus.py (#2714)
Support for setting point_weight_flag and obtype_as_group_val_flag in PointStat and EnsembleStat (#2727)
Bugfix
ASCII2NC file window bad default value and redundant initialization of wrappers (#2520)
Inconsistent RUN_ID values when using instances (#2596)
Fix GridStat_SeriesAnalysis _fcstNMME_obsCPC _seasonal_forecast use cases with poorly configured climatology settings (#2695)
Improve SeriesAnalysis field info generation with regards to time (#2705)
Clean up existing use cases wrt SonarQube (#2710)
New Wrapper
NONE
New Use Case
Multivariate MODE for RRFS (#2647)
Documentation
Develop an RST template for use cases (#918)
Add information to Contributor’s Guide for adding new use cases that utilize METplotpy/METcalcpy/METdataio (#1882)
Update Release Guide for MET releases to update version numbers in the installation.rst in the MET User’s Guide (#2452)
Update Documentation Overview and Conventions (#2489)
Update the User Support section in the Contributor’s Guide (#2679)
Internal
NONE
2.3.2. METplus Version 6.0.0 Beta 5 Release Notes (2024-07-10)
Enhancements
Improve PBL use case to generate reproducible results (#2246)
MvMode config format changes (#2429)
Point-Stat and Grid-Stat wrappers UGRID updates (#2433)
Make new time_offset_warning MET option configurable via METplus (#2479)
Add updated data to the short-range FV3 Physics Tendency use cases (#2494)
Add new UGRID config from MET to METplus Wrappers (#2501)
Remove the TC_RMW_MAX_RANGE_KM configuration option (#2513)
Enhance the ASCII2NC wrapper to support setting the -valid_beg and -valid_end command line options (#2547)
PCPCombine wrapper - allow missing inputs (#2578)
Enhance Terrestrial Coupling Index (TCI) Use Case (#2388)
Bugfix
PointStat support multiple observations files (#2567)
New Wrappers
Madis2Nc (#1514)
New Use Cases
Stratosphere QBO (#2557)
Documentation
Internal
Update GitHub issue and pull request templates to reflect the current development workflow details (#2346)
2.3.3. METplus Version 6.0.0 Beta 4 Release Notes (2024-04-17)
Enhancements
NONE
Bugfix
ASCII2NC file window bad default value and redundant initialization of wrappers (#2520)
New Wrappers
NONE
New Use Cases
NONE
Documentation
2.3.4. METplus Version 6.0.0 Beta 3 Release Notes (2024-02-08)
Enhancements
Add support for MET land-mask settings in Point-Stat (#2334)
Enhance the TC-Pairs wrapper to support the new diag_required and diag_min_req configuration options (#2430)
Enhance the TC-Diag wrapper to support new configuration options added in MET-12.0.0-beta2 (#2432)
Prevent error if some input files are missing (#2460)
Bugfix
NONE
New Wrappers
NONE
New Use Cases
Documentation
Create video to demonstrate how to update use cases that use deprecated environment variables (#2371)
Internal
Update Documentation Overview and Conventions (#2454)
2.3.5. METplus Version 6.0.0 Beta 2 Release Notes (2023-11-14)
Enhancements
Improve SeriesAnalysis ingest of multiple input files (#2219)
Update the TC-Diag wrapper to support updates for MET version 12.0.0 (#2340)
Add config option to write MET log output to terminal (#2377)
GenVxMask - support specification strings to define output grid (#2412)
Follow symbolic links when searching for files within a time window (#2423)
Bugfix
Prevent crash when empty string set for INIT_INCREMENT or VALID_INCREMENT (#2420)
New Wrappers
WaveletStat (#2252)
New Use Cases
NONE
Documentation
Add upgrade instructions for removing user wrapped MET config files (#2349)
Reorder Python Wrappers - MET Configuration tables to match order in wrapped MET config file (#2405)
Enhancement to Difficulty Index use-case documentation (#2123)
Modify the Documentation Overview section in the Contributor’s Guide to add Conventions (#1667)
Specify available tags on DockerHub (#2329)
2.3.6. METplus Version 6.0.0 Beta 1 Release Notes (2023-09-15)
Enhancements
Bugfix
New Wrappers
NONE
New Use Cases
Scatterometer wind data (#1488)
Documentation
NONE
2.4. METplus Wrappers Upgrade Instructions
2.4.1. Deprecated Wrapped MET Configuration Files
2.4.1.1. Background
The METplus wrappers utilize wrapped MET configuration files that reference environment variables that are set by the wrappers to override MET settings. METplus v4.0.0 introduced a more efficient approach to overriding values in MET configuration files through the METplus wrappers. See How METplus controls MET configuration variables for more information.
Prior to the v4.0.0 release, overriding MET settings that were not yet supported by METplus configuration variables required users to copy an existing wrapped MET config file, make the desired modifications, then update their METplus config file to use the user-defined MET configuration file.
The new approach removes the need to maintain multiple wrapped MET configuration files by using the wrapped MET configuration files that are provided with the METplus wrappers. This allows any new METplus configuration variables that set MET variables to automatically be supported when moving to a new version of METplus. Any MET configuration settings that are not yet controlled by a corresponding METplus configuration variable can easily be set in a METplus configuration file by using the MET config overrides variables. See Overriding Unsupported MET configuration variables for more information.
2.4.1.2. How to tell if upgrade is needed
If the wrapped MET config file used by a use case is the version provided with the METplus wrappers, then no changes to the use case are needed. The wrapped MET config files provided with the wrappers are found in the parm/met_config directory.
Search for variables that end with _CONFIG_FILE in the use case configuration file.
If the value looks like this:
GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped
or the variable it not found, then no changes are needed.
Prior to v6.0.0, a use case that uses a wrapped MET config file that is out-of-date from the version provided with the METplus wrappers will report a warning in the log output alerting the user that an expected environment variable is not found:
WARNING: Environment variable ${METPLUS_MODEL} is not utilized in MET config file: /path/to/GridStatConfig_trey
This is often an indicator that the use case will need to be updated. The deprecated environment variables, e.g. ${MODEL}, were still set by the wrappers, so the use case still ran without any issues.
Starting in v6.0.0, the deprecated environment variables are no longer set and an error message will be displayed for each deprecated variable that was found:
ERROR: Deprecated environment variables found in GRID_STAT_CONFIG_FILE: /path/to/GridStatConfig_trey
ERROR: Deprecated environment variable ${MODEL} found
ERROR: Deprecated environment variable ${OBTYPE} found
ERROR: Deprecated environment variable ${REGRID_TO_GRID} found
If these errors occur, the use case will not run until the METplus configuration file has been updated.
2.4.1.3. How to upgrade
This video provides a demonstration of the process to upgrade a use case.
Removing <WRAPPER_NAME>_CONFIG_FILE, e.g. GRID_STAT_CONFIG_FILE, from the METplus config file will prevent the errors and allow the use case to run. However, this alone may result in changes to the output because the settings in the user-defined wrapped MET config file may no longer be set.
It is important to carefully review the settings and set the appropriate METplus configuration variables to preserve the original configuration!
Compare the user-defined wrapped MET config file (GRID_STAT_CONFIG_FILE) with the default config file that is found in the MET installation location, e.g. /path/to/met-X.Y.Z/share/met/GridStatConfig_default. After the error log messages that list the deprecated environment variables that were found, users can find the path to the files to compare in the final error log message. The error log messages also note the METplus config variable that will be removed, e.g. GRID_STAT_CONFIG_FILE.
ERROR: Deprecated environment variables found in GRID_STAT_CONFIG_FILE: /path/to/GridStatConfig_trey
ERROR: Deprecated environment variable ${MODEL} found
...
ERROR: Deprecated environment variable ${NEIGHBORHOOD_WIDTH} found
ERROR: Please set values that differ from the defaults in a METplus config file and unset GRID_STAT_CONFIG_FILE to use the wrapped MET config that is provided with the METplus wrappers.
ERROR: Compare values set in /path/to/GridStatConfig_trey to /path/to/met/share/met/config/GridStatConfig_default
The easiest approach for investigating differences between two files is to use a visual difference tool that displays the files side-by-side and highlights any differences. Alternatively, the diff command is available on most Linux systems and can be used to quickly view line-by-line differences. However, viewing the actual files directly may still be necessary to see the context of the differences within the files. The -y argument can be provided to diff to view the differences in the terminal side-by-side in two columns.
Please create a METplus GitHub Discussions post for any questions or clarification.
The following examples of differences are shown using the format that is output by the diff utility. Lines that begin with the < character are from the first file passed to diff (i.e. the user-defined wrapped MET config file). Lines that begin with the > character are from the second file passed to diff (i.e. the default MET config file). Lines that contain three dashes (---) separate the lines from each file.
diff /path/to/GridStatConfig_trey /path/to/met/share/met/config/GridStatConfig_default
Variables only in default config
Differences that are only found in the default config file (preceded by > with no corresponding < line) can be ignored. These are likely new config variables that were added since the user-defined wrapped MET config file was created.
> hss_ec_value = NA;
Variables referencing deprecated environment variables
Variables that include a reference to an environment variable that was previously set by METplus but has since been deprecated do not require updates.
< model = "${MODEL}";
---
> model = "WRF";
We know that the environment variable ${MODEL} was deprecated because it was mentioned in the error log:
ERROR: Deprecated environment variable ${MODEL} found
There is a new environment variable, ${METPLUS_MODEL}, that will set the value of model in the wrapped MET config file that is provided with the METplus wrappers. The same METplus configuration variable that set the deprecated environment variable will set the new environment variable, so no changes are needed to the METplus configuration file to handle this update.
fcst and obs dictionaries
Deprecated environment variables ${FCST_FIELD} and ${OBS_FIELD} can be ignored because they have been replaced by ${METPLUS_FCST_FIELD} and ${METPLUS_OBS_FIELD}. The same METplus configuration variables that set these variables will also set the new corresponding environment variables.
User-defined wrapped MET config vs. default MET config
fcst = { fcst = {
field = [ ${FCST_FIELD} ]; |
} | field = [
obs = { | {
field = [ ${OBS_FIELD} ]; | name = "APCP";
> level = [ "A03" ];
> cat_thresh = [ >0.0, >=5.0 ];
> }
> ];
>
} }
> obs = fcst;
Field information (name/level/etc) that has been defined explicitly in the user-defined wrapped MET config variable will need to be set using the appropriate METplus configuration variables, e.g. FCST_VAR1_NAME, FCST_VAR1_LEVELS, OBS_VAR1_NAME, OBS_VAR1_LEVELS, etc. See Field Info for more information.
Variables that contain different values
Values that differ will need to be set in the METplus configuration file. Many of the MET variables are set using METplus config variables. The name of the corresponding METplus config variable typically matches the format <WRAPPER_NAME>_<VAR_NAME>.
For example, the cat_thresh variable for GridStat is controlled by the GRID_STAT_CAT_THRESH METplus config variable (as of v6.0.0).
MET config dictionary variables are typically set by METplus config variables that match the format <WRAPPER_NAME>_<DICTIONARY_NAME>_<VAR_NAME>.
For example, the to_grid variable inside the regrid dictionary is controlled by the GRID_STAT_REGRID_TO_GRID METplus config variable.
The Python Wrappers chapter of the METplus User’s Guide contains sections for each MET tool. Each MET tool that uses a MET configuration file will include a MET Configuration section that contains the contents of the wrapped MET config file that is provided with the METplus wrappers, followed by tables that show how the MET settings correspond to the METplus variables.
In the wrapped MET config file, MET variables that are controlled by METplus config variables will be commented out (using //) and followed by an environment variable (starting with METPLUS_):
// cat_thresh =
${METPLUS_CAT_THRESH}
A corresponding table entry will exist listing the METplus config variable that is used to set the value. See ${METPLUS_CAT_THRESH}.
${METPLUS_CAT_THRESH}
METplus Config(s) |
MET Config File |
cat_thresh |
MET variables that are NOT controlled by METplus config variables will likely be set to a value in the wrapped config file (unless they were newly added) and an entry in the tables will not be found. In this case, its value can still be overridden through a METplus config file by using the MET config overrides variables. See the Unsupported Variable Example below for more information.
Supported Variable Example:
< cat_thresh = [ NA ];
---
> cat_thresh = [];
The GridStat - MET Configuration section of the Python Wrappers chapter shows that GRID_STAT_CAT_THRESH is the METplus config variable that sets cat_thresh in the wrapped GridStat MET config file. To set the variable found in the user-defined wrapped MET config file, set the following in the METplus config file:
GRID_STAT_CAT_THRESH = NA
Note that this difference was likely not set by the user but rather due to a change in the default values. See Reconcile Default Values for more information.
Supported Dictionary Variable Example:
< cdf_bins = 2;
---
> cdf_bins = 1;
It is difficult to tell the cdf_bins variable is a member of the climo_cdf dictionary from the diff output. Viewing the two files side-by-side, either by opening both files or using the -y argument to diff, is necessary in this case to see which dictionary the variable belongs to:
climo_cdf = { climo_cdf = {
cdf_bins = 2; | cdf_bins = 1;
center_bins = FALSE; center_bins = FALSE;
write_bins = TRUE; write_bins = TRUE;
} }
The GridStat - MET Configuration section of the Python Wrappers chapter shows that GRID_STAT_CLIMO_CDF_BINS is the METplus config variable that sets the climo_cdf.cdf_bins variable in the GridStat wrapped MET config file. Note that slightly redundant GRID_STAT_CLIMO_CDF_CDF_BINS is also supported to match the naming convention <WRAPPER_NAME>_<DICT_NAME>_<VAR_NAME>.
To set the variable found in the user-defined wrapped MET config file, set the following in the METplus config file:
GRID_STAT_CLIMO_CDF_BINS = 2
Unsupported Variable Example:
< ci_alpha = [ 0.3 ];
---
> ci_alpha = [ 0.05 ];
The ci_alpha variable is not found in the GridStat - MET Configuration section. Reviewing the wrapped MET config file in this section will reveal that there is no environment variable that sets the variable.
In this case, add the desired setting including the variable name to the MET config overrides variable without changing any formatting:
GRID_STAT_MET_CONFIG_OVERRIDES = ci_alpha = [ 0.3 ];
See Overriding Unsupported MET configuration variables for more information.
Variables referencing user-defined environment variables
Some users may have set their own environment variables and referenced them in their wrapped MET config file. An environment variable that is not found in the error logs listing deprecated environment variables and does not start with METPLUS_ was likely defined by the user. These variables will no longer be supported, so the variables that reference them should be set using METplus configuration variables instead.
2.4.1.4. Verify results
Once all of the changes are made, it is recommended to confirm that the use case produces the same results. A good way to confirm this is to run the use case using the version of METplus that was previously used, run the use case with the new version with use case updates, then compare the output.
A diff utility is provided with the METplus wrappers that can be used to compare two directories that contain METplus output while filtering out differences that are not relevant, such as skipping log files that contain different timestamps and ignoring version number differences in stat output files. The diff utility can be found in the METplus installation location at metplus/util/diff_util.py. Call the script on the command line passing in the two directory (or file) paths to compare:
/path/to/METplus-X.Y.Z/metplus/util/diff_util.py /path/to/output_one /path/to/output_two
Users can also review the environment variables that were set by METplus by running the use case with LOG_LEVEL = DEBUG. The list of environment variables set will be logged directly before the call to the MET application.
Please submit a METplus GitHub Discussions post for assistance with updating use cases or verifying results.
Comments
Text following two forward slashes (//) are comments. They are not read by the configuration file parser and can be ignored.