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/p4zmort.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/p4zmort.F90

    r12537 r13233  
    4848      !!--------------------------------------------------------------------- 
    4949      ! 
    50       CALL p4z_nano            ! nanophytoplankton 
    51       CALL p4z_diat            ! diatoms 
     50      CALL p4z_mort_nano            ! nanophytoplankton 
     51      CALL p4z_mort_diat            ! diatoms 
    5252      ! 
    5353   END SUBROUTINE p4z_mort 
    5454 
    5555 
    56    SUBROUTINE p4z_nano 
    57       !!--------------------------------------------------------------------- 
    58       !!                     ***  ROUTINE p4z_nano  *** 
     56   SUBROUTINE p4z_mort_nano 
     57      !!--------------------------------------------------------------------- 
     58      !!                     ***  ROUTINE p4z_mort_nano  *** 
    5959      !! 
    6060      !! ** Purpose :   Compute the mortality terms for nanophytoplankton 
    6161      !! 
    62       !! ** Method  : - ??? 
     62      !! ** Method  :   Both quadratic and simili linear mortality terms 
    6363      !!--------------------------------------------------------------------- 
    6464      INTEGER  ::   ji, jj, jk 
     
    6969      !!--------------------------------------------------------------------- 
    7070      ! 
    71       IF( ln_timing )   CALL timing_start('p4z_nano') 
     71      IF( ln_timing )   CALL timing_start('p4z_mort_nano') 
    7272      ! 
    7373      prodcal(:,:,:) = 0._wp   ! calcite production variable set to zero 
     
    101101               tra(ji,jj,jk,jpnch) = tra(ji,jj,jk,jpnch) - zmortp * zfactch 
    102102               tra(ji,jj,jk,jpnfe) = tra(ji,jj,jk,jpnfe) - zmortp * zfactfe 
     103 
    103104               ! Production PIC particles due to mortality 
    104105               zprcaca = xfracal(ji,jj,jk) * zmortp 
    105106               prodcal(ji,jj,jk) = prodcal(ji,jj,jk) + zprcaca  ! prodcal=prodcal(nanophy)+prodcal(microzoo)+prodcal(mesozoo) 
     107 
     108               ! POC associated with the shell is supposed to be routed to  
     109               ! big particles because of the ballasting effect 
    106110               zfracal = 0.5 * xfracal(ji,jj,jk) 
    107111               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) - zprcaca 
     
    112116               prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + ( 1. - zfracal ) * zmortp 
    113117               prodgoc(ji,jj,jk) = prodgoc(ji,jj,jk) + zfracal * zmortp 
     118 
     119               ! Update the arrays TRA which contains the biological sources and sinks 
    114120               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ( 1. - zfracal ) * zmortp * zfactfe 
    115121               tra(ji,jj,jk,jpbfe) = tra(ji,jj,jk,jpbfe) + zfracal * zmortp * zfactfe 
     
    124130       ENDIF 
    125131      ! 
    126       IF( ln_timing )   CALL timing_stop('p4z_nano') 
    127       ! 
    128    END SUBROUTINE p4z_nano 
    129  
    130  
    131    SUBROUTINE p4z_diat 
    132       !!--------------------------------------------------------------------- 
    133       !!                     ***  ROUTINE p4z_diat  *** 
     132      IF( ln_timing )   CALL timing_stop('p4z_mort_nano') 
     133      ! 
     134   END SUBROUTINE p4z_mort_nano 
     135 
     136 
     137   SUBROUTINE p4z_mort_diat 
     138      !!--------------------------------------------------------------------- 
     139      !!                     ***  ROUTINE p4z_mort_diat  *** 
    134140      !! 
    135141      !! ** Purpose :   Compute the mortality terms for diatoms 
    136142      !! 
    137       !! ** Method  : - ??? 
     143      !! ** Method  : - Both quadratic and simili linear mortality terms 
    138144      !!--------------------------------------------------------------------- 
    139145      INTEGER  ::   ji, jj, jk 
     
    144150      !!--------------------------------------------------------------------- 
    145151      ! 
    146       IF( ln_timing )   CALL timing_start('p4z_diat') 
     152      IF( ln_timing )   CALL timing_start('p4z_mort_diat') 
    147153      ! 
    148154      ! Aggregation term for diatoms is increased in case of nutrient 
    149155      ! stress as observed in reality. The stressed cells become more 
    150156      ! sticky and coagulate to sink quickly out of the euphotic zone 
     157      ! This is due to the production of EPS by stressed cells 
    151158      ! ------------------------------------------------------------- 
    152159 
     
    183190               tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zmortp2 * zfactsi 
    184191               tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zmortp2 * zfactsi 
     192 
     193               ! Half of the linear mortality term is routed to big particles 
     194               ! becaue of the ballasting effect 
    185195               tra(ji,jj,jk,jpgoc) = tra(ji,jj,jk,jpgoc) + zrespp2 + 0.5 * ztortp2 
    186196               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + 0.5 * ztortp2 
     
    199209      ENDIF 
    200210      ! 
    201       IF( ln_timing )   CALL timing_stop('p4z_diat') 
    202       ! 
    203    END SUBROUTINE p4z_diat 
     211      IF( ln_timing )   CALL timing_stop('p4z_mort_diat') 
     212      ! 
     213   END SUBROUTINE p4z_mort_diat 
    204214 
    205215 
Note: See TracChangeset for help on using the changeset viewer.