Skip to content

Commit

Permalink
Update develop-ref after #2206, #2236, #2237 (#2238)
Browse files Browse the repository at this point in the history
Co-authored-by: johnhg <johnhg@ucar.edu>
Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
Co-authored-by: cristianastan2 <cstan@gmu.edu>
Co-authored-by: John Halley Gotway <johnhg@ucar.edu>
Co-authored-by: bikegeek <minnawin@ucar.edu>
Co-authored-by: Lisa Goodrich <lisag@ucar.edu>
Co-authored-by: Julie Prestopnik <jpresto@seneca.rap.ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Co-authored-by: Hank Fisher <fisherh@ucar.edu>
Co-authored-by: Dan Adriaansen <dadriaan@ucar.edu>
Co-authored-by: jprestop <jpresto@ucar.edu>
Co-authored-by: Tracy Hertneky <hertneky@seneca.rap.ucar.edu>
Co-authored-by: Giovanni Rosa <giovanni.rosa@unimol.it>
Co-authored-by: j-opatz <59586397+j-opatz@users.noreply.github.com>
Co-authored-by: Mrinal Biswas <biswas@seneca.rap.ucar.edu>
Co-authored-by: j-opatz <jopatz@ucar.edu>
Co-authored-by: Daniel Adriaansen <dadriaan@ucar.edu>
Co-authored-by: bikegeek <3753118+bikegeek@users.noreply.github.com>
Co-authored-by: Will Mayfield <59745143+willmayfield@users.noreply.github.com>
Co-authored-by: lisagoodrich <33230218+lisagoodrich@users.noreply.github.com>
Co-authored-by: metplus-bot <97135045+metplus-bot@users.noreply.github.com>
Co-authored-by: Tracy Hertneky <39317287+hertneky@users.noreply.github.com>
Co-authored-by: Giovanni Rosa <g.rosa1@studenti.unimol.it>
Co-authored-by: mrinalbiswas <biswas@ucar.edu>
Co-authored-by: Christina Kalb <kalb@ucar.edu>
Co-authored-by: jason-english <73247785+jason-english@users.noreply.github.com>
fix Contributor's Guide GitHub Workflow page (#1774)
fix release (#1790)
fix GitHub Actions warnings (#1864)
fix #1884 develop PCPCombine {custom} in subtract method (#1887)
fix #1939 develop - failure reading obs when zipped file also exists (#1941)
Closes #1986
fix develop Fix broken documentation links (#2004)
fix #2026 develop StatAnalysis looping (#2028)
fix priority of obs_window config variables so that wrapper-specific version is preferred over generic OBS_WINDOW_BEGIN/END (#2062)
fix #2070 var list numeric order (#2072)
fix #2087 develop docs_pdf (#2091)
fix #2096/#2098 develop - fix skip if output exists and do not error if no commands were run (#2099)
Fix for Dockerfile smell DL4000 (#2112)
fix #2082 develop regrid.convert/censor_thresh/censor_val (#2140)
fix #2082 main_v5.0 regrid.convert/censor_thresh/censor_val (#2101)
fix #2137 develop PointStat -obs_valid_beg/end (#2141)
fix failured introduced by urllib3 (see urllib3/urllib3#2168)
fix #2161 develop PCPCombine additional field arguments in -subtract mode (#2162)
fix #2168 develop - StatAnalysis time shift (#2169)
fix releases. (#2183)
fix #2189 develop - spaces in complex thresholds (#2191)
fix #2179 develop TCPairs fix -diag argument (#2187)
fixes (#2200)
fix diff tests (#2217)
fix automated tests (#2237)
fix #2235 rename multivar_itensity to multivar_intensity_flag (#2236)
  • Loading branch information
github-actions[bot] committed Jul 6, 2023
1 parent 06ba88e commit b3f5cf3
Show file tree
Hide file tree
Showing 50 changed files with 1,232 additions and 405 deletions.
14 changes: 12 additions & 2 deletions .github/jobs/get_use_case_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,14 +164,24 @@ def main(categories, subset_list, work_dir=None,
for use_case in use_case_by_requirement.use_cases:
# add parm/use_cases path to config args if they are conf files
config_args = []
ci_overrides = None
for config_arg in use_case.config_args:
if config_arg.endswith('.conf'):
config_arg = os.path.join(work_dir, 'parm',
'use_cases',
config_arg)
'use_cases', config_arg)

# look for CI overrides conf file
override_path = os.path.join(config_arg[0:-5],
'ci_overrides.conf')
if os.path.exists(override_path):
ci_overrides = override_path

config_args.append(config_arg)

# add CI overrides config file if running in docker
if ci_overrides and host_name == 'docker':
config_args.append(ci_overrides)

output_base = os.path.join(output_top_dir,
group_name.split('-')[0],
use_case.name)
Expand Down
2 changes: 2 additions & 0 deletions .github/jobs/run_difference_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ matrix_categories=$1
artifact_name=$2

.github/jobs/setup_and_run_diff.py ${matrix_categories} $artifact_name
ret=$?

if [ "$( ls -A ${RUNNER_WORKSPACE}/diff)" ]; then
echo "upload_diff=true" >> $GITHUB_OUTPUT
Expand All @@ -21,3 +22,4 @@ if [ "$( ls -A ${RUNNER_WORKSPACE}/diff)" ]; then
fi

echo "upload_diff=false" >> $GITHUB_OUTPUT
exit $ret
37 changes: 36 additions & 1 deletion .github/parm/use_case_groups.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,36 @@
"index_list": "0-1",
"run": false
},
{
"category": "clouds",
"index_list": "0",
"run": false
},
{
"category": "clouds",
"index_list": "1",
"run": false
},
{
"category": "clouds",
"index_list": "2",
"run": false
},
{
"category": "clouds",
"index_list": "3",
"run": false
},
{
"category": "clouds",
"index_list": "4",
"run": false
},
{
"category": "clouds",
"index_list": "5",
"run": false
},
{
"category": "data_assimilation",
"index_list": "0-1",
Expand Down Expand Up @@ -89,6 +119,11 @@
"index_list": "9",
"run": false
},
{
"category": "pbl",
"index_list": "0",
"run": false
},
{
"category": "precipitation",
"index_list": "0",
Expand Down Expand Up @@ -137,7 +172,7 @@
{
"category": "s2s",
"index_list": "3",
"run": true
"run": false
},
{
"category": "s2s",
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ ENV/
# pytest cache files
*.pytest_cache*

.idea

# tilda files generated by emacs
*~

Expand Down
40 changes: 39 additions & 1 deletion docs/Contributors_Guide/add_use_case.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ one of the following:

* air_quality_and_comp
* climate
* clouds
* data_assimilation
* extremes
* land_surface
Expand Down Expand Up @@ -835,6 +836,43 @@ new job for the new use case. See the :ref:`cg-ci-subset_category` section
and the multiple medium_range jobs for an example.


Overriding configuration for automated tests
--------------------------------------------

The automated tests have limited resources available to run the use cases.
Use cases can be adjusted to reduce file size, run time length,
memory usage, etc. but may still exceed the limits provided by GitHub Actions.
We also want to avoid losing scientific significance of a use case to allow
it to run in the automated testing environment.

An additional METplus configuration file can be provided with a use case to
override certain configuration settings for the automated testing of the case.
This allows the use case configuration file to contain a useful example that
can be run on other environments while still allowing a subset of the use case
to be included in the automated use case tests.

If needed, create a file named **ci_overrides.conf** in the use case directory,
e.g. parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ci_overrides.conf.
This configuration file will automatically be read **after** the use case
configuration file when run in the automated testing environment.

For example, if a use case processes many thresholds::

[config]
...
FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0
...
OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0
...

then one can override these variables so that fewer threshold values are
processed in the automated tests. In **ci_overrides.conf**, set::

[config]
FCST_VAR1_THRESH = gt0, lt10.0
OBS_VAR1_THRESH = gt0, lt10.0


.. _exceeded-Github-Actions:

Use Cases That Exceed Memory Allocations of Github Actions
Expand All @@ -853,7 +891,7 @@ steps were unsuccessful in lowering memory usage, please take the following step
Change the number in front of the new use case to an 'X', preceded
by the ‘#’ character::

#X::GridStat_fcstRTOFS_obsGHRSST_climWOA_sst::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf, model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/ci_overrides.conf:: icecover_env, py_embed
#X::GridStat_fcstRTOFS_obsGHRSST_climWOA_sst::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf:: icecover_env, py_embed

- In the *.github/parm/use_case_groups.json* file, remove the entry that
was added during the :ref:`add_new_category_to_test_runs`
Expand Down
12 changes: 6 additions & 6 deletions docs/Users_Guide/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10661,8 +10661,8 @@ METplus Configuration Glossary

| *Used by:* TCDiag
MODE_MULTIVAR_INTENSITY
Specify the value for 'multivar_intensity' in the MET configuration file for MODE.
MODE_MULTIVAR_INTENSITY_FLAG
Specify the value for 'multivar_intensity_flag' in the MET configuration file for MODE.

| *Used by:* MODE
Expand All @@ -10671,8 +10671,8 @@ METplus Configuration Glossary

| *Used by:* MODE
MODE_FCST_MULTIVAR_UNITS
Specify the value for 'fcst.multivar_units' in the MET configuration file for MODE.
MODE_FCST_MULTIVAR_LEVEL
Specify the value for 'fcst.multivar_level' in the MET configuration file for MODE.

| *Used by:* MODE
Expand All @@ -10681,7 +10681,7 @@ METplus Configuration Glossary

| *Used by:* MODE
MODE_OBS_MULTIVAR_UNITS
Specify the value for 'obs.multivar_units' in the MET configuration file for MODE.
MODE_OBS_MULTIVAR_LEVEL
Specify the value for 'obs.multivar_level' in the MET configuration file for MODE.

| *Used by:* MODE
4 changes: 4 additions & 0 deletions docs/Users_Guide/quicksearch.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,14 @@ Use Cases by Application:

| `Air Quality and Composition <../search.html?q=AirQualityAndCompAppUseCase&check_keywords=yes&area=default>`_
| `Climate <../search.html?q=ClimateAppUseCase&check_keywords=yes&area=default>`_
| `Clouds <../search.html?q=CloudsAppUseCase&check_keywords=yes&area=default>`_
| `Short Range <../search.html?q=ShortRangeAppUseCase&check_keywords=yes&area=default>`_
| `Data Assimilation <../search.html?q=DataAssimilationAppUseCase&check_keywords=yes&area=default>`_
| `Ensemble <../search.html?q=EnsembleAppUseCase&check_keywords=yes&area=default>`_
| `Land Surface <../search.html?q=LandSurfaceAppUseCase&check_keywords=yes&area=default>`_
| `Marine and Cryosphere <../search.html?q=MarineAndCryosphereAppUseCase&check_keywords=yes&area=default>`_
| `Medium Range <../search.html?q=MediumRangeAppUseCase&check_keywords=yes&area=default>`_
| `PBL <../search.html?q=PBLAppUseCase&check_keywords=yes&area=default>`_
| `Precipitation <../search.html?q=PrecipitationAppUseCase&check_keywords=yes&area=default>`_
| `Space Weather <../search.html?q=SpaceWeatherAppUseCase&check_keywords=yes&area=default>`_
| `Subseasonal to Seasonal <../search.html?q=S2SAppUseCase&check_keywords=yes&area=default>`_
Expand All @@ -91,12 +93,14 @@ Use Cases by Application:

| **Air Quality and Composition**: *AirQualityAndCompAppUseCase*
| **Climate**: *ClimateAppUseCase*
| **Clouds**: *CloudsAppUseCase*
| **Short Range**: *ShortRangeAppUseCase*
| **Data Assimilation**: *DataAssimilationAppUseCase*
| **Ensemble**: *EnsembleAppUseCase*
| **LandSurface**: *LandSurfaceAppUseCase*
| **Marine and Cryosphere**: *MarineAndCryosphereAppUseCase*
| **Medium Range**: *MediumRangeAppUseCase*
| **PBL**: *PBLAppUseCase*
| **Precipitation**: *PrecipitationAppUseCase*
| **Space Weather**: *SpaceWeatherAppUseCase*
| **Subseasonal to Seasonal**: *S2SAppUseCase*
Expand Down
8 changes: 8 additions & 0 deletions docs/Users_Guide/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,14 @@ When applicable, release notes are followed by the
`GitHub issue <https://github.com/dtcenter/METplus/issues>`__ number which
describes the bugfix, enhancement, or new feature.

METplus Version 5.1.0-rc2 Release Notes (2023-06-29)
----------------------------------------------------

.. dropdown:: Bugfix

* Fix produtil bug for WCOSS
(`#2227 <https://github.com/dtcenter/METplus/issues/2227>`_)

METplus Version 5.1.0-rc1 Release Notes (2023-06-07)
----------------------------------------------------

Expand Down
24 changes: 12 additions & 12 deletions docs/Users_Guide/wrappers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4055,21 +4055,21 @@ METplus Configuration
| :term:`FCST_MODE_IS_PROB`
| :term:`FCST_MODE_PROB_IN_GRIB_PDS`
| :term:`MODE_MULTIVAR_LOGIC`
| :term:`MODE_MULTIVAR_INTENSITY`
| :term:`MODE_MULTIVAR_INTENSITY_FLAG`
| :term:`FCST_MODE_VAR<n>_NAME`
| :term:`FCST_MODE_VAR<n>_LEVELS`
| :term:`FCST_MODE_VAR<n>_THRESH`
| :term:`FCST_MODE_VAR<n>_OPTIONS`
| :term:`MODE_FCST_FILE_TYPE`
| :term:`MODE_FCST_MULTIVAR_NAME`
| :term:`MODE_FCST_MULTIVAR_UNITS`
| :term:`MODE_FCST_MULTIVAR_LEVEL`
| :term:`OBS_MODE_VAR<n>_NAME`
| :term:`OBS_MODE_VAR<n>_LEVELS`
| :term:`OBS_MODE_VAR<n>_THRESH`
| :term:`OBS_MODE_VAR<n>_OPTIONS`
| :term:`MODE_OBS_FILE_TYPE`
| :term:`MODE_OBS_MULTIVAR_NAME`
| :term:`MODE_OBS_MULTIVAR_UNITS`
| :term:`MODE_OBS_MULTIVAR_LEVEL`
|
.. warning:: **DEPRECATED:**
Expand Down Expand Up @@ -4189,16 +4189,16 @@ see :ref:`How METplus controls MET config file settings<metplus-control-met>`.
* - :term:`MODE_MULTIVAR_LOGIC`
- multivar_logic

**${METPLUS_MULTIVAR_INTENSITY}**
**${METPLUS_MULTIVAR_INTENSITY_FLAG}**

.. list-table::
:widths: 5 5
:header-rows: 0

* - METplus Config(s)
- MET Config File
* - :term:`MODE_MULTIVAR_INTENSITY`
- multivar_intensity
* - :term:`MODE_MULTIVAR_INTENSITY_FLAG`
- multivar_intensity_flag

**${METPLUS_FCST_FIELD}**

Expand Down Expand Up @@ -4285,16 +4285,16 @@ see :ref:`How METplus controls MET config file settings<metplus-control-met>`.
* - :term:`MODE_FCST_MULTIVAR_NAME`
- fcst.multivar_name

**${METPLUS_FCST_MULTIVAR_UNITS}**
**${METPLUS_FCST_MULTIVAR_LEVEL}**

.. list-table::
:widths: 5 5
:header-rows: 0

* - METplus Config(s)
- MET Config File
* - :term:`MODE_FCST_MULTIVAR_UNITS`
- fcst.multivar_units
* - :term:`MODE_FCST_MULTIVAR_LEVEL`
- fcst.multivar_level


**${METPLUS_OBS_FIELD}**
Expand Down Expand Up @@ -4382,16 +4382,16 @@ see :ref:`How METplus controls MET config file settings<metplus-control-met>`.
* - :term:`MODE_OBS_MULTIVAR_NAME`
- obs.multivar_name

**${METPLUS_OBS_MULTIVAR_UNITS}**
**${METPLUS_OBS_MULTIVAR_LEVEL}**

.. list-table::
:widths: 5 5
:header-rows: 0

* - METplus Config(s)
- MET Config File
* - :term:`MODE_OBS_MULTIVAR_UNITS`
- obs.multivar_units
* - :term:`MODE_OBS_MULTIVAR_LEVEL`
- obs.multivar_level

**${METPLUS_MASK_POLY}**

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
GridStat: Cloud Fractions with Neighborhood and Probabilities
=============================================================
model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf
model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf
"""
##############################################################################
Expand Down Expand Up @@ -57,10 +57,10 @@
#
# METplus first loads the default configuration file found in parm/metplus_config,
# then it loads any configuration files passed to METplus via the command line:
# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf
# parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf
#
# .. highlight:: bash
# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf
# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf

##############################################################################
# MET Configuration
Expand All @@ -84,10 +84,10 @@
# ----------------
#
# This use case utilizes 1 Python script to read and process the observation fields.
# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py
# parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py
#
# .. highlight:: bash
# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py
# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py

##############################################################################
# Running METplus
Expand All @@ -96,7 +96,7 @@
# Pass the use case configuration file to the run_metplus.py script
# along with any user-specific system configuration files if desired::
#
# run_metplus.py /path/to/METplus/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf /path/to/user_system.conf
# run_metplus.py /path/to/METplus/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf /path/to/user_system.conf
#
# See :ref:`running-metplus` for more information.

Expand All @@ -109,7 +109,7 @@
# INFO: METplus has successfully finished running.
#
# Refer to the value set for **OUTPUT_BASE** to find where the output data was generated.
# Output for this use case will be found in model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac
# Output for this use case will be found in model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac
# (relative to **OUTPUT_BASE**)
# and will contain the following files:
#
Expand All @@ -129,10 +129,10 @@
#
# * GridStatToolUseCase
# * NetCDFFileUseCase
# * AirQualityAndCompAppUseCase
# * CloudsAppUseCase
# * PythonEmbeddingFileUseCase
#
# Navigate to the :ref:`quick-search` page to discover other similar use cases.
#
# sphinx_gallery_thumbnail_path = '_static/air_quality_and_comp-GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.png'
# sphinx_gallery_thumbnail_path = '_static/clouds-GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.png'
#
Loading

0 comments on commit b3f5cf3

Please sign in to comment.