Skip to content

Add implicit stepping to biogeochemistry#1752

Merged
kmdeck merged 1 commit into
mainfrom
kd/implicit_co2
Jun 1, 2026
Merged

Add implicit stepping to biogeochemistry#1752
kmdeck merged 1 commit into
mainfrom
kd/implicit_co2

Conversation

@kmdeck

@kmdeck kmdeck commented May 26, 2026

Copy link
Copy Markdown
Member

Purpose

Creates an implicit tendency for the biogeochemistry model with the diffusion terms. This allows us to remove some of the limiters in the model.

Note that source terms are treated explicitly still.

To-do

Content

Current main for US-MOz
hr_timeseries
This branch:
hr_timeseries


  • I have read and checked the items on the review checklist.

@kmdeck kmdeck force-pushed the kd/implicit_co2 branch from 39f2b3c to 1460211 Compare May 27, 2026 16:09
@kmdeck kmdeck self-assigned this May 27, 2026
Comment thread src/integrated/land.jl
@kmdeck kmdeck added the Run benchmarks Add this label to run benchmarks on clima label May 29, 2026
@kmdeck kmdeck marked this pull request as ready for review May 29, 2026 20:15
@kmdeck kmdeck force-pushed the kd/implicit_co2 branch 3 times, most recently from a4c3cd4 to 7d57789 Compare June 1, 2026 19:52
@kmdeck kmdeck force-pushed the kd/implicit_co2 branch from 7d57789 to 8880ed9 Compare June 1, 2026 19:54
@kmdeck kmdeck enabled auto-merge (squash) June 1, 2026 20:49
@kmdeck kmdeck merged commit 2c96dfd into main Jun 1, 2026
14 of 16 checks passed
@kmdeck kmdeck deleted the kd/implicit_co2 branch June 1, 2026 21:06
AlexisRenchon added a commit that referenced this pull request Jun 2, 2026
…spiration

