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

Ignore:
Timestamp:
2016-09-23T12:31:28+02:00 (8 years ago)
Author:
cetlod
Message:

trunk: bugfixes on PISCES carbon chemistry, see ticket #1774

File:
1 edited

Legend:

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

    r6628 r6945  
    110110      !                                        !  -------------------------------------- 
    111111      IF( l_trcdm2dc ) THEN                     !  diurnal cycle 
    112          !                                       ! 1% of qsr to compute euphotic layer 
    113          zqsr100(:,:)   = 0.01 * qsr_mean(:,:)     !  daily mean qsr 
    114112         ! 
    115113         zqsr_corr(:,:) = qsr_mean(:,:) / ( 1. - fr_i(:,:) + rtrn ) 
    116114         ! 
    117          CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3 )  
     115         CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3, pqsr100 = zqsr100 )  
    118116         ! 
    119117         DO jk = 1, nksrp       
     
    132130         ! 
    133131      ELSE 
    134          !                                       ! 1% of qsr to compute euphotic layer 
    135          zqsr100(:,:)   = 0.01 * qsr(:,:)     !  daily mean qsr 
    136132         ! 
    137133         zqsr_corr(:,:) = qsr(:,:) / ( 1. - fr_i(:,:) + rtrn ) 
    138134         ! 
    139          CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3 )  
     135         CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3, pqsr100 = zqsr100 )  
    140136         ! 
    141137         DO jk = 1, nksrp       
     
    165161         DO jj = 1, jpj 
    166162           DO ji = 1, jpi 
    167               IF( etot_ndcy(ji,jj,jk) * tmask(ji,jj,jk) >= 0.43 * zqsr100(ji,jj) )  THEN 
     163              IF( etot_ndcy(ji,jj,jk) * tmask(ji,jj,jk) >= zqsr100(ji,jj) )  THEN 
    168164                 neln(ji,jj) = jk+1                    ! Euphotic level : 1rst T-level strictly below Euphotic layer 
    169165                 !                                     ! nb: ensure the compatibility with nmld_trc definition in trd_mld_trc_zint 
     
    234230   END SUBROUTINE p4z_opt 
    235231 
    236    SUBROUTINE p4z_opt_par( kt, pqsr, pe1, pe2, pe3, pe0 )  
     232   SUBROUTINE p4z_opt_par( kt, pqsr, pe1, pe2, pe3, pe0, pqsr100 )  
    237233      !!---------------------------------------------------------------------- 
    238234      !!                  ***  routine p4z_opt_par  *** 
     
    247243      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout)           ::  pe1 , pe2 , pe3   !  PAR ( R-G-B) 
    248244      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout), OPTIONAL ::  pe0   
     245      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(out)  , OPTIONAL  ::  pqsr100   
    249246      !! * local variables 
    250247      INTEGER    ::   ji, jj, jk     ! dummy loop indices 
     
    256253      ELSE                  ;  zqsr(:,:) = xparsw         * pqsr(:,:) 
    257254      ENDIF 
    258       ! 
     255       
     256      !  Light at the euphotic depth  
     257      IF( PRESENT( pqsr100 ) )  pqsr100(:,:) = 0.01 * 3. * zqsr(:,:) 
     258 
    259259      IF( PRESENT( pe0 ) ) THEN     !  W-level 
    260260         ! 
Note: See TracChangeset for help on using the changeset viewer.