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 7646 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90 – NEMO

Ignore:
Timestamp:
2017-02-06T10:25:03+01:00 (7 years ago)
Author:
timgraham
Message:

Merge of dev_merge_2016 into trunk. UPDATE TO ARCHFILES NEEDED for XIOS2.
LIM_SRC_s/limrhg.F90 to follow in next commit due to change of kind (I'm unable to do it in this commit).
Merged using the following steps:

1) svn merge --reintegrate svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk .
2) Resolve minor conflicts in sette.sh and namelist_cfg for ORCA2LIM3 (due to a change in trunk after branch was created)
3) svn commit
4) svn switch svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk
5) svn merge svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2016/dev_merge_2016 .
6) At this stage I checked out a clean copy of the branch to compare against what is about to be committed to the trunk.
6) svn commit #Commit code to the trunk

In this commit I have also reverted a change to Fcheck_archfile.sh which was causing problems on the Paris machine.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90

    r5836 r7646  
    88   !!             3.4  !  2011-06  (O. Aumont, C. Ethe) Quota model for iron 
    99   !!---------------------------------------------------------------------- 
    10 #if defined key_pisces 
    11    !!---------------------------------------------------------------------- 
    12    !!   'key_pisces'                                       PISCES bio-model 
    13    !!---------------------------------------------------------------------- 
    1410   !!   p4z_micro       :   Compute the sources/sinks for microzooplankton 
    1511   !!   p4z_micro_init  :   Initialize and read the appropriate namelist 
     
    1915   USE sms_pisces      !  PISCES Source Minus Sink variables 
    2016   USE p4zlim          !  Co-limitations 
    21    USE p4zsink         !  vertical flux of particulate matter due to sinking 
    22    USE p4zint          !  interpolation and computation of various fields 
    2317   USE p4zprod         !  production 
    2418   USE iom             !  I/O manager 
     
    7165      REAL(wp) :: zcompadi, zcompaz , zcompaph, zcompapoc 
    7266      REAL(wp) :: zgraze  , zdenom, zdenom2 
    73       REAL(wp) :: zfact   , zstep, zfood, zfoodlim 
     67      REAL(wp) :: zfact   , zfood, zfoodlim 
    7468      REAL(wp) :: zepshert, zepsherv, zgrarsig, zgraztot, zgraztotn, zgraztotf 
    7569      REAL(wp) :: zgrarem, zgrafer, zgrapoc, zprcaca, zmortz 
     
    8377      IF( nn_timing == 1 )  CALL timing_start('p4z_micro') 
    8478      ! 
    85       IF( lk_iomput )  CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) 
     79      CALL wrk_alloc( jpi, jpj, jpk, zgrazing ) 
    8680      ! 
    8781      DO jk = 1, jpkm1 
     
    8983            DO ji = 1, jpi 
    9084               zcompaz = MAX( ( trb(ji,jj,jk,jpzoo) - 1.e-9 ), 0.e0 ) 
    91                zstep   = xstep 
    92 # if defined key_degrad 
    93                zstep = zstep * facvol(ji,jj,jk) 
    94 # endif 
    95                zfact   = zstep * tgfunc2(ji,jj,jk) * zcompaz 
     85               zfact   = xstep * tgfunc2(ji,jj,jk) * zcompaz 
    9686 
    9787               !  Respiration rates of both zooplankton 
     
    115105               zdenom    = zfoodlim / ( xkgraz + zfoodlim ) 
    116106               zdenom2   = zdenom / ( zfood + rtrn ) 
    117                zgraze    = grazrat * zstep * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpzoo)  
     107               zgraze    = grazrat * xstep * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpzoo)  
    118108 
    119109               zgrazp    = zgraze  * xpref2p * zcompaph  * zdenom2  
     
    130120 
    131121               ! Grazing by microzooplankton 
    132                IF( ln_diatrc .AND. lk_iomput )  zgrazing(ji,jj,jk) = zgraztot 
     122               zgrazing(ji,jj,jk) = zgraztot 
    133123 
    134124               !    Various remineralization and excretion terms 
     
    148138               tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zgrarsig 
    149139               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               ! 
    150143               tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * zgrarsig 
    151144               tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zgrafer 
    152145               tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zgrapoc 
     146               prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zgrapoc 
    153147               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + zgraztotf * unass 
    154148               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zgrarsig 
    155149               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * zgrarsig 
    156 #if defined key_kriest 
    157                tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + zgrapoc * xkr_dmicro 
    158 #endif 
    159150               !   Update the arrays TRA which contain the biological sources and sinks 
    160151               !   -------------------------------------------------------------------- 
     
    170161               tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) - zgrazsf 
    171162               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 
    172165               tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ferat3 * zmortz - zgrazmf 
    173166               ! 
     
    180173               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * zprcaca 
    181174               tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + zprcaca 
    182 #if defined key_kriest 
    183                tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + zmortz * xkr_dmicro & 
    184                                                          - zgrazm * trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn ) 
    185 #endif 
    186175            END DO 
    187176         END DO 
    188177      END DO 
    189178      ! 
    190       IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    191          CALL wrk_alloc( jpi, jpj, jpk, zw3d ) 
    192          IF( iom_use( "GRAZ1" ) ) THEN 
    193             zw3d(:,:,:) = zgrazing(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:)  !  Total grazing of phyto by zooplankton 
    194             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 ) 
    195187         ENDIF 
    196          CALL wrk_dealloc( jpi, jpj, jpk, zw3d ) 
    197188      ENDIF 
    198189      ! 
     
    203194      ENDIF 
    204195      ! 
    205       IF( lk_iomput )  CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 
     196      CALL wrk_dealloc( jpi, jpj, jpk, zgrazing ) 
    206197      ! 
    207198      IF( nn_timing == 1 )  CALL timing_stop('p4z_micro') 
     
    224215      !!---------------------------------------------------------------------- 
    225216 
    226       NAMELIST/nampiszoo/ part, grazrat, resrat, mzrat, xpref2c, xpref2p, & 
     217      NAMELIST/namp4zzoo/ part, grazrat, resrat, mzrat, xpref2c, xpref2p, & 
    227218         &                xpref2d,  xthreshdia,  xthreshphy,  xthreshpoc, & 
    228219         &                xthresh, xkgraz, epsher, sigma1, unass 
     
    230221 
    231222      REWIND( numnatp_ref )              ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 
    232       READ  ( numnatp_ref, nampiszoo, IOSTAT = ios, ERR = 901) 
    233 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 ) 
    234225 
    235226      REWIND( numnatp_cfg )              ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 
    236       READ  ( numnatp_cfg, nampiszoo, IOSTAT = ios, ERR = 902 ) 
    237 902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiszoo in configuration namelist', lwp ) 
    238       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 ) 
    239230 
    240231      IF(lwp) THEN                         ! control print 
    241232         WRITE(numout,*) ' ' 
    242          WRITE(numout,*) ' Namelist parameters for microzooplankton, nampiszoo' 
     233         WRITE(numout,*) ' Namelist parameters for microzooplankton, namp4zzoo' 
    243234         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 
    244235         WRITE(numout,*) '    part of calcite not dissolved in microzoo guts  part        =', part 
     
    261252   END SUBROUTINE p4z_micro_init 
    262253 
    263 #else 
    264    !!====================================================================== 
    265    !!  Dummy module :                                   No PISCES bio-model 
    266    !!====================================================================== 
    267 CONTAINS 
    268    SUBROUTINE p4z_micro                    ! Empty routine 
    269    END SUBROUTINE p4z_micro 
    270 #endif  
    271  
    272254   !!====================================================================== 
    273255END MODULE p4zmicro 
Note: See TracChangeset for help on using the changeset viewer.