bio Fennel.in

From WikiROMS
Jump to: navigation, search
Fennel Model Input Script - bio_Fennel.in

The bio_Fennel.in file sets the parameters for the bio_Fennel (formerly bio_Fasham) model. The name of this file is set by the BPARNAM keyword in the roms.in file. A default bio_Fennel.in standard input ASCII file can be found in the User/External subdirectory of the ROMS source code. In order to include the bio_Fennel model in ROMS you must set BPARNAM correctly and activate the BIO_FENNEL CPP option.


# index Description Units NetCDF variable
1 iNO3_ Nitrate concentration mmol/m3 NO3
2 iNH4_ Ammonium concentration mmol/m3 NH4
3 iChlo Chorophyll concentration mmol/m3 chlorophyll
4 iPhyt Phytoplankton biomass mmol/m3 phytoplankton
5 iZoop Zooplankton biomass mmol/m3 zooplankton
6 iLDeN Large detritus N-concentration mmol/m3 LdetritusN
7 iSDeN Small detritus N-concentration mmol/m3 SdetritusN
8 iLDeC Large detritus C-concentration mmol/m3 LdetritusC
9 iSDeC Small detritus C-concentration mmol/m3 SdetritusC
10 iTIC_ Total inorganic carbon mmol/m3 TIC
11 iTAlk Alkalinity mmol/m3 alkalinity
12 iOxyg Oxygen concentration mmol/m3 oxygen


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 Fennel 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 controls the computation of bioFennel 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
  • Light attenuation due to seawater [1/m], {0.04d0}.
AttSW == 0.04d0
  • Light attenuation by chlorophyll [1/(mg_Chl m2)], {0.02486d0}.
AttChl == 0.02486d0
  • Fraction of shortwave radiation that is photosynthetically active [nondimensional], {0.43d0}.
PARfrac == 0.43d0
  • Eppley temperature-limited growth parameter [nondimensional], {1.0d0}.
Vp0 == 1.0d0
  • Radiation threshold for nitrification inhibition [Watts/m2], {0.0095d0}.
I_thNH4 == 0.0095d0
  • Half-saturation radiation for nitrification inhibition [Watts/m2], {0.036d0}.
D_p5NH4 == 0.1d0
  • Nitrification rate: oxidation of NH4 to NO3 [1/day], {0.05d0}.
NitriR == 0.05d0
  • Inverse half-saturation for phytoplankton NO3 uptake [1/(millimole_N m-3)], {2.0d0}.
K_NO3 == 2.0d0
  • Inverse half-saturation for phytoplankton NH4 uptake [1/(millimole_N m-3)], {2.0d0}.
K_NH4 == 2.0d0
  • Zooplankton half-saturation constant (squared) for ingestion [millimole_N m-3]2, {1.0d0}.
K_Phy == 2.0d0
  • Maximum chlorophyll to carbon ratio [mg_Chl/mg_C], {0.0535d0}.
Chl2C_m == 0.0535d0
  • Chlorophyll minimum threshold value [mg_Chl/m3], {0.0d0}.
ChlMin == 0.001d0
  • Phytoplankton Carbon:Nitrogen ratio [mole_C/mole_N] , {6.625d0}.
PhyCN == 6.625d0
  • Phytoplankton, NH4 inhibition parameter [1/(millimole_N)], {1.5d0}.
PhyIP == 1.5d0
  • Phytoplankton, initial slope of P-I curve [mg_C/(mg_Chl Watts m-2 day)], {0.025d0}.
PhyIS == 0.025d0
  • Phytoplankton minimum threshold value [millimole_N/m3], {0.0d0}.
PhyMin == 0.001d0
  • Phytoplankton mortality rate [1/day], {0.072d0}.
PhyMR == 0.15d0
  • Zooplankton Nitrogen assimilation efficiency [nondimesnional], {0.75d0}.
ZooAE_N == 0.75d0
  • Zooplankton Basal metabolism [1/day], {0.1d0}.
ZooBM == 0.1d0
  • Zooplankton Carbon:Nitrogen ratio [mole_C/mole_N], {5.0d0}.
ZooCN == 6.625d0
  • Zooplankton specific excretion rate [1/day], {0.1d0}.
ZooER == 0.1d0
  • Zooplankton maximum growth rate [1/day], {0.75d0}.
ZooGR == 0.6d0
  • Zooplankton minimum threshold value [millimole_N/m3], {0.0d0}.
ZooMin == 0.001d0
  • Zooplankton mortality rate [1/day], {0.025d0}.
ZooMR == 0.025d0
  • Large detritus remineralization rate N-fraction [1/day], {0.01d0}.
