Skip to content

Added flexibility on soil layer definitions in MPAS - #33

Draft
mpaiao wants to merge 59 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 59 commits into
monanadmin:feature/monan_2.0.0from
mpaiao:mpaiao-pr-flex-nsoil

Conversation

@mpaiao

@mpaiao mpaiao commented May 26, 2026

Copy link
Copy Markdown
Contributor

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 and others added 23 commits January 5, 2026 07:41
This is the first commit to implement geographically variable soil colour initialisation
in MONAN. First, the original Noah-MP table of albedo thresholds was replaced by the
CLM-5, and the code was edited so the soil colour class is no longer hardcoded.
…and replaces the

original classes in NoahMP (8 classes) with those defined in CLM-5 (20 classes).

This has not been tested yet, so it is likely the first of a few commits until the new
capability is fully functional.
…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.
-fopenmp \ -march \ -fno-fast-math \ -ffp-contract=off (for optimization)
-finit-real=nan -finit-integer=-999 (for debug)

(cherry picked from commit 64727c0)
…ants the default

settings and has not updated NoahmpTable.TBL
marcelopaivaramos and others added 6 commits July 1, 2026 14:49
…ensure successful compilation of the MONAN model with NVIDIA NVHPC (25.11) and Cray NVHPC (PrgEnv-nvidia/8.6.0).
… colour directory

is not found. This __should__ allow for the code to proceed without failing.
…outine. It seems the

code is overwriting the default value.
joaomas and others added 4 commits July 15, 2026 10:00
…nvhpc in Develop

NVHPC compilation support
Add spatially heterogeneous soil colour maps for NoahMP (based on feature/monan-757-NF) - Tested and approved on Develop
netosylvio and others added 24 commits July 18, 2026 03:33
…its setting noahmp e ugwp_gwdo default parameters
Removed deprecated gwdo and lsm scheme checks for suite configuration.
…-ugwp

Update default physics options for mesoscale_reference_monan and convection_permitting_monan with noahmp and ugwp parameters
…n compiled or tested,

so this will likely need follow-up commits to fix it.
Soil layer bug
Testes ok
Testes with debug on ok 
Testes 72 fct ok
…-table-shape

fix noahmp: match radiative table assignment to NSC
…-rewind

fix(noahmp): rewind table after missing radiation categories
…ween

my original commit and the current develop.
Implement cumulative variables for common surface fluxes -- OK
removing mtune and mmarch
@mpaiao
mpaiao force-pushed the mpaiao-pr-flex-nsoil branch from 739d29d to 9af011f Compare August 22, 2026 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants