Skip to content

Snow parameterizations helping permafrost#1766

Merged
kmdeck merged 4 commits into
mainfrom
kd/snow_tbot
Jun 16, 2026
Merged

Snow parameterizations helping permafrost#1766
kmdeck merged 4 commits into
mainfrom
kd/snow_tbot

Conversation

@kmdeck

@kmdeck kmdeck commented Jun 12, 2026

Copy link
Copy Markdown
Member

Purpose

Adds a simple parameterization for the bottom temperature of the snow (not optional), modularizes the thermal conductivity model of the snow, and adds a second parameterization option for this (Sturm).

This typically makes the bottom temperature warmer than the bulk temperature, which improves snow insulation over the soil, and has a big effect on permafrost locations. The Sturm conductivity model is also lower than the Jordan parameterization in general, and this helps with permafrost.

To-do

Impact

Main:
image

Bottom alone:
image

Sturm + Tbottom:
image

Content

Adds bottom snow temp as a cache variable to integrated models with soil and snow, and computes it during the ground heat flux computation

Adds another parameterization for thermal conductivity


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

@kmdeck kmdeck changed the title Kd/snow tbot Snow parameterizations helping permafrost Jun 15, 2026
@kmdeck kmdeck marked this pull request as ready for review June 15, 2026 21:16
@kmdeck kmdeck requested a review from AlexisRenchon June 15, 2026 21:31
AlexisRenchon added a commit that referenced this pull request Jun 16, 2026
…ttom-temp

Follow-up to #1766. Addresses review findings on the snow thermal-conductivity
and snow-bottom-temperature work:

- Fix LandModel possible-diagnostics name mismatch "snow_tbot" -> "snowtbot"
  (the snow-bottom-temp diagnostic was unreachable and output_vars=:long errored).
- Make the ghf and snow-conductivity diagnostics reachable; rename the non-ASCII
  short name snowκ -> snowk (and compute_snow_κ! -> compute_snow_k!).
- Add units/comments to the new snow diagnostics (K, W m^-1 K^-1, W m^-2).
- Fix the duplicated "F_g = F_g =" in update_soil_snow_ground_heat_flux! and
  restore the Δz_snow 10 cm cap rationale.
- Remove the vestigial, unused κ_ice kwarg from SnowParameters(toml_dict, Δt).
- Expand the snow_T_bottom docstring and add it to the API docs.
- Add tests: Sturm conductivity branches, snow_T_bottom limits/cap, and a
  diagnostics reachability regression test.
- Add NEWS.md entries (feature, breaking κ_ice->κ_snow, behavioral GHF change).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@AlexisRenchon AlexisRenchon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See suggestions in #1769 which is mostly some cleanup suggestions - feel free to add or not! (edit it as needed!)

kmdeck pushed a commit that referenced this pull request Jun 16, 2026
…ttom-temp

Follow-up to #1766. Addresses review findings on the snow thermal-conductivity
and snow-bottom-temperature work:

- Fix LandModel possible-diagnostics name mismatch "snow_tbot" -> "snowtbot"
  (the snow-bottom-temp diagnostic was unreachable and output_vars=:long errored).
- Make the ghf and snow-conductivity diagnostics reachable; rename the non-ASCII
  short name snowκ -> snowk (and compute_snow_κ! -> compute_snow_k!).
- Add units/comments to the new snow diagnostics (K, W m^-1 K^-1, W m^-2).
- Fix the duplicated "F_g = F_g =" in update_soil_snow_ground_heat_flux! and
  restore the Δz_snow 10 cm cap rationale.
- Remove the vestigial, unused κ_ice kwarg from SnowParameters(toml_dict, Δt).
- Expand the snow_T_bottom docstring and add it to the API docs.
- Add tests: Sturm conductivity branches, snow_T_bottom limits/cap, and a
  diagnostics reachability regression test.
- Add NEWS.md entries (feature, breaking κ_ice->κ_snow, behavioral GHF change).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kmdeck kmdeck added the Run benchmarks Add this label to run benchmarks on clima label Jun 16, 2026
@kmdeck kmdeck enabled auto-merge (squash) June 16, 2026 21:48
@kmdeck kmdeck merged commit 04da8bd into main Jun 16, 2026
14 of 15 checks passed
@kmdeck kmdeck deleted the kd/snow_tbot branch June 16, 2026 21:55
@kmdeck kmdeck mentioned this pull request Jun 16, 2026
1 task
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants