diff --git a/docs/Users_Guide/existing_builds.rst b/docs/Users_Guide/existing_builds.rst index 9c0ef066c..a49cccd18 100644 --- a/docs/Users_Guide/existing_builds.rst +++ b/docs/Users_Guide/existing_builds.rst @@ -548,10 +548,10 @@ in the * Users should create a file like /work2/06612/tg859120/frontera/METplus/frontera.user_name.conf to set a personalized INPUT_BASE and OUTPUT_BASE. -.. dropdown:: DockerHub - Coming Soon! +.. dropdown:: DockerHub | **MET** - | *Last Updated:* + | *Last Updated:* January 24, 2025 .. code-block:: ini @@ -560,7 +560,7 @@ in the `dtcenter/met DockerHub `_ | **METplus** - | *Last Updated:* + | *Last Updated:* January 28, 2025 .. code-block:: ini @@ -569,7 +569,7 @@ in the `dtcenter/metplus DockerHub `_ | **METplus Analysis** - | *Last Updated:* + | *Last Updated:* January 28, 2025 .. code-block:: ini diff --git a/docs/Users_Guide/release-notes.rst b/docs/Users_Guide/release-notes.rst index de3689e9d..ddb713d1d 100644 --- a/docs/Users_Guide/release-notes.rst +++ b/docs/Users_Guide/release-notes.rst @@ -11,17 +11,13 @@ the METplus Components. .. _development_timeline: -The **development timeline** for the METplus 6.0.0 Coordinated Release +The **development timeline** for the METplus 6.1.0 Coordinated Release is broken down into the following development cycles for each component: -1. **Beta1** releases for the METplus components occurred around 2023-09-15. -2. **Beta2** releases for the METplus components occurred around 2023-11-14. -3. **Beta3** releases for the METplus components occurred around 2024-02-08. -4. **Beta4** releases for the METplus components occurred around 2024-04-17. -5. **Beta5** releases for the METplus components occurred around 2024-07-10. -6. **Beta6** releases for the METplus components occurred around 2024-10-18. -7. **Release Candidate 1** for the METplus components occurred around 2024-11-14. -8. **Official Release** releases are tentatively scheduled for 2024-12-18. +1. **Beta1** releases for the METplus components occurred around 2025-01-28. +2. **Beta2** releases for the METplus components are tentatively scheduled for 2025-03-26. +7. **Release Candidate 1** for the METplus components are tentatively scheduled for 2025-04-09. +8. **Official Release** releases are tentatively scheduled for 2025-05-07. .. include:: existing_builds.rst @@ -47,294 +43,29 @@ When applicable, release notes are followed by the describes the bugfix, enhancement, or new feature. Important issues are listed **in bold** for emphasis. - -METplus Version 6.0.0 RC 1 Release Notes (2024-11-13) ------------------------------------------------------ - - .. dropdown:: Enhancement - - * Resolve findings from SonarQube for 6.0.0 - (`#1610 `_) - * Prevent error if some input files are missing - (`#2460 `_) - * Provide Docker images that contain all METplus components - (`#2682 `_) - - .. dropdown:: Bugfix - - * Check the return status of the "make clean html" command in build_documentation. - (`#2034 `_) - * Fix StatAnalysis to set `fcst_lev` config variable instead of `fcst_level` - (`#2742 `_) - * Fix PCPCombine derive mode to properly set field info wrt valid time - (`#2762 `_) - - .. dropdown:: New Wrapper - - NONE - - .. dropdown:: New Use Case - - * Fire Weather - (`#2560 `_) - - .. dropdown:: Documentation - - * Develop an RST template for use cases - (`#918 `_) - * Add Python package/dependent library disclaimer in Contributor's Guides - (`#2300 `_) - * Update the Release Guide to Document the Proposed Workflow During the RC1 Cycle - (`#2322 `_) - * Update the Release Guide to document the release dependencies and completion indicator - (`#2339 `_) - * Update links in Verification Datasets Guide - (`#2584 `_) - * Document SonarQube for the METplus components in the Contributor's Guide - (`#2666 `_) - * Move the Existing Builds page to Read the Docs - (`#2716 `_) - * Update release guide instructions for METplus Analysis components - (`#2737 `_) - * Update Release Notes to include updating the schedule for releases - (`#2751 `_) - * Update Release Guide to create the main_vX.Y branch for the first release candidate - (`#2754 `_) - * Add allow missing input variables to glossary - (`#2757 `_) - * Update the Existing Builds page - (`#2763 `_) - * Add instructions for running a use case using Apptainer - (`#2772 `_) - - .. dropdown:: Internal - - * Add logic to define and parse METplus inter-component version dependencies - (`#2562 `_) - * Replace manage_externals - (`#2597 `_) - * Document the process for managing labels across METplus components - (`#2739 `_) - - -METplus Version 6.0.0 beta6 Release Notes (2024-10-18) ------------------------------------------------------- - - .. dropdown:: 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 `_) - - .. dropdown:: 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 `_) - - .. dropdown:: New Wrapper - - NONE - - .. dropdown:: New Use Case - - * Multivariate MODE for RRFS - (`#2647 `_) - - .. dropdown:: 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 `_) - - .. dropdown:: Internal - - NONE - - -METplus Version 6.0.0 Beta 5 Release Notes (2024-07-10) -------------------------------------------------------- - - .. dropdown:: 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 `_) - - .. dropdown:: Bugfix - - * PointStat support multiple observations files - (`#2567 `_) - - .. dropdown:: New Wrappers - - * Madis2Nc - (`#1514 `_) - - .. dropdown:: New Use Cases - - * Stratosphere QBO - (`#2557 `_) - - .. dropdown:: Documentation - - * Add all _RUNTIME_FREQ variables to glossary - (`#2470 `_) - * Modify Requirements section of the Contributor's Guide - (`#379 `_) - * Add the METplus development timeline for the next official release to the User's Guide - (`#2530 `_) - - .. dropdown:: Internal - - * Update GitHub issue and pull request templates to reflect the current development workflow details - (`#2346 `_) - - -METplus Version 6.0.0 Beta 4 Release Notes (2024-04-17) -------------------------------------------------------- - - .. dropdown:: Enhancements - - NONE - - .. dropdown:: Bugfix - - * ASCII2NC file window bad default value and redundant initialization of wrappers - (`#2520 `_) - - .. dropdown:: New Wrappers - - NONE - - .. dropdown:: New Use Cases - - NONE - - .. dropdown:: Documentation - - * Create pull-down menus within User's Guide for configuration files - (`#2372 `_) - - * Modify the format of the METplus Components Python Requirements Table - (`#2463 `_) - - .. dropdown:: Internal - - * Automate the MET version number update - (`#2509 `_) - * Add GitHub action to run SonarQube for METplus pull requests and feature branches - (`#2537 `_) - - -METplus Version 6.0.0 Beta 3 Release Notes (2024-02-08) -------------------------------------------------------- - - .. dropdown:: 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 `_) - - .. dropdown:: Bugfix - - NONE - - .. dropdown:: New Wrappers - - NONE - - .. dropdown:: New Use Cases - - * Verify Total Column Ozone against NASA's OMI dataset - (`#1989 `_) - * RRFS reformatting, aggregating, and plotting use case - (`#2406 `_) - * Satellite Altimetry data - (`#2383 `_) - - .. dropdown:: Documentation - - * Create video to demonstrate how to update use cases that use deprecated environment variables - (`#2371 `_) - - .. dropdown:: Internal - - * Update Documentation Overview and Conventions - (`#2454 `_) - - -METplus Version 6.0.0 Beta 2 Release Notes (2023-11-14) +METplus Version 6.1.0 Beta 1 Release Notes (2025-01-28) ------------------------------------------------------- .. dropdown:: 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 `_) + * **Enhance command line arguments to override single variables to support lists** + (`#511 `_) + * GenVxMask wrapper to compute time-varying masks using Local Solar Time + (`#2586 `_) + * Resolve findings from SonarQube for 6.1.0-beta1 + (`#2758 `_) + * Enhance the SeriesAnalysis wrapper to compute gradient statistics + (`#2827 `_) .. dropdown:: Bugfix - * Prevent crash when empty string set for INIT_INCREMENT or VALID_INCREMENT - (`#2420 `_) + * Fix final log output missing when instance IDs are used in process list + (`#2830 `_) .. dropdown:: New Wrappers - * WaveletStat - (`#2252 `_) - + * PairStat + (`#2781 `_) .. dropdown:: New Use Cases @@ -342,436 +73,27 @@ METplus Version 6.0.0 Beta 2 Release Notes (2023-11-14) .. dropdown:: 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 `_) - - .. dropdown:: Internal - - * Improve METplus test coverage - (`#2253 `_) - * Documentation: Make Headers Consistent in METplus components User's Guides - (`#898 `_) - -METplus Version 6.0.0 Beta 1 Release Notes (2023-09-15) -------------------------------------------------------- - - .. dropdown:: Enhancements - - * **Remove support for deprecated environment variables for old wrapped MET config files** - (`#2299 `_) - * Improve time formatting logic to include certain times and use day of week to subset - (`#2283 `_) - * Remove TCMPRPlotter wrapper - (`#2310 `_) - - .. dropdown:: Bugfix - - * Update buoy use case to use buoy station file from 2022 - (`#2279 `_) - * Prevent failure in LSR use case - (`#2294 `_) - - - .. dropdown:: New Wrappers - - NONE - - .. dropdown:: New Use Cases - - * Scatterometer wind data - (`#1488 `_) - - .. dropdown:: Documentation - - NONE - - .. dropdown:: Internal + * Update Scientific Objective Documentation for some S2S Use Cases + (`#2628 `_) + * Update Release Notes to include updating the schedule for releases + (`#2751 `_) + * Add a dedication to all of the User's Guides + (`#2780 `_) + * **Include information on how to use command line arguments to override single config variables** + (`#2814 `_) + * Enhance the Release Guide documentation by consistently adding dropdown instructions + (`#2844 `_) - * Add coordinated release checklist to the METplus Release Guide - (`#2282 `_) - * Recreate Docker/Conda environments after METbaseimage OS upgrade - (`#2338 `_) + .. dropdown:: Build, repository, and test + * Confirm 6.0.0 Docker images are auto-generated for dtcenter/metplus and metplus-analysis + (`#2756 `_) + * Refine testing GitHub Action workflow dispatch functionality + (`#2816 `_) .. _upgrade-instructions: METplus Wrappers Upgrade Instructions ===================================== -Deprecated Wrapped MET Configuration Files ------------------------------------------- - -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 :ref:`metplus-control-met` 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 :ref:`met-config-overrides` for more information. - -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. - -How to upgrade -^^^^^^^^^^^^^^ - -This video provides a demonstration of the process to upgrade a use case. - -.. raw:: html - - - - -Removing **_CONFIG_FILE**, e.g. :term:`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 (:term:`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. :term:`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 - -Comments -"""""""" - -Text following two forward slashes (**//**) are comments. -They are not read by the configuration file parser and can be ignored. - -:: - - < // For additional information, see the MET_BASE/config/README file. - --- - > // For additional information, please see the MET User's Guide. - -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 :ref:`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 **_**. - -For example, the **cat_thresh** variable for GridStat is controlled by the -:term:`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 **__**. - -For example, the **to_grid** variable inside the **regrid** dictionary is -controlled by the :term:`GRID_STAT_REGRID_TO_GRID` METplus config variable. - -The :ref:`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 :ref:`grid-stat-met-conf-cat-thresh`. - -**${METPLUS_CAT_THRESH}** - -.. list-table:: - :widths: 5 5 - :header-rows: 0 - - * - METplus Config(s) - - MET Config File - * - :term:`GRID_STAT_CAT_THRESH` - - 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 :ref:`GridStat - MET Configuration` section -of the Python Wrappers chapter shows that :term:`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 :ref:`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 :ref:`GridStat - MET Configuration` section of -the Python Wrappers chapter shows that :term:`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 :term:`GRID_STAT_CLIMO_CDF_CDF_BINS` is also -supported to match the naming convention __. - -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 -:ref:`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 :ref:`met-config-overrides` 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. - -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 :ref:`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. +There are currently no upgrade instructions for 6.1.0. diff --git a/internal/scripts/dev_tools/generate_release_notes.py b/internal/scripts/dev_tools/generate_release_notes.py index 5a6591052..e40cbc453 100755 --- a/internal/scripts/dev_tools/generate_release_notes.py +++ b/internal/scripts/dev_tools/generate_release_notes.py @@ -2,19 +2,28 @@ import sys import os +from enum import Enum from github import Github from datetime import datetime, timezone GITHUB_ORG = 'dtcenter' +class Category(Enum): + ENHANCEMENT = "Enhancement" + BUGFIX = "Bugfix" + NEW_WRAPPER = "New Wrapper" + NEW_USE_CASE = "New Use Case" + DOCUMENTATION = "Documentation" + INTERNAL = "Internal" + CATEGORIES = ( - 'Enhancement', - 'Bugfix', - 'New Wrapper', - 'New Use Case', - 'Documentation', - 'Internal', + Category.ENHANCEMENT.value, + Category.BUGFIX.value, + Category.NEW_WRAPPER.value, + Category.NEW_USE_CASE.value, + Category.DOCUMENTATION.value, + Category.INTERNAL.value, ) @@ -34,7 +43,7 @@ def main(dev_name, dev_start_date, dev_end_date=datetime.today(), repo_name='MET print_banner('ADD THIS TO METplus Coordinated Release Acceptance Testing') - print_release_testing(repo_name, dev_name, all_issues) + print_release_testing(repo_name, dev_name, all_issues, issues_by_category) def get_all_issues_since_dev_start(token, repo_name, dev_start_date): @@ -66,8 +75,10 @@ def print_issues_by_category(repo_name, issues_by_category): print() if category != 'none': header = category - if header in ('Enhancement', 'New Wrapper', 'New Use Case'): + if header in (Category.ENHANCEMENT.value, Category.NEW_WRAPPER.value, Category.NEW_USE_CASE.value): header = f'{header}s' + elif header == Category.INTERNAL.value: + header = 'Build, repository, and test' print(f" .. dropdown:: {header}\n") elif issues: print('COULD NOT PARSE CATEGORY FROM THESE:\n') @@ -101,11 +112,23 @@ def get_issues_by_category(all_issues): return issues_by_category -def print_release_testing(repo_name, dev_name, all_issues): +def print_release_testing(repo_name, dev_name, all_issues, issues_by_category): dev_info = dev_name.split('-')[1] - for issue in all_issues: - num = issue.number - print(f"| **OPEN** || [#{num}](https://github.com/{GITHUB_ORG}/{repo_name}/issues/{num}) | {dev_info} |||") + # put all new wrapper, new use case, documentation, and bugfix issues in single item with PASS status + pass_issues_fmt = [] + pass_issues_nums = [] + for category, issues in issues_by_category.items(): + if issues is None: continue + if category not in (Category.NEW_WRAPPER.value, Category.NEW_USE_CASE.value, Category.DOCUMENTATION.value, Category.BUGFIX.value): + continue + for issue in issues: + pass_issues_nums.append(issue.number) + pass_issues_fmt.append(f'[#{issue.number}](https://github.com/{GITHUB_ORG}/{repo_name}/issues/{issue.number})') + + print(f"| **PASS** | {', '.join(pass_issues_fmt)} | {dev_info} | | No external testing required |") + + for issue in [item for item in all_issues if item.number not in pass_issues_nums]: + print(f"| **OPEN** | [#{issue.number}](https://github.com/{GITHUB_ORG}/{repo_name}/issues/{issue.number}) | {dev_info} | | |") if __name__ == '__main__': diff --git a/metplus/VERSION b/metplus/VERSION index bf479997a..93340d5c7 100644 --- a/metplus/VERSION +++ b/metplus/VERSION @@ -1 +1 @@ -6.1.0-beta1-dev \ No newline at end of file +6.1.0-beta1 \ No newline at end of file