Releases: ufs-community/uwtools
Releases · ufs-community/uwtools
v2.6.1
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
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
What's Changed
- Added a public
config_file
attribute toConfig
classes, allowing reference holders to locate the file from which the object was instantiated. - Added a
--report
flag touw fs
mode actions that, when set, emits tostdout
a JSON-formatted report of files/links/directories created and not created. - Added
!dict
and!list
custom YAML tags to convertstr
values into Pythondict
andlist
objects, respectively. - Added instructions for installation of
uwtools
viapip
in a git clone. - Added support for configs whose top-level elements are types other than
dict
, e.g. a config comprising only alist
. - 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
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
What's Changed
- Added a
!bool
YAML tag that converts the tagged node to a Pythonbool
object - Added
!datetime
YAML tag that converts the tagged node to a Pythondatetime
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/orrundir
values. - Added a driver for the
UFS_UTILS
orog
pre-processing component. - Added global-domain support to MPAS driver.
- Added a
--leadtime
argument to thechgres_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
, andMakeDirs
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 ofcompoundTimeString
. - Disambiguated the term
update_values
by renaming theConfig
methodupdate_from()
. - Corrected regex to permit use of
&&
in Rocoto XML bash commands. - Exposed
schism
andww3
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 forstdin_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()
, andtasks()
fromuwtools.api.driver
to a newuwtools.api.execute
, to correspond better to the CLI mode name, making it easier for users to find the API docs, and renamedexecute()
inuwtools.utils.processing
toshellcmd()
to help disambiguate the term "execute". - Provided direct access to
Config
subclasses (YAMLConfig
et al.) viauwtools.api.config
. - Relaxed the pin on jsonschema to permit the range 4.18 through 4.23, inclusive.
- Renamed
file
modefs
("filesystem"), and added support foruw 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
toexecution-parallel
for better contrast with the existingexecution-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
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