Skip to content

p4zbio

Overview

Main PISCES module that manages the interactions between the different compartments of the model depending on the version.

Module Name: p4zbio
Model: PISCES (version NEMO 5.0)
Subroutine: p4z_bio


p4z_bio

1. Initialization

Shear Rate:

  • calculates the shear rate (xdiss(ji,jj,jk)) which equal 1 in the mixed layer and 0.01 below the mixed layer (depth (gdepw) > hmld). The 100-fold reduction in shear rate below the mixed layer reflects reduced turbulent mixing.

Particulate Production/Consumption:

  • Initializes Particulate Organic Carbon (POC) arrays:
    • prodpoc(:,:,:) = 0.0 - POC production
    • conspoc(:,:,:) = 0.0 - POC consumption
  • For non-p2z models, initializes Large Organic Carbon (GOC) arrays:
    • prodgoc(:,:,:) = 0.0 - GOC production
    • consgoc(:,:,:) = 0.0 - GOC consumption

2. Main Sequence

PISCES biogeochemical process call order.

  1. Optical Model (p4z_opt)

    • Computes Photosynthetically Available Radiation (PAR) throughout the water column
  2. Vertical Sinking (p4z_sink)

    • Calculates vertical flux of particulate organic matter
  3. Model-Specific Biological Process Calls

    • PISCES-Simple (ln_p2z = .true.):
      • p2z_lim - Limitation by nitrate
      • p2z_prod - Phytoplankton growth rate
      • p2z_mort - Mortality terms
      • p2z_micro - Generic zooplankton
    • PISCES-Operational (ln_p4z = .true.):
      • p4z_lim - Co-limitations by nutrients
      • p4z_prod - Phytoplankton growth rate
      • p4z_mort - Mortality terms
      • p4z_micro - Microzooplankton
      • p4z_meso - Mesozooplankton
    • PISCES-Research (ln_p5z = .true.):
      • p5z_lim - Co-limitations by nutrients
      • p5z_prod - Phytoplankton growth rate
      • p5z_mort - Mortality terms
      • p5z_micro - Microzooplankton
      • p5z_meso - Mesozooplankton
    • PISCES Simple:
      • p2z_rem - Organic matter remineralization
    • PISCES Operational/Research:
      • p4z_agg - Particle aggregation
      • p4z_rem - Organic matter remineralization and Fe scavenging
    • All versions:
      • p4z_poc - Remineralization of organic particles
    • PISCES Operational/Research:
      • p4z_ligand (optional; ln_ligand = .true.) - Production of organic ligands

3. Size Class Updates

Updates phytoplankton size classes with minimum threshold of 1.0:

  • sizen(:,:,:) - Nanophytoplankton size (all versions)
  • sized(:,:,:) - Diatom size (p4z and p5z versions)
  • sizep(:,:,:) - Picophytoplankton size (p5z only)

Note

Minimum size of 1.0 prevents numerical issues in subsequent calculations.

4. Debugging Output

When sn_cfctl%l_prttrc = .true.:

  • Prints mean trends of all tracers
  • Uses prt_ctl for formatted output

Note

Use sn_cfctl%l_prttrc flag produces extensive output

Execution Flow Diagram

START p4z_bio
    ├─► Initialize shear rate (xdiss)
    │   • Mixed layer: 1.0
    │   • Below mixed layer: 0.01
    ├─► Initialize production/consumption arrays
    │   • prodpoc, conspoc
    │   • prodgoc, consgoc (if not p2z)
    ├─► GENERAL PROCESSES
    │   ├─► p4z_opt (optical model)
    │   ├─► p4z_sink (vertical sinking)
    │   └─► p4z_fechem (iron chemistry)
    ├─► MODEL-SPECIFIC PROCESSES
    │   │
    │   ├─► IF ln_p2z (PISCES-Simple)
    │   │   ├─► p2z_lim (nutrient limitation)
    │   │   ├─► p2z_prod (production)
    │   │   ├─► p2z_mort (mortality)
    │   │   └─► p2z_micro (microzooplankton)
    │   │
    │   ├─► ELSE IF ln_p4z (PISCES-Operational)
    │   │   ├─► p4z_lim (nutrient limitation)
    │   │   ├─► p4z_prod (production)
    │   │   ├─► p4z_mort (mortality)
    │   │   ├─► p4z_micro (microzooplankton)
    │   │   └─► p4z_meso (mesozooplankton)
    │   │
    │   └─► ELSE (PISCES-Research)
    │       ├─► p5z_lim (nutrient limitation)
    │       ├─► p5z_prod (production)
    │       ├─► p5z_mort (mortality)
    │       ├─► p5z_micro (microzooplankton)
    │       └─► p5z_meso (mesozooplankton)
    ├─► REMINERALIZATION PROCESSES
    │   ├─► IF ln_p2z
    │   │   └─► p2z_rem
    │   └─► ELSE
    │       ├─► p4z_agg (aggregation)
    │       └─► p4z_rem (remineralization)
    │   └─► p4z_poc (POC remineralization)
    ├─► OPTIONAL PROCESSES
    │   ├─► p4z_ligand (ligand production, optional)
    │   └─► p4z_diaz (diazotrophy)
    ├─► POST-PROCESSING
    │   └─► Update size classes (sizen, sized, sizep)
    └─► DEBUG OUTPUT (if enabled)
        └─► Print tracer trends