LDeRRN == 0.01d0
  • Large detritus remineralization rate C-fraction [1/day].
LDeRRC == 0.01d0
  • Coagulation rate: aggregation rate of SDeN + Phy ==> LDeN [1/day], {0.005d0}.
CoagR == 0.005d0
  • Small detritus remineralization rate N-fraction [1/day], {0.03d0}.
SDeRRN == 0.03d0
  • Small detritus remineralization rate C-fraction[1/day].
SDeRRC == 0.03d0
  • Vertical sinking velocity for phytoplankton [m/day], {0.1d0}.
wPhy == 0.1d0
  • Vertical sinking velocity for large detritus [m/day], {1.0d0}.
wLDet == 1.0d0
  • Vertical sinking velocity for small detritus [m/day], {0.1d0}.
wSDet == 0.1d0
  • CO2 partial pressure in the air (parts per million by volume), {377.0d0}.
pCO2air == 370.0d0
  • Lateral, constant, harmonic/biharmonic horizontal diffusion of biological tracer for nonlinear model and adjoint-based algorithms: [1:NBT,Ngrids] values expected. The 12 values correspond to the Variable Index Table at the top of this page.
TNU2 == 12*0.0d0  ! m2/s
TNU4 == 12*0.0d0  ! m4/s

ad_TNU2 == 12*0.0d0  ! m2/s
ad_TNU4 == 12*0.0d0  ! m4/s
  • Vertical mixing coefficients for biological tracers: [1:NBT,Ngrids] values expected. The 12 values correspond to the Variable Index Table at the top of this page.
AKT_BAK == 12*1.0d-6  ! m2/s

ad_AKT_fac == 12*1.0d0  ! nondimensional
  • Nudging/relaxation time scales, inverse scales will be computed internally: [1:NBT,Ngrids] values expected. The 12 values correspond to the Variable Index Table at the top of this page.
TNUDG == 12*0.0d0  ! days
  • Set horizontal and vertical advection schemes for biological tracers. A different advection scheme is allowed for each tracer. For example, a positive-definite (monotonic) algorithm can be activated for salinity and biological tracers, while a different one is set for temperature.
    Keyword Advection Algorithm

    A4 4th-order Akima (horizontal/vertical)
    C2 2nd-order centered differences (horizontal/vertical)
    C4 4th-order centered differences (horizontal/vertical)
    HSIMT 3th-order HSIMT with TVD limiter (horizontal/vertical)
    MPDATA recursive flux corrected MPDATA (horizontal/vertical)
    SPLINES parabolic splines reconstruction (only vertical)
    SU3 split third-order upstream (horizontal/vertical)
    U3 3rd-order upstresm-bias (only horizontal)
    The user has the option of specifying the full Keyword or the first two letters, regardless if using uppercase or lowercase. If nested grids, specify values for each grid. For more details please read the roms.in Tracer Advection Schemes section. [1:NBT,Ngrids] values are expected.
    Hadvection == HSIMT \  ! idbio( 1), NO3
    HSIMT \  ! idbio( 2), NH4
    HSIMT \  ! idbio( 3), chlorophyll
    HSIMT \  ! idbio( 4), phytoplankton
    HSIMT \  ! idbio( 5), zooplankton
    HSIMT \  ! idbio( 6), LdetritusN
    HSIMT \  ! idbio( 7), SdetritusN
    HSIMT \  ! idbio( 8), LdetritusC
    HSIMT \  ! idbio( 9), SdetritusC
    HSIMT \  ! idbio(10), TIC
    HSIMT \  ! idbio(11), alkalinity
    HSIMT  ! idbio(12), oxygen

    Vadvection == HSIMT \  ! idbio( 1), NO3
    HSIMT \  ! idbio( 2), NH4
    HSIMT \  ! idbio( 3), chlorophyll
    HSIMT \  ! idbio( 4), phytoplankton
    HSIMT \  ! idbio( 5), zooplankton
    HSIMT \  ! idbio( 6), LdetritusN
    HSIMT \  ! idbio( 7), SdetritusN
    HSIMT \  ! idbio( 8), LdetritusC
    HSIMT \  ! idbio( 9), SdetritusC
    HSIMT \  ! idbio(10), TIC
    HSIMT \  ! idbio(11), alkalinity
    HSIMT  ! idbio(12), oxygen
  • 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), NH4
    Per Clo Per Clo \  ! idbio( 3), chlorophyll
    Per Clo Per Clo \  ! idbio( 4), phytoplankton
    Per Clo Per Clo \  ! idbio( 5), zooplankton
    Per Clo Per Clo \  ! idbio( 6), LdetritusN
    Per Clo Per Clo \  ! idbio( 7), SdetritusN
    Per Clo Per Clo \  ! idbio( 8), LdetritusC
    Per Clo Per Clo \  ! idbio( 9), SdetritusC
    Per Clo Per Clo \  ! idbio(10), TIC
    Per Clo Per Clo \  ! idbio(11), alkalinity
    Per Clo Per Clo  ! idbio(12), oxygen
  • 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), NH4
    Per Clo Per Clo \  ! idbio( 3), chlorophyll
    Per Clo Per Clo \  ! idbio( 4), phytoplankton
    Per Clo Per Clo \  ! idbio( 5), zooplankton
    Per Clo Per Clo \  ! idbio( 6), LdetritusN
    Per Clo Per Clo \  ! idbio( 7), SdetritusN
    Per Clo Per Clo \  ! idbio( 8), LdetritusC
    Per Clo Per Clo \  ! idbio( 9), SdetritusC
    Per Clo Per Clo \  ! idbio(10), TIC
    Per Clo Per Clo \  ! idbio(11), alkalinity
    Per Clo Per Clo  ! idbio(12), oxygen
  • Logical switches to specify which variables to process for tracers climatology: [1:NBT,Ngrids] values expected. The 12 switches correspond to the Variable Index Table at the top of this page.
