p4zsed
Overview
This module implements a simplified representation of sediment processes in the PISCES biogeochemical model. It is not an explicit sediment model but a metamodel that computes organic matter loss in sediments.
Module Name: p4zsed
Model: PISCES (version NEMO 5.0)
Subroutines: p4z_sed, p4z_sed_init, p4z_sed_alloc
Public Variables
sdenit(:,:)- Nitrate reduction in sediment (2D array)
Module Parameters
Namelist: nampissed
| Parameter | Description | Type |
|---|---|---|
bureffmin |
Minimum burial efficiency | REAL |
bureffvar |
Variable coefficient for burial efficiency | REAL |
sedsilfrac |
Percentage of silica loss in the sediments | REAL |
sedcalfrac |
Percentage of calcite loss in the sediments | REAL |
sedfactcalmin |
Minimum value for dissolving calcite at the bottom | REAL |
sedfactcalvar |
Variable value for dissolving calcite at the bottom | REAL |
p4z_sed main subroutine
Purpose
Computes the loss of organic matter in sediments at each bottom grid cell, including:
- Sediment denitrification
- Burial efficiency of organic matter
- Calcite dissolution
- Silica loss (for p4z and p5z configurations)
Input Parameters
| Parameter | Type | Intent | Description |
|---|---|---|---|
kt |
INTEGER | IN | Current time step index |
knt |
INTEGER | IN | Sub-time step counter |
Kbb |
INTEGER | IN | Time level index (before) |
Kmm |
INTEGER | IN | Time level index (now/middle) |
Krhs |
INTEGER | IN | Time level index (right-hand side/tendencies) |
Key Processes
1. Sediment Denitrification
Uses the metamodel from Middelburg et al, 19961 to compute denitrification proportion:
zpdenit = -2.2567 - 1.185*zflx1 - 0.221*zflx1² - 0.3995*zno3*zo2
+ 1.25*zno3 + 0.4721*zo2 - 0.0996*log10(zdep) + 0.4256*zflx1*zo2
Where:
- zflx1 = log10(flux of POC in g/m²/day)
- zo2 = log10(oxygen concentration in µM)
- zno3 = log10(nitrate concentration in µM)
- zdep = water depth in meters
2. Burial Efficiency
Computed using Dunne's model:
The fraction that is remineralized: zrivno3 = 1 - zbureff
3. Calcite Dissolution
Depends on carbonate saturation state (excess):
zfactcal = max(-0.1, min(excess, 0.2))
zfactcal = sedfactcalmin + sedfactcalvar * min(1.0, (0.1 + zfactcal)/(0.5 - zfactcal))
zrivalk = sedcalfrac * zfactcal
Affects alkalinity and dissolved inorganic carbon (DIC): - Alkalinity: +2 × calcite loss × zrivalk - DIC: +1 × calcite loss × zrivalk
4. Silica Loss (p4z/p5z only)
Computed as a function of silica flux:
zsiloss2 = sinksilb * (365.0 × 10³ × 10⁻⁴ × 10⁶) / xstep
zrivsil = 1.0 - sedsilfrac * zsiloss2 / (15.0 + zsiloss2)
Model Configurations
The module handles three PISCES versions differently:
P2Z Configuration (ln_p2z = .TRUE.)
Simplified nutrient cycling:
- DOC remineralization
- NO3 consumption/production via denitrification
- O2 consumption with factor
(o2ut + o2nit) - Alkalinity adjustment
- DIC production
P4Z Configuration (default)
Full nutrient cycling including:
- DOC, PO4, NH4, NO3, O2
- Alkalinity with factor
rno3 * (zolimit + (1+rdenit)*zpdenit) - Silica cycling
P5Z Configuration (ln_p5z = .TRUE.)
Extended configuration including:
- All p4z tracers
- Additional DON (dissolved organic nitrogen)
- Additional DOP (dissolved organic phosphorus)
- Partitioning based on sinking flux ratios
Tracer Updates
For each bottom grid cell (ikt = mbkt(ji,jj)), the following tracers are updated:
All configurations:
jpdoc- Dissolved organic carbonjptal- Total alkalinityjpdic- Dissolved inorganic carbonjpoxy- Oxygenjpno3- Nitrate
P4Z/P5Z only:
jppo4- Phosphatejpnh4- Ammoniumjpsil- Silicate (p4z only)
P5Z only:
jpdon- Dissolved organic nitrogenjpdop- Dissolved organic phosphorus
Diagnostic Outputs
The module provides the following diagnostic fields (when requested via XIOS):
Sdenit- Sediment denitrification rate (molN/m²/s)SedC- Buried organic carbon (molC/m²/s)SedCal- Buried calcite (molC/m²/s)SedSi- Buried silica (molSi/m²/s)
Dependencies
Required Modules
oce_trc- Shared variables between ocean and passive tracerstrc- Passive tracers common variablessms_pisces- PISCES Source Minus Sink variablesp4zsink- Sinking fluxessed- Sediment moduleiom- I/O managerprtctl- Print control for debugging
Required Substitutions
do_loop_substitute.h90- Loop macrosread_nml_substitute.h90- Namelist reading macrosdomzgr_substitute.h90- Vertical grid substitutions
Key Variables
Sinking Fluxes (from p4zsink)
sinkpocb(ji,jj)- POC flux at bottomsinkcalb(ji,jj)- Calcite flux at bottomsinksilb(ji,jj)- Silica flux at bottomsinkponb(ji,jj)- PON flux at bottom (p5z)sinkpopb(ji,jj)- POP flux at bottom (p5z)
Grid Variables
mbkt(ji,jj)- Bottom level indexe3t(ji,jj,ik,Kmm)- Vertical grid spacinggdepw(ji,jj,ik,Kmm)- Depth of w-points
Important Constants
rtrn- Truncation thresholdrdenit- Denitrification ratiorno3- Nitrate ratioo2ut- Oxygen utilizationo2nit- Oxygen for nitrification (p2z)rfact2r- Conversion factorxstep- Time step
Initialization Process
- Read namelist parameters from
nampissed - Allocate
sdenitarray - Initialize
sdenitto zero - Set
lk_sedflag based on sediment coupling options
Performance Considerations
- Uses optimized
DO_2Dloops for horizontal dimensions - Only computes for ocean points (
tmask == 1) - Conditional compilation for P2Z/P4Z/P5Z configurations
- Minimal I/O with conditional diagnostics
Numerical Stability
- Uses
MAX/MINfunctions to prevent numerical issues - 0.5 factor in denitrification calculation prevents negative NO3
- Logarithmic transformations for wide-range variables
- Truncation threshold
rtrnto avoid division by zero
Notes
- This is a simplified parameterization, not a mechanistic sediment model
- Burial is balanced against surface inputs (rivers, dust)
- Denitrification uses empirical relationships
- Assumes instant remineralization of non-buried fraction
References
- Dunne et al. - Burial efficiency parameterization
-
Jack J Middelburg, Karline Soetaert, Peter MJ Herman, and Carlo HR Heip. Denitrification in marine sediments: a model study. Global Biogeochemical Cycles, 10(4):661–673, 1996. ↩