END p4z_bio

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)

Variables

Input Arrays

  • gdepw(ji,jj,jk,Kmm) - Depth of w-points
  • hmld(ji,jj) - Mixed layer depth

Output Arrays

  • xdiss(ji,jj,jk) - Shear rate for aggregation of phytoplankton and detritus
  • prodpoc(ji,jj,jk) - POC production rate
  • conspoc(ji,jj,jk) - POC consumption rate
  • prodgoc(ji,jj,jk) - GOC production rate (p4z/p5z only)
  • consgoc(ji,jj,jk) - GOC consumption rate (p4z/p5z only)
  • sizen/sized/sizep(ji,jj,jk) - Phytoplankton size classes
  • tr(:,:,:,:,Krhs) - Tracer tendencies

Control Flags

Flag Type Description Debugging option
ln_timing LOGICAL Enables timing diagnostics
ln_p2z LOGICAL Activates PISCES-Simple
ln_p4z LOGICAL Activates PISCES-Operational
ln_p5z LOGICAL Activates PISCES-Research
ln_ligand LOGICAL Enables ligand production
ln_fechem LOGICAL Enables iron chemistry
ln_prod LOGICAL Enables primary production
ln_mort LOGICAL Enables mortality processes
ln_micro LOGICAL Enables microzooplankton
ln_meso LOGICAL Enables mesozooplankton
ln_poc LOGICAL Enables POC remineralization
ln_agg LOGICAL Enables particle aggregation
ln_rem LOGICAL Enables remineralization
ln_diaz LOGICAL Enables diazotrophy

Warning

  • Enable/Disable processes by logical flag in the PISCES namelist for debugging purposes only

Dependencies

  • oce_trc - Shared variables between ocean and passive tracers
  • trc - Passive tracers common variables
  • sms_pisces - PISCES Source Minus Sink variables
  • p4zsink - Vertical flux of particulate matter due to sinking
  • p4zopt - Optical model
  • p4zrem - Remineralization of organic matter
  • p4zpoc - Remineralization of organic particles
  • p4zagg - Aggregation of particles
  • p4zfechem - Iron chemistry
  • p4zligand - Prognostic ligand model
  • p4zdiaz - Diazotrophy
  • prtctl - Print control for debugging
  • iom - I/O manager

For PISCES-Simple:

  • p2zlim - Co-limitation by nitrate
  • p2zprod - Phytoplankton growth rate
  • p2zmicro - Microzooplankton sources/sinks
  • p2zmort - Phytoplankton mortality

For PISCES-Operational:

  • p4zlim - Co-limitations by different nutrients
  • p4zprod - Growth rate of 2 phytoplankton groups
  • p4zmort - Phytoplankton mortality
  • p4zmicro - Microzooplankton sources/sinks
  • p4zmeso - Mesozooplankton sources/sinks

For PISCES-Research:

  • p5zlim - Co-limitations by different nutrients
  • p5zprod - Growth rate of 3 phytoplankton groups
  • p5zmort - Phytoplankton mortality
  • p5zmicro - Microzooplankton sources/sinks
  • p5zmeso - Mesozooplankton sources/sinks

Document Version: 1.0
Last Updated: October 2025
Source code: NEMO 5.0