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 7184 for branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zprod.F90 – NEMO

Ignore:
Timestamp:
2016-11-03T16:56:39+01:00 (7 years ago)
Author:
aumont
Message:

bug fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P5Z/p5zprod.F90

    r7180 r7184  
    4646   REAL(wp), PUBLIC ::  chlcmin         !: 
    4747   REAL(wp), PUBLIC ::  grosip          !: 
    48    REAL(wp), PUBLIC ::  zlimmxln        !: 
    49    REAL(wp), PUBLIC ::  zlimmxlp        !: 
    50    REAL(wp), PUBLIC ::  zlimmxld        !: 
    5148 
    5249   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   prmaxn   !: optimal production = f(temperature) 
     
    161158               IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 
    162159                  zval = MAX( 1., zstrn(ji,jj) ) 
    163                   zmxl_fac(ji,jj,jk) = zval 
     160                  IF( fsdept(ji,jj,jk) <= hmld(ji,jj) ) THEN 
     161                     zval = MIN(1., heup_01(ji,jj) / ( hmld(ji,jj) + rtrn )) 
     162                  ENDIF 
    164163                  zmxl_chl(ji,jj,jk) = zval / 24. 
    165                   IF( fsdepw(ji,jj,jk+1) <= hmld(ji,jj) ) THEN 
    166                      zval = MIN(1., heup_01(ji,jj) / ( hmld(ji,jj) + rtrn )) 
    167                      zmxl_fac(ji,jj,jk) = zmxl_fac(ji,jj,jk) * zval 
    168                      zmxl_chl(ji,jj,jk) = zmxl_chl(ji,jj,jk) * zval 
    169                   ENDIF 
    170                   zmxl_fac(ji,jj,jk) = ( 1. - exp( -0.2 * zmxl_fac(ji,jj,jk) ) ) 
    171                   zmxl_chl(ji,jj,jk) = zmxl_chl(ji,jj,jk) 
     164                  zmxl_fac(ji,jj,jk) = 1.5 * zval / ( 12. + zval ) 
    172165               ENDIF 
    173166            END DO 
     
    183176      zdaylen(:,:) = MAX(1., zstrn(:,:)) / 24. 
    184177      WHERE( zstrn(:,:) < 1.e0 ) zstrn(:,:) = 24. 
    185       zstrn(:,:) = 24. / zstrn(:,:) 
    186178 
    187179      DO jk = 1, jpkm1 
     
    202194                     &                    /( trb(ji,jj,jk,jpdia) * 12. + rtrn) 
    203195                  ! 
    204                   zpislopen = zpislopeadn(ji,jj,jk) / ( prmaxn(ji,jj,jk) * rday * xlimphy(ji,jj,jk) + rtrn ) 
    205                   zpislopep = zpislopeadp(ji,jj,jk) / ( prmaxp(ji,jj,jk) * rday * xlimpic(ji,jj,jk) + rtrn ) 
    206                   zpisloped = zpislopeadd(ji,jj,jk) / ( prmaxd(ji,jj,jk) * rday * xlimdia(ji,jj,jk) + rtrn ) 
     196                  zpislopen = zpislopeadn(ji,jj,jk) / ( zprbio(ji,jj,jk) * rday * xlimphy(ji,jj,jk) + rtrn ) 
     197                  zpislopep = zpislopeadp(ji,jj,jk) / ( zprpic(ji,jj,jk) * rday * xlimpic(ji,jj,jk) + rtrn ) 
     198                  zpisloped = zpislopeadd(ji,jj,jk) / ( zprdia(ji,jj,jk) * rday * xlimdia(ji,jj,jk) + rtrn ) 
    207199 
    208200                  ! Computation of production function for Carbon 
     
    556548      ! 
    557549      NAMELIST/nampisprod/ pislopen, pislopep, pisloped, xadap, bresp, excretn, excretp, excretd,  & 
    558          &                 thetannm, thetanpm, thetandm, chlcmin, grosip, zlimmxln,           & 
    559          &                 zlimmxlp, zlimmxld 
     550         &                 thetannm, thetanpm, thetandm, chlcmin, grosip            & 
    560551 
    561552      INTEGER :: ios                 ! Local integer output status for namelist read 
     
    588579         WRITE(numout,*) '    Minimum Chl/N in picophytoplankton        thetanpm     =', thetanpm 
    589580         WRITE(numout,*) '    Minimum Chl/N in diatoms                  thetandm     =', thetandm 
    590          WRITE(numout,*) '    Critical time scale for mixing (nano)     zlimmxln     =', zlimmxln 
    591          WRITE(numout,*) '    Critical time scale for mixing (pico)     zlimmxlp     =', zlimmxlp 
    592          WRITE(numout,*) '    Critical time scale for mixing (diatoms)  zlimmxld     =', zlimmxld 
    593581      ENDIF 
    594582      ! 
Note: See TracChangeset for help on using the changeset viewer.