Skip to content

Fix stability issues in the coupling of LandModel (soil + snow + canopy) - #170

Merged
bgroenks96 merged 47 commits into
bg/fix-soil-evaporationfrom
bg/speedy-coupling-veg
Aug 24, 2026
Merged

Fix stability issues in the coupling of LandModel (soil + snow + canopy)#170
bgroenks96 merged 47 commits into
bg/fix-soil-evaporationfrom
bg/speedy-coupling-veg

Conversation

@bgroenks96

@bgroenks96 bgroenks96 commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

This PR is a collection of fixes that were necessary to get the coupling of the full LandModel with PrescribedVegetation and SingleLayerSnow semi-working with both SpeedyWeather and ERA5-Land forcing.

Summary of changes

  • Rewrite the implementation of MedlynStomatalConductance to (a) be more physically consistent, and (b) handle corner cases like where the VPD is zero and An < 0 (@mahabadri)
  • Partial fix for CanopyWaterInterception accumulating negative water storage; clamping of the water storage term in each timestep should be added in a later PR
  • Fix PALADYNCanopyEvapotranspiration allowing for negative transpiration; the transpirative humidity flux is now clamped at zero, but deposition may still occur via the canopy term
  • Fix incorrect implementation of compute_transpiration_conductance that allowed for nonzero transpiration over unvegetated grid cells
  • Fix incorrect handling of residual water content in soil moisture evaporation resistance factor
  • Add a lower resolution (N72) variant of the ERA5-Land LAI climatology for faster data loading in examples
  • Increase numerical precision of R_v and R_d in Thermodynamics constants to increase accuracy of derived universal gas constant
  • Add more rigorous tests for SEB solver under snow-free, snow-covered, and vegetated conditions

- VPD is now clipped from below at 0.1 kPa to avoid dvision by zero
- Fixed dimensional inconsistencies in stomatal conductance formula
- Added diffusivity ratio of water to CO2 as struct field rather than magic constant
Adds integration tests with LandModel that stress
test the implicit skin temperature solver over a
coarse grid of meteorological conditions.
@bgroenks96
bgroenks96 force-pushed the bg/speedy-coupling-veg branch from 6eff394 to 2b5dbc1 Compare August 20, 2026 16:36
@bgroenks96 bgroenks96 changed the title WIP: More debugging of full soil + snow + vegetation coupling to Speedy and ERA5-Land Fix stability issues in the coupling of LandModel (soil + snow + canopy) Aug 21, 2026
@bgroenks96 bgroenks96 added this to the v0.2 milestone Aug 21, 2026
@bgroenks96 bgroenks96 added vegetation Issue or feature related to vegetation components surface fluxes Issue or feature related to the surface energy and water balance coupling Issue related to coupling with other models or foreign APIs labels Aug 21, 2026
@bgroenks96
bgroenks96 marked this pull request as ready for review August 21, 2026 16:37
@bgroenks96
bgroenks96 changed the base branch from main to bg/fix-soil-evaporation August 23, 2026 10:32
Comment thread docs/dev/2026-07/2026-07-08-PLAN_reactant.md
Comment thread examples/simulations/speedy_wet_land.jl Outdated
Comment thread src/diagnostics/surface_fluxes.jl
Comment thread src/input_output/assets.jl
Comment thread src/processes/atmosphere/prescribed_atmosphere.jl Outdated
Comment thread src/processes/surface/evapotranspiration/ground_resistance_factor.jl Outdated
Comment thread test/surface/skin_temperature.jl
@bgroenks96
bgroenks96 merged commit 176613d into main Aug 24, 2026
10 checks passed
@bgroenks96
bgroenks96 deleted the bg/speedy-coupling-veg branch August 24, 2026 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coupling Issue related to coupling with other models or foreign APIs surface fluxes Issue or feature related to the surface energy and water balance vegetation Issue or feature related to vegetation components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants