npzd Franks.in

From WikiROMS
Jump to: navigation, search
Franks NPZD Biological Model Input Script - npzd_Franks.in

The npzd_Franks.in file sets the parameters for the Franks et al. NPZD model. The name of this file is set by the BPARNAM keyword in the roms.in file. A default npzd_Franks.in standard input ASCII file can be found in the User/External subdirectory of the ROMS source code. In order to include the Franks et al. NPZD model in ROMS you must set BPARNAM correctly and activate the NPZD_FRANKS CPP option.


# index Description Units NetCDF variable
1 iNO3_ Nitrate concentration mmol/m3 NO3
2 iPhyt Phytoplankton biomass mmol/m3 phytoplankton
3 iZoop Zooplankton biomass mmol/m3 zooplankton
4 iSDet Detritus concentration mmol/m3 detritus


The "#" column denotes the internal index number within the idbio array while the "index" column is the index within the tracer array t(:,:,:,:,index).


The Franks NPZD model equations and representative parameters may be found in:


Note Notice: Detailed information about ROMS input script file syntax can be found here.


Biological Model Parameters

Input parameter units are specified within brackets ([ ])and default values are specified within braces ({ }).

  • This switch to control the computation of npzd_Franks within nested and/or multiple connected grids. By default this switch is set to TRUE in mod_scalars.F for all grids. Ngrids values are expected. The user has the option, for example, to compute the biology in just one of the nested grids. If so, this switch needs to be consistent with the dimension parameter NBT in mod_param.F. In order to make the model more efficient in memory usage, NBT(:) should be zero in such grids.
Lbiology == T
  • Maximum number of iterations to achieve convergence of the nonlinear solution.
BioIter == 1
  • Initial concentration for analytical uniform initial conditions, [millimole/m3]. It is only used when ANA_BIOLOGY is activated.
BioIni(iNO3_) == 1.67d0  ! nitrate
BioIni(iPhyt) == 0.08d0  ! phytoplankton
BioIni(iZoop) == 0.06d0  ! zooplankton
BioIni(iSDet) == 0.04d0  ! detritus
  • Light extinction coefficient, [1/m], {0.067}.
K_ext == 0.06d0
  • Inverse half-saturation for phytoplankton nitrate uptake [1/(millimole_N m-3)], {1.0d0}.
K_NO3 == 0.1d0
  • Phytoplankton saturation coefficient, [millimole_N m-3], {0.4d0}.
K_Phy == 0.4d0
  • Nitrate uptake rate, [1/day], {1.5d0}.
Vm_NO3 == 2.0d0
  • Phytoplankton senescence/mortality rate, [1/day], {0.1d0}.
PhyMR == 0.05d0
  • Zooplankton maximum growth rate, [1/day], {0.52}.
ZooGR == 0.6d0
  • Zooplankton mortality rate, [1/day], {0.145d0}.
ZooMR == 0.2d0
  • Zooplankton death bits rate, [1/day], {0.05d0}.
ZooMD == 0.05d0
  • Zooplankton grazing inefficiency, [nondimensional], {0.3d0}.
ZooGA == 0.3d0
  • Zooplankton excreted fraction, [nondimensional], {0.15d0}.
ZooEC == 0.15d0
  • Detritus remineralization rate, [1/day], {0.1d0}.
DetRR == 0.1d0
  • Detrital sinking rate, [m/day], {8.0d0}.
wDet == 5.0d0
  • Lateral, constant, harmonic/biharmonic horizontal diffusion of biological tracer for nonlinear model and adjoint-based algorithms: [1:NBT,Ngrids] values expected.
TNU2 == 4*0.0d0  ! m2/s
TNU4 == 4*0.0d0  ! m4/s

ad_TNU2 == 4*0.0d0  ! m2/s
ad_TNU4 == 4*0.0d0  ! m4/s
  • Vertical mixing coefficients for biological tracers: [1:NBT,Ngrids] values expected.
AKT_BAK == 4*1.0d-6  ! m2/s

ad_AKT_fac == 4*1.0d0  ! nondimensional
  • Nudging/relaxation time scales, inverse scales will be computed internally: [1:NBT,Ngrids] values expected.
TNUDG == 4*0.0d0  ! days
  • The lateral boundary conditions are entered with a keyword. A value is expected for each boundary segment per nested grid for each state variable. The biological tracer variables require [1:4,1:NBT,Ngrids] values. The boundary order is: 1=west, 2=south, 3=east, and 4=north. That is, anticlockwise starting at the western boundary.

    The keyword is case insensitive and usually has three characters. However, it is possible to have compound keywords, if applicable. For example, the keyword RadNud implies radiation boundary condition with nudging. This combination is usually used in active/passive radiation conditions.

    NoteNotice: It is possible to specify the lateral boundary conditions for all biological tracers in a compact form with a single entry. If so, all the biological tracers are assumed to have the same boundary condition as the single entry.
    ! Keyword Lateral Boundary Condition Type
    !
    ! Cla Clamped _____N_____ j=Mm
    ! Clo Closed | 4 |
    ! Gra Gradient | |
    ! Nes Nested 1 W E 3
    ! Nud Nudging | |
    ! Per Periodic |_____S_____|
    ! Rad Radiation 2 j=1
    ! i=1 i=Lm
    ! W S E N
    ! e o a o
    ! s u s r
    ! t t t t
    ! h h
    !
    ! 1 2 3 4


    LBC(isTvar) == Per Clo Per Clo \  ! idbio( 1), NO3
    Per Clo Per Clo \  ! idbio( 2), phytoplankton
    Per Clo Per Clo \  ! idbio( 3), zooplankton
    Per Clo Per Clo \  ! idbio( 4), detritus
  • Adjoint-based algorithms can have different lateral boundary conditions keywords.
    ad_LBC(isTvar) == Per Clo Per Clo \  ! idbio( 1), NO3
    Per Clo Per Clo \  ! idbio( 2), phytoplankton
    Per Clo Per Clo \  ! idbio( 3), zooplankton
    Per Clo Per Clo \  ! idbio( 4), detritus
  • Logical switches to specify which variables to process for tracers climatology: [1:NBT,Ngrids] values expected. The switches correspond to the Variable Index Table at the top of this page.
LtracerCLM == 4*F
  • Logical switches to specify which variables to consider on tracers point Sources/Sinks (like river runoff): [1:NBT,Ngrids] values expected. The switches correspond to the Variable Index Table at the top of this page.
    LtracerSrc == 4*F
  • Logical switches to activate writing of biological fields into history output file. [1:NBT,Ngrids] values expected. The switches correspond to the Variable Index Table at the top of this page.
Hout(idTvar) == 4*T  ! NO3, ... biological tracer
Hout(idTvar) == 4*F  ! NO3_sflux, ... surface tracer flux
  • Logical switches to activate writing of biological fields into quicksave output file. [1:NBT,Ngrids] values expected. The switches correspond to the Variable Index Table at the top of this page.
Qout(idTvar) == 4*F  ! NO3, ... biological tracer
Qout(idsurT) == 4*F  ! NO3_sur, ... surface biological tracer
Qout(idTvar) == 4*F  ! NO3_sflux, ... surface tracer flux
  • Logical switches to activate writing of time-averaged fields into averages output file. [1:NBT,Ngrids] values expected.
Aout(idTvar) == 4*T  ! NO3, ... biological tracer
  • Logical switches to activate writing of time-averaged, biological tracer diagnostic terms into the diagnostic output file. [1:NBT,Ngrids] values expected.
Dout(iTrate) == 4*T  ! NO3_rate, ... time rate of change
Dout(iThadv) == 4*T  ! NO3_hadv, ... horizontal total advection
Dout(iTxadv) == 4*T  ! NO3_xadv, ... horizontal XI-advection
Dout(iTyadv) == 4*T  ! NO3_yadv, ... horizontal ETA-advection
Dout(iTvadv) == 4*T  ! NO3_vadv, ... vertical advection
Dout(iThdif) == 4*T  ! NO3_hdiff, ... horizontal total diffusion
Dout(iTxdif) == 4*T  ! NO3_xdiff, ... horizontal XI-diffusion
Dout(iTydif) == 4*T  ! NO3_ydiff, ... horizontal ETA-diffusion
Dout(iTsdif) == 4*T  ! NO3_sdiff, ... horizontal S-diffusion
Dout(iTvdif) == 4*T  ! NO3_vdiff, ... vertical diffusion