METplus Release Notes

METplus Version 4.0.0 release notes (20210510)

  • Bugfixes:

    • Changed default values in wrapped MET config files to align with actual default values in MET config files (Reconcile Default Values)

    • Fix bug causing GridStat fatal error (#740)

    • 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)

    • 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 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)

    • 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)

    • Decouple PCPCombine, RegridDataPlane, and GridStat wrappers behavior (#602)

    • 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)

    • Add more logging to tc_gen_wrapper (#576)

    • Prevent crash when improperly formatted filename template is used (#674)

  • New Wrappers:

    • 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:

    • Append semi-colon to end of _OPTIONS variables if not found (#707)

    • Ensure all wrappers follow the same conventions (#76)

    • Refactor SeriesBy and ExtractTiles wrappers (#310)

    • Refactor SeriesByLead wrapper (#671, #76)

    • Add the pull request approval process steps to the Contributor’s Guide (#429)

    • Remove jlogger and postmsg (#470)

    • Add unit tests for set_met_config_X functions in CommandBuilder (#682)

    • Define a common set of GitHub labels that apply to all of the METplus component repos (#690)

    • Transition from using Travis CI to GitHub Actions (#721)

    • Improve workflow formatting in Contributers Guide (#688)

    • Change INPUT_BASE to optional (#679)

    • Refactor TCStat and ExtractTiles wrappers to conform to current standards

    • Automate release date (#665)

    • Add documentation for input verification datasets (#662)

    • Add timing tests for Travis/Docker (#649)

    • Set up encrypted credentials in Travis to push to DockerHub (#634)

    • Add to User’s Guide: using environment variables in METplus configuration files (#594)

    • Cleanup version info (#651)

    • Fix Travis tests for pull requests from forks (#659)

    • Enhance the build_docker_images.sh script to support TravisCI updates (#636)

    • Reorganize use case tests so users can add new cases easily (#648)

    • Investigate how to add version selector to documentation (#653)

    • Docker push pull image repository (#639)

    • Tutorial Proofreading (#534)

    • Update METplus data container logic to pull tarballs from dtcenter.org instead of GitHub release assets (#613)

    • Convert Travis Docker files (automated builds) to use Dockerhub data volumes instead of tarballs (#597)

    • Migrate from travis-ci.org to travis-ci.com (#618)

    • Migrate Docker run commands to the METplus ci/jobs scripts/files (#607)

    • Add stage to Travis to update or create data volumes when new sample data is available (#633)

    • Docker data caching (#623)

    • Tutorial testing on supported platforms (#468)

    • Add additional Branch support to the Travis CI pipeline (#478)

    • Change $DOCKER_WORK_DIR from /metplus to /root to be consistent with METplus tutorial (#595)

    • 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)