Console Output
+ source /etc/profile.d/larson-group.sh
++ export GIT_EDITOR=vi
++ GIT_EDITOR=vi
++ export SVN_EDITOR=vi
++ SVN_EDITOR=vi
++ export OMP_STACKSIZE=1048579
++ OMP_STACKSIZE=1048579
++ export LMOD_ROOT=/opt/lmod/
++ LMOD_ROOT=/opt/lmod/
++ source /opt/lmod//lmod/lmod/init/bash
+++ '[' -z '' ']'
+++ case "$-" in
+++ __lmod_vx=x
+++ '[' -n x ']'
+++ set +x
Shell debugging temporarily silenced: export LMOD_SH_DBG_ON=1 for this output (/usr/local/spack/opt/spack/linux-pop22-cascadelake/gcc-12.2.0/lmod-8.7.37-bi3kyxcdrfgw3y7vv2k7c5rjxg75qzju/lmod/lmod/init/bash)
Shell debugging restarted
+++ unset __lmod_vx
+++ find /usr/local/spack/share/spack/lmod/linux-pop22-x86_64/Core -print -quit
++ export MODULEPATH=/usr/local/spack/share/spack/lmod/linux-pop22-x86_64/Core
++ MODULEPATH=/usr/local/spack/share/spack/lmod/linux-pop22-x86_64/Core
+ module load gcc netcdf-fortran
+ '[' -z '' ']'
+ case "$-" in
+ __lmod_sh_dbg=x
+ '[' -n x ']'
+ set +x
Shell debugging temporarily silenced: export LMOD_SH_DBG_ON=1 for Lmod's output
Lmod Warning:
-------------------------------------------------------------------------------
The following dependent module(s) are not currently loaded:
gcc-runtime/13.1.0-gzedt3f (required by: mpich/4.2.1, hdf5/1.14.3-42x3zrv,
netcdf-c/4.9.2, netcdf-fortran/4.5.3)
-------------------------------------------------------------------------------
Shell debugging restarted
+ unset __lmod_sh_dbg
+ return 0
+ ulimit -s 8388608
+ python3 tests/run_jax_comparison_mutation_test.py
==> No compatible Python found for cpu; uv will download Python 3.12
==> Installing uv 0.11.32 in /home/jenkins/workspace/clubb_jax_branch/.clubb-jax-tools/bin
downloading uv 0.11.32 x86_64-unknown-linux-gnu
installing to /home/jenkins/workspace/clubb_jax_branch/.clubb-jax-tools/bin
uv
uvx
everything's installed!
==> uv is ready: uv 0.11.32 (x86_64-unknown-linux-gnu)
Downloading cpython-3.12.13-linux-x86_64-gnu (download) (32.6MiB)
Downloaded cpython-3.12.13-linux-x86_64-gnu (download)
Using CPython 3.12.13
Creating virtual environment at: .venv-jax
Activate with: source .venv-jax/bin/activate
==> Installing JAX 0.11.0 (cpu) and requirements from /home/jenkins/workspace/clubb_jax_branch/clubb_jax/requirements.txt
Using Python 3.12.13 environment at: .venv-jax
Resolved 15 packages in 390ms
Downloading pygments (1.2MiB)
Downloading scipy (33.7MiB)
Downloading numpy (15.9MiB)
Downloading netcdf4 (9.7MiB)
Downloading cftime (1.6MiB)
Downloading jax (3.1MiB)
Downloading jaxlib (83.2MiB)
Downloaded cftime
Downloaded pygments
Downloaded netcdf4
Downloaded jax
Downloaded numpy
Downloaded scipy
Downloaded jaxlib
Prepared 15 packages in 5.50s
Installed 15 packages in 41ms
+ certifi==2026.7.22
+ cftime==1.6.6
+ iniconfig==2.3.0
+ jax==0.11.0
+ jaxlib==0.11.0
+ ml-dtypes==0.6.0
+ netcdf4==1.7.4
+ numpy==2.5.3
+ opt-einsum==3.4.0
+ packaging==26.3
+ pluggy==1.6.0
+ pygments==2.21.0
+ pytest==9.1.1
+ scipy==1.18.1
+ tabulate==0.10.0
CLUBB JAX runtime:
Environment: /home/jenkins/workspace/clubb_jax_branch/.venv-jax (Python 3.12)
Accelerator: cpu
JAX: 0.11.0 (jaxlib 0.11.0)
Device: cpu:0
Mutation test artifacts: /home/jenkins/workspace/clubb_jax_branch/output/tests/jax_comparison_mutation_vikza7ma
Control: running unmodified bomex comparison...
Control passed.
Mutation heating: running comparison...
PASS heating: thlm mean absolute difference 0.00015; failing columns [1, 2, 3, 4].
Mutation parameter_handling: running comparison...
PASS parameter_handling: wp3 mean absolute difference 9.25992e-07; failing columns [2, 3, 4].
Mutation first_column: running comparison...
PASS first_column: wp3 mean absolute difference 4.69019e-07; failing columns [2, 3, 4].
Mutation missing_stat: running comparison...
PASS missing_stat: wprtp absent only from JAX output; strict comparison rejected it.
==============================================================================
Expected failure test: PASS
==============================================================================
Case: bomex | 4 timesteps x 60 s | 4 columns | CPU/double
Statistics: input/stats/multi_col_stats.in
Tolerances: JAX-versus-Fortran harness defaults (absolute 1e-07; percentage 1e-07%)
[PASS] Unmodified control — JAX and Fortran matched.
[PASS] heating
Add 1e-6 K/s of spurious heating to every column.
Numerical difference detected; both models completed 4 timesteps.
thlm: mean absolute difference 0.00015; mean percentage difference 4.91235e-05%
Failing columns: 1, 2, 3, 4; first comparison failure: timestep 1.
[PASS] parameter_handling
Load C8 as [0.2, 0.3, 0.4, 0.5] instead of [0.2, 0.4, 0.6, 0.8].
Numerical difference detected; both models completed 4 timesteps.
wp3: mean absolute difference 9.25992e-07; mean percentage difference 0.244887%
Failing columns: 2, 3, 4; first comparison failure: timestep 1.
[PASS] first_column
Use column 1's previous wp3 in every column's timestep equation.
Numerical difference detected; both models completed 4 timesteps.
wp3: mean absolute difference 4.69019e-07; mean percentage difference 0.118965%
Failing columns: 2, 3, 4; first comparison failure: timestep 3.
[PASS] missing_stat
Omit wprtp from JAX statistics output while keeping its calculation.
wprtp is missing only from JAX output; both models completed 4 timesteps.
Strict bindiff detected the missing variable; other stats were unchanged.
Result: PASS — 4/4 mutations verified | 138.1 s
Logs and outputs: /home/jenkins/workspace/clubb_jax_branch/output/tests/jax_comparison_mutation_vikza7ma
==============================================================================