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 6628 – NEMO

Changeset 6628


Ignore:
Timestamp:
2016-05-26T11:54:20+02:00 (8 years ago)
Author:
cetlod
Message:

trunk:Bugfix on phytoplankton growth in PISCES, see ticket #1732

Location:
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z
Files:
2 edited

Legend:

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

    r6140 r6628  
    7474      REAL(wp) ::   zchl 
    7575      REAL(wp) ::   zc0 , zc1 , zc2, zc3, z1_dep 
    76       REAL(wp), POINTER, DIMENSION(:,:  ) :: zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4, zqsr100 
     76      REAL(wp), POINTER, DIMENSION(:,:  ) :: zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4 
     77      REAL(wp), POINTER, DIMENSION(:,:  ) :: zqsr100, zqsr_corr 
    7778      REAL(wp), POINTER, DIMENSION(:,:,:) :: zpar, ze0, ze1, ze2, ze3 
    7879      !!--------------------------------------------------------------------- 
     
    8182      ! 
    8283      ! Allocate temporary workspace 
    83       CALL wrk_alloc( jpi, jpj,      zqsr100, zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4 ) 
    84       CALL wrk_alloc( jpi, jpj, jpk, zpar, ze0, ze1, ze2, ze3 ) 
     84      CALL wrk_alloc( jpi, jpj,      zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4 ) 
     85      CALL wrk_alloc( jpi, jpj,      zqsr100, zqsr_corr ) 
     86      CALL wrk_alloc( jpi, jpj, jpk, zpar   , ze0, ze1, ze2, ze3 ) 
    8587 
    8688      IF( knt == 1 .AND. ln_varpar ) CALL p4z_opt_sbc( kt ) 
     
    108110      !                                        !  -------------------------------------- 
    109111      IF( l_trcdm2dc ) THEN                     !  diurnal cycle 
    110          ! 1% of qsr to compute euphotic layer 
    111          zqsr100(:,:) = 0.01 * qsr_mean(:,:)     !  daily mean qsr 
    112          ! 
    113          CALL p4z_opt_par( kt, qsr_mean, ze1, ze2, ze3 )  
     112         !                                       ! 1% of qsr to compute euphotic layer 
     113         zqsr100(:,:)   = 0.01 * qsr_mean(:,:)     !  daily mean qsr 
     114         ! 
     115         zqsr_corr(:,:) = qsr_mean(:,:) / ( 1. - fr_i(:,:) + rtrn ) 
     116         ! 
     117         CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3 )  
    114118         ! 
    115119         DO jk = 1, nksrp       
     
    119123         END DO 
    120124         ! 
    121          CALL p4z_opt_par( kt, qsr, ze1, ze2, ze3 )  
     125         zqsr_corr(:,:) = qsr(:,:) / ( 1. - fr_i(:,:) + rtrn ) 
     126         ! 
     127         CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3 )  
    122128         ! 
    123129         DO jk = 1, nksrp       
     
    126132         ! 
    127133      ELSE 
    128          ! 1% of qsr to compute euphotic layer 
    129          zqsr100(:,:) = 0.01 * qsr(:,:) 
    130          ! 
    131          CALL p4z_opt_par( kt, qsr, ze1, ze2, ze3 )  
     134         !                                       ! 1% of qsr to compute euphotic layer 
     135         zqsr100(:,:)   = 0.01 * qsr(:,:)     !  daily mean qsr 
     136         ! 
     137         zqsr_corr(:,:) = qsr(:,:) / ( 1. - fr_i(:,:) + rtrn ) 
     138         ! 
     139         CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3 )  
    132140         ! 
    133141         DO jk = 1, nksrp       
     
    218226      ENDIF 
    219227      ! 
    220       CALL wrk_dealloc( jpi, jpj,      zqsr100, zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4 ) 
    221       CALL wrk_dealloc( jpi, jpj, jpk, zpar,  ze0, ze1, ze2, ze3 ) 
     228      CALL wrk_dealloc( jpi, jpj,      zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4 ) 
     229      CALL wrk_dealloc( jpi, jpj,      zqsr100, zqsr_corr ) 
     230      CALL wrk_dealloc( jpi, jpj, jpk, zpar   ,  ze0, ze1, ze2, ze3 ) 
    222231      ! 
    223232      IF( nn_timing == 1 )  CALL timing_stop('p4z_opt') 
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90

    r6140 r6628  
    133133                  zval = MAX( 1., zstrn(ji,jj) ) 
    134134                  zval = 1.5 * zval / ( 12. + zval ) 
    135                   zprbio(ji,jj,jk) = prmax(ji,jj,jk) * zval 
     135                  zprbio(ji,jj,jk) = prmax(ji,jj,jk) * zval * ( 1. - fr_i(ji,jj) ) 
    136136                  zprdia(ji,jj,jk) = zprbio(ji,jj,jk) 
    137137               ENDIF 
Note: See TracChangeset for help on using the changeset viewer.