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 7162 for branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90 – NEMO

Ignore:
Timestamp:
2016-11-01T14:23:51+01:00 (7 years ago)
Author:
cetlod
Message:

new top interface : Add PISCES quota model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90

    r7068 r7162  
    1515   USE sms_pisces      !  PISCES Source Minus Sink variables 
    1616   USE p4zlim          !  Co-limitations 
    17    USE p4zsink         !  vertical flux of particulate matter due to sinking 
    18    USE p4zint          !  interpolation and computation of various fields 
    1917   USE p4zprod         !  production 
    2018   USE iom             !  I/O manager 
     
    7977      IF( nn_timing == 1 )  CALL timing_start('p4z_micro') 
    8078      ! 
    81       IF( lk_iomput )  CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) 
     79      CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) 
    8280      ! 
    8381      DO jk = 1, jpkm1 
     
    122120 
    123121               ! Grazing by microzooplankton 
    124                IF( lk_iomput )  zgrazing(ji,jj,jk) = zgraztot 
     122               zgrazing(ji,jj,jk) = zgraztot 
    125123 
    126124               !    Various remineralization and excretion terms 
     
    140138               tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zgrarsig 
    141139               tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) + zgrarem - zgrarsig 
     140               ! 
     141               IF( ln_ligand ) tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) + (zgrarem - zgrarsig) * ldocz 
     142               ! 
    142143               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * zgrarsig 
    143144               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zgrafer 
    144145               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zgrapoc 
     146               prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zgrapoc 
    145147               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zgraztotf * unass 
    146148               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zgrarsig 
     
    159161               tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) - zgrazsf 
    160162               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortz - zgrazm 
     163               prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zmortz 
     164               conspoc(ji,jj,jk) = conspoc(ji,jj,jk) - zgrazm 
    161165               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ferat3 * zmortz - zgrazmf 
    162166               ! 
     
    173177      END DO 
    174178      ! 
    175       IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    176          CALL wrk_alloc( jpi, jpj, jpk, zw3d ) 
    177          IF( iom_use( "GRAZ1" ) ) THEN 
    178             zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !  Total grazing of phyto by zooplankton 
    179             CALL iom_put( "GRAZ1", zw3d ) 
     179      IF( lk_iomput ) THEN 
     180         IF( knt == nrdttrc ) THEN 
     181           CALL wrk_alloc( jpi, jpj, jpk, zw3d ) 
     182           IF( iom_use( "GRAZ1" ) ) THEN 
     183              zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !  Total grazing of phyto by zooplankton 
     184              CALL iom_put( "GRAZ1", zw3d ) 
     185           ENDIF 
     186           CALL wrk_dealloc( jpi, jpj, jpk, zw3d ) 
    180187         ENDIF 
    181          CALL wrk_dealloc( jpi, jpj, jpk, zw3d ) 
    182188      ENDIF 
    183189      ! 
     
    188194      ENDIF 
    189195      ! 
    190       IF( lk_iomput )  CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 
     196      CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 
    191197      ! 
    192198      IF( nn_timing == 1 )  CALL timing_stop('p4z_micro') 
     
    209215      !!---------------------------------------------------------------------- 
    210216 
    211       NAMELIST/nampiszoo/ part, grazrat, resrat, mzrat, xpref2c, xpref2p, & 
     217      NAMELIST/namp4zzoo/ part, grazrat, resrat, mzrat, xpref2c, xpref2p, & 
    212218         &                xpref2d,  xthreshdia,  xthreshphy,  xthreshpoc, & 
    213219         &                xthresh, xkgraz, epsher, sigma1, unass 
     
    215221 
    216222      REWIND( numnatp_ref )              ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 
    217       READ  ( numnatp_ref, nampiszoo, IOSTAT = ios, ERR = 901) 
    218 901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiszoo in reference namelist', lwp ) 
     223      READ  ( numnatp_ref, namp4zzoo, IOSTAT = ios, ERR = 901) 
     224901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zzoo in reference namelist', lwp ) 
    219225 
    220226      REWIND( numnatp_cfg )              ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 
    221       READ  ( numnatp_cfg, nampiszoo, IOSTAT = ios, ERR = 902 ) 
    222 902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiszoo in configuration namelist', lwp ) 
    223       IF(lwm) WRITE ( numonp, nampiszoo ) 
     227      READ  ( numnatp_cfg, namp4zzoo, IOSTAT = ios, ERR = 902 ) 
     228902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zzoo in configuration namelist', lwp ) 
     229      IF(lwm) WRITE ( numonp, namp4zzoo ) 
    224230 
    225231      IF(lwp) THEN                         ! control print 
    226232         WRITE(numout,*) ' ' 
    227          WRITE(numout,*) ' Namelist parameters for microzooplankton, nampiszoo' 
     233         WRITE(numout,*) ' Namelist parameters for microzooplankton, namp4zzoo' 
    228234         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    229235         WRITE(numout,*) '    part of calcite not dissolved in microzoo guts  part        =', part 
Note: See TracChangeset for help on using the changeset viewer.