Skip to content

Releases: ufs-community/uwtools

v2.6.1

19 Feb 22:24
e30de4d
Compare
Choose a tag to compare

What's Changed

  • Fixed a bug in mpas driver whereby forecast duration string in namelist was not generated correctly.
  • Added logging of module-import errors for external drivers.

Full Changelog: v2.6.0...v2.6.1

v2.5.2

19 Feb 22:28
8f1e8cc
Compare
Choose a tag to compare

What's Changed

  • Fixed a bug in mpas driver whereby forecast duration string in namelist was not generated correctly.
  • Added logging of module-import errors for external drivers.

Full Changelog: v2.5.1...v2.5.2

v2.6.0

14 Feb 22:40
Compare
Choose a tag to compare

What's Changed

  • Added a public config_file attribute to Config classes, allowing reference holders to locate the file from which the object was instantiated.
  • Added a --report flag to uw fs mode actions that, when set, emits to stdout a JSON-formatted report of files/links/directories created and not created.
  • Added !dict and !list custom YAML tags to convert str values into Python dict and list objects, respectively.
  • Added instructions for installation of uwtools via pip in a git clone.
  • Added support for configs whose top-level elements are types other than dict, e.g. a config comprising only a list.
  • Added support for copying remote HTTP(S) resources to local files with uw fs copy and its API counterpart.
  • Fixed a bug whereby a value like &XMLENTITY; in YAML might lead to a dereferencing failure.
  • Fixed a bug whereby tagged YAML values referencing other tagged YAML values incorrectly included the YAML tag (e.g. !int) in the final rendered value.
  • Fixed a bug whereby YAML values tagged !remove were incorrectly serialized if dumped before being dereferenced.
  • Improved error message for schema-validation errors related to elements at the top level of the config being validated.
  • Improved log messages from chgres_cube namelist creation.
  • Updated documentation to include the env custom Jinja2 filter and more detail on the !include custom YAML tag.
  • Updated fs mode to use --key-path CLI switch / key_path API argument for consistency with other modes/actions.
  • Updated ungrib driver to remove GFS-specific terminology.
  • Updated uwtools.api.execute.execute() to return the result from invoking a driver task, for potential use by callers.

Full Changelog: v2.5.1...v2.6.0

v2.5.1

11 Dec 23:56
319c4a4
Compare
Choose a tag to compare

What's Changed

  • Fixed a dereferencing issue related to tagged values referencing other tagged values.

Full Changelog: v2.5.0...v2.5.1

v2.5.0

27 Nov 16:14
Compare
Choose a tag to compare

What's Changed

  • Added a !bool YAML tag that converts the tagged node to a Python bool object
  • Added !datetime YAML tag that converts the tagged node to a Python datetime object.
  • Added --schema-file option to internal drivers to support validation using user-provided schemas.
  • Added --show-schema option to drivers to display the driver's official schema.
  • Added a controller key path to support coupled driver applications where subcomponents defer to a "controller" component's config block for their execution and/or rundir values.
  • Added a driver for the UFS_UTILS orog pre-processing component.
  • Added global-domain support to MPAS driver.
  • Added a --leadtime argument to the chgres_cube driver.
  • Added default output() method to Driver base class and implemented this method for UPP, which describes the driver's expected output.
  • Added formatting to Copier, Linker, and MakeDirs class docstrings for better API docs.
  • Added series of Jupyter Notebook tutorials for API tools.
  • Added UW YAML for Rocoto support for mixed <cyclestr> and text content by extending the definition of compoundTimeString.
  • Disambiguated the term update_values by renaming the Config method update_from().
  • Corrected regex to permit use of && in Rocoto XML bash commands.
  • Exposed schism and ww3 drivers to CLI.
  • Fixed bug whereby Rocoto streq dependencies were invalid against Rocoto RelaxNG schema by adding validation checks.
  • Fixed bug whereby uwtools.api.config.realize would prompt users for stdin_ok=True flag when writing out from a dictionary config object.
  • Improved checking for external links in documentation.
  • Improved error message for unrecognized file extensions.
  • Improved documentation for make_orog.
  • Improved handling of Rocoto metataskdep entries in UW YAML.
  • Moved execute(), graph(), and tasks() from uwtools.api.driver to a new uwtools.api.execute, to correspond better to the CLI mode name, making it easier for users to find the API docs, and renamed execute() in uwtools.utils.processing to shellcmd() to help disambiguate the term "execute".
  • Provided direct access to Config subclasses (YAMLConfig et al.) via uwtools.api.config.
  • Relaxed the pin on jsonschema to permit the range 4.18 through 4.23, inclusive.
  • Renamed file mode fs ("filesystem"), and added support for uw fs makedirs via CLI and API.
  • Updated dependency packages to latest versions.
  • Updated fv3 diag_table to be treated as a template instead of a file path and improved logic for lateral boundary conditions.
  • Updated JSON Schema file names from execution to execution-parallel for better contrast with the existing execution-serial schema.
  • Updated run command for orog_gsl driver.
  • Updated uw config compare, fixing a bug whereby two identical .sh files could not be compared, and revamped the output with a familiar diff syntax.

Full Changelog: v2.4.2...v2.5.0

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