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 14385 for NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/trcini_pisces.F90 – NEMO

Ignore:
Timestamp:
2021-02-03T16:03:34+01:00 (3 years ago)
Author:
cetlod
Message:

dev_r11708_aumont_PISCES_QUOTA : merge with the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/trcini_pisces.F90

    r14086 r14385  
    33   !!                         ***  MODULE trcini_pisces  *** 
    44   !! TOP :   initialisation of the PISCES biochemical model 
     5   !!         This module is for LOBSTER, PISCES and PISCES-QUOTA 
    56   !!====================================================================== 
    67   !! History :    -   !  1988-07  (E. Maier-Reiner) Original code 
     
    3738      !! 
    3839      !! ** Purpose :   Initialisation of the PISCES biochemical model 
     40      !!                Allocation of the dynamic arrays 
    3941      !!---------------------------------------------------------------------- 
    4042      INTEGER, INTENT(in)  ::  Kmm      ! time level indices 
    4143      ! 
     44      ! Read the PISCES namelist 
    4245      CALL trc_nam_pisces 
    4346      ! 
     
    5558      !! ** Purpose :   Initialisation of the PISCES biochemical model 
    5659      !!---------------------------------------------------------------------- 
    57       USE p4zsms          ! Main P4Z routine 
     60      USE p4zsms          !  Main P4Z routine 
    5861      USE p4zche          !  Chemical model 
    5962      USE p4zsink         !  vertical flux of particulate matter due to sinking 
     
    7275      USE p4zpoc          !  Remineralization of organic particles 
    7376      USE p4zligand       !  Remineralization of organic ligands 
    74       USE p5zlim          !  Co-limitations of differents nutrients 
    75       USE p5zprod         !  Growth rate of the 2 phyto groups 
    76       USE p5zmicro        !  Sources and sinks of microzooplankton 
    77       USE p5zmeso         !  Sources and sinks of mesozooplankton 
    78       USE p5zmort         !  Mortality terms for phytoplankton 
     77      USE p5zlim          !  Co-limitations of differents nutrients (QUOTA) 
     78      USE p5zprod         !  Growth rate of the 3 phyto groups (QUOTA) 
     79      USE p5zmicro        !  Sources and sinks of microzooplankton (QUOTA) 
     80      USE p5zmeso         !  Sources and sinks of mesozooplankton (QUOTA) 
     81      USE p5zmort         !  Mortality terms for phytoplankton (QUOTA) 
    7982      ! 
    8083      INTEGER, INTENT(in)  ::  Kmm      ! time level indices 
     
    115118      ierr = ierr +  p4z_lim_alloc() 
    116119      IF( ln_p4z ) THEN 
     120         ! PISCES part 
    117121         ierr = ierr +  p4z_prod_alloc() 
     122         ierr = ierr +  p4z_meso_alloc() 
    118123      ELSE 
     124         ! PISCES-QUOTA part 
    119125         ierr = ierr +  p5z_lim_alloc() 
    120126         ierr = ierr +  p5z_prod_alloc() 
     127         ierr = ierr +  p5z_meso_alloc() 
    121128      ENDIF 
    122129      ierr = ierr +  p4z_rem_alloc() 
     
    130137 
    131138      ! assign an index in trc arrays for each prognostic variables 
     139      ! This is based on the information read in the namelist_top 
    132140      DO jn = 1, jptra 
    133141        cltra = ctrcnm(jn)  
     
    179187      ! Set biological ratios 
    180188      ! --------------------- 
    181       rno3    =  16._wp / 122._wp 
    182       po4r    =   1._wp / 122._wp 
    183       o2nit   =  32._wp / 122._wp 
    184       o2ut    = 133._wp / 122._wp 
    185       rdenit  =  ( ( o2ut + o2nit ) * 0.80 - rno3 - rno3 * 0.60 ) / rno3 
    186       rdenita =   3._wp /  5._wp 
     189      rno3    =  16._wp / 122._wp   ! C/N 
     190      po4r    =   1._wp / 122._wp   ! C/P 
     191      o2nit   =  32._wp / 122._wp   ! O2/C for nitrification 
     192      o2ut    = 133._wp / 122._wp   ! O2/C for ammonification 
     193      rdenit  =  ( ( o2ut + o2nit ) * 0.80 - rno3 - rno3 * 0.60 ) / rno3  ! Denitrification 
     194      rdenita =   3._wp /  5._wp    ! Denitrification 
    187195      IF( ln_p5z ) THEN 
    188          no3rat3 = no3rat3 / rno3 
    189          po4rat3 = po4rat3 / po4r 
     196         no3rat3 = no3rat3 / rno3   ! C/N ratio in zooplankton 
     197         po4rat3 = po4rat3 / po4r   ! C/P ratio in zooplankton 
    190198      ENDIF 
    191199 
     
    249257 
    250258 
     259      ! Initialization of the different PISCES modules 
     260      ! Mainly corresponds to the namelist use 
     261      ! ---------------------------------------------- 
    251262      CALL p4z_sink_init         !  vertical flux of particulate organic matter 
    252263      CALL p4z_opt_init          !  Optic: PAR in the water column 
    253264      IF( ln_p4z ) THEN 
     265         ! PISCES part 
    254266         CALL p4z_lim_init       !  co-limitations by the various nutrients 
    255267         CALL p4z_prod_init      !  phytoplankton growth rate over the global ocean. 
    256268      ELSE 
     269         ! PISCES-QUOTA part 
    257270         CALL p5z_lim_init       !  co-limitations by the various nutrients 
    258271         CALL p5z_prod_init      !  phytoplankton growth rate over the global ocean. 
     
    265278         & CALL p4z_ligand_init  !  remineralisation of organic ligands 
    266279 
    267       IF( ln_p4z ) THEN 
     280      IF( ln_p4z ) THEN ! PISCES-std 
    268281         CALL p4z_mort_init      !  phytoplankton mortality  
    269282         CALL p4z_micro_init     !  microzooplankton 
    270283         CALL p4z_meso_init      !  mesozooplankton 
    271       ELSE 
     284      ELSE ! PISCES-QUOTA 
    272285         CALL p5z_mort_init      !  phytoplankton mortality  
    273286         CALL p5z_micro_init     !  microzooplankton 
Note: See TracChangeset for help on using the changeset viewer.