LtracerCLM == 12*F
  • Logical switches to specify which variables to consider on tracers point Sources/Sinks (like river runoff): [1:NBT,Ngrids] values expected. The 12 switches correspond to the Variable Index Table at the top of this page.
LtracerSrc == 12*F
  • Logical switches to activate writing of biological tracers into history output file: [1:NBT,Ngrids] values expected. The 12 switches correspond to the Variable Index Table at the top of this page.
Hout(idTvar) == 12*T  ! NO3, ... biological tracer
Hout(idTsur) == 12*F  ! NO3_sflux, ... surface tracer flux
  • Logical switches to activate writing of biological tracers into quicksave output file: [1:NBT,Ngrids] values expected. The 12 switches correspond to the Variable Index Table at the top of this page.
Qout(idTvar) == 12*F  ! NO3, ... biological tracer
Qout(idsurT) == 12*F  ! NO3_sur, ... biological tracer
Qout(idTsur) == 12*F  ! NO3_sflux, ... surface tracer flux
  • Logical switches to activate writing of time-averaged fields into averages file. [1:NBT,Ngrids] values expected.
Aout(idTvar) == 12*T  ! NO3, ... biological tracer

Aout(idTTav) == 12*F  ! NO3_2, ... quadratic <t*t> tracer terms
Aout(idUTav) == 12*F  ! u_NO3, ... quadratic <u*t> tracer terms
Aout(idVTav) == 12*F  ! v_NO3, ... quadratic <v*t> tracer terms
Aout(iHUTav) == 12*F  ! huon_NO3, ... tracer volume flux, <Huon*t>
Aout(iHVTav) == 12*F  ! Hvom_NO3, ... quadratic <t*t> tracer terms
  • Logical switches to activate writing of time-averaged, biological tracer diagnostic terms into the diagnostic output file. [1:NBT,Ngrids] values expected.
Dout(iTrate) == 12*T  ! NO3_rate, ... time rate of change
Dout(iThadv) == 12*T  ! NO3_hadv, ... horizontal total advection
Dout(iTxadv) == 12*T  ! NO3_xadv, ... horizontal XI-advection
Dout(iTyadv) == 12*T  ! NO3_yadv, ... horizontal ETA-advection
Dout(iTvadv) == 12*T  ! NO3_vadv, ... vertical advection
Dout(iThdif) == 12*T  ! NO3_hdiff, ... horizontal total diffusion
Dout(iTxdif) == 12*T  ! NO3_xdiff, ... horizontal XI-diffusion
Dout(iTydif) == 12*T  ! NO3_ydiff, ... horizontal ETA-diffusion
Dout(iTsdif) == 12*T  ! NO3_sdiff, ... horizontal S-diffusion
Dout(iTvdif) == 12*T  ! NO3_vdiff, ... vertical diffusion
  • Logical switches to activate writing of time-averaged, biological processes diagnostic terms into the diagnostic output file. [1:Ngrids] values expected.
Dout(iCOfx) == T  ! CO2_airsea air-sea CO2 flux
Dout(iDNIT) == T  ! denitrification denitrification flux
Dout(ipCO2) == T  ! pCO2 CO2 partial pressure
Dout(iO2fx) == T  ! O2_airsea air-sea O2 flux
Dout(iPPro) == T  ! P_Production primary production
Dout(iNO3u) == T  ! NO3_uptake NO3 uptake