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

Ignore:
Timestamp:
2021-05-05T09:09:10+02:00 (3 years ago)
Author:
aumont
Message:

Various bug fixes in PISCES

File:
1 edited

Legend:

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

    r14416 r14786  
    100100      ! of the thermal dependency 
    101101      ! Parameters are taken from Bissinger et al. (2008) 
    102       zprmaxn(:,:,:) = 0.8_wp * r1_rday * tgfunc(:,:,:) 
     102      zprmaxn(:,:,:) = 0.65_wp * r1_rday * tgfunc(:,:,:) 
    103103      zprmaxd(:,:,:) = zprmaxn(:,:,:) 
    104104 
     
    109109      ! absolute light level definition of the euphotic zone 
    110110      ! -------------------------------------------------------------------------  
    111       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    112          IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    113             zval = MAX( 1., strn(ji,jj) ) 
    114             IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
    115                zval = zval * MIN(1., heup_01(ji,jj) / ( hmld(ji,jj) + rtrn )) 
     111      IF ( ln_p4z_dcyc ) THEN    ! Diurnal cycle in PISCES 
     112 
     113         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     114            IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
     115               IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
     116                  zval = MIN(1., heup_01(ji,jj) / ( hmld(ji,jj) + rtrn )) 
     117               ENDIF 
     118               zmxl_chl(ji,jj,jk) = zval / 24. 
     119               zmxl_fac(ji,jj,jk) = 1.0 - exp( -0.26 * zval ) 
    116120            ENDIF 
    117             zmxl_chl(ji,jj,jk) = zval / 24. 
    118             zmxl_fac(ji,jj,jk) = 1.0 - exp( -0.26 * zval ) 
    119          ENDIF 
    120       END_3D 
     121         END_3D 
     122  
     123      ELSE ! No diurnal cycle in PISCES 
     124 
     125         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     126            IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
     127               zval = MAX( 1., strn(ji,jj) ) 
     128               IF( gdepw(ji,jj,jk+1,Kmm) <= hmld(ji,jj) ) THEN 
     129                  zval = zval * MIN(1., heup_01(ji,jj) / ( hmld(ji,jj) + rtrn )) 
     130               ENDIF 
     131               zmxl_chl(ji,jj,jk) = zval / 24. 
     132               zmxl_fac(ji,jj,jk) = 1.0 - exp( -0.26 * zval ) 
     133            ENDIF 
     134         END_3D 
     135 
     136      ENDIF 
    121137 
    122138      zprbio(:,:,:) = zprmaxn(:,:,:) * zmxl_fac(:,:,:) 
     
    179195          zval = MIN( xnanopo4(ji,jj,jk), ( xnanonh4(ji,jj,jk) + xnanono3(ji,jj,jk) ) )   & 
    180196          &      * zprmaxn(ji,jj,jk) / ( zprbio(ji,jj,jk) + rtrn ) 
    181           quotan(ji,jj,jk) = MIN( 1., 0.2 + 0.8 * zval ) 
     197          quotan(ji,jj,jk) = MIN( 1., 0.3 + 0.7 * zval ) 
    182198          zval = MIN( xdiatpo4(ji,jj,jk), ( xdiatnh4(ji,jj,jk) + xdiatno3(ji,jj,jk) ) )   & 
    183199          &      * zprmaxd(ji,jj,jk) / ( zprdia(ji,jj,jk) + rtrn ) 
    184           quotad(ji,jj,jk) = MIN( 1., 0.2 + 0.8 * zval ) 
     200          quotad(ji,jj,jk) = MIN( 1., 0.3 + 0.7 * zval ) 
    185201      END_3D 
    186202 
     
    256272            &          + xnanonh4(ji,jj,jk) ) * (1. - xnanofer(ji,jj,jk) ) )   & 
    257273            &          * xnanofer(ji,jj,jk) * zmax * tr(ji,jj,jk,jpphy,Kbb) * rfact2 
    258  
    259274            ! production terms of diatoms (C) 
    260275            zprorcad(ji,jj,jk) = zprdia(ji,jj,jk) * xlimdia(ji,jj,jk) * tr(ji,jj,jk,jpdia,Kbb) * rfact2 
     
    337352           consfe3(ji,jj,jk)   = zprodfer * 75.0 / ( rtrn + ( plig(ji,jj,jk) + 75.0 * (1.0 - plig(ji,jj,jk) ) )   & 
    338353           &                   * tr(ji,jj,jk,jpfer,Kbb) ) / rfact2 
    339             
    340354           ! 
    341355           tr(ji,jj,jk,jpdic,Krhs) = tr(ji,jj,jk,jpdic,Krhs) - zpptot 
Note: See TracChangeset for help on using the changeset viewer.