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

Ignore:
Timestamp:
2021-02-03T16:03:34+01:00 (3 years ago)
Author:
cetlod
Message:

dev_r11708_aumont_PISCES_QUOTA : merge with the trunk

File:
1 edited

Legend:

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

    r14086 r14385  
    11MODULE p4zint 
    2    !!====================================================================== 
     2   !!========================================================================= 
    33   !!                         ***  MODULE p4zint  *** 
    44   !! TOP :   PISCES interpolation and computation of various accessory fields 
    5    !!====================================================================== 
     5   !!========================================================================= 
    66   !! History :   1.0  !  2004-03 (O. Aumont) Original code 
    77   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90 
     
    3838      ! 
    3939      INTEGER  :: ji, jj                 ! dummy loop indices 
    40       REAL(wp) :: zvar                   ! local variable 
     40      REAL(wp) :: zrum, zcodel, zargu, zvar 
    4141      !!--------------------------------------------------------------------- 
    4242      ! 
     
    4545      ! Computation of phyto and zoo metabolic rate 
    4646      ! ------------------------------------------- 
    47       tgfunc (:,:,:) = EXP( 0.063913 * ts(:,:,:,jp_tem,Kmm) ) 
    48       tgfunc2(:,:,:) = EXP( 0.07608  * ts(:,:,:,jp_tem,Kmm) ) 
     47      ! Generic temperature dependence (Eppley, 1972) 
     48      tgfunc (:,:,:) = EXP( 0.0631 * ts(:,:,:,jp_tem,Kmm) ) 
     49      ! Temperature dependence of mesozooplankton (Buitenhuis et al. (2005)) 
     50      tgfunc2(:,:,:) = EXP( 0.0761 * ts(:,:,:,jp_tem,Kmm) ) 
     51 
    4952 
    5053      ! Computation of the silicon dependant half saturation  constant for silica uptake 
    51       ! --------------------------------------------------- 
     54      ! This is based on an old study by Pondaven et al. (1998) 
     55      ! -------------------------------------------------------------------------------- 
    5256      DO_2D( 1, 1, 1, 1 ) 
    5357         zvar = tr(ji,jj,1,jpsil,Kbb) * tr(ji,jj,1,jpsil,Kbb) 
     
    5559      END_2D 
    5660      ! 
     61      ! At the end of each year, the half saturation constant for silica is  
     62      ! updated as this is based on the highest concentration reached over  
     63      ! the year 
     64      ! ------------------------------------------------------------------- 
    5765      IF( nday_year == nyear_len(1) ) THEN 
    5866         xksi   (:,:) = xksimax(:,:) 
    5967         xksimax(:,:) = 0._wp 
    6068      ENDIF 
     69      ! 
     70      ! compute the day length depending on latitude and the day 
     71      ! Astronomical parameterization taken from HAMOCC3 
     72      zrum = REAL( nday_year - 80, wp ) / REAL( nyear_len(1), wp ) 
     73      zcodel = ASIN(  SIN( zrum * rpi * 2._wp ) * SIN( rad * 23.5_wp )  ) 
     74 
     75      ! day length in hours 
     76      strn(:,:) = 0. 
     77      DO jj = 1, jpj 
     78         DO ji = 1, jpi 
     79            zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
     80            zargu = MAX( -1., MIN(  1., zargu ) ) 
     81            strn(ji,jj) = MAX( 0.0, 24. - 2. * ACOS( zargu ) / rad / 15. ) 
     82         END DO 
     83      END DO 
    6184      ! 
    6285      IF( ln_timing )   CALL timing_stop('p4z_int') 
Note: See TracChangeset for help on using the changeset viewer.