Skip to content

Commit

Permalink
Update develop-ref after #1361 (#1363)
Browse files Browse the repository at this point in the history
* Feature 1091 extent cycloneplotter (#1218)

* Github #1091 add support to define plot's extent

* Github #1091 Add support for defining plot's extent

* Github #1091 add support for defining plot extent

* GitHub #1091 Provide support to define plotting a bounding box of interest and replace deprecated cartopy attributes.

* Github Issue #1091 Add configuration support to define the bounding box defining the area of interest to plot.

* Github Issue #1091 provide support to define bounding box defining the area of interest to plot.

* Github Issue #1091 Removed unused shapely imports

* GItHub Issue #1091 

Removed duplicate CYCLONE_PLOTTER_GLOBAL_PLOT

* Github #1091 Include config settings needed to indicate the region of interest to be plotted.

* Github Issue #1091 Keep only the North Hemisphere lon and lats in the config file to serve as example for plotting a specific area of the map.

* convert file back to unix format via dos2unix and added change that was lost in merge

* return None from function instead of exiting so that METplus clean up functionality will still run

* fixed indentation

* fixed indentation - for loop should not be nested inside other for loop

* fixed check for failure in retrieve_data function

* feature 1223 error if file not found (#1238)

* feature 1252 allow dictionary value for time_summary.width (#1253)

* feature 1213 obs_quality_inc/exc (#1260)

* Feature 1203 ioda2nc (#1262)

* Add default title for the new use case issue template.

* Feature 1019 harmonic preprocessing (#1272)

Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>

* Feature 1266 gen ens prod missing ensembles (#1275)

* Feature 1049 statistics list (#1271)

* first attempt at a table #1049

* 2nd attempt, smaller, different formatting table #1049

* trying to get rid of git error message by adding this to the index #1049

* alignment #1049

* trying to text wrap in a table #1049

* attempting to create text wrapping in tables #1049

* removing role, trying to wrap text #1049

* removing html break, trying to wrap text #1049

* adding code to wrap text #1049

* removing code to wrap text #1049

* fixing naming typo #1049

* hitting returns in table #1049

* removing typo file, removing line breaks #1049

* attempting a simple table for text wrapping #1049

* attempting to bold header row in simple table #1049

* simple table line break attempt #1049

* simple table line break attempt #2 #1049

* simple table line break attempt #3 #1049

* trying another | #1049

* 2 trying another | #1049

* 3 trying another | #1049

* trying a blank line #1049

* trying reformating grid #1049

* 2 trying reformating grid #1049

* 3 trying reformating grid #1049

* 4 trying reformating grid #1049

* adding in one more table row #1049

* adding more text #1049

* trying glossary format #1049

* 2 trying glossary format #1049

* 3 trying glossary format #1049

* 4 trying glossary format #1049

* adding glossary format 2D objects #1049

* fixing glossary format 2D objects #1049

* adding glossary items #1049

* fixing glossary format #1049

* hopefully all examples are working #1049

* changing reference to tool

* removing 2D object examples

* removing the unwrapped table

* adding ACC into the example

* fixing formatting #1049

* fixing formatting take 2 #1049

* fixing formatting take 3 #1049

* bolding and language change #1049

* fixing spacing #1049

* fixing spacing again #1049

* changing title #1049

* trying superscript #1049

* superscript glossary #1049

* removing quotes #1049

* fixing spacing #1049

* Tara has decided to go with the glossary format.  Removing table example. #1049

* Adding 2D objects #1049

* 2D objects fix #1049

* 2D objects fix attempt 2 #1049

* 2D objects fix attempt 3 #1049

* 2D objects fix attempt 4 #1049

* 2D objects fix attempt 5 #1049

* 2D objects fix attempt 7 #1049

* 2D objects fix attempt 8 #1049

* ABR added #1049

* adding remaining AB items to list #1049

* adding remaining ACC_ items to list #1049

* ADLAND & AFSS entries #1049

* A entries #1049

* fixing formatting #1049

* fixing formatting #2 #1049

* removing new entries to make it run #1049

* adding a couple back in #1049

* adding a couple more back in #1049

* tool key at the bottom #1049

* spacing changes #1049

* spacing changes another try #1049

* fixing spacing #1049

* fixing spacing attempt 2 #1049

* fixing spacing attempt 3 #1049

* through AREA items #1049

* AMODEL listed twice but it's not #1049

* AMODEL listed twice but it's not #2 #1049

* AMODEL added question marks so it will run #1049

* final A entries #1049

* naming the glossary statistics in hopes of not conflicting with original glossary #1049

* removing glossary statistics space #1049

* Testing multiple glossary names

* Per #1067, working on attempts to have multiple glossaries with the same term

* Per #1067, working on attempts to have multiple glossaries with the same term

* Per #1067, working on attempts to have multiple glossaries with the same term

* Per #1067, removing code with attempts at mutiple glossaries

* Per #1067, adding back three question marks due to duplicate term

* paring down list, adding a table for review

* problems with table

* still trying to get it to publish

* still trying to get a second line in the table

* still trying to get a second line in the table 2

* testing different formatting

* testing different formatting

* trying to comment out the glossary inner workings

* formatting again

* line breaks in table #1049

* adding in some more for an example #1049

* adding new entries in through AREA #1049

* fixing line breaks #1049

* fixing line breaks #1049 #2

* fixing line breaks and warning messages #1049

* fixing line breaks #1049

* adding AREA_RATIO through ASPECT_DIFF

* fixing typo #1049

* fixing typo #1049

* fixing typo #1049 take 2

* adding AXIS_ANG to BCMSE #1049

* adding spacing #1049

* adding spacing removing commas #1049

* removing comma #1049

* BOUNDARY_DIST thru BSS_SMPL #1049

* BOUNDARY_DIST splitting across 2 lines #1049

* cleaning up typos #1049

* calibration thru centriod_dist #1049

* centriod_lat thru centroid_y #1049

* fixing spacing #1049

* removing test glossary #1049

* climo_mean thru crtk_err #1049

* fixing crtk_err spacing #1049

* fixing spacing #1049

* CSI to CURVATURE_Y #1049

* CURVATURE_X & Y spacing #1049

* DEV_CAT to DURATION_DIFF #1049

* EC_VALUE to F #1049

* F_RATE TO FBS #1049

* Fixing spacing #1049

* fcst_clus thru fcst_conv_radius #1049

* removing CTOP_PRS #1049

* fixing the order of tools for FBAR and FBIAS #1049

* fixing spacing #1049

* adding grid-stat to all point-stat entries #1049

* adding fixing spacing #1049

* adding fixing spacing take 2  #1049

* adding fixing spacing take 3  #1049

* adding fixing spacing take 4  #1049

* adding fixing spacing take 5  #1049

* adding fixing spacing take 6  #1049

* adding fixing spacing take 7  #1049

* fixing spacing with a period take 7  #1049

* first attempt fcst_  #1049

* fixing typos #1049

* thru FOBAR #1049

* thru end of F #1049

* g thru h #1049

* i thru intensity #s #1049

* fixing typos #1049

* capturing example for Julie #1049

* thru k #1049

* fixing typos #1049

* thru L #1049

* thru MG #1049

* thru N_ENS #1049

* thru all N #1049

* fixing FBIAS alignment #1049

* fixing ME and MSE alignment #1049

* fixing ME alignment take 2 #1049

* thru OBS_E #1049

* fixing alignment #1049

* fixing alignment n_thresh #1049

* thru OBS_thresh #1049

* thru O #1049

* fixing OOBAR formating #1049

* thru PR_CORR #1049

* commented lines out with line total info #1049

* commented lines out with line total info take 2 #1049

* thru R #1049

* thru SPEED #1049

* thru S #1049

* thru T #1049

* thru U #1049

* thru V #1049

* thru V #1049

* thru Z #1049

* Update statistics_list.rst

Tara is testing editing in UI

* Update statistics_list.rst

Updates through the A's

* Update statistics_list.rst

Cleaning up the A's

* Update statistics_list.rst

Standardizing MODE and MTD entries

* Update statistics_list.rst

Updating B's and C's

* Update statistics_list.rst

Testing adding TC-Stat and TCST to an entry

* Update statistics_list.rst

Clean up of a few A-Cs and then update of Ds

* Update statistics_list.rst

A few clean-ups and Es

* Update statistics_list.rst

Halfway through Fs...

* Update statistics_list.rst

A little clean up and the rest of Fs

* Update statistics_list.rst

G, H, I, Ks

* Update statistics_list.rst

L, M, Ns

* Update statistics_list.rst

A little clean-up and Os

* Update statistics_list.rst

A little clean-up and Os

* Update statistics_list.rst

Rs

* Update statistics_list.rst

S and Ts

* Update statistics_list.rst

The rest of the list

* Update statistics_list.rst

Removed Attr from Stat Type thru E

* Update statistics_list.rst

Remove Attr from Statistics Type through Gs

* Update statistics_list.rst

Remove Attr from Statistic Type through Rs

* Update statistics_list.rst

Remove Attr from Stat Type to the end

* Update statistics_list.rst

Cleaned up some Line Type typos

* Update statistics_list.rst

Still more Attr cleanup

Co-authored-by: Julie Prestopnik <jpresto@seneca.rap.ucar.edu>
Co-authored-by: TaraJensen <jensen@ucar.edu>

* Feature 1263 v4.1.0 beta4 (#1277)

* update version to note development towards beta5

* Feature 934 release stage doc (#1235)

* Per #934 add stages of the METplus release cycle.

* Per #934, adding link to descriptions of the release cycle in the User's Guide.

* Per #934, made corrections

* Per #934, changed Beta and Release Candidate (rc) from bold to subsubsections.

* Update index.rst

Co-authored-by: Julie Prestopnik <jpresto@seneca.rap.ucar.edu>

* Feature 344 met util refactor (#1292)

* removed deprecated sections from config examples

* minor change to METplus release guide to add a link to the PDF of the User's Guide instead of downloading it and attaching it to the release

* Feature 1285 extract tiles mtd times (#1315)

* Feature 896 more met config (#1322)

* removed incorrect search keyword

* added workflow_dispatch event so workflow can be triggered by an external repository such as MET to test to ensure that changes from that repo will break anything in METplus

* added another input argument for workflow_dispatch event

* added job with name that shows the event name or the repository name if triggered by an external repository such as MET

* GHA: add username that triggered external event to event info job name

* added required input argument for external trigger that contains the commit hash of the push event that triggered in the other repo

* change event info to show commit hash instead of username that merged the PR

* changed input names to match names of event in repository that triggered workflow

* feature 1320 OMP_NUM_THREADS (#1338)

* Feature 1183 memory documentation (#1340)

Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>

* add email address of user who triggered push event to job name

* Feature 1166 series analysis field info (#1353)

* Feature 1116 usecase smos (#1348)

Co-authored-by: Mrinal Biswas <biswas@ucar.edu>

* turn off new use case from every push

* feature 1236 Control Members in EnsembleStat and GenEnsProd (#1357)

* added optional argument to change the directory to untar new input data into so the same Dockerfile can be used to add data for other METplus components such as MET

* feature 1358 v4.1.0-beta5 release (#1359)

* update version for next development cycle

* Feature 1216 usecase smap (#1361)

* Adding a conf file for SMAP

* Adding a directory to host the read file

* Removing temp file

* Updated the valid dates to match Todd's code

* Adding documentation for SMAP case

* Updates the valis dates to match Todd's code

* Removing a tmp file

* Typo in file name

* Updating the input RTOFS to have the init time instead of the valid time ii the file name

* updated file paths, tesing

* updated use case descriptions, rearranged use case group testing

* put new use case into its own group so that the diff logic can evaluate marine_and_cryosphere:3. The truth data for 3-4 does not exist yet so the diff fails.

Co-authored-by: Mrinal Biswas <biswas@ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>

* updated marine_and_cryo grouping

Co-authored-by: bikegeek <3753118+bikegeek@users.noreply.github.com>
Co-authored-by: bikegeek <minnawin@ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Co-authored-by: johnhg <johnhg@ucar.edu>
Co-authored-by: Christina Kalb <kalb@ucar.edu>
Co-authored-by: lisagoodrich <33230218+lisagoodrich@users.noreply.github.com>
Co-authored-by: Julie Prestopnik <jpresto@seneca.rap.ucar.edu>
Co-authored-by: TaraJensen <jensen@ucar.edu>
Co-authored-by: jprestop <jpresto@ucar.edu>
Co-authored-by: Mrinal Biswas <biswas@ucar.edu>
  • Loading branch information
11 people committed Jan 20, 2022
1 parent abf3d35 commit 09e8a85
Show file tree
Hide file tree
Showing 20 changed files with 1,046 additions and 157 deletions.
2 changes: 1 addition & 1 deletion .github/parm/use_case_groups.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
},
{
"category": "marine_and_cryosphere",
"index_list": "3",
"index_list": "3-4",
"run": false
},
{
Expand Down
3 changes: 2 additions & 1 deletion ci/docker/docker_data/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ RUN if [ "x${MOUNTPT}" == "x" ]; then \
exit 1; \
fi

ENV CASE_DIR=/data/input/METplus_Data
ARG DATA_DIR=/data/input/METplus_Data
ENV CASE_DIR=${DATA_DIR}
RUN mkdir -p ${CASE_DIR}

RUN for URL in `echo ${TARFILE_URL} | tr "," " "`; do \
Expand Down
36 changes: 36 additions & 0 deletions docs/Users_Guide/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8723,3 +8723,39 @@ METplus Configuration Glossary
case and the values differ between them.

| *Used by:* All
GEN_ENS_PROD_ENS_MEMBER_IDS
Specify the value for 'ens_member_ids' in the MET configuration file for GenEnsProd.

| *Used by:* GenEnsProd
GEN_ENS_PROD_CONTROL_ID
Specify the value for 'control_id' in the MET configuration file for GenEnsProd.

| *Used by:* GenEnsProd
ENSEMBLE_STAT_ENS_MEMBER_IDS
Specify the value for 'ens_member_ids' in the MET configuration file for EnsembleStat.

| *Used by:* EnsembleStat
ENSEMBLE_STAT_CONTROL_ID
Specify the value for 'control_id' in the MET configuration file for EnsembleStat.

| *Used by:* EnsembleStat
ENSEMBLE_STAT_CTRL_INPUT_DIR
Input directory for optional control file to use with EnsembleStat.
See also :term:`ENSEMBLE_STAT_CTRL_INPUT_TEMPLATE`.

| *Used by:* EnsembleStat
ENSEMBLE_STAT_CTRL_INPUT_TEMPLATE
Template used to specify an optional control filename for EnsembleStat.
Note that if a control member file is found in the ensemble file list,
it will automatically be removed by the wrapper to prevent an error in the
MET tool. This may require adjusting the value for
:term:`ENSEMBLE_STAT_N_MEMBERS` and/or
:term:`ENSEMBLE_STAT_ENS_VLD_THRESH`.

| *Used by:* EnsembleStat
24 changes: 24 additions & 0 deletions docs/Users_Guide/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,30 @@ When applicable, release notes are followed by the GitHub issue number which
describes the bugfix, enhancement, or new feature:
https://github.com/dtcenter/METplus/issues


METplus Version 4.1.0-beta5 Release Notes (2022-01-14)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* Enhancements:

* **Add support for setting control members in EnsembleStat and GenEnsProd** (`#1236 <https://github.com/dtcenter/METplus/issues/1236>`_)
* **Enhance SeriesAnalysis wrapper to allow different field info values for each file in a list** (`#1166 <https://github.com/dtcenter/METplus/issues/1166>`_)
* Add support for setting INIT_LIST and VALID_LIST for irregular time intervals (`#1286 <https://github.com/dtcenter/METplus/issues/1286>`_)
* Support setting the OMP_NUM_THREADS environment variable (`#1320 <https://github.com/dtcenter/METplus/issues/1320>`_)
* Enhance ExtractTiles using MTD input to properly match times (`#1285 <https://github.com/dtcenter/METplus/issues/1285>`_)
* Add support for commonly changed MET config variables part 2 (`#896 <https://github.com/dtcenter/METplus/issues/896>`_)
* Prevent wildcard character from being used in output file path (`#1291 <https://github.com/dtcenter/METplus/issues/1291>`_)

* New Use Cases:

* Satellite verification of sea surface salinity: SMOS vs RTOFS output (`#1116 <https://github.com/dtcenter/METplus/issues/1116>`_)

* Internal:

* **Create guidance for memory-intensive use cases, introduce Python memory profiler** (`#1183 <https://github.com/dtcenter/METplus/issues/1183>`_)
* **Identify code throughout METplus components that are common utilities** (`#799 <https://github.com/dtcenter/METplus/issues/799>`_)
* **Add definitions to the Release Guide for the stages of the release cycle** (`#934 <https://github.com/dtcenter/METplus/issues/934>`_)

METplus Version 4.1.0-beta4 Release Notes (2021-11-16)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down
50 changes: 50 additions & 0 deletions docs/Users_Guide/wrappers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,8 @@ METplus Configuration
| :term:`OBS_ENSEMBLE_STAT_GRID_INPUT_TEMPLATE`
| :term:`FCST_ENSEMBLE_STAT_INPUT_TEMPLATE`
| :term:`ENSEMBLE_STAT_OUTPUT_TEMPLATE`
| :term:`ENSEMBLE_STAT_CTRL_INPUT_DIR`
| :term:`ENSEMBLE_STAT_CTRL_INPUT_TEMPLATE`
| :term:`LOG_ENSEMBLE_STAT_VERBOSITY`
| :term:`FCST_ENSEMBLE_STAT_INPUT_DATATYPE`
| :term:`OBS_ENSEMBLE_STAT_INPUT_POINT_DATATYPE`
Expand Down Expand Up @@ -277,6 +279,8 @@ METplus Configuration
| :term:`ENSEMBLE_STAT_OBS_QUALITY_INC`
| :term:`ENSEMBLE_STAT_OBS_QUALITY_EXC`
| :term:`ENSEMBLE_STAT_MET_CONFIG_OVERRIDES`
| :term:`ENSEMBLE_STAT_ENS_MEMBER_IDS`
| :term:`ENSEMBLE_STAT_CONTROL_ID`
| :term:`ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE` (optional)
| :term:`ENS_VAR<n>_NAME` (optional)
| :term:`ENS_VAR<n>_LEVELS` (optional)
Expand Down Expand Up @@ -853,6 +857,28 @@ see :ref:`How METplus controls MET config file settings<metplus-control-met>`.
* - :term:`ENSEMBLE_STAT_OBS_QUALITY_EXC`
- obs_quality_exc

**${METPLUS_ENS_MEMBER_IDS}**

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

* - METplus Config(s)
- MET Config File
* - :term:`ENSEMBLE_STAT_ENS_MEMBER_IDS`
- ens_member_ids

**${METPLUS_CONTROL_ID}**

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

* - METplus Config(s)
- MET Config File
* - :term:`ENSEMBLE_STAT_CONTROL_ID`
- control_id

**${METPLUS_MET_CONFIG_OVERRIDES}**

.. list-table::
Expand Down Expand Up @@ -1049,6 +1075,8 @@ METplus Configuration
| :term:`GEN_ENS_PROD_ENSEMBLE_FLAG_NMEP`
| :term:`GEN_ENS_PROD_ENSEMBLE_FLAG_CLIMO`
| :term:`GEN_ENS_PROD_ENSEMBLE_FLAG_CLIMO_CDF`
| :term:`GEN_ENS_PROD_ENS_MEMBER_IDS`
| :term:`GEN_ENS_PROD_CONTROL_ID`
| :term:`GEN_ENS_PROD_MET_CONFIG_OVERRIDES`
.. _gen-ens-prod-met-conf:
Expand Down Expand Up @@ -1339,6 +1367,28 @@ see :ref:`How METplus controls MET config file settings<metplus-control-met>`.
* - :term:`GEN_ENS_PROD_ENSEMBLE_FLAG_CLIMO_CDF`
- ensemble_flag.climo_cdf

**${METPLUS_ENS_MEMBER_IDS}**

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

* - METplus Config(s)
- MET Config File
* - :term:`GEN_ENS_PROD_ENS_MEMBER_IDS`
- ens_member_ids

**${METPLUS_CONTROL_ID}**

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

* - METplus Config(s)
- MET Config File
* - :term:`GEN_ENS_PROD_CONTROL_ID`
- control_id

**${METPLUS_MET_CONFIG_OVERRIDES}**

.. list-table::
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
@@ -0,0 +1,170 @@
"""
GridStat: Python Embedding for sea surface salinity using level 3, 8 day mean obs
=================================================================================
model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf
"""
##############################################################################
# Scientific Objective
# --------------------
#
# This use case utilizes Python embedding to extract several statistics from the sea surface salinity data over the globe,
# which was already being done in a closed system. By producing the same output via METplus, this use case
# provides standardization and reproducible results.

##############################################################################
# Datasets
# --------
#
# | **Forecast:** RTOFS sss file via Python Embedding script/file
#
# | **Observations:** SMAP sss file via Python Embedding script/file
#
# | **Sea Ice Masking:** RTOFS ice cover file via Python Embedding script/file
#
# | **Climatology:** WOA sss file via Python Embedding script/file
#
# | **Location:** All of the input data required for this use case can be found in the met_test sample data tarball. Click here to the METplus releases page and download sample data for the appropriate release: https://github.com/dtcenter/METplus/releases
# | This tarball should be unpacked into the directory that you will set the value of INPUT_BASE. See `Running METplus`_ section for more information.
#
# | **Data Source:** JPL's PODAAC and NCEP's FTPPRD data servers
# |

##############################################################################
# External Dependencies
# ---------------------
#
# You will need to use a version of Python 3.6+ that has the following packages installed:
#
# * scikit-learn
# * pyresample
#
# If the version of Python used to compile MET did not have these libraries at the time of compilation, you will need to add these packages or create a new Python environment with these packages.
#
# If this is the case, you will need to set the MET_PYTHON_EXE environment variable to the path of the version of Python you want to use. If you want this version of Python to only apply to this use case, set it in the [user_env_vars] section of a METplus configuration file.:
#
# [user_env_vars]
# MET_PYTHON_EXE = /path/to/python/with/required/packages/bin/python

##############################################################################
# METplus Components
# ------------------
#
# This use case utilizes the METplus GridStat wrapper to generate a
# command to run the MET tool GridStat with Python Embedding for the specified user hemispheres

##############################################################################
# METplus Workflow
# ----------------
#
# GridStat is the only tool called in this example. This use case will pass in both the observation, forecast,
# and climatology gridded data being pulled from the files via Python Embedding. All of the desired statistics
# reside in the CNT line type, so that is the only output requested.
# It processes the following run time:
#
# | **Valid:** 2021-05-02 0Z
# |

##############################################################################
# METplus Configuration
# ---------------------
#
# METplus first loads all of the configuration files found in parm/metplus_config,
# then it loads any configuration files passed to METplus via the command line
# with the -c option, i.e. -c parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf
#
# .. highlight:: bash
# .. literalinclude:: ../../../../parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf

##############################################################################
# MET Configuration
# ---------------------
#
# METplus sets environment variables based on user settings in the METplus configuration file.
# See :ref:`How METplus controls MET config file settings<metplus-control-met>` for more details.
#
# **YOU SHOULD NOT SET ANY OF THESE ENVIRONMENT VARIABLES YOURSELF! THEY WILL BE OVERWRITTEN BY METPLUS WHEN IT CALLS THE MET TOOLS!**
#
# If there is a setting in the MET configuration file that is currently not supported by METplus you'd like to control, please refer to:
# :ref:`Overriding Unsupported MET config file settings<met-config-overrides>`
#
# .. note:: See the :ref:`GridStat MET Configuration<grid-stat-met-conf>` section of the User's Guide for more information on the environment variables used in the file below:
#
# .. highlight:: bash
# .. literalinclude:: ../../../../parm/met_config/GridStatConfig_wrapped

##############################################################################
# Python Embedding
# ----------------
#
# This use case uses one Python script to read forecast and observation data
#
# parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/read_rtofs_smap_woa.py
#
# .. highlight:: python
# .. literalinclude:: ../../../../parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss/read_rtofs_smap_woa.py
#

##############################################################################
# Running METplus
# ---------------
#
# This use case can be run two ways:
#
# 1) Passing in GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf then a user-specific system configuration file::
#
# run_metplus.py -c /path/to/METplus/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf -c /path/to/user_system.conf
#
# 2) Modifying the configurations in parm/metplus_config, then passing in GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf::
#
# run_metplus.py -c /path/to/METplus/parm/use_cases/model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf
#
# The former method is recommended. Whether you add them to a user-specific configuration file or modify the metplus_config files, the following variables must be set correctly:
#
# * **INPUT_BASE** - Path to directory where sample data tarballs are unpacked (See Datasets section to obtain tarballs). This is not required to run METplus, but it is required to run the examples in parm/use_cases
# * **OUTPUT_BASE** - Path where METplus output will be written. This must be in a location where you have write permissions
# * **MET_INSTALL_DIR** - Path to location where MET is installed locally
#
# Example User Configuration File::
#
# [dir]
# INPUT_BASE = /path/to/sample/input/data
# OUTPUT_BASE = /path/to/output/dir
# MET_INSTALL_DIR = /path/to/met-X.Y
#
# **NOTE:** All of these items must be found under the [dir] section.
#

##############################################################################
# Expected Output
# ---------------
#
# A successful run will output the following both to the screen and to the logfile::
#
# INFO: METplus has successfully finished running.
#
# Refer to the value set for **OUTPUT_BASE** to find where the output data was generated.
# Output for thisIce use case will be found in 20210503 (relative to **OUTPUT_BASE**)
# and will contain the following files:
#
# * grid_stat_SSS_000000L_20210502_000000V.stat
# * grid_stat_SSS_000000L_20210502_000000V_cnt.txt
# * grid_stat_SSS_000000L_20210502_000000V_pairs.nc

##############################################################################
# Keywords
# --------
#
# .. note::
#
# * GridStatToolUseCase
# * PythonEmbeddingFileUseCase
# * MarineAndCryosphereAppUseCase
#
# Navigate to the :ref:`quick-search` page to discover other similar use cases.
#
#
#
# sphinx_gallery_thumbnail_path = '_static/marine_and_cryosphere-GridStat_fcstRTOFS_obsSMAP_climWOA_sss.png'

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""
GridStat: Python Embedding to read and process ice cover
========================================================
GridStat: Python Embedding for sea surface salinity using level 3, 1 day composite obs
======================================================================================
model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss.conf
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -547,6 +547,12 @@ def test_handle_climo_file_variables(metplus_config, config_overrides,
({'ENSEMBLE_STAT_OBS_QUALITY_EXC': '5,6,7', },
{'METPLUS_OBS_QUALITY_EXC': 'obs_quality_exc = ["5", "6", "7"];'}),
({'ENSEMBLE_STAT_ENS_MEMBER_IDS': '1,2,3,4', },
{'METPLUS_ENS_MEMBER_IDS': 'ens_member_ids = ["1", "2", "3", "4"];'}),
({'ENSEMBLE_STAT_CONTROL_ID': '0', },
{'METPLUS_CONTROL_ID': 'control_id = "0";'}),
]
)
def test_ensemble_stat_single_field(metplus_config, config_overrides,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,11 @@ def set_minimum_config_settings(config):
)
}),
({'GEN_ENS_PROD_ENS_MEMBER_IDS': '1,2,3,4', },
{'METPLUS_ENS_MEMBER_IDS': 'ens_member_ids = ["1", "2", "3", "4"];'}),
({'GEN_ENS_PROD_CONTROL_ID': '0', },
{'METPLUS_CONTROL_ID': 'control_id = "0";'}),
]
)
def test_gen_ens_prod_single_field(metplus_config, config_overrides,
Expand Down
1 change: 1 addition & 0 deletions internal_tests/use_cases/all_use_cases.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ Category: marine_and_cryosphere
1::PlotDataPlane_obsHYCOM_coordTripolar::model_applications/marine_and_cryosphere/PlotDataPlane_obsHYCOM_coordTripolar.conf:: xesmf_env, py_embed
2::GridStat_fcstRTOFS_obsOSTIA_iceCover::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsOSTIA_iceCover.conf:: icecover_env, py_embed
3::GridStat_fcstRTOFS_obsSMOS_climWOA_sss::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMOS_climWOA_sss.conf:: icecover_env, py_embed
4::GridStat_fcstRTOFS_obsSMAP_climWOA_sss::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsSMAP_climWOA_sss.conf:: icecover_env, py_embed
#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


Expand Down
2 changes: 1 addition & 1 deletion metplus/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.1.0-beta5-dev
4.1.0-beta6-dev
Loading

0 comments on commit 09e8a85

Please sign in to comment.