Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9d89db1
Add main branch testing automation
forsyth2 Jan 23, 2026
010c09c
Changes tested
forsyth2 Jan 24, 2026
0653e47
Further changes to test
forsyth2 Jan 24, 2026
8c11fad
Changes to test 20260126
forsyth2 Jan 26, 2026
55cffe1
Changes to test 20260126_v2
forsyth2 Jan 26, 2026
2a69af8
Changes to test 20260126_v3
forsyth2 Jan 26, 2026
9118ef7
Updates as of 20260130
forsyth2 Jan 30, 2026
1695247
Add activation command
forsyth2 Jan 30, 2026
0e6d063
Claude rewrite of test automation
forsyth2 Jun 9, 2026
aa74843
Undo skip mpas_analysis
forsyth2 Jun 10, 2026
ebaf002
Make script machine independent
forsyth2 Jun 10, 2026
23788be
Revisions
forsyth2 Jun 10, 2026
db2b203
Improve environment setup
forsyth2 Jun 10, 2026
e28c469
Fixes made while testing phase 1
forsyth2 Jun 12, 2026
a1e289d
Fix tag logic
forsyth2 Jun 12, 2026
36453b0
Add config file
forsyth2 Jun 12, 2026
1c463ef
Enable cfg/task specification
forsyth2 Jun 12, 2026
0b46ee8
Update test cfg
forsyth2 Jun 15, 2026
56ff67e
Enable use of existing envs
forsyth2 Jun 15, 2026
6e9ec7a
Fix env handling
forsyth2 Jun 15, 2026
5ec121c
Fix cfg file paths
forsyth2 Jun 15, 2026
8583de9
Use bash subshells
forsyth2 Jun 15, 2026
56d1c75
Fix Unified env setup
forsyth2 Jun 16, 2026
7c970d3
Log the environment
forsyth2 Jun 16, 2026
44b8d90
Fix test cfg envs
forsyth2 Jun 16, 2026
412db04
Improve dependency granularity
forsyth2 Jun 16, 2026
df86489
Address comments
forsyth2 Jun 16, 2026
db664d3
Update mpas shell
forsyth2 Jun 19, 2026
d5f4ac2
Undo mpas shell debugging
forsyth2 Jun 20, 2026
0aa5dc0
Add debugging for mpas-analysis
forsyth2 Jul 1, 2026
4379fbb
Add esmpy for mpas_analysis
forsyth2 Jul 1, 2026
13c2afb
Remove esmpy for mpas_analysis
forsyth2 Jul 1, 2026
0860695
Add automated testing to documentation
forsyth2 Aug 4, 2026
ac08dc4
Minor docs updates
forsyth2 Aug 4, 2026
2a21a3e
Address Review comment
forsyth2 Aug 4, 2026
86c27ae
Claude-generated frozen env setup
forsyth2 Aug 10, 2026
fa55ab3
Add scripts to pin dev-env deps to Unified versions
forsyth2 Aug 11, 2026
0b9c354
Fixes for frozen env setup
forsyth2 Aug 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ test_images_summary.md
test_*_output
tests/*.cfg.txt
tests/integration/image_check_failures*
tests/main_branch_testing/frozen_env_setup/pin-report-*.md
tests/main_branch_testing/frozen_env_setup/pinned-dev-*.txt
tests/main_branch_testing/frozen_env_setup/pinned-dev-*.yml

# Sphinx documentation
docs/_build/
5 changes: 2 additions & 3 deletions docs/source/dev_guide/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@ This guide covers everything needed to develop, test, and release ``zppy``.
parameters
provenance
tasks/index
test
update_expected_results
releases/index.rst
tests/index
releases/index
new_task
new_diags_set
archive/index
478 changes: 478 additions & 0 deletions docs/source/dev_guide/tests/automated_test.rst

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions docs/source/dev_guide/tests/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. _tests:

*******
Tests
*******

This page collects documentation on testing ``zppy``.

.. toctree::
:maxdepth: 1

manual_test
automated_test
update_expected_results
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. _testing-zppy:
.. _manually-testing-zppy:

*************
Testing zppy
*************
*********************
Manually testing zppy
*********************

Follow the steps below to test ``zppy``. As you do so, please produce a Markdown report summarizing your results.

Expand Down Expand Up @@ -93,6 +93,11 @@ Chrysalis:
lcrc_conda # Or however you activate conda
rm -rf build
conda clean --all --y
# The dev.yml file may be in a different directory.
# e3sm_to_cmip, e3sm_diags: use conda-dev/
# zppy-interfaces, zppy: use conda/
# MPAS-Analysis: don't use this command, instead use:
# conda create --name ${env_name} --file dev-spec.txt --yes
conda env create -f conda/dev.yml -n ${env_name}
conda activate ${env_name}
pre-commit run --all-files # Confirm this passes
Expand Down
15 changes: 10 additions & 5 deletions tests/integration/template_weekly_bundles.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@ bundle = "bundle1"
years = "1985:1989:2",

[[ atm_monthly_180x360_aave ]]
active = #expand active_climo_month_atm#
frequency = "monthly"

[[ atm_monthly_diurnal_8xdaily_180x360_aave ]]
active = #expand active_e3sm_diags#
active = #expand active_climo_diurnal_atm#
frequency = "diurnal_8xdaily"
input_files = "eam.h3"
input_subdir = "archive/atm/hist"
Expand All @@ -66,12 +67,13 @@ bundle = "bundle1"
years = "1985:1989:2",

[[ atm_monthly_180x360_aave ]]
active = #expand active_ts_month_atm#
frequency = "monthly"
input_files = "eam.h0"
input_subdir = "archive/atm/hist"

[[ atm_monthly_glb ]]
active = #expand active_global_time_series#
active = #expand active_ts_month_atm_glb#
bundle = "bundle2" # Override bundle1
frequency = "monthly"
input_files = "eam.h0"
Expand All @@ -80,6 +82,7 @@ years = "1985:1989:2",
years = "1985:1995:5",

[[ land_monthly ]]
active = #expand active_ts_month_lnd#
extra_vars = "landfrac"
frequency = "monthly"
input_files = "elm.h0"
Expand All @@ -88,7 +91,7 @@ years = "1985:1989:2",
vars = "LAISHA,LAISUN"

[[ rof_monthly ]]
active = #expand active_e3sm_diags#
active = #expand active_ts_month_rof#
bundle = "bundle3" # Override bundle1, let bundle1 finish first because "e3sm_diags: atm_monthly_180x360_aave_mvm" requires "ts: atm_monthly_180x360_aave"
extra_vars = 'areatotal2'
frequency = "monthly"
Expand All @@ -98,22 +101,24 @@ years = "1985:1989:2",
vars = "RIVER_DISCHARGE_OVER_LAND_LIQ"

[e3sm_to_cmip]
active = #expand active_e3sm_to_cmip#
active = True
bundle = "bundle1"
environment_commands = "#expand e3sm_to_cmip_environment_commands#"
frequency = "monthly"
ts_num_years = 2
years = "1985:1989:2",

[[ atm_monthly_180x360_aave ]]
active = #expand active_e3sm_to_cmip_month_atm#
input_files = "eam.h0"

[[ land_monthly ]]
active = #expand active_e3sm_to_cmip_month_lnd#
input_files = "elm.h0"

# TODO: Add "tc_analysis" back in after empty dat is resolved.
# [tc_analysis]
# active = True
# active = #expand active_tc_analysis#
# bundle = "bundle3" # Let bundle1 finish first because "e3sm_diags: atm_monthly_180x360_aave_mvm" requires "ts: atm_monthly_180x360_aave"
# years = "1985:1989:2",

Expand Down
21 changes: 13 additions & 8 deletions tests/integration/template_weekly_comprehensive_v2.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,21 @@ active = True
walltime = "00:30:00"

[[ atm_monthly_180x360_aave ]]
active = #expand active_climo_month_atm#
frequency = "monthly"
input_files = "eam.h0"
input_subdir = "archive/atm/hist"
vars = ""

[[ atm_monthly_diurnal_8xdaily_180x360_aave ]]
active = #expand active_e3sm_diags#
active = #expand active_climo_diurnal_atm#
frequency = "diurnal_8xdaily"
input_files = "eam.h3"
input_subdir = "archive/atm/hist"
vars = "PRECT"

[[ land_monthly_climo ]]
active = #expand active_e3sm_diags#
active = #expand active_climo_month_lnd#
frequency = "monthly"
input_files = "elm.h0"
input_subdir = "archive/lnd/hist"
Expand All @@ -43,19 +44,20 @@ active = True
walltime = "00:30:00"

[[ atm_monthly_180x360_aave ]]
active = #expand active_ts_month_atm#
frequency = "monthly"
input_files = "eam.h0"
input_subdir = "archive/atm/hist"

[[ atm_daily_180x360_aave ]]
active = #expand active_e3sm_diags#
active = #expand active_ts_daily_atm#
frequency = "daily"
input_files = "eam.h1"
input_subdir = "archive/atm/hist"
vars = "PRECT"

[[ rof_monthly ]]
active = #expand active_e3sm_diags#
active = #expand active_ts_month_rof#
extra_vars = 'areatotal2'
frequency = "monthly"
input_files = "mosart.h0"
Expand All @@ -65,15 +67,15 @@ walltime = "00:30:00"

[[ atm_monthly_glb ]]
# Note global average won't work for 3D variables.
active = #expand active_global_time_series#
active = #expand active_ts_month_atm_glb#
frequency = "monthly"
input_files = "eam.h0"
input_subdir = "archive/atm/hist"
mapping_file = "glb"
years = "1980:1990:5",

[[ lnd_monthly_glb ]]
active = #expand active_global_time_series#
active = #expand active_ts_month_lnd_glb#
frequency = "monthly"
input_files = "elm.h0"
input_subdir = "archive/lnd/hist"
Expand All @@ -82,27 +84,30 @@ walltime = "00:30:00"
years = "1980:1990:5",

[[ land_monthly ]]
active = #expand active_ts_month_lnd#
extra_vars = "landfrac"
frequency = "monthly"
input_files = "elm.h0"
input_subdir = "archive/lnd/hist"
vars = "LAISHA,LAISUN"

[e3sm_to_cmip]
active = #expand active_e3sm_to_cmip#
active = True
environment_commands = "#expand e3sm_to_cmip_environment_commands#"
frequency = "monthly"
ts_num_years=2
walltime = "00:30:00"

[[ atm_monthly_180x360_aave ]]
active = #expand active_e3sm_to_cmip_month_atm#
input_files = "eam.h0"

[[ land_monthly ]]
active = #expand active_e3sm_to_cmip_month_lnd#
input_files = "elm.h0"

[tc_analysis]
active = #expand active_e3sm_diags#
active = #expand active_tc_analysis#
walltime = "00:30:00"

[e3sm_diags]
Expand Down
Loading
Loading