Skip to content

Added flexibility on soil layer definitions in MPAS#33

Draft
mpaiao wants to merge 2 commits into
monanadmin:feature/monan_2.0.0from
mpaiao:mpaiao-pr-flex-nsoil
Draft

Added flexibility on soil layer definitions in MPAS#33
mpaiao wants to merge 2 commits into
monanadmin:feature/monan_2.0.0from
mpaiao:mpaiao-pr-flex-nsoil

Conversation

@mpaiao
Copy link
Copy Markdown

@mpaiao mpaiao commented May 26, 2026

Pull Request Description

The original MPAS and MONAN codes impose soils to have 2-m depth and 4 layers (10, 30, 60 and 100 cm). These are rather shallow soils for many of the tropical forest biomes, where trees are known to have rooting depths of 10 m or more.

This code defines a new namelist block (soil_grid) for soil initialisation in namelist.init_atmosphere, and two variables that control how the thickness of each soil layer varies with depth.

  • config_dzstop. The thickness of the top most soil layer (ΔzTop)
  • config_kzs. An exponential factor that makes deeper soil layers thicker in a monotonic and predictable way (κ).

The soil thickness of layer n (Δzn) is defined as:
Δzn = ΔzTop exp[ κ ( n - 1 ) ]

With these changes, the total number of soil layers (config_nsoillevels) no longer needs to be 4. One potential downside of this pull request is that the default soil layers will be slightly different from the default. If this turns out to be a problem, I can make some special case (e.g., kzs=0.) to create the previous layers.

This pull request needs tests, so I am leaving it as a draft for the time being. I will update it to ready for review once this is more extensively tested.

Type of Change

  • Bug fix
  • Hot fix
  • New feature
  • Improvement to existing functionality
  • Code refactoring
  • Code optimization
  • Other: ______

Testing and Quality

  • Code was written following MONAN’s DTN-01 (Coding Standard)
  • Compilation and execution tests of the model were executed
  • Test with the debug flag was executed
  • Results are reproducible with the default configuration

Scientific Impact

Soils in many regions (notably across tropical moist forests) can be markedly deeper than the default of 2.0 m. By allowing roots to reach deeper soils (e.g., in the Amazon rooting depth often can be as deep as 10 metres), this change may allow better representation of seasonal cycles of sensible heat flux and evapotranspiration.

mpaiao added 2 commits May 26, 2026 07:55
…o run with more than

four soil layers. The logic in mpas_atmphys_driver_lsm_noahmp.F can be simplified to a
single loop that will always work. Likewise, Registry_noahmp.xml does not need to have the
combined number of soil plus snow levels (nzSoilLevels) hardcoded, it can be written as the
sum of the levels so it always works.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant