Skip to content

Releases: ufs-community/uwtools

v2.4.2

22 Aug 16:56
Compare
Choose a tag to compare

What's Changed

  • Fixed a bug whereby uwtools.api.config.realize() raised an exception suggesting that stdin_ok=True be set when update_values was not, even when the user's intention was to perform no updates.
  • Added <metataskdep> support to uw rocoto mode and its API equiavlent.

Full Changelog: v2.4.1...v2.4.2

v2.3.4

17 Aug 17:36
1bb756f
Compare
Choose a tag to compare

What's Changed

  • Fixed a bug whereby uwtools.api.template.render() would raise an exception if values were missing, even with values_needed=True.
  • Added the submodelname key to the UPP namelist schema.

Full Changelog: v2.3.3...v2.3.4

v2.4.1

17 Aug 17:59
1365b39
Compare
Choose a tag to compare

What's Changed

  • Fixed a bug whereby a driver's config YAML's platform: block was not correctly schema-validated.
  • Fixed a bug whereby uwtools.api.template.render() would raise an exception if values were missing, even with values_needed=True.
  • Added the submodelname key to the UPP namelist schema.

Full Changelog: v2.4.0...v2.4.1

v2.4.0

09 Aug 18:23
c948f31
Compare
Choose a tag to compare

What's Changed

  • Added support for executing drivers defined outside the uwtools package.
  • Added support for coupled drivers.
  • Added CDEPS, filter_topo, IODA, orog_gsl, SCHISM drivers.
  • Added code to prevent YAML lines from wrapping.
  • Added information on troubleshooting in IDEs to developer documentation.
  • Added support for Fortran derived-type member references using % in YAML configs.
  • Added support for producing scalar values from YAML-config leaf nodes via uw config realize.
  • Changed run_dir, present in all UW YAML driver configs, to rundir.
  • Exposed driver classes via uwtools.api package.
  • Exposed the Copier and Linker classes via uwtools.api.file.
  • Fixed a bug related to provisioning input files for the chgres_cube driver.
  • Fixed a bug related to specification of multi-day durations in MPAS configuration.
  • Fixed a bug whereby parent directories for CDEPS, SCHISM, and WaveWatchIII assets were not created as needed.
  • Fixed an issue with the output shown when using the --version flag on uw.
  • Fixed issues with chgres_cube schema and related value lookups in driver code.
  • Fixed JEDI driver to pass YAML config to the executable.
  • Improved CLI handling of leadtime values.
  • Improved driver schemas to explicitly require the driver's own block.
  • Made additional driver-object attributes public.
  • Made a number of updates to the User Guide and the Contributor Guide.
  • Made --target-dir optional in uw file mode when all destination paths are absolute.
  • Simplified the specification of threads information in driver configs.
  • Updated code for generating MPAS streams files to use native XML generation instead of templating.
  • Updated drivers using the base_file YAML key to require existence of the named file.
  • Updated Rocoto schema to permit specification of native in combination with cores or nodes.

Full Changelog: v2.3.3...v2.4.0

v2.3.3

01 Aug 18:23
b4d37df
Compare
Choose a tag to compare

What's Changed

  • Fixed the date string populating the MPAS namelist config_run_duration value.
  • Reduced constraints in JSON Schema for Rocoto to allow tasks to set native flags and nodes/cores.

Full Changelog: v2.3.2...v2.3.3

v2.3.2

27 Jun 15:55
b08be17
Compare
Choose a tag to compare

What's Changed

  • Fixed chgres_cube requirements by not requiring all the configuration file definitions, and use the .get() method for the dict entry.
  • Fixed leadtime logic when processing 0-hr forecast.

Full Changelog: v2.3.1...v2.3.2

v2.3.1

05 Jun 14:48
9f272a9
Compare
Choose a tag to compare

What's Changed

  • Factored out the run script done file name to sync the name of the file created and the file required.

Full Changelog: v2.3.0...v2.3.1

v2.3.0

31 May 15:45
8303d82
Compare
Choose a tag to compare

What's Changed

  • Added drivers for components esg_grid, global_equiv_resol, make_hgrid, make_solo_mosaic, shave, and upp.
  • Added documentation for the jedi driver.
  • Added a --key-path argument to uw config realize that supports selection of an arbitrary subtree of the input config for output.
  • Added a --key-path argument to all drivers that supports selection of an arbitrary subtree to be used to configure the component.
  • Added optional --cycle and --leadtime flags to uw file copy and uw file link. User-supplied values are made available as Python datetime and timedelta objects, respectively, to Jinja2 expressions in the input config.
  • Added final validation of namelist files created by drivers (including those provided by users and taken as-is), against their uwtools-internal schemas.
  • Added an env Jinja2 filter to make environment-variable values available to Jinja2 expressions in configs and templates.
  • Updated uw config realize, replacing positional supplemental-file positional arguments with a single --update-file and --update-format option pair, allowing use of arbitrarily named value-providing files, and provision of either the primary input or update values (but not both concurrently) on stdin.
  • Updated uw rocoto realize, replacing the --input-file option with --config-file, for consistency with other parts of the CLI.
  • Updated driver schemas to make the namelist: config item required for drivers that create namelist files.
  • Updated the --values-needed option of uw config realize to no longer report "empty" values, which is not a concept compatible with supported config formats (e.g. an empty YAML value is treated as null, and empty INI value is treated as an empty string).
  • Fixed a bug whereby file copy did not correctly create all parent directories needed by a destination file.
  • Fixed a bug whereby use of datetime.UTC would fail for Python < 3.12.

Full Changelog: v2.2.0...v2.3.0

v2.2.0

23 Apr 15:53
f21a26e
Compare
Choose a tag to compare

What's Changed

  • Added chgres_cube driver.
  • Added MPAS Init and MPAS Atmosphere drivers.
  • Added WPS ungrib driver.
  • Added file copy/link tool.
  • Added support for str paths in addition to Path objects in API routines.
  • Added !remove YAML tag to remove key-value pair in uw config realize mode.
  • Added --output-block to uw config realize mode to select a specific YAML subtree as a config source.
  • Added validate task to all drivers for validation of driver config YAML.
  • Added stdin_ok boolean flag to API routines to prevent unintentional blocking on stdin reads.
  • Added documentation for UW custom YAML tags.
  • Added CLI --version flag.
  • Added Python 3.12 support.
  • Updated fv3 driver to support global runs.
  • Updated uw config realize mode to not use shell environment as a source of values.
  • Added recording of execution time via time utility for all driver invocations.
  • Reverted uw template render mode's --partial flag due to insufficient Jinja2 support.
  • Made path to ready-to-use FV3 field-table file in FV3 driver a requirement.
  • Improved schema-validation failure messages.
  • Fixed bug related to missing variables in uw template render mode.

Full Changelog: v2.1.1...v2.2.0

v2.1.1

21 Mar 19:15
58e44d0
Compare
Choose a tag to compare

What's Changed

  • Fixed a bug whereby resource files were not being included in packages.

Full Changelog: v2.1.0...v2.1.1