Summary of changes
- Non-backwards-compatible ("breaking") changes; this is a major release for
zppy
. Breaking changes are noted here:- The
e3sm_to_cmip
functionality is now accessed via its own task rather than via thets
task withts_fmt = cmip
. Users wanting to use the most up-to-date code fore3sm_to_cmip
can do so more easily now. It also creates more independence between functionalities -- for example, if thets
job succeeds but thee3sm_to_cmip
job fails, only the latter would have to be rerun.- Any users who have been using
ts_fmt="cmip"
will have to update theirzppy
cfg
files accordingly. That primarily affects current ILAMB users. Parameter changes are noted below. More details can be found in the parameter documentation ondefault.ini
. - Parameters no longer used anywhere and thus removed:
e3sm_to_cmip_environment_commands
,ts_fmt
- Use this parameter in the
e3sm_to_cmip
task rather than thets
task:cmip_metadata
- New parameters for the new
e3sm_to_cmip
task:cmip_vars
,ts_grid
,ts_subsection
(it is also possible to setts_atm_grid
,ts_land_grid
,ts_atm_subsection
, andts_land_subsection
) - New parameters for the
ilamb
task:e3sm_to_cmip_atm_subsection
,e3sm_to_cmip_land_subsection
- Any users who have been using
- As part of the update to v3.0.0, we also removed several deprecated parameters unrelated to
e3sm_to_cmip
andilamb
:- The
scratch
parameter, which had previously been used in thetc_analysis
task but is no longer used in any form. - The
atmosphere_only
parameter in theglobal_time_series
task. Now, simply remove the 3 ocean plots (change_ohc,max_moc,change_sea_level
) fromplots_original
. - The
plot_names
parameter in theglobal_time_series
task. Now, useplots_original
.
- The
- The
- The
global_time_series
task is now implemented with a new package,zppy-interfaces
. This should have little impact to most users, but it does open up the opportunity for users to create custom development environments ofzppy-interfaces
to use the most up-to-date plotting code. Thezppy-interfaces
package is meant for Python scripts that extend external packages for easy use by E3SM users, whereaszppy
itself is meant for workflow automation (i.e., calling code written outsidezppy
).- As part of this effort,
global_time_series
has been extended to work for Land variables and to generate viewers similar to those ine3sm_diags
.
- As part of this effort,
- Parameter inference and validation have been improved and formalized. Users now have the ability to specify if they want
zppy
to infer parameters (for a file path or for the section name of a task dependency). The parameter space is checked thoroughly for possible error-producing configurations. This can prevent debugging hassles during runtime. - CDAT is no longer a dependency for
zppy
.xCDAT
is now user for handlingglobal_time_series
ande3sm_diags
. - The
tc_analysis
task underwent a number of improvements to be more robust.
Full list of changes
Incompatible API changes (user-facing)
- Refactoring:
e3sm_to_cmip
now has its own task and can no longer be called via thets
task.- #650: Add e3sm_to_cmip task
- Removing deprecated parameters for
tc_analysis
task (scratch
), theglobal_time_series
task (atmosphere_only
,plot_names
) and thets
task (e3sm_to_cmip_environment_commands
,ts_fmt
).- #654: Remove deprecated parameters
Features (user-facing)
- Refactoring:
global_time_series
code moved to the newzppy-interfaces
repo- #642: zppy-interfaces refactor
- CDAT Migration
- Improved parameter inference
- Added
global_time_series
support for Land variables & viewers similar to those ine3sm_diags
- Updates to TC Analysis
- #603: Handle dependencies with smaller time increments
Small Improvements (user-facing)
- #659: Skip oceanConservation task in MPAS-Analysis
- #661: Update conda recipe to be more like conda-forge feedstock
- #663: Use updated NCO
- (bug fix) #686: Remove npo flag
- #696: Update data config for ilamb
Bug Fixes (user-facing)
- #602: Fix clm2 support
- #623: Improve carryover dependency handling
- (follow-up bug fix) #679: Remove climo_land_subsection
- #633: Update to diags handling
- #652: Fix tmp directories
- #678: Remove MPAS-Analysis ocean conservation from default config
- #702: Fix ilamb template for piControl year range (with leading0)
- (follow-up bug fix) #705: Fix year in ilamb template
Documentation/examples only (user-facing)
Tests only
- #608: Add minimal case cfgs
- #614: Fix output path in min cases
- #615: Add TC Analysis tests
- #604: Testing update
- #617: Use latest diags in test cfgs
- #638: Fix dir issues in comparing images
- #646: Test fixes
- #664: Update testing paths and commands
- #676: Use Unified unless specified otherwise
- #677: Add min-case cfg for deprecated parameters
- #684: Factor integration tests
- #699: Improve image checker
- #700: Update test names to reflect new image checker
- #701: Further image checker updates
DevOps
- #620: Update supported python versions
- #621: Tweak behaviors of build and release CI workflows
- #630: Update python version in setup.py
- #627: Update pre-commit dependencies
Version Updating
- #660: Bump to 3.0.0rc1
- #665: Bump to 3.0.0rc2
- #683: Bump to 3.0.0rc3
- #687: Bump to 3.0.0rc4
- #691: Bump to 3.0.0rc5
- #707: Bump to 3.0.0
Other code changes
- #612: Remove climo_diurnal_input_files internal parameter
Repository maintenance