!
!  EcoSim Biological Model Parameters.
!
!svn $Id: ecosim.in 1009 2020-03-03 20:38:52Z arango $
!========================================================= Hernan G. Arango ===
!  Copyright (c) 2002-2020 The ROMS/TOMS Group              W. Paul Bissett   !
!    Licensed under a MIT/X style license                                     !
!    See License_ROMS.txt                                                     !
!==============================================================================
!                                                                             !
! Input parameters can be entered in ANY order, provided that the parameter   !
! KEYWORD (usually, upper case) is typed correctly followed by "="  or "=="   !
! symbols. Any comment lines are allowed and must begin with an exclamation   !
! mark (!) in column one.  Comments may  appear to the right of a parameter   !
! specification to improve documentation.  Comments will be ignored  during   !
! reading.  Blank lines are also allowed and ignored. Continuation lines in   !
! a parameter specification are allowed and must be preceded by a backslash   !
! (\).  In some instances, more than one value is required for a parameter.   !
! If fewer values are provided, the  last value  is assigned for the entire   !
! parameter array.  The multiplication symbol (*),  without blank spaces in   !
! between, is allowed for a parameter specification.  For example, in a two   !
! grids nested application:                                                   !
!                                                                             !
!    AKT_BAK == 2*1.0d-6  2*5.0d-6              ! m2/s                        !
!                                                                             !
! indicates that the first two entries of array AKT_BAK,  in fortran column-  !
! major order, will have the same value of "1.0d-6" for grid 1,  whereas the  !
! next two entries will have the same value of "5.0d-6" for grid 2.           !
!                                                                             !
! In multiple levels of nesting and/or multiple connected domains  step-ups,  !
! "Ngrids" entries are expected for some of these parameters.  In such case,  !
! the order of the entries for a parameter is extremely important.  It  must  !
! follow the same order (1:Ngrids) as in the state variable declaration. The  !
! USER may follow the above guidelines for specifying his/her values.  These  !
! parameters are marked by "==" plural symbol after the KEYWORD.              !
!                                                                             !
!=============================================================================!
!
! Switch to control the computation of EcoSim within nested and/or multiple
! connected grids.

      Lbiology == T

! Maximum number of iterations to achieve convergence of the nonlinear
! solution.

       BioIter == 1

! Logical switch (T/F) to calculate CDOC UV photolysis.

    RtUVR_flag == T

! Logical switch (T/F) to calculate temperature based nitrogen fixation.

     NFIX_flag == F

! Logical switch (T/F) to calculate fecal matter regeneration.

    Regen_flag == T

!-----------------------------------------------------------------------------
! Phytoplankton group parameters.
!-----------------------------------------------------------------------------
!
! Half-saturation for phytoplankton NO3 uptake (micromole_NO3/liter),
! [Nphy,Ngrids] values are expected.

         HsNO3 == 8.2400d-01  4.1200d-01  8.2400d-01  1.6700d-01

! Half-saturation for phytoplankton NH4 uptake (micromole_NH4/liter),
! [Nphy,Ngrids] values are expected.

         HsNH4 == 4.1400d-01  2.0800d-01  4.1400d-01  8.3000d-02

! Half-saturation for phytoplankton SiO uptake (micromole_SiO/liter),
! [Nphy,Ngrids] values are expected. A value of 1.0d+30 denotes no SiO
! uptake being calculated for that phytoplankton group.

         HsSiO == 1.8240d+00  1.4120d+00  1.0000d+30  1.0000d+30

! Half-saturation for phytoplankton PO4 uptake (micromole_PO4/liter),
! [Nphy,Ngrids] values are expected.

         HsPO4 == 5.1500d-02  2.5750d-02  5.1500d-02  1.0438d-02

! Half-saturation for phytoplankton Fe uptake (micromole_Fe/liter),
! [Nphy,Ngrids] values are expected. A value of 1.0d+30 denotes no Fe
! uptake being calculated for that phytoplankton group.

          HsFe == 1.0000d+30  1.0000d+30  1.0000d+30  1.0000d+30

! Maximum phytoplankton 24 hour growth rate (1/d),
! [Nphy,Ngrids] values are expected.

     GtALG_max == 3.7000d+00  3.7000d+00  2.0000d+00  2.0000d+00

! Phytoplankton temperature base for exponential response to temperature
! (Celsius), [Nphy,Ngrids] values are expected.

      PhyTbase == 4*27.0d0

! Phytoplankton exponential temperature factor (1/Celsius),
! [Nphy,Ngrids] values are expected.

       PhyTfac == 4*0.0633d0

! Nitrate uptake inhibition for NH4 (l/micromole),
! [Nphy,Ngrids] values are expected.

          BET_ == 1.2800d+00  2.6000d+00  1.2800d+00  6.5000d+00

! Maximum phytoplankton C:N ratio (micromole_C/micromole_N),
! [Nphy,Ngrids] values are expected.

     maxC2nALG == 1.4000d+01  1.7750d+01  1.7000d+01  6.6250d+00

! Balanced phytoplankton C:N ratio (micromole_C/micromole_N),
! [Nphy,Ngrids] values are expected.

     minC2nALG == 6.6250d+00  6.6250d+00  6.6250d+00  6.6250d+00

! Absolute minimum phytoplankton C:N ratio (micromole_C/micromole_N),
! [Nphy,Ngrids] values are expected.

  C2nALGminABS == 5.5000d+00  5.5000d+00  5.5000d+00  5.5000d+00

! Maximum phytoplankton C:Si ratio (micromole_C/micromole_Si),
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no silica used.

    maxC2SiALG == 5.5210d+00  5.5210d+00  0.0000d+00  0.0000d+00

! Balanced phytoplankton C:Si ratio (micromole_C/micromole_Si),
! [Nphy,Ngrids] values are expected. A value of 1.0 denotes no silica used.

    minC2SiALG == 5.5210d+00  5.5210d+00  1.0000d+00  1.0000d+00

! Absolute minimum phytoplankton C:Si ratio (micromole_C/micromole_Si)
! [Nphy,Ngrids] values are expected. A value of 1.0 denotes no silica used.

 C2SiALGminABS == 4.5831d+00  4.5831d+00  1.0000d+00  1.0000d+00

! Maximum phytoplankton C:P ratio (micromole_C/micromole_P),
! [Nphy,Ngrids] values are expected. A value of 1.0 denotes no silica used.

     maxC2pALG == 1.0600d+02  1.0600d+02  1.3000d+02  1.0600d+02

! Balanced phytoplankton C:P ratio (micromole_C/micromole_P),
! [Nphy,Ngrids] values are expected.

     minC2pALG == 1.0600d+02  1.0600d+02  1.0600d+02  1.0600d+02

! Absolute minimum phytoplankton C:P ratio (micromole_C/micromole_P),
! [Nphy,Ngrids] values are expected.

  C2pALGminABS == 8.800d+01   8.800d+01   8.800d+01   8.800d+01

! Maximum phytoplankton C:Fe ratio (micromole_C/micromole_Fe),
! [Nphy,Ngrids] values are expected. A value of 1.0d+30 denotes no Fe
! uptake being calculated.

    maxC2FeALG == 1.0000d+30  1.0000d+30  1.0000d+30  1.0000d+30

! Balanced phytoplankton C:Fe ratio (micromole_C/micromole_Fe),
! [Nphy,Ngrids] values are expected. A value of 1.0d+30 denotes no Fe
! uptake being calculated.

    minC2FeALG == 1.0000d+30  1.0000d+30  1.0000d+30  1.0000d+30

! Absolute minimum phytoplankton C:Fe ratio (micromole_C/micromole_Fe),
! [Nphy,Ngrids] values are expected. A value of 1.0d+30 denotes no Fe
! uptake being calculated.

 C2FeALGminABS == 1.0000d+30  1.0000d+30  1.0000d+30  1.0000d+30

! Maximum quantum yield (micromole_C/micromole_quanta),
! [Nphy,Ngrids] values are expected.

        qu_yld == 8.3300d-02  8.3300d-02  8.3300d-02  8.3300d-02

! Compensation light level (micromole_quanta),
! [Nphy,Ngrids] values are expected.

       E0_comp == 1.0000d+01  1.0000d+01  1.0000d+01  6.0000d+00

! Light level for onset of photoinhibition (micromole_quanta),
! [Nphy,Ngrids] values are expected.

      E0_inhib == 1.0000d+04  1.0000d+04  1.0500d+02  1.0000d+04

! Exponential decay factor for light limited growth (1/micromole_quanta),
! [Nphy,Ngrids] values are expected.

     inhib_fac == 0.0000d+00  0.0000d+00  1.0000d-03  0.0000d+00

! Maximum lighted limited (nutrient replete) C:Chl ratio
! (microgram_C/microgram_Chl), [Nphy,Ngrids] values are expected.

     C2CHL_max == 6.0000d+01  4.2000d+01  1.2400d+02  1.6000d+02

! Rate of change in light limited C:Chl ratio
! (microgram_C/microgram_Chl/micromole_quanta),
! [Nphy,Ngrids] values are expected.

        mxC2Cl == 1.2000d-01  1.1440d-01  4.7790d-01  1.0000d-01

! Minimum lighted limited (nutrient replete) C:Chl ratio
! (microgram_C/microgram_Chl), [Nphy,Ngrids] values are expected.

        b_C2Cl == 2.5000d+01  1.4800d+01  4.7530d+01  3.0000d+01

