New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 13233 for NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p4zprod.F90 – NEMO

Ignore:
Timestamp:
2020-07-02T20:34:16+02:00 (4 years ago)
Author:
aumont
Message:

update of the PISCES comments

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p4zprod.F90

    r13200 r13233  
    2626   PUBLIC   p4z_prod_alloc   ! called in trcini_pisces.F90 
    2727 
    28    REAL(wp), PUBLIC ::   pislopen     !: 
    29    REAL(wp), PUBLIC ::   pisloped     !: 
    30    REAL(wp), PUBLIC ::   xadap        !: 
    31    REAL(wp), PUBLIC ::   excretn      !: 
    32    REAL(wp), PUBLIC ::   excretd      !: 
    33    REAL(wp), PUBLIC ::   bresp        !: 
    34    REAL(wp), PUBLIC ::   chlcnm       !: 
    35    REAL(wp), PUBLIC ::   chlcdm       !: 
    36    REAL(wp), PUBLIC ::   chlcmin      !: 
    37    REAL(wp), PUBLIC ::   fecnm        !: 
    38    REAL(wp), PUBLIC ::   fecdm        !: 
    39    REAL(wp), PUBLIC ::   grosip       !: 
     28   REAL(wp), PUBLIC ::   pislopen     !:  P-I slope of nanophytoplankton 
     29   REAL(wp), PUBLIC ::   pisloped     !:  P-I slope of diatoms 
     30   REAL(wp), PUBLIC ::   xadap        !:  Adaptation factor to low light  
     31   REAL(wp), PUBLIC ::   excretn      !:  Excretion ratio of nanophyto 
     32   REAL(wp), PUBLIC ::   excretd      !:  Excretion ratio of diatoms 
     33   REAL(wp), PUBLIC ::   bresp        !:  Basal respiration rate 
     34   REAL(wp), PUBLIC ::   chlcnm       !:  Maximum Chl/C ratio of nano 
     35   REAL(wp), PUBLIC ::   chlcdm       !:  Maximum Chl/C ratio of diatoms 
     36   REAL(wp), PUBLIC ::   chlcmin      !:  Minimum Chl/C ratio of phytoplankton 
     37   REAL(wp), PUBLIC ::   fecnm        !:  Maximum Fe/C ratio of nano 
     38   REAL(wp), PUBLIC ::   fecdm        !:  Maximum Fe/C ratio of diatoms 
     39   REAL(wp), PUBLIC ::   grosip       !:  Mean Si/C ratio of diatoms 
    4040 
    4141   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   quotan   !: proxy of N quota in Nanophyto 
     
    6161      !!                Computes also the uptake of Iron and Si as well  
    6262      !!                as the chlorophyll content of the cells 
     63      !!                PISCES relies on a mixed Monod-Quota formalism  
    6364      !!--------------------------------------------------------------------- 
    6465      INTEGER, INTENT(in) ::   kt, knt   ! 
     
    9495      zmxl_fac(:,:,:) = 0._wp ; zmxl_chl(:,:,:) = 0._wp  
    9596 
    96       ! Computation of the maximimum production 
     97      ! Computation of the maximimum production. Based on a Q10 description 
     98      ! of the thermal dependency 
    9799      ! Parameters are taken from Bissinger et al. (2008) 
    98100      zprmaxn(:,:,:) = 0.8_wp * r1_rday * tgfunc(:,:,:) 
     
    100102 
    101103      ! compute the day length depending on latitude and the day 
     104      ! Astronomical parameterization taken from HAMOCC3 
    102105      zrum = REAL( nday_year - 80, wp ) / REAL( nyear_len(1), wp ) 
    103106      zcodel = ASIN(  SIN( zrum * rpi * 2._wp ) * SIN( rad * 23.5_wp )  ) 
     
    115118      ! Impact of the day duration and light intermittency on phytoplankton growth 
    116119      ! Intermittency is supposed to have a similar effect on production as  
    117       ! day length. The correcting factor is zmxl_fac. zmxl_chl is the fractional 
    118       ! day length and is used to compute the mean PAR during daytime. 
    119       ! Formulation for the impact of day length on PP is from Thompson (1999) 
     120      ! day length (Shatwell et al., 2012). The correcting factor is zmxl_fac.  
     121      ! zmxl_chl is the fractional day length and is used to compute the mean 
     122      ! PAR during daytime. The effect of mixing is computed using the  
     123      ! absolute light level definition of the euphotic zone 
    120124      ! -------------------------------------------------------------------------  
    121125      DO jk = 1, jpkm1 
     
    137141      zprdia(:,:,:) = zprmaxd(:,:,:) * zmxl_fac(:,:,:) 
    138142 
    139       WHERE( zstrn(:,:) < 1.e0 ) zstrn(:,:) = 24. 
    140  
    141143      ! Computation of the P-I slope for nanos and diatoms 
    142144      ! The formulation proposed by Geider et al. (1997) has been modified  
     
    155157                  ! The initial slope of the PI curve can be increased for nano 
    156158                  ! to account for photadaptation, for instance in the DCM 
     159                  ! This parameterization is adhoc and should be either  
     160                  ! improved or removed in future versions of the model 
     161 
     162                  ! Nanophytoplankton 
    157163                  zpislopeadn(ji,jj,jk) = pislopen * ( 1.+ zadap  * EXP( -0.25 * enano(ji,jj,jk) ) )  & 
    158164                  &                   * trb(ji,jj,jk,jpnch) /( trb(ji,jj,jk,jpphy) * 12. + rtrn) 
    159                   ! 
     165 
     166                  ! Diatoms 
    160167                  zpislopeadd(ji,jj,jk) = (pislopen * zconctemp2 + pisloped * zconctemp) / ( trb(ji,jj,jk,jpdia) + rtrn )   & 
    161168                  &                   * trb(ji,jj,jk,jpdch) /( trb(ji,jj,jk,jpdia) * 12. + rtrn) 
     
    170177               IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    171178                   ! Computation of production function for Carbon 
    172                    !  --------------------------------------------- 
     179                   ! Actual light levels are used here  
     180                   ! ---------------------------------------------- 
    173181                   zpislopen = zpislopeadn(ji,jj,jk) / ( ( r1_rday + bresp * r1_rday ) & 
    174182                   &            * zmxl_fac(ji,jj,jk) * rday + rtrn) 
     
    177185                   zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1.- EXP( -zpislopen * enano(ji,jj,jk) )  ) 
    178186                   zprdia(ji,jj,jk) = zprdia(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediat(ji,jj,jk) )  ) 
     187 
    179188                   !  Computation of production function for Chlorophyll 
    180                    !-------------------------------------------------- 
     189                   !  Mean light level in the mixed layer (when appropriate) 
     190                   !  is used here (acclimation is in general slower than  
     191                   !  the characteristic time scales of vertical mixing) 
     192                   !  ------------------------------------------------------ 
    181193                   zpislopen = zpislopeadn(ji,jj,jk) / ( zprmaxn(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 
    182194                   zpisloped = zpislopeadd(ji,jj,jk) / ( zprmaxd(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 
     
    188200      END DO 
    189201 
    190       !  Computation of a proxy of the N/C ratio 
    191       !  Steady state is assumed 
    192       !  --------------------------------------- 
     202      !  Computation of a proxy of the N/C quota from nutrient limitation  
     203      !  and light limitation. Steady state is assumed to allow the computation 
     204      !  ---------------------------------------------------------------------- 
    193205      DO jk = 1, jpkm1 
    194206         DO jj = 1, jpj 
     
    210222 
    211223               IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
     224 
    212225                   ! Si/C of diatoms 
    213226                   ! ------------------------ 
     
    215228                   ! Si/C is arbitrariliy increased for very high Si concentrations 
    216229                   ! to mimic the very high ratios observed in the Southern Ocean (zsilfac2) 
     230                   ! A parameterization derived from Flynn (2003) is used for the control 
     231                   ! when Si is not limiting which is similar to the parameterisation 
     232                   ! proposed by Gurney and Davidson (1999). 
    217233                   ! ----------------------------------------------------------------------- 
    218234                 zlim  = trb(ji,jj,jk,jpsil) / ( trb(ji,jj,jk,jpsil) + xksi1 ) 
     
    271287                  sizena(ji,jj,jk) = min(xsizern, max( sizena(ji,jj,jk), zsizetmp ) ) 
    272288 
    273                   !  Iron uptake rates of nanophytoplankton. Upregulation   
    274                   !  is parameterized at low iron concentrations. Typical  
    275                   !  formulation used in quota formulations. Uptake is downregulated 
    276                   !  when the quota is close to the maximum quota  
     289                  ! Iron uptake rates of nanophytoplankton. Upregulation is   
     290                  ! not parameterized at low iron concentrations as observations 
     291                  ! do not suggest it for accimated cells. Uptake is 
     292                  ! downregulated when the quota is close to the maximum quota 
    277293                  zratio = 1.0 - MIN(1.0,trb(ji,jj,jk,jpnfe) / ( trb(ji,jj,jk,jpphy) * fecnm + rtrn ) ) 
    278294                  zmax   = MAX( 0., MIN( 1.0, zratio**2/ (0.05**2+zratio**2) ) )  
     
    281297                  &          + xnanonh4(ji,jj,jk) ) * (1. - xnanofer(ji,jj,jk) ) )   & 
    282298                  &          * xnanofer(ji,jj,jk) * zmax * trb(ji,jj,jk,jpphy) * rfact2 
    283                   !  production terms of diatoms (C) 
     299                  ! production terms of diatoms (C) 
    284300                  zprorcad(ji,jj,jk) = zprdia(ji,jj,jk) * xlimdia(ji,jj,jk) * trb(ji,jj,jk,jpdia) * rfact2 
    285301 
     
    297313                  sizeda(ji,jj,jk) = min(xsizerd, max( sizeda(ji,jj,jk), zsizetmp ) ) 
    298314 
    299                   !  Iron uptake rates of nanophytoplankton. Upregulation   
    300                   !  is parameterized at low iron concentrations. Typical  
    301                   !  formulation used in quota formulations. Uptake is downregulated 
    302                   !  when the quota is close to the maximum quota  
     315                  ! Iron uptake rates of diatoms. Upregulation is   
     316                  ! not parameterized at low iron concentrations as observations 
     317                  ! do not suggest it for accimated cells. Uptake is 
     318                  ! downregulated when the quota is close to the maximum quota 
    303319                  zratio = 1.0 - MIN(1.0, trb(ji,jj,jk,jpdfe) / ( trb(ji,jj,jk,jpdia) * fecdm + rtrn ) ) 
    304320                  zmax   = MAX( 0., MIN( 1.0, zratio**2/ (0.05**2+zratio**2) ) )  
     
    323339                  zprod    = rday * zprorcan(ji,jj,jk) * zprchln(ji,jj,jk) * xlimphy(ji,jj,jk) 
    324340                  zprochln = chlcmin * 12. * zprorcan (ji,jj,jk) 
     341 
    325342                  ! The maximum reachable Chl quota is modulated by temperature 
    326343                  ! following Geider (1987) 
     
    328345                  zprochln = zprochln + (chlcnm_n-chlcmin) * 12. * zprod / & 
    329346                                        & (  zpislopeadn(ji,jj,jk) * znanotot +rtrn) 
    330                   !  production terms of diatoms ( chlorophyll ) 
     347 
     348                  ! production terms of diatoms ( chlorophyll ) 
    331349                  zdiattot = ediatm(ji,jj,jk) / ( zmxl_chl(ji,jj,jk) + rtrn ) 
    332350                  zprod    = rday * zprorcad(ji,jj,jk) * zprchld(ji,jj,jk) * xlimdia(ji,jj,jk) 
    333351                  zprochld = chlcmin * 12. * zprorcad(ji,jj,jk) 
     352 
    334353                  ! The maximum reachable Chl quota is modulated by temperature 
    335354                  ! following Geider (1987) 
     
    337356                  zprochld = zprochld + (chlcdm_n-chlcmin) * 12. * zprod / & 
    338357                                        & ( zpislopeadd(ji,jj,jk) * zdiattot +rtrn ) 
    339                   !   Update the arrays TRA which contain the Chla sources and sinks 
     358 
     359                  ! Update the arrays TRA which contain the Chla sources and sinks 
    340360                  tra(ji,jj,jk,jpnch) = tra(ji,jj,jk,jpnch) + zprochln * texcretn 
    341361                  tra(ji,jj,jk,jpdch) = tra(ji,jj,jk,jpdch) + zprochld * texcretd 
     
    377397        END DO 
    378398     END DO 
    379      ! 
     399 
    380400     ! Production and uptake of ligands by phytoplankton. This part is activated  
    381401     ! when ln_ligand is set to .true. in the namelist. Ligand uptake is small  
     
    403423 
    404424 
     425    ! Output of the diagnostics 
    405426    ! Total primary production per year 
    406427    IF( iom_use( "tintpp" ) .OR. ( ln_check_mass .AND. kt == nitend .AND. knt == nrdttrc )  )  & 
     
    423444              CALL iom_put( "PPNEWN"  , zw3d ) 
    424445              ! 
    425               zw3d(:,:,:) = zpronewd(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by diatomes 
     446              zw3d(:,:,:) = zpronewd(:,:,:) * zfact * tmask(:,:,:)  ! new primary production by diatoms 
    426447              CALL iom_put( "PPNEWD"  , zw3d ) 
    427448          ENDIF 
     
    434455              CALL iom_put( "PFeN"  , zw3d ) 
    435456              ! 
    436               zw3d(:,:,:) = zprofed(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by  diatomes 
     457              zw3d(:,:,:) = zprofed(:,:,:) * zfact * tmask(:,:,:)  ! biogenic iron production by  diatoms 
    437458              CALL iom_put( "PFeD"  , zw3d ) 
    438459          ENDIF 
     
    546567      INTEGER ::   ios   ! Local integer 
    547568      ! 
     569      ! Namelist block 
    548570      NAMELIST/namp4zprod/ pislopen, pisloped, xadap, bresp, excretn, excretd,  & 
    549571         &                 chlcnm, chlcdm, chlcmin, fecnm, fecdm, grosip 
Note: See TracChangeset for help on using the changeset viewer.