Releases: ufs-community/uwtools
Releases · ufs-community/uwtools
v2.4.2
What's Changed
- Fixed a bug whereby
uwtools.api.config.realize()
raised an exception suggesting thatstdin_ok=True
be set whenupdate_values
was not, even when the user's intention was to perform no updates. - Added
<metataskdep>
support touw rocoto
mode and its API equiavlent.
Full Changelog: v2.4.1...v2.4.2
v2.3.4
What's Changed
- Fixed a bug whereby
uwtools.api.template.render()
would raise an exception if values were missing, even withvalues_needed=True
. - Added the
submodelname
key to the UPP namelist schema.
Full Changelog: v2.3.3...v2.3.4
v2.4.1
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 withvalues_needed=True
. - Added the
submodelname
key to the UPP namelist schema.
Full Changelog: v2.4.0...v2.4.1
v2.4.0
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, torundir
. - Exposed driver classes via
uwtools.api
package. - Exposed the
Copier
andLinker
classes viauwtools.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 onuw
. - 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 inuw 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 withcores
ornodes
.
Full Changelog: v2.3.3...v2.4.0
v2.3.3
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 andnodes
/cores
.
Full Changelog: v2.3.2...v2.3.3
v2.3.2
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
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
What's Changed
- Added drivers for components
esg_grid
,global_equiv_resol
,make_hgrid
,make_solo_mosaic
,shave
, andupp
. - Added documentation for the
jedi
driver. - Added a
--key-path
argument touw 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 touw file copy
anduw file link
. User-supplied values are made available as Pythondatetime
andtimedelta
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) onstdin
. - 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 ofuw 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 asnull
, 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
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 toPath
objects in API routines. - Added
!remove
YAML tag to remove key-value pair inuw config realize
mode. - Added
--output-block
touw 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 onstdin
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
What's Changed
- Fixed a bug whereby resource files were not being included in packages.
Full Changelog: v2.1.0...v2.1.1