! Rate of change in nutient limited C:Chl ratio
! [(microgram_C/microgram_Chl)/(micromole_C/micromole_N)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in C:Chl with nutrient status.

        mxC2Cn == 1.2200d+01  6.8315d+00  1.0350d+01  0.0000d+00

! Minimum nutrient limited C:Chl ratio (microgram_C/microgram_Chl),
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in C:Chl with nutrient status.

        b_C2Cn == 6.0000d+01  4.2000d+01  1.2400d+02  0.0000d+00

! Rate of change in package effect [1/(microgram_C/microgram_Chl)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in package effect.

      mxPacEff == 1.4290d-02  1.8380d-02  0.0000d+00  0.0000d+00

! Maximum package effect [1/(microgram_C/microgram_Chl)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in package effect.

      b_PacEff == 5.0000d-01  5.0000d-01  0.0000d+00  0.0000d+00

! Rate of change in the Chl_b:Chl_a ratio
! [(microgram_Chl_b/microgram_Chl_a)/[microgram_C/microgram_Chl_ a)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotea no change
! in Chl_b:Chl_a ratio.

        mxChlB == 0.0000d+00  0.0000d+00  0.0000d+00  0.0000d+00

! Maximum Chl_b:Chl_a ratio (microgram_Chl_b/microgram_Chl_a),
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no Chl_b.

        b_ChlB == 0.0000d+00  0.0000d+00  0.0000d+00  0.0000d+00

! Rate of change in the Chl_c:Chl_a ratio.
! [(microgram_Chl_c/microgram_Chl_a)/(microgram_C/microgram_Chl_a)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in Chl_c:Chl_a ratio.

        mxChlC == -1.3600d-03 -1.2000d-03 0.0000d+00  0.0000d+00

! Maximum Chl_c:Chl_a ratio (microgram_Chl_c/microgram_Chl_a),
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no Chl_c.

        b_ChlC == 3.4000d-01  3.4000d-01  5.6000d-02  0.0000d+00

! Rate of change in the PSC:Chl_a ratio
! [(microgram_PSC/microgram_Chl_a)/microgram_C/microgram_Chl_a)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in PSC:Chl_a ratio.

         mxPSC == -1.2000d-02 -1.0400d-02 0.0000d+00  0.0000d+00

! Maximum PSC:Chl_a ratio (microgram_PSC/microgram_Chl_a),
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no
! Photosynthetic Caroteniods.

         b_PSC == 2.0000d+00  2.0000d+00  1.1060d+00  0.0000d+00

! Rate of change in the PPC:Chl_a ratio
! [(microgram_PPC/microgram_Chl_a)/(microgram_C/microgram_Chl_ a)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in PPC:Chl_a ratio.

         mxPPC == 0.0000d+00  0.0000d+00  1.8000d-03  9.0000d-03

! Maximum PPC:Chl_a ratio (microgram_Chl_c/microgram_Chl_a),
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no
! Photoprotective Caroteniods.

         b_PPC == 1.0000d-01  1.0000d-01  1.6000d-01  3.0000d-01

! Rate of change in the LPUb:Chl_a ratio
! [(microgram_LPUb/microgram_Chl_a)/(microgram_C/microgram_Chl_a)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in LPUb:Chl_a ratio.

        mxLPUb == 0.0000d+00  0.0000d+00  0.0000d+00  0.0000d+00

! Maximum LPUb:Chl_a ratio (migrogram_HPUb/microgram_Chl_a),
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no LPUb.

        b_LPUb == 0.0000d+00  0.0000d+00  0.0000d+00  0.0000d+00

! Rate of change in the HPUb:Chl_a ratio
! [(microgram_HPUb/microgram_Chl_a)/(microgram_C/microgram_Chl_a)],
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no change
! in HPUb:Chl_a ratio.

        mxHPUb == 0.0000d+00  0.0000d+00  0.0000d+00 -1.3000d-01

! Maximum HPUb:Chl_a ratio (microgram_HPUb/microgram_Chl_a),
! [Nphy,Ngrids] values are expected. A value of 0.0 denotes no HPUb.

        b_HPUb == 0.0000d+00  0.0000d+00  0.0000d+00  2.0000d+01

! Proportion of grazing stress that is apportioned to DOM
! (nondimensional), [Nphy,Ngrids] values are expected.

        FecDOC == 3.3330d-01  3.3330d-01  3.3330d-01  4.1670d-01

! Proportion of grazing stress that is apportioned to fecal
! (nondimensional), [Nphy,Nfec,Ngrids] values are expected.

        FecPEL == 3*1.6670d-01  8.3350d-02  3*1.6670d-01  8.3350d-02

! Proportion of grazing stress that is recycled (nondimensional),
! [Nphy,Ngrids] values are expected.

        FecCYC == 3.3330d-01  3.3330d-01  3.3330d-01  4.1660d-01

! Proportion of daily production that is lost to excretion
! (nondimensional), [Nphy,Ngrids] values are expected.

         ExALG == 5.0000d-03  5.0000d-03  5.0000d-03  5.0000d-03

! Phytoplankton sinking speed (meters/day),
! [Nphy,Ngrids] values are expected.

            WS == 0.0000d+00  0.0000d+00  0.0000d+00  0.0000d+00

! Phytoplankton grazing parameter (nondimensional).
! [Nphy,Ngrids] values are expected.

         HsGRZ == 0.0100d+00  0.0100d+00  0.0100d+00  0.0100d+00

! Refuge Phytoplankton population (micromole_C/liter),
! [Nphy,Ngrids] values are expected.

     MinRefuge == 2.0000d-02  2.0000d-02  2.0000d-02  2.0000d-02

! Maximum Refuge Phytoplankton depth (meters),
! [Nphy,Ngrids] values are expected.

     RefugeDep == 4.0000d+01  4.0000d+01  4.0000d+01  4.0000d+01

! Normalized Volume factor (nondimensional),
! [Nphy,Ngrids] values are expected. (1 micron diameter cell = 1).

      Norm_Vol == 7.2398d+01  7.2398d+01  7.2398d+01  4.6370d+00

! Normalized Surface Area factor (nondimensional),
! [Nphy,Ngrids] values are expected. (1 micron diameter cell = 1).

     Norm_Surf == 1.7361d+01  1.7361d+01  1.7361d+01  2.7781d+00

! Half Saturation Constant for DOP uptake (micromole_DOP/liter),
! [Nphy,Ngrids] values are expected.

         HsDOP == 1.0000d-05  1.0000d-05  2.0000d+00  1.0000d-05

! C:P ratio where DOP uptake begins (micromole_C/micromole_P),
! [Nphy,Ngrids] values are expected. Values above maxC2pALG denote
! no DOP uptake.

    C2pALKPHOS == 5.0000d+02  5.0000d+02  1.1000d+02  5.0000d+02

! Half Saturation constant for DON uptake (micromole_DON/liter),
! [Nphy,Ngrids] values are expected.

         HsDON == 1.0000d-05  1.0000d-05  2.0000d+00  1.0000d-05

! C:N ratio where DON uptake begins (micromole_C/micromole_N),
! [Nphy,Ngrids] values are expected. Values above maxC2nALG denote
! no DOP uptake.

     C2nNupDON == 5.0000d+02  5.0000d+02  1.4000d+01  5.0000d+02

!-----------------------------------------------------------------------------
! Bacteria group parameters.
!-----------------------------------------------------------------------------
!
! Half saturation constant for bacteria DOC uptake (micromole_DOC/liter),
! [Nbac,Ngrids] values are expected.

      HsDOC_ba == 130.0d+00

! Maximum 24 hour bacterial growth rate (1/day),
! [Nbac,Ngrids] values are expected.

     GtBAC_max == 2.0d+00

! Bacteria temperature base for exponential response to temperature
! (Celsius), [Nbac,Ngrids] values are expected.

      BacTbase == 27.0d+0

! Bacteria exponential temperature factor (1/Celsius),
! [Nbac,Ngrids] values are expected.

       BacTfac == 0.092d+00

! Carbon to Nitrogen ratio of Bacteria (micromole_C/micromole_N),
! [Ngrids] values are expected.

        C2nBAC == 5.0d+00

! Carbon to Phosphorus ratio of Bacteria (micromole_C/micromole_P)
! [Ngrids] values are expected.

        C2pBAC == 60.0d+00

! Carbon to Iron ratio of Bacteria (micromole_C/micromole_Fe),
! [Ngrids] values are expected.

       C2FeBAC == 1000.0d+00

! Proportion of bacteria grazing stress that is apportioned to DOM
! (nondimensional), [Ngrids] values are expected.

        BacDOC == 4.583d-01

! Proportion of bacteria grazing stress that is apportioned to fecal
! (nondimensional), [Ngrids] values are expected.

        BacPEL == 8.340d-02

! Proportion of bacteria grazing stress that is recycled
! (nondimensional), [Ngrids] values are expected.

        BacCYC == 4.583d-01

! Bacterial recalcitrant carbon excretion as a proportion of uptake
! (nondimensional), [Ngrids] values are expected.

       ExBAC_c == 4.0d-02

! Bacterial recalcitrant excretion carbon to nitrogen ratio
! (micromole_C/micromole_N), [Ngrids] values are expected.

      ExBacC2N == 15.0d0

! Bacterial gross growth carbon efficiency (nondimensional),
! [Ngrids] values are expected.

      Bac_Ceff == 0.3d0

! Maximum nitrification rate (1/day),
! [Ngrids] values are expected.

         RtNIT == 0.4d0

! Half-saturation constant for bacterial nitrification (micromole_NH4/liter),
! [Ngrids] values are expected.

         HsNIT == 0.1d0

!-----------------------------------------------------------------------------
! DOM group parameters.
!-----------------------------------------------------------------------------
!
! Colored fraction of DOC from phytoplankton and bacterial losses
! (nondimensional), [Ndom,Ngrids] values are expected

    cDOCfrac_c == 0.0323d0  0.0930d0

! UV degradation of DOC into DIC
! (micromole/meter/liter/hour at 410 nm),
! [Ngrids] values are expected.

     RtUVR_DIC == 0.0193d0

! UV degradation of DOC to colorless labile DOC
! (micromole/meter/liter/hour at 410 nm),
! [Ngrids] values are expected.

     RtUVR_DOC == 0.0034d0

!-----------------------------------------------------------------------------
! Fecal and detritus group parameters.
!-----------------------------------------------------------------------------
!
! Fecal sinking flux (meters/day),
! [Nfec,Ngrids] values are expected.

            WF == 0.0d0   100.0d0

! Fecal regeneration temp base for exponential response to tempemperaute
! (Celsius), [Nfec,Ngrids] values are expected.

      RegTbase == 2*27.0d0

! Fecal regeneration exponential temperature factor,
! (1/Celsius), [Nfec,Ngrids] values are expected.

       RegTfac == 2*0.092d0

! Fecal carbon regeneration rate (1/day),
! [Nfec,Ngrids] values are expected.

         RegCR == 0.10d0  0.0d0

! Fecal nitrogen regeneration rate (1/day),
! [Nfec,Ngrids] values are expected.

         RegNR == 0.10d0  0.0d0

! Fecal silica regeneration rate (1/day),
! [Nfec,Ngrids] values are expected.

         RegSR == 0.13d0  0.0d0

! Fecal phosphorus regeneration rate (1/day),
! [Nfec,Ngrids] values are expected.

         RegPR == 0.10d0  0.0d0

! Fecal iron regeneration rate (1/day),
! [Nfec,Ngrids] values are expected.

         RegFR == 0.10d0  0.0d0

!-----------------------------------------------------------------------------
! Physical and output parameters
!-----------------------------------------------------------------------------

! Harmonic/biharmonic horizontal diffusion of biological tracer for
! nonlinear model and adjoint-based algorithms: [NBT,Ngrids] values are
! expected.

          TNU2 == 61*0.0d0                       ! m2/s
          TNU4 == 61*0.0d0                       ! m4/s

       ad_TNU2 == 61*0.0d0                       ! m2/s
       ad_TNU4 == 61*0.0d0                       ! m4/s

! Logical switches (TRUE/FALSE) to increase/decrease horizontal diffusivity
! in specific areas of the application domain (like sponge areas) for the
! desired grid: [Ngrids]

 LtracerSponge == 61*F

! Vertical mixing coefficients for biological tracers for nonlinear model and
! basic state scale factor in adjoint-based algorithms: [NBT,Ngrids] values
! are expected.

       AKT_BAK == 61*1.0d-6                      ! m2/s

    ad_AKT_BAK == 61*1.0d0                       ! nondimensional

! Nudging/relaxation time scales, inverse scales will be computed internally,
! [NBT,Ngrids] values are expected.

         TNUDG == 61*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. [1:NAT+NPT,Ngrids] values are expected.
!
!   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-TVD (horizontal/vertical)
!   MPDATA     recursive flux corrected MPDATA (horizontal/vertical)
!   SPLINES    parabolic splines (only vertical)
!   SU3        split third-order upstream (horizontal/vertical)
!   U3         3rd-order upstream-biased (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.

   Hadvection == HSIMT                          ! idbio(:), compact

   Vadvection == HSIMT                          ! idbio(:), compact

! Adjoint-based algorithms can have different horizontal and schemes
! for active and inert tracers.

ad_Hadvection == U3                             ! idbio(:), compact

ad_Vadvection == C4                             ! idbio(:), compact

! Set lateral boundary conditions keyword. Notice that 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.
!
! NOTICE: 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 in 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     Per     Per     Per      ! idbio(:), compact

! Adjoint-based algorithms can have different lateral boundary
! conditions keywords.

ad_LBC(isTvar) ==   Per     Per     Per     Per      ! idbio(:), compact

! Logical switches (TRUE/FALSE) to activate biological tracers point
! Sources/Sinks (like river runoff) and to specify which tracer variables
! to consider: [NBT,Ngrids] values are expected. See glossary below for
! details.

    LtracerSrc == 61*F

! Logical switches (TRUE/FALSE) to read and process biological tracer
! climatology fields: [NBT,Ngrids] values are expected. See glossary below
! for details.

    LtracerCLM == 61*F

! Logical switches (TRUE/FALSE) to nudge the desired biological tracer
! climatology field. If not analytical climatology fields, users need to
! turn on the logical switches above to process the fields from the
! climatology NetCDF file that are needed for nudging; [NBT,Ngrids]
! values are expected. See glossary below for details.

    LnudgeTCLM == 61*F

! Logical switches (TRUE/FALSE) to write biological fields into HISTORY output
! file, [NBT,Ngrids] values are expected.

  Hout(idTvar) == 61*T   ! ..., DIC, ...           biological tracer
  Hout(idTsur) == 61*F   ! ..., DIC_sflux, ...     surface tracer flux

! Logical switches (TRUE/FALSE) to write biological fields into QUICKSAVE
! output file, [NBT,Ngrids] values are expected.

  Qout(idTvar) == 61*F   ! ..., DIC, ...           biological tracer
  Qout(idsurT) == 61*F   ! ..., DIC_sur, ...       surface bological tracer
  Qout(idTsur) == 61*F   ! ..., DIC_sflux, ...     surface tracer flux

! Logical switches (TRUE/FALSE) to activate writing of time-averaged fields
! into AVERAGE output file, [NBT,Ngrids] values are expected.

  Aout(idTvar) == 61*T   ! ..., DIC, ...           biological tracer

  Aout(idTTav) == 61*F   ! ..., DIC_2, ...         quadratic <t*t> tracer terms
  Aout(idUTav) == 61*F   ! ..., u_DIC, ...         quadratic <u*t> tracer terms
  Aout(idVTav) == 61*F   ! ..., v_DIC, ...         quadratic <v*t> tracer terms
  Aout(iHUTav) == 61*F   ! ..., Huon_DIC, ...      tracer volume flux, <Huon*t>
  Aout(iHVTav) == 61*F   ! ..., Hvom_DIC, ...      tracer volume flux, <Hvom*t>

! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! biological tracer diagnostic terms into DIAGNOSTIC output file:
! [1:NBT,Ngrids].

  Dout(iTrate) == 61*T   ! ..., DIC_rate, ...      time rate of change
  Dout(iThadv) == 61*T   ! ..., DIC_hadv, ...      horizontal total advection
  Dout(iTxadv) == 61*T   ! ..., DIC_xadv, ...      horizontal XI-advection
  Dout(iTyadv) == 61*T   ! ..., DIC_yadv, ...      horizontal ETA-advection
  Dout(iTvadv) == 61*T   ! ..., DIC_vadv, ...      vertical advection
  Dout(iThdif) == 61*T   ! ..., DIC_hdiff, ...     horizontal total diffusion
  Dout(iTxdif) == 61*T   ! ..., DIC_xdiff, ...     horizontal XI-diffusion
  Dout(iTydif) == 61*T   ! ..., DIC_ydiff, ...     horizontal ETA-diffusion
  Dout(iTsdif) == 61*T   ! ..., DIC_sdiff, ...     horizontal S-diffusion
  Dout(iTvdif) == 61*T   ! ..., DIC_vdiff, ...     vertical diffusion

! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! underwater optical diagnostics terms into DIAGNOSTIC output file [Ngrids].

  Dout(idSpIr) == T      ! surface_irradiance      surface spectral irradiance
  Dout(iddIrr) == T      ! downward_irradiance     downward spectral irradiance
  Dout(idsIrr) == T      ! scalar_irradiance       scalar spectral irradiance
  Dout(idAcos) == T      ! light_cosine            light spectral average cosine
  Dout(idLatt) == T      ! light_attenuation       diffuse light attenuation
  Dout(idaPHY) == T      ! Phy_absorption          phytoplankton absorption
  Dout(idaDET) == T      ! detrital_absorption     detrital absorption
  Dout(idaCDC) == T      ! CDC_absorption          CDC absorption
  Dout(idsPHY) == T      ! Phy_scattering          phytoplankton scattering
  Dout(idbPHY) == T      ! Phy_backscattering      phytoplankton backscattering
  Dout(idsTOT) == T      ! total_scattering        total scattering
  Dout(idbTOT) == T      ! total_backscattering    total backscattering

!
!  GLOSSARY:
!  =========
!
!==============================================================================
! EcoSim Biological Model Parameters. It is configured with 61 biological
! tracers by default:
!
! idbio( 1)     DIC          DIC concentration
! idbio( 2)     FeO          Iron concentration
! idbio( 3)     NH4          Ammonium concentration
! idbio( 4)     NO3          Nitrate concentration
! idbio( 5)     PO4          Phosphate concentration
! idbio( 6)     SiO          Silica concentration
! idbio( 7)     Bac_C1       Bacteria, Carbon Group 1
! idbio( 8)     Bac_F1       Bacteria, Iron Group 1
! idbio( 9)     Bac_N1       Bacteria, Nitrogen Group 1
! idbio(10)     Bac_P1       Bacteria, Phosphorus Group 1
! idbio(11)     CDM_C1       Color degradational matter, Carbon Group 1
! idbio(12)     DOM_C1       Dissolved organic matter, Carbon Group 1
! idbio(13)     DOM_N1       Dissolved organic matter, Nitrogen Group 1
! idbio(14)     DOM_P1       Dissolved organic matter, Phosphorus Group 1
! idbio(15)     CDM_C2       Color degradational matter, Carbon Group 2
! idbio(16)     DOM_C2       Dissolved organic matter, Carbon Group 2
! idbio(17)     DOM_N2       Dissolved organic matter, Nitrogen Group 2
! idbio(18)     DOM_P2       Dissolved organic matter, Phosphorus Group 2
! idbio(19)     Fec_C1       Fecal matter, Carbon Group 1
! idbio(20)     Fec_F1       Fecal matter, Iron Group 1
! idbio(21)     Fec_N1       Fecal matter, Nitrogen Group 1
! idbio(22)     Fec_P1       Fecal matter, Phosphorus Group 1
! idbio(23)     Fec_S1       Fecal matter, Silica Group 1
! idbio(24)     Fec_C2       Fecal matter, Carbon Group 2
! idbio(25)     Fec_F2       Fecal matter, Iron Group 2
! idbio(26)     Fec_N2       Fecal matter, Nitrogen Group 2
! idbio(27)     Fec_P2       Fecal matter, Phosphorus Group 2
! idbio(28)     Fec_S2       Fecal matter, Silica Group 2
! idbio(29)     Phy_C1       Small diatom, Carbon Group 1
! idbio(30)     Phy_F1       Small diatom, Iron Group 1
! idbio(31)     Phy_N1       Small diatom, Nitrogen Group 1
! idbio(32)     Phy_P1       Small diatom, Phosphorus Group 1
! idbio(33)     Phy_C2       Large diatom, Carbon Group 2
! idbio(34)     Phy_F2       Large diatom, Iron Group 2
! idbio(35)     Phy_N2       Large diatom, Nitrogen Group 2
! idbio(36)     Phy_P2       Large diatom, Phosphorus Group 2
! idbio(37)     Phy_C3       Large dinoflagellate, Carbon Group 3
! idbio(38)     Phy_F3       Large dinoflagellate, Iron Group 3
! idbio(39)     Phy_N3       Large dinoflagellate, Nitrogen Group 3
! idbio(40)     Phy_P3       Large dinoflagellate, Phosphorus Group 3
! idbio(41)     Phy_C4       Synechococcus, Carbon Group 4
! idbio(42)     Phy_F4       Synechococcus, Iron Group 4
! idbio(43)     Phy_N4       Synechococcus, Nitrogen Group 4
! idbio(44)     Phy_P4       Synechococcus, Phosphorus Group 4
! idbio(45)     Phy_S1       Small diatom, Silica Group 1
! idbio(46)     Phy_S2       Large diatom, Silica Group 2
! idbio(47)     Pigs_11      Small diatom, chlorophyll-a
! idbio(48)     Pigs_21      Large diatom, chlorophyll-a
! idbio(49)     Pigs_31      Large dinoflagellate, chlorophyll-a
! idbio(50)     Pigs_41      Synechococcus, chlorophyll-a
! idbio(51)     Pigs_13      Small diatom, chlorophyll-c
! idbio(52)     Pigs_23      Large diatom, chlorophyll-c
! idbio(53)     Pigs_33      Large dinoflagellate, chlorophyll-c
! idbio(54)     Pigs_14      Small diatom, photosynthetic carotenoids
! idbio(55)     Pigs_24      Large diatom, photosynthetic carotenoids
! idbio(56)     Pigs_34      Large dinoflagellate, photosynthetic carotenoids
! idbio(57)     Pigs_15      Small diatom, photoprotective carotenoids
! idbio(58)     Pigs_25      Large diatom, photoprotective carotenoids
! idbio(59)     Pigs_35      Large dinoflagellate, photoprotective carotenoids
! idbio(60)     Pigs_45      Synechococcus, photoprotective carotenoids
! idbio(61)     Pigs_47      Synechococcus, urobilin phycoeurythin carotenoids
!
!==============================================================================
!
! EcoSim equations and representative parameters may be found in:
!
!    Bissett, W.P., J.J. Walsh, D.A. Dieterle, K.L. Carder, 1999:
!      Carbon cycling in the upper waters of the Sargasso Sea: I.
!      Numerical  simulation of  differential carbon and nitrogen
!      fluxes,  Deep-Sea Res., 46, 205-269.
!
!    Bissett, W.P., K.L. Carder, J.J. Walsh, D.A. Dieterle, 1999:
!      Carbon cycling in the upper waters of the Sargasso Sea: II.
!      Numerical  simulation  of  apparent  and  inherent optical
!      properties, Deep-Sea Res., 46, 271-317.
!
!    Bissett, W., Arnone, R., DeBra, S., Dieterle, D., Dye, D.,
!      Kirkpatrick, G., Schofield, O. and Vargo, G., 2003.
!      Predicting the optical properties of the West Florida Shelf:
!      Resolving the potential impacts of a terrestrial boundary
!      condition on the distribution of colored dissolved and
!      particulate matter. Marine Chemistry, submitted.
!      (For a PDF preprint, see: www.flenvironmental.org/Publications)
!
!------------------------------------------------------------------------------
! Model switches and flags.
!------------------------------------------------------------------------------
!
!  Lbiology       Switch to control the computation of a particular module
!                   within nested and/or multiple connected grids. By default
!                   this switch is set to TRUE in "mod_scalars" 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.
!
!  BioIter        Maximum number of iterations to achieve convergence of
!                   the nonlinear solution.
!
!  RtUVR_flag     Logical switch (T/F) to calculate CDOC UV photolysis.
!
!  NFIX_flag      Logical switch (T/F) to calculate temperature based nitrogen
!                   fixation. (Not tested at this time; No nitrogen fixation
!                   being calculated).
!
!  Regen_flag     Logical switch (T/F) to calculate fecal matter regeneration.
!
!------------------------------------------------------------------------------
! Phytoplankton Parameters. Unless specified, [Nphy,Ngrids] values are
! expected. This file is configured for Nphy=1 and Ngrids=1. The order
! of phytoplankton are:
!                          [1] larger diatoms
!                          [2] small diatoms
!                          [3] dinoflagellates
!                          [4] synechococcus
!------------------------------------------------------------------------------
!
!  HsNO3          Half-saturation for phytoplankton NO3 uptake,
!                   (micromole_NO3/liter).
!
!  HsNH4          Half-saturation for phytoplankton NH4 uptake,
!                   (micromole_NH4/liter).
!
!  HsSiO          Half-saturation for phytoplankton SiO uptake,
!                   (micromole_SiO/liter).
!                   << 1.0d+30 denotes no SiO uptake being calculated >>
!
!  HsPO4          Half-saturation for phytoplankton PO4 uptake,
!                   (micromole_PO4/liter).
!
!  HsFe           Half-saturation for phytoplankton Fe uptake,
!                  (micromole_Fe/liter).
!                  << 1.0d+30 denotes no Fe uptake being calculated >>
!
!  GtALG_max      Maximum 24 hour growth rate,
!                   (1/day).
!
!  PhyTbase       Phytoplankton temperature base for exponential response
!                   to temperature, (Celsius).
!
!  PhyTfac        Phytoplankton exponential temperature factor,
!                   (1/Celsius).
!
!  BET_           Nitrate uptake inhibition for NH4,
!                   (l/micromole).
!
!  maxC2nALG      Maximum phytoplankton C:N ratio,
!                   (micromole_C/micromole_N).
!
!  minC2nALG      Balanced phytoplankton C:N ratio,
!                   (micromole_C/micromole_N).
!
!  C2nALGminABS   Absolute minimum phytoplankton C:N ratio,
!                   (micromole_C/micromole_N).
!
!  maxC2SiALG     Maximum phytoplankton C:Si ratio,
!                   (micromole_C/micromole_Si).
!                   (0.0 denotes no silica used)
!
!  minC2SiALG     Balanced phytoplankton C:Si ratio,
!                   (micromole_C/micromole_Si).
!                   << 1.0 denotes no silica used >>
!
!  C2SiALGminABS  Absolute minimum phytoplankton C:Si ratio,
!                  (micromole_C/micromole_Si).
!                  (1.0 denotes no silica used)
!
!  maxC2pALG      Maximum phytoplankton C:P ratio,
!                   (micromole_C/micromole_P).
!
!  minC2pALG      Balanced phytoplankton C:P ratio,
!                   (micromole_C/micromole_P).
!
!  C2pALGminABS   Absolute minimum phytoplankton C:P ratio,
!                   (micromole_C/micromole_P).
!
!  maxC2FeALG     Maximum phytoplankton C:Fe ratio,
!                   (micromole_C/micromole_Fe).
!                   << 1.0d+30 denotes no Fe uptake being calculated >>
!
!  minC2FeALG     Balanced phytoplankton C:Fe ratio,
!                   (micromole_C/micromole_Fe).
!                   << 1.0d+30 denotes no Fe uptake being calculated >>
!
!  C2FeALGminABS  Absolute minimum phytoplankton C:Fe ratio,
!                   (micromole_C/micromole_Fe).
!                   << 1.0d+30 denotes no Fe uptake being calculated >>
!
!  qu_yld         Maximum quantum yield,
!                   (micromole_C/micromole_quanta).
!
!  E0_comp        Compensation light level,
!                   (micromole_quanta).
!
!  E0_inhib       Light level for onset of photoinhibition,
!                   (micromole_quanta).
!
!  inhib_fac      Exponential decay factor for light limited growth,
!                   (1/micromole_quanta).
!
!  C2Chl_max      Maximum lighted limited (nutrient replete) C:Chl ratio,
!                   (microgram_C/microgram_Chl).
!
!  mxC2Cl         Rate of change in the lighted limited C:Chl ratio,
!                   (microgram_C/microgram_Chl/micromole_quanta).
!
!  b_C2Cl         Minimum lighted limited (nutrient replete) C:Chl ratio,
!                   (microgram_C/microgram_Chl).
!
!  mxC2Cn         Rate of change in the nutrient limited C:Chl ratio,
!                   [(microgram_C/microgram_Chl)/(micromole_C/micromole_N)].
!                   << Zeros denote no change in C:Chl with nutrient status >>
!
!  b_C2Cn         Minimum nutrient limited C:Chl ratio,
!                   (microgram_C/microgram_Chl).
!                   << Zeros denote no change in C:Chl with nutrient status >>
!
!  mxPacEff       Rate of change in package effect,
!                   [1/(microgram_C/microgram_Chl)].
!                   << Zeros denote no change in Package Effect >>
!
!  b_PacEff       Maximum package effect,
!                   [1/(microgram_C/microgram_Chl)].
!                   << Zeros denote no package effect >>
!
!  mxChlB         Rate of change in the Chl_b:Chl_a ratio,
!                   [(microgram_Chl_b/microgram_Chl_a)/
!                    (microgram_C/microgram_Chl_a)].
!                   << Zeros denote no change in Chl_b:Chl_a ratio >>
!
!  b_ChlB         Maximum Chl_b:Chl_a ratio,
!                   (microgram_Chl_b/microgram_Chl_a).
!                   (Zeros denote no Chl_b)
!
!  mxChlC         Rate of change in the Chl_c:Chl_a ratio.
!                   [(microgram_Chl_c/microgram_Chl_a)/
!                    (microgram_C/microgram_Chl_a)].
!                   << Zeros denote no change in Chl_c:Chl_a ratio >>
!
!  b_ChlC         Maximum Chl_c:Chl_a ratio,
!                   (microgram_Chl_c/microgram_Chl_a).
!                   << Zeros denote no Chl_c >>
!
!  mxPSC          Rate of change in the PSC:Chl_a ratio,
!                   [(microgram_PSC/microgram_Chl_a)/
!                    (microgram_C/microgram_Chl_a)].
!                   << Zeros denote no change in PSC:Chla ratio >>
!
!  b_PSC          Maximum PSC:Chl_a ratio,
!                  (microgram_Chl_c/microgram_Chl_a).
!                  << Zeros denote no Photosynthetic Caroteniods >>
!
!  mxPPC          Rate of change in the PPC:Chl_a ratio,
!                   [(microgram_PPC/microgram_Chl_a)/
!                    (microgram_C/microgram_Chl_a)].
!                   << Zeros denote no change in PPC:Chl_a ratio >>
!
!  b_PPC          Maximum PPC:Chl_a ratio,
!                  (microgram_Chl_c/microgram_Chl_a).
!                  << Zeros denote no Photoprotective Caroteniods >>
!
!  mxLPUb         Rate of change in the LPUb:Chl_a ratio,
!                   [(microgram_LPUb/microgram_Chl_a)/
!                    (microgram_C/microgram_Chl_a)].
!                   << Zeros denote no change in LPUb:Chl_a ratio >>
!
!  b_LPUb         Maximum LPUb:Chl_a ratio,
!                   (microgram_HPUb/microgram_Chl_a).
!                   << Zeros denote no LPUb >>
!
!  mxHPUb         Rate of change in the HPUb:Chl_a ratio,
!                   [(microgram_HPUb/microgram_Chl_a)/
!                    (microgram_C/microgram_Chl_a)].
!                   << Zeros denote no change in HPUb:Chl_a ratio >>
!
!  b_HPUb         Maximum HPUb:Chl_a ratio,
!                   (microgram_HPUb/microgram_Chl_a).
!                   << Zeros denote no HPUb >>
!
!  FecDOC         Proportion of grazing stress which is apportioned to DOM,
!                   (nondimensional).
!
!  FecPEL         Proportion of grazing stress which is apportioned to fecal
!                   pellets, (nondimesional).
!                   [Nphy,Nfec,Ngrids] values are expected.
!
!  FecCYC         Proportion of grazing stress which is apportioned to direct
!                   remineralization, (nondimensional).
!
!  ExALG          Proportion of daily production that is lost to excretion,
!                   (nondimensional).
!
!  WS             Phytoplankton sinking speed,
!                   (meters/day).
!
!  HsGRZ          Phytoplankton grazing parameter,
!                   (nondimensional).
!
!  MinRefuge      Refuge Phytoplankton population,
!                   (micromole_C/liter).
!
!  RefugeDep      Maximum Refuge Phytoplankton depth,
!                   (meters).
!
!  Norm_Vol       Normalized Volume factor,
!                   (nondimensional).
!                   << 1 micron diameter cell = 1 >>
!
!  Norm_Surf      Normalized surface area factor,
!                   (nondimensional).
!                   << 1 micron diameter cell = 1 >>
!
!  HsDOP          Half Saturation Constant for DOP uptake,
!                   (micromole_DOP/liter).
!
!  C2pALKPHOS     C:P ratio where DOP uptake begins,
!                   (micromole_C/micromole_P).
!                   << Values above maxC2pALG denote no DOP uptake >>
!
!  HsDON          Half Saturation Constant for DON uptake,
!                   (micromole_DON/liter).
!
!  C2nNupDON      C:N ratio where DON uptake begins,
!                   (micromole_C/micromole_N).
!                   << Values above maxC2nALG denote no DOP uptake >>
!
!------------------------------------------------------------------------------
! Bacteria Parameters. Unless specified, [Ngrids] values are expected. This
! file is configured for Nbac=1 and Ngrids=1.
!------------------------------------------------------------------------------
!
!  HsDOC_ba       Half saturation constant for bacteria DOC uptake,
!                   (micromole_DOC/liter).
!                   [Nbac,Ngrids] values are expected.
!
!  GtBAC_max      Maximum 24 hour bacterial growth rate,
!                   (1/day).
!                   [Nbac,Ngrids] values are expected.
!
!  BacTbase       Phytoplankton temperature base for exponential response to
!                   temperature, (Celsius).
!                   [Nbac,Ngrids] values are expected.
!
!  BacTfac        Phytoplankton exponential temperature factor,
!                   (1/Celsius).
!                   [Nbac,Ngrids] values are expected.
!
!  C2nBAC         Carbon to Nitrogen ratio of Bacteria,
!                   (micromole_C/micromole_N).
!
!  C2pBAC         Carbon to Phosphorus ratio of Bacteria,
!                   (micromole_C/micromole_P).
!
!  C2FeBAC        Carbon to Iron ratio of Bacteria,
!                   (micromole_C/micromole_Fe).
!
!  BacDOC         Proportion of bacterial grazing stress which is apportioned
!                   to DOM, (nondimensional).
!
!  BacPEL         Proportion of bacterial grazing stress which is apportioned
!                   to fecal pellets, (nondimensional).
!
!  BacCYC         Proportion of bacterial grazing stress which is apportioned
!                   to direct remineralization, (nondimensional).
!
!  ExBAC_c        Bacterial recalcitrant carbon excretion as a proportion
!                   of uptake, (nondimensional)
!
!  ExBacC2N       Bacterial recalcitrant excretion carbon to nitrogen ratio,
!                   (micromole_C/micromole_N).
!
!  Bac_Ceff       Bacterial gross growth carbon efficiency,
!                   (nondimensional).
!
!  RtNIT          Maximum nitrification rate,
!                   (1/day).
!
!  HsNIT          Half-saturation constant for bacterial nitrification,
!                   (micromole_NH4/liter).
!
!------------------------------------------------------------------------------
! DOM Parameters. Unless specified, [Ngrids] values are expected. This
! file is configured for Ndom=2 and Ngrids=1.
!------------------------------------------------------------------------------
!
!  cDOCfrac_c     Colored fraction of DOC production from phytoplankton and
!                   bacterial losses, (nondimensional).
!                   [Ndom,Ngrids] values are expected.
!
!  RtUVR_DIC      UV degradation of DOC into DIC,
!                   (micromole/meter/liter/hour at 410 nanometer).
!
!  RtUVR_DOC      UV degradation of DOC into colorless labile DOC,
!                   (micromole/meter/liter/hour at 410 nanometer).
!
!------------------------------------------------------------------------------
! Fecal and detritus Parameters. Unless specified, [Nfec,Ngrids] values are
! expected. This file is configured for Nfec=2 and Ngrids=1.
!------------------------------------------------------------------------------
!
!  WF             Fecal sinking flux,
!                   (meters/day)
!
!  RegTbase       Fecal regeneration temperature base for exponential response
!                   to temperature, (Celsius).
!
!  RegTfac        Fecal regeneration exponential temperature factor,
!                   (1/Celsius).
!
!  RegCR          Fecal carbon regeneration rate,
!                   (1/day).
!
!  RegNR          Fecal nitrogen regeneration rate,
!                   (1/day).
!
!  RegSR          Fecal silica regeneration rate,
!                   (1/day).
!
!  RegPR          Fecal phosphorus regeneration rate,
!                   (1/day).
!
!  RegFR          Fecal iron regeneration rate,
!                   (1/day)
!
!------------------------------------------------------------------------------
! Physical parameters. This file is configured for NBT=61.
!------------------------------------------------------------------------------
!
!  TNU2           Nonlinear model lateral, harmonic, constant, mixing
!                   coefficient (m2/s) for biological tracer variables;
!                   [1:NBT,1:Ngrids] values are expected. If variable
!                   horizontal diffusion is activated, TNU2 is the mixing
!                   coefficient for the largest grid-cell in the domain.
!
!  TNU4           Nonlinear model lateral, biharmonic, constant, mixing
!                   coefficient (m4/s) for biological tracer variables;
!                   [1:NBT,1:Ngrids] values are expected. If variable
!                   horizontal diffusion is activated, TNU4 is the mixing
!                   coefficient for the largest grid-cell in the domain.
!
!  ad_TNU2        Adjoint-based algorithms lateral, harmonic, constant,
!                   mixing coefficient (m2/s) for biological tracer variables;
!                   [1:NBT,1:Ngrids] values are expected. If variable
!                   horizontal diffusion is activated, ad_TNU2 is the mixing
!                   coefficient for the largest grid-cell in the domain.
!
!  ad_TNU4        Adjoint-based algorithms lateral, biharmonic, constant,
!                   mixing coefficient (m4/s) for biological tracer variables;
!                   [1:NBT,1:Ngrids] values are expected. If variable
!                   horizontal diffusion is activated, ad_TNU4 is the mixing
!                   coefficient for the largest grid-cell in the domain.
!
!  LtracerSponge  Logical switches (TRUE/FALSE) to increase/decrease horizontal
!                   diffusivity of biological tracers in specific areas of the
!                   domain. It can be used to specify sponge areas with larger
!                   horizontal mixing coefficients for damping of high
!                   frequency noise due to open boundary conditions or nesting.
!                   The CPP option SPONGE is now deprecated and replaced with
!                   this switch to facilitate or not sponge areas over a
!                   particular nested grid; [1:NBT,1:Ngrids] values are
!                   expected.
!
!                   The horizontal mixing distribution is specified in
!                   "ini_hmixcoef.F" as:
!
!                     diff2(i,j,itrc) = diff_factor(i,j) * diff2(i,j,itrc)
!                     diff4(i,j,itrc) = diff_factor(i,j) * diff4(i,j,itrc)
!
!                   The variable "diff_factor" can be read from the grid
!                   NetCDF file. Alternately, the horizontal diffusion in the
!                   sponge area can be set-up with analytical functions in
!                   "ana_sponge.h" using CPP ANA_SPONGE when these switches
!                   are turned ON for a particular grid.
!
!  AKT_BAK        Background vertical mixing coefficient (m2/s) for biological
!                   tracer variables, [1:NBT,1:Ngrids] values are expected.
!
!
!  ad_AKT_fac     Adjoint-based algorithms vertical mixing, basic state,
!                   scale factor (nondimensional) for biological tracer
!                   variables; [1:NBT,1:Ngrids] values are expected. In
!                   some applications, a smaller/larger values of vertical
!                   mixing are necessary for stability. It is only used
!                   when FORWARD_MIXING is activated.
!
!  TNUDG          Nudging time scale (days), [1:NBT,1:Ngrids].  Inverse scale
!                   will be computed internally.
!
!------------------------------------------------------------------------------
! Tracer advection scheme.
!------------------------------------------------------------------------------
!
! It is more advantageous to set the horizontal and vertical advection schemes
! for each tracer with switches instead of a single CPP flag for all of them.
! Positive-definite and monotonic algorithms (i.e., MPDATA and HSIMT) are
! appropriate and useful for positive fields like salinity, inert, biological,
! and sediment tracers.  However, since the temperature has a dynamic range
! with negative and positive values in the ocean, other advection schemes are
! more appropriate.
!
! Currently, the following tracer advection schemes are available and are
! activated using the associated Keyword:
!
!   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 using either HSIMT (Wu and Zhu, 2010) or MPDATA (Margolin and
! Smolarkiewicz, 1998) options, the user needs to set the same scheme
! for both horizontal and vertical advection to preserve monotonicity.
!
! Hadvection     Horizontal advection for each active (temperature and
!                  salinity) and inert tracers, [1:NAT+NPT,Ngrids]
!                  values are expected.
!
! Vadvection     Vertical advection for each active (temperature and
!                  salinity) and inert tracers, [1:NAT+NPT,Ngrids]
!                  values are expected.
!
! ad_Hadvection  Horizontal advection for each active (temperature and
!                  salinity) and inert tracers in the adjoint-based
!                  algorithms, [1:NAT+NPT,Ngrids] values are expected.
!
! ad_Vadvection  Vertical advection for each active (temperature and
!                  salinity) and inert tracers in the adjoint-based
!                  algorithms, [1:NAT+NPT,Ngrids] values are expected.
!
! Examples:
!
!  Hadvection == A4       \                     ! temperature
!                MPDATA   \                     ! salinity
!                HSIMT    \                     ! dye_01, inert(1)
!                HSIMT                          ! dy2_02, inert(2)
!
!  Vadvection == A4       \                     ! temperature
!                MPDATA   \                     ! salinity
!                HSIMT    \                     ! dye_01, inert(1)
!                HSIMT                          ! dye_02, inert(2)
!
! or in nested applications
!
!  Hadvection == U3       \                     ! temperature, Grid 1
!                HSIMT    \                     ! salinity,    Grid 1
!                U3       \                     ! temperature, Grid 2
!                HSIMT    \                     ! salinity,    Grid 2
!                U3       \                     ! temperature, Grid 3
!                HSIMT                          ! salinity,    Grid 3
!
!  Vadvection == C4       \                     ! temperature, Grid 1
!                HSIMT    \                     ! salinity,    Grid 1
!                C4       \                     ! temperature, Grid 2
!                HSIMT    \                     ! salinity,    Grid 2
!                C4       \                     ! temperature, Grid 3
!                HSIMT                          ! salinity,    Grid 3
!
! It is convinient to use the compact specification format for biological and
! sediment passive tracers as:
!
!  Hadvection == HSIMT                          ! idbio(:), compact
!
!  Vadvection == HSIMT                          ! idbio(:), compact
!
! when all the passive tracers have the same horizontal and vertical tracer
! advection scheme.
!
!------------------------------------------------------------------------------
! Lateral boundary conditions parameters.
!------------------------------------------------------------------------------
!
! The lateral boundary conditions are now specified with logical switches
! instead of CPP flags to allow nested grid configurations. Their values are
! load into structured array:
!
!    LBC(1:4, nLBCvar, Ngrids)
!
! where 1:4 are the number of boundary edges, nLBCvar are the number LBC state
! variables, and Ngrids is the number of nested grids. For Example, to apply
! gradient boundary conditions to any tracer we use:
!
!    LBC(iwest,  isTvar(itrc), ng) % gradient
!    LBC(ieast,  isTvar(itrc), ng) % gradient
!    LBC(isouth, isTvar(itrc), ng) % gradient
!    LBC(inorth, isTvar(itrc), ng) % gradient
!
! The lateral boundary conditions for biological tracers are entered with
! a keyword. This 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.
!
! It is possible to specify the lateral boundary conditions for all biological
! tracers in a compact form with a single entry.  for example, in a East-West
! periodic application we can just have:
!
!                   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
!
! Then, the standard input processing routine will assume that all the
! biological tracers have the same lateral boundary condition specified by
! 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
!
!  LBC(isTvar)    Biological Tracers, [1:4, 1:NBT, Ngrids] values are expected.
!
! Similarly, the adjoint-based algorithms (ADM, TLM, RPM) can have different
! lateral boundary conditions keywords:
!
!  ad_LBC(isTvar) Biological Tracers, [1:4, 1:NBT, Ngrids] values are expected.
!
!------------------------------------------------------------------------------
!  Tracer point Sources/Sink sources switches: [1:NBT,1:Ngrids].
!------------------------------------------------------------------------------
!
!  LtracerSrc     Logical switches (T/F) to activate biological tracer
!                   variables point Sources/Sinks.
!
!                     LtracerSrc(idbio(  1),ng)
!                     ...              ...
!                     LtracerSrc(idbio(NBT),ng)
!
!                   Recall that these switches are usually activated to add
!                   river runoff as a point source. At minimum, it is necessary
!                   to specify both temperature and salinity for all rivers.
!                   The other tracers are optional. The user needs to know the
!                   correspondence between biological variables and indices
!                   idbio(1:NBT) when activating one or more of these switches.
!
!                   These logical switches REPLACES and ELIMINATES the need to
!                   have or read the variable "river_flag(river)" in the input
!                   rivers forcing NetCDF file:
!
!                     double river_flag(river)
!                        river_flag:long_name = "river runoff tracer flag"
!                        river_flag:option_0 = "all tracers are off"
!                        river_flag:option_1 = "only temperature"
!                        river_flag:option_2 = "only salinity"
!                        river_flag:option_3 = "both temperature and salinity"
!                        river_flag:units = "nondimensional"
!
!                   This logic was too cumbersome and complicated when
!                   additional tracers are considered. However, this change
!                   is backward compatible.
!
!                   The LtracerSrc switch will be used to activate the reading
!                   of respective tracer variable from input river forcing
!                   NetCDF file. If you want to add other tracer variables
!                   (other than temperature and salinity) as a source for a
!                   particular river(s), you just need to specify such values
!                   on those river(s). Then, set the values to ZERO on the
!                   other river(s) that do NOT require such river forcing for
!                   that tracer. Recall that you need to specify the tracer
!                   values for all rivers, even if their values are zero.
!
!------------------------------------------------------------------------------
!  Tracer climatology processing switches: [1:NBT,1:Ngrids].
!------------------------------------------------------------------------------
!
!  LtracerCLM     Logical switches (T/F) to process biological tracer variables
!                   climatology.  The CPP option TCLIMATOLOGY is now obsolete
!                   and replaced with these switches to facilitate nesting
!                   applications. Currently, the CLIMA(ng)%tclm is used for
!                   horizontal mixing, sponges, and nudging.
!
!                     LtracerCLM(idbio(  1),ng)
!                     ...              ...
!                     LtracerCLM(idbio(NBT),ng)
!
!                   These switches also controls which climatology tracer
!                   fields needs to be processed.  So we may reduce the
!                   memory allocation for the CLIMA(ng)%tclm array.
!
!------------------------------------------------------------------------------
!  Logical switches for nudging to climatology: [1:NBT,1:Ngrids].
!------------------------------------------------------------------------------
!
!  LnudgeTCLM     Logical switches (T/F) to activate the nugding of biological
!                   tracer variables climatology. These switches also control
!                   which biological tracer variables to nudge. The CPP option
!                   TCLM_NUDGING is now obsolete and replaced with these
!                   switches to facilitate nesting.
!
!                     LnudgeTCLM(idbio(  1),ng)
!                     ...              ...
!                     LnudgeTCLM(idbio(NBT),ng)
!
!                   User also needs to TURN ON the respective logical switches
!                   "LtracerCLM", described above, to process the required 3D
!                   biological tracer climatology data. This data can be set
!                   with analytical functions (ANA_TCLIMA) or read from input
!                   climatology NetCDF file(s).
!
!                   The nudging coefficients CLIMA(ng)%Tnudgcof can be set
!                   with analytical functions in "ana_nudgcoef.h"  using CPP
!                   option ANA_NUDGCOEF.  Otherwise, it will be read from
!                   NetCDF file NUDNAME.
!
!------------------------------------------------------------------------------
! Logical switches (T/F) to activate writing of fields into HISTORY file.
!------------------------------------------------------------------------------
!
!  Hout             Logical switches to write out biological fields into
!                     output HISTORY NetCDF file, [1:NBT,1:Ngrids] values
!                     are expected:
!
!                     Hout(idTvar)      biological tracers
!                     Hout(idTsur)      biological tracers surface flux
!
!                     The idTvar(idbio(:)) and idTsur(idbio(:)) indices are
!                     provided above.
!
!------------------------------------------------------------------------------
! Logical switches (T/F) to activate writing of fields into QUICKSAVE file.
!------------------------------------------------------------------------------
!
!  Qout             Logical switches to write out biological fields into
!                     output QUICKSAVE NetCDF file, [1:NBT,1:Ngrids] values
!                     are expected:
!
!                     Qout(idTvar)      biological tracers
!                     Qout(idsurT)      surface biological tracers
!                     Qout(idTsur)      biological tracers surface flux
!
!                     The idTvar(idbio(:)), idsurR(idbio(:)), and
!                     idTsur(idbio(:)) indices are provided above.
!
!------------------------------------------------------------------------------
! Logical switches (T/F) to activate writing of fields into AVERAGE file.
!------------------------------------------------------------------------------
!
!  Aout             Logical switches to write out biological fields into
!                     output AVERAGE NetCDF file, [1:NBT,1:Ngrids] values
!                     are expected:
!
!                     Aout(idTvar)      biological tracers
!
!                     Aout(idTTav)      quadratic <t*t> tracers terms
!                     Aout(idUTav)      quadratic <u*t> tracers terms
!                     Aout(idVTav)      quadratic <v*t> tracers terms
!                     Aout(iHUTav)      tracer u-volume flux, <Huon*t>
!                     Aout(iHVTav)      tracer v-volume flux, <Hvom*t>
!
!                     The idTvar(idbio(:)) indices are provided above.
!
!------------------------------------------------------------------------------
! Logical switches (T/F) to activate writing of time-averaged fields into
! DIAGNOSTIC file.
!------------------------------------------------------------------------------
!
!  Time-averaged, biological tracers  diagnostic terms, [1:NBT,Ngrids] values
!  expected: (if DIAGNOSTICS_TS)
!
!                   Dout(idDtrc(idbio(1:NBT),iT....),1:Ngrids)
!
!  Dout(iTrate)     Write out time rate of change.
!  Dout(iThadv)     Write out horizontal total advection.
!  Dout(iTxadv)     Write out horizontal  XI-advection.
!  Dout(iTyadv)     Write out horizontal ETA-advection.
!  Dout(iTvadv)     Write out vertical advection.
!  Dout(iThdif)     Write out horizontal total diffusion, if TS_DIF2 or TS_DIF4
!  Dout(iTxdif)     Write out horizonta1  XI-diffusion, if TS_DIF2 or TS_DIF4.
!  Dout(iTydif)     Write out horizontal ETA-diffusion, if TS_DIF2 or TS_DIF4.
!  Dout(iTsdif)     Write out horizontal   S-diffusion, if TS_DIF2 or TS_DIF4
!                     and rotated tensor (MIX_GEO_TS or MIX_ISO_TS).
!  Dout(iTvdif)     Write out vertical diffusion.
!
!
!  Time-accumulated underwater spectral bio-optical processes diagnostics
!  fields, [Ngrids] values are expected:
!
!  Dout(idSpIr)     Write out surface spectral light irradiance
!  Dout(iddIrr)     Write out downward spectral light irradiance
!  Dout(idsIrr)     Write out scalar spectral light irradiance
!  Dout(idAcos)     Write out light spectral average cosine of zenith angle
!  Dout(idLatt)     Write out diffuse light attenuation
!  Dout(idaPHY)     Write out phytoplankton optical absorption
!  Dout(idaDET)     Write out detrital optical absorption
!  Dout(idaCDC)     Write out color degradational matter optical absorption
!  Dout(idsPHY)     Write out phytoplankton optical scattering
!  Dout(idbPHY)     Write out phytoplankton optical backscattering
!  Dout(idsTOT)     Write out total optical scattering
!  Dout(ibbTOT)     Write out total optical backscattering
!