Rebased onto main: brings the soil energy-hydrology Jacobian GPU-codegen fix
(hoist float(dtγ) out of the broadcast) that the stale branch was missing.
That InvalidIRError crashed every forward-model member at compile time;
solve! swallowed it, leaving empty output that observation_map NaN-filled,
which read as an "all-NaN" calibration. Also picks up ClimaCore 0.14.52 /
GPUCompiler 1.13.3 and the implicit-biogeochemistry update (#1752).

Adapted the inversion calibration to main's refactored leaderboard data API
(get_sim_var_dict closures -> preprocess_sim_var dispatch):
- data_sources.jl: _preprocess_sim_var(::Val{:hr}); get_inversion_obs_var_dict
  returning full-timeseries OutputVars; merged into get_calibration_obs_var_dict.
- observation_map.jl: inv_*->nee/gpp/er/hr sim aliasing + retag after preprocess.

Squashed from WIP commits de2971f, ddc2a5c, 8f4071c, 300399e, 0b22d51
(preserved in branch backup/pre-rebase-2026-06-02).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
AlexisRenchon added a commit that referenced this pull request Jun 12, 2026
Rebased onto main: brings the soil energy-hydrology Jacobian GPU-codegen fix
(hoist float(dtγ) out of the broadcast) that the stale branch was missing.
That InvalidIRError crashed every forward-model member at compile time;
solve! swallowed it, leaving empty output that observation_map NaN-filled,
which read as an "all-NaN" calibration. Also picks up ClimaCore 0.14.52 /
GPUCompiler 1.13.3 and the implicit-biogeochemistry update (#1752).

Adapted the inversion calibration to main's refactored leaderboard data API
(get_sim_var_dict closures -> preprocess_sim_var dispatch):
- data_sources.jl: _preprocess_sim_var(::Val{:hr}); get_inversion_obs_var_dict
  returning full-timeseries OutputVars; merged into get_calibration_obs_var_dict.
- observation_map.jl: inv_*->nee/gpp/er/hr sim aliasing + retag after preprocess.
@AlexisRenchon AlexisRenchon mentioned this pull request Jun 12, 2026
AlexisRenchon added a commit that referenced this pull request Jun 18, 2026
Rebased onto main: brings the soil energy-hydrology Jacobian GPU-codegen fix
(hoist float(dtγ) out of the broadcast) that the stale branch was missing.
That InvalidIRError crashed every forward-model member at compile time;
solve! swallowed it, leaving empty output that observation_map NaN-filled,
which read as an "all-NaN" calibration. Also picks up ClimaCore 0.14.52 /
GPUCompiler 1.13.3 and the implicit-biogeochemistry update (#1752).

Adapted the inversion calibration to main's refactored leaderboard data API
(get_sim_var_dict closures -> preprocess_sim_var dispatch):
- data_sources.jl: _preprocess_sim_var(::Val{:hr}); get_inversion_obs_var_dict
  returning full-timeseries OutputVars; merged into get_calibration_obs_var_dict.
- observation_map.jl: inv_*->nee/gpp/er/hr sim aliasing + retag after preprocess.
AlexisRenchon added a commit that referenced this pull request Jun 24, 2026
Rebased onto main: brings the soil energy-hydrology Jacobian GPU-codegen fix
(hoist float(dtγ) out of the broadcast) that the stale branch was missing.
That InvalidIRError crashed every forward-model member at compile time;
solve! swallowed it, leaving empty output that observation_map NaN-filled,
which read as an "all-NaN" calibration. Also picks up ClimaCore 0.14.52 /
GPUCompiler 1.13.3 and the implicit-biogeochemistry update (#1752).

Adapted the inversion calibration to main's refactored leaderboard data API
(get_sim_var_dict closures -> preprocess_sim_var dispatch):
- data_sources.jl: _preprocess_sim_var(::Val{:hr}); get_inversion_obs_var_dict
  returning full-timeseries OutputVars; merged into get_calibration_obs_var_dict.
- observation_map.jl: inv_*->nee/gpp/er/hr sim aliasing + retag after preprocess.
AlexisRenchon added a commit that referenced this pull request Jun 30, 2026
Rebased onto main: brings the soil energy-hydrology Jacobian GPU-codegen fix
(hoist float(dtγ) out of the broadcast) that the stale branch was missing.
That InvalidIRError crashed every forward-model member at compile time;
solve! swallowed it, leaving empty output that observation_map NaN-filled,
which read as an "all-NaN" calibration. Also picks up ClimaCore 0.14.52 /
GPUCompiler 1.13.3 and the implicit-biogeochemistry update (#1752).

Adapted the inversion calibration to main's refactored leaderboard data API
(get_sim_var_dict closures -> preprocess_sim_var dispatch):
- data_sources.jl: _preprocess_sim_var(::Val{:hr}); get_inversion_obs_var_dict
  returning full-timeseries OutputVars; merged into get_calibration_obs_var_dict.
- observation_map.jl: inv_*->nee/gpp/er/hr sim aliasing + retag after preprocess.
AlexisRenchon added a commit that referenced this pull request Jul 6, 2026
Rebased onto main: brings the soil energy-hydrology Jacobian GPU-codegen fix
(hoist float(dtγ) out of the broadcast) that the stale branch was missing.
That InvalidIRError crashed every forward-model member at compile time;
solve! swallowed it, leaving empty output that observation_map NaN-filled,
which read as an "all-NaN" calibration. Also picks up ClimaCore 0.14.52 /
GPUCompiler 1.13.3 and the implicit-biogeochemistry update (#1752).

Adapted the inversion calibration to main's refactored leaderboard data API
(get_sim_var_dict closures -> preprocess_sim_var dispatch):
- data_sources.jl: _preprocess_sim_var(::Val{:hr}); get_inversion_obs_var_dict
  returning full-timeseries OutputVars; merged into get_calibration_obs_var_dict.
- observation_map.jl: inv_*->nee/gpp/er/hr sim aliasing + retag after preprocess.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Run benchmarks Add this label to run benchmarks on clima Run long runs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants