From 6808987a3a165a0ee7c34312aa283746d98e7271 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Mon, 3 May 2021 13:30:12 -0600 Subject: [PATCH] create 4.0.0-beta5 release (#897) Co-authored-by: Julie.Prestopnik --- .github/jobs/build_documentation.sh | 1 + .github/workflows/documentation.yml | 3 +- docs/Release_Guide/metplus_bugfix.rst | 1 + docs/Release_Guide/metplus_development.rst | 1 + docs/Release_Guide/metplus_official.rst | 1 + docs/Users_Guide/installation.rst | 81 +++++++++++++++++----- docs/Users_Guide/overview.rst | 2 + docs/Users_Guide/release-notes.rst | 47 +++++++++---- metplus/RELEASE_DATE | 2 +- metplus/VERSION | 2 +- 10 files changed, 109 insertions(+), 32 deletions(-) diff --git a/.github/jobs/build_documentation.sh b/.github/jobs/build_documentation.sh index 9144b2d1eb..2953284ebf 100755 --- a/.github/jobs/build_documentation.sh +++ b/.github/jobs/build_documentation.sh @@ -21,4 +21,5 @@ warning_file=${DOCS_DIR}/_build/warnings.log if [ -s $warning_file ]; then cp -r ${DOCS_DIR}/_build/warnings.log artifact/doc_warnings.log cp artifact/doc_warnings.log artifact/documentation + exit 1 fi diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index e1973c238b..28da270f68 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -26,13 +26,14 @@ jobs: python -m pip install --upgrade sphinx sphinx-gallery sphinx_rtd_theme python -m pip install python-dateutil requests Pillow - name: Build Documentation - continue-on-error: true run: ./.github/jobs/build_documentation.sh - uses: actions/upload-artifact@v2 + if: always() with: name: METplus_documentation path: artifact/documentation - uses: actions/upload-artifact@v2 + if: always() with: name: documentation_warnings.log path: artifact/doc_warnings.log diff --git a/docs/Release_Guide/metplus_bugfix.rst b/docs/Release_Guide/metplus_bugfix.rst index fbda082179..d2184bbf27 100644 --- a/docs/Release_Guide/metplus_bugfix.rst +++ b/docs/Release_Guide/metplus_bugfix.rst @@ -8,6 +8,7 @@ Create a new vX.Y.Z bugfix release from the main_vX.Y branch. .. include:: release_steps/open_release_issue.rst .. include:: release_steps/clone_project_repository.rst .. include:: release_steps/checkout_main_branch.rst +.. include:: release_steps/create_release_feature_branch.rst .. include:: release_steps/metplus/update_version_bugfix.rst .. include:: release_steps/update_release_notes_bugfix.rst .. include:: release_steps/merge_release_issue.rst diff --git a/docs/Release_Guide/metplus_development.rst b/docs/Release_Guide/metplus_development.rst index dc0ee49bd0..ef345fbc18 100644 --- a/docs/Release_Guide/metplus_development.rst +++ b/docs/Release_Guide/metplus_development.rst @@ -8,6 +8,7 @@ Create a new vX.Y.Z-betaN or vX.Y.Z-rcN development release from the develop bra .. include:: release_steps/open_release_issue.rst .. include:: release_steps/clone_project_repository.rst .. include:: release_steps/checkout_develop_branch.rst +.. include:: release_steps/create_release_feature_branch.rst .. include:: release_steps/metplus/update_version.rst .. include:: release_steps/update_release_notes_development.rst .. include:: release_steps/merge_release_issue.rst diff --git a/docs/Release_Guide/metplus_official.rst b/docs/Release_Guide/metplus_official.rst index c547c18fba..54bbfc9388 100644 --- a/docs/Release_Guide/metplus_official.rst +++ b/docs/Release_Guide/metplus_official.rst @@ -8,6 +8,7 @@ Create a new vX.Y.Z official release from the develop branch. .. include:: release_steps/open_release_issue.rst .. include:: release_steps/clone_project_repository.rst .. include:: release_steps/checkout_develop_branch.rst +.. include:: release_steps/create_release_feature_branch.rst .. include:: release_steps/metplus/update_version_official.rst .. include:: release_steps/update_release_notes_official.rst .. include:: release_steps/merge_release_issue.rst diff --git a/docs/Users_Guide/installation.rst b/docs/Users_Guide/installation.rst index acb3ec8819..250b504dc2 100644 --- a/docs/Users_Guide/installation.rst +++ b/docs/Users_Guide/installation.rst @@ -30,36 +30,85 @@ code to METplus Wrappers, please contact Pre-requisites -------------- +Software Requirements +~~~~~~~~~~~~~~~~~~~~~ + +**Minimum Requirements** + The following software is required to run METplus Wrappers: -- Python 3.6.3 or higher +- Python 3.6.3 or above + +- MET version 10.0.0 or above + +**Wrapper Specific Requirements** + +- TCMPRPlotter wrapper + + - R version 3.2.5 + +- SeriesAnalysis wrapper + + - ImageMagick convert utility + (if generating plots and/or animated images from the output) + +Python Package Requirements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The version number listed next to any Python package corresponds to the version +that was used for testing purposes. Other versions of the packages **may** +still work but it is not guaranteed. + +**Minimum Requirements** + +To run most of the METplus wrappers, the following packages are required: + +- dateutil (2.8) + +Using pip:: + + pip3 install python-dateutil==2.8 + +Using Conda:: + + conda install -c conda-forge python-dateutil=2.8 + + +**MET Python Embedding Requirements** + +If running use cases that use Python embedding, the **MET** executables +must be installed with Python enabled +and the following Python packages installed: + +- xarray (0.17.0) -- dateutil Python package +- numpy (1.19.2) -- MET version 10.0 or above +- pandas (1.0.5) -If running use cases that use Python embedding, MET must be installed -with python enabled and the following Python packages installed: +- netCDF4 (1.5.4) -- xarray +See the Software Installation section in the MET User's Guide +for more information. -- numpy +**Wrapper Specific Requirements** -- pandas +Some of the wrappers have additional Python package dependencies +that are required to run. -- netCDF4 +- SeriesAnalysis wrapper -Some of the wrappers have additional dependencies to run. + - netCDF4 (1.5.4) -- TCMPRPlotter wrapper requires R version 3.2.5 +- MakePlots wrapper -- SeriesAnalysis wrapper requires the netCDF4 Python package and optionally - if generating plots and/or animated images from the output, the ImageMagick - convert utility is also required + - cartopy (0.17.0) + - pandas (1.0.5) -- MakePlots wrapper requires cartopy and pandas Python packages +- CyclonePlotter wrapper -- CyclonePlotter wrapper requires cartopy and matplotlib Python packages + - cartopy (0.17.0) + - matplotlib (3.3.4) .. _getcode: diff --git a/docs/Users_Guide/overview.rst b/docs/Users_Guide/overview.rst index 1885d6f20e..712cba9d8a 100644 --- a/docs/Users_Guide/overview.rst +++ b/docs/Users_Guide/overview.rst @@ -83,6 +83,8 @@ METplus Wrappers configuration files. Some Python wrappers do not correspond to a particular MET tool, but wrap utilities to extend METplus functionality. +.. _release-notes: + .. include:: release-notes.rst Future development plans diff --git a/docs/Users_Guide/release-notes.rst b/docs/Users_Guide/release-notes.rst index fea185dd0e..cb2f2ab3d1 100644 --- a/docs/Users_Guide/release-notes.rst +++ b/docs/Users_Guide/release-notes.rst @@ -1,5 +1,5 @@ METplus Release Notes -_____________________ +--------------------- METplus Components Release Note Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -40,56 +40,75 @@ METplus Version |version| release notes (|release_date|) * Add support for comparing inputs using a mix of python embedding and non-embedding (`#684 `_) * Fix quick search links (`#687 `_) * Align the user guide with get_relativedelta() in time_util.py (`#579 `_) - * Updated CyclonePlotter to connect storm track points feature that was deprecated in a Python dependency (`#803 `_) + * Fix CyclonePlotter cartopy mapping issues (`#850 `_, `#803 `_) * Enhancements: + * **Rename master_metplus.py script to run_metplus.py** (`#794 `_) + * **Update setting of environment variables for MET config files to add support for all to METPLUS\_ vars** (`#768 `_) + * **Add support for many commonly changed MET config variables** (`#779 `_, `#755 `_, `#621 `_, `#620 `_) + * **Add support for a UserScript wrapper** (`#723 `_) + * **Create use case subdirectories** (`#751 `_) + * **Implement [INIT/VALID]EXCLUDE for time looping** (`#307 `_) + * **Add files to allow installation of METplus wrappers as a Python package (beta)** (`#282 `_) + * Generate PDF of User's Guide (`#551 `_) + * Add support for MET tc_gen changes in METplus (`#871 `_, (`#801 `_) + * Add support for 2 fields with same name and different levels in SeriesBy cases (`#852 `_) + * Enhance PCPCombine wrapper to be able to process multiple fields in one command (`#718 `_) + * Update TCStat config options and wrappers to filter data by excluding strings (`#857 `_) + * Support METplus to run from a driver script (`#569 `_) + * Refactor field info parsing to read once then substitute time info for each run time (`#880 `_) * Enhance Python embedding logic to allow multiple level values (`#719 `_) * Enhance Python embedding logic to allow multiple fcst and obs variable levels (`#708 `_) - * Add support for a UserScript wrapper (`#723 `_) * Add support for a group of files covering multiple run times for a single analysis in GridDiag (`#733 `_) * Enhance ascii2nc python embedding script for TC dropsonde data (`#734 `_, `#731 `_) * Support additional configuration variables in EnsembleStat (`#748 `_) - * Create use case subdirectories (`#751 `_) - * Handle model, obtype, desc, and regrid dictionary the same in all wrappers (`#755 `_) * Ensure backwards compatibility for MET config environment variables (`#760 `_) * Combine configuration file sections into single config section (`#777 `_) * Add support for skipping existing output files for all wrappers (`#711 `_) * Add support for multiple instance of the same tool in the process list (`#670 `_) * Add GFDL build support in build_components (`#614 `_) - * Add support for vld_thresh in EnsembleStat (`#621 `_) * Decouple PCPCombine, RegridDataPlane, and GridStat wrappers behavior (`#602 `_) - * Add support for GridStat neighborhood cov thresh (`#620 `_) * StatAnalysis run without filtering or config file (`#625 `_) * Enhance User Diagnostic Feature Relative use case to Run Multiple Diagnostics (`#536 `_) * Enhance PyEmbedIngest to run RegridDataPlane over Multiple Fields in One Call (`#549 `_) * Filename templates that have other arguments besides a filename for python embedding fails (`#581 `_) - * Implement [INIT/VALID]EXCLUDE for time looping (`#307 `_) * Add more logging to tc_gen_wrapper (`#576 `_) - * Add files to allow installation of METplus wrappers as a Python package (`#282 `_) - * Enhance PCPCombine wrapper to be able to process multiple fields (`#718 `_) * Prevent crash when improperly formatted filename template is used (`#674 `_) - * Rename master_metplus.py script to run_metplus.py (`#794 `_) * New Wrappers: - * PlotDataPlane - * UserScript + + * **PlotDataPlane** + * **UserScript** + * **METdbLoad** * New Use Cases: * Air Quality and Comp: EnsembleStat_fcstICAP_obsMODIS_aod * Medium Range: UserScript_fcstGEFS_Difficulty_Index * Convection Allowing Models: MODE_fcstFV3_obsGOES_BrightnessTemp + * Convection Allowing Models: MODE_fcstFV3_obsGOES_BrightnessTempObjs + * Convection Allowing Models: GridStat_fcstFV3_obsGOES_BrightnessTempDmap * Data Assimilation: StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface * Medium Range: SeriesAnalysis_fcstGFS_obsGFS_FeatureRelative_SeriesByLead_PyEmbed_Multiple_Diagnostics * Precipitation: EnsembleStat_fcstWOFS_obsWOFS + * Seasonal to Subseasonal: TCGen_fcstGFSO_obsBDECKS_GDF_TDF + * Seasonal to Subseasonal: UserScript_fcstGFS_obsERA_Blocking + * Seasonal to Subseasonal: UserScript_obsERA_obsOnly_Blocking + * Seasonal to Subseasonal: UserScript_obsERA_obsOnly_WeatherRegime + * Seasonal to Subseasonal: UserScript_obsPrecip_obsOnly_Hovmoeller + * Seasonal to Subseasonal: UserScript_obsPrecip_obsOnly_CrossSpectraPlot * TC and Extra TC: CyclonePlotter_fcstGFS_obsGFS_OPC * TC and Extra TC: UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF + * TC and Extra TC: GridStat_fcstHAFS_obsTDR_NetCDF * Marine and Coastal: PlotDataPlane_obsHYCOM_coordTripolar + * MET Tool Wrapper: METdbLoad/METdbLoad * MET Tool Wrapper: PlotDataPlane/PlotDataPlane_grib1 * MET Tool Wrapper: PlotDataPlane/PlotDataPlane_netcdf * MET Tool Wrapper: PlotDataPlane/PlotDataPlane_python_embedding * MET Tool Wrapper: GridStat/GridStat_python_embedding + * MET Tool Wrapper: PointStat/PointStat_python_embedding + * MET Tool Wrapper: MODE/MODE_python_embedding * MET Tool Wrapper: PyEmbedIngest_multi_field_one_file * Internal: @@ -130,3 +149,5 @@ METplus Version |version| release notes (|release_date|) * Add all use_cases to automated tests (eg Travis) (`#571 `_) * Add support to run METplus tests against multiple version of Python (`#483 `_) * Enhanced testing to use Docker data volumes to supply truth data for output comparisons (`#567 `_) + * Update manage externals for beta5 versions (`#832 `_) + * Create a new METplus GitHub issue template for "New Use Case" (`#726 `_) diff --git a/metplus/RELEASE_DATE b/metplus/RELEASE_DATE index dba9eed412..5769149254 100644 --- a/metplus/RELEASE_DATE +++ b/metplus/RELEASE_DATE @@ -1 +1 @@ -20200810 \ No newline at end of file +20210427 \ No newline at end of file diff --git a/metplus/VERSION b/metplus/VERSION index 40cf276b3a..107d1f5db4 100644 --- a/metplus/VERSION +++ b/metplus/VERSION @@ -1 +1 @@ -4.0.0-beta5-dev \ No newline at end of file +4.0.0-beta5 \ No newline at end of file