- Timestamp:
- 2020-07-02T20:34:16+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p4zopt.F90
r11536 r13233 80 80 ze2(:,:,:) = 0._wp 81 81 ze3(:,:,:) = 0._wp 82 ! 83 ! !* attenuation coef. function of Chlorophyll and wavelength (Red-Green-Blue) 84 ! ! -------------------------------------------------------- 82 83 ! Attenuation coef. function of Chlorophyll and wavelength (Red-Green-Blue) 84 ! Thus the light penetration scheme is based on a decomposition of PAR 85 ! into three wave length domains. This was first officially published 86 ! in Lengaigne et al. (2007). 87 ! -------------------------------------------------------- 85 88 zchl3d(:,:,:) = trb(:,:,:,jpnch) + trb(:,:,:,jpdch) 86 89 IF( ln_p5z ) zchl3d(:,:,:) = zchl3d(:,:,:) + trb(:,:,:,jppch) 87 90 ! 91 ! Computation of the light attenuation parameters based on a 92 ! look-up table 88 93 DO jk = 1, jpkm1 89 94 DO jj = 1, jpj … … 99 104 END DO 100 105 END DO 101 ! !* Photosynthetically Available Radiation (PAR) 102 ! ! -------------------------------------- 106 107 ! Photosynthetically Available Radiation (PAR) 108 ! Two cases are considered in the following : 109 ! (1) An explicit diunal cycle is activated. In that case, mean 110 ! QSR is used as PISCES in its current state has not been parameterized 111 ! for an explicit diurnal cycle 112 ! (2) no diurnal cycle of SW is active and in that case, QSR is used. 113 ! -------------------------------------------- 103 114 IF( l_trcdm2dc ) THEN ! diurnal cycle 104 115 ! 116 ! SW over the ice free zone of the grid cell. This assumes that 117 ! SW is zero below sea ice which is a very crude assumption that is 118 ! not fully correct with LIM3 and SI3 but no information is 119 ! currently available to do a better job. SHould be improved in the 120 ! (near) future. 105 121 zqsr_corr(:,:) = qsr_mean(:,:) / ( 1.-fr_i(:,:) + rtrn ) 106 122 ! 107 123 CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3, pqsr100 = zqsr100 ) 108 124 ! 125 ! Used PAR is computed for each phytoplankton species 126 ! etot_ndcy is PAR at level jk averaged over 24h. 127 ! Due to their size, they have different light absorption characteristics 109 128 DO jk = 1, nksrp 110 129 etot_ndcy(:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) … … 117 136 END DO 118 137 ENDIF 119 ! 138 139 ! SW over the ice free zone of the grid cell. This assumes that 140 ! SW is zero below sea ice which is a very crude assumption that is 141 ! not fully correct with LIM3 and SI3 but no information is 142 ! currently available to do a better job. SHould be improved in the 143 ! (near) future. 120 144 zqsr_corr(:,:) = qsr(:,:) / ( 1.-fr_i(:,:) + rtrn ) 121 145 ! 122 146 CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3 ) 123 ! 147 148 ! Total PAR computation at level jk that includes the diurnal cycle 124 149 DO jk = 1, nksrp 125 150 etot(:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) 126 151 END DO 127 152 ! 128 ELSE 129 ! 153 ELSE ! no diurnal cycle 154 ! 155 ! SW over the ice free zone of the grid cell. This assumes that 156 ! SW is zero below sea ice which is a very crude assumption that is 157 ! not fully correct with LIM3 and SI3 but no information is 158 ! currently available to do a better job. SHould be improved in the 159 ! (near) future. 130 160 zqsr_corr(:,:) = qsr(:,:) / ( 1.-fr_i(:,:) + rtrn ) 131 ! 161 132 162 CALL p4z_opt_par( kt, zqsr_corr, ze1, ze2, ze3, pqsr100 = zqsr100 ) 133 ! 163 164 ! Used PAR is computed for each phytoplankton species 165 ! Due to their size, they have different light absorption characteristics 134 166 DO jk = 1, nksrp 135 etot (:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) 136 enano(:,:,jk) = 1.85 * ze1(:,:,jk) + 0.69 * ze2(:,:,jk) + 0.46 * ze3(:,:,jk) 137 ediat(:,:,jk) = 1.62 * ze1(:,:,jk) + 0.74 * ze2(:,:,jk) + 0.63 * ze3(:,:,jk) 167 etot (:,:,jk) = ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) ! Total PAR 168 enano(:,:,jk) = 1.85 * ze1(:,:,jk) + 0.69 * ze2(:,:,jk) + 0.46 * ze3(:,:,jk) ! Nanophytoplankton 169 ediat(:,:,jk) = 1.62 * ze1(:,:,jk) + 0.74 * ze2(:,:,jk) + 0.63 * ze3(:,:,jk) ! Diatoms 138 170 END DO 139 171 IF( ln_p5z ) THEN 140 172 DO jk = 1, nksrp 141 epico(:,:,jk) = 1.94 * ze1(:,:,jk) + 0.66 * ze2(:,:,jk) + 0.4 * ze3(:,:,jk) 173 epico(:,:,jk) = 1.94 * ze1(:,:,jk) + 0.66 * ze2(:,:,jk) + 0.4 * ze3(:,:,jk) ! Picophytoplankton (PISCES-QUOTA) 142 174 END DO 143 175 ENDIF … … 146 178 147 179 180 ! Biophysical feedback part (computation of vertical penetration of SW) 148 181 IF( ln_qsr_bio ) THEN !* heat flux accros w-level (used in the dynamics) 149 182 ! ! ------------------------ … … 154 187 etot3(:,:,jk) = ( ze0(:,:,jk) + ze1(:,:,jk) + ze2(:,:,jk) + ze3(:,:,jk) ) * tmask(:,:,jk) 155 188 END DO 156 ! ! ------------------------ 157 ENDIF 158 ! !* Euphotic depth and level 159 neln (:,:) = 1 ! ------------------------ 189 190 ENDIF 191 192 ! Euphotic depth and level 193 ! Two definitions of the euphotic zone are used here. 194 ! (1) The classical definition based on the relative threshold value 195 ! (2) An alternative definition based on a absolute threshold value. 196 ! ------------------------------------------------------------------- 160 197 heup (:,:) = gdepw_n(:,:,2) 161 198 heup_01(:,:) = gdepw_n(:,:,2) … … 176 213 END DO 177 214 ! 215 ! The euphotic depth can not exceed 300 meters. 178 216 heup (:,:) = MIN( 300., heup (:,:) ) 179 217 heup_01(:,:) = MIN( 300., heup_01(:,:) ) 180 ! !* mean light over the mixed layer 181 zdepmoy(:,:) = 0.e0 ! ------------------------------- 218 219 ! Mean PAR over the mixed layer 220 ! ----------------------------- 221 zdepmoy(:,:) = 0.e0 182 222 zetmp1 (:,:) = 0.e0 183 223 zetmp2 (:,:) = 0.e0 … … 187 227 DO ji = 1, jpi 188 228 IF( gdepw_n(ji,jj,jk+1) <= hmld(ji,jj) ) THEN 189 zetmp1 (ji,jj) = zetmp1 (ji,jj) + etot (ji,jj,jk) * e3t_n(ji,jj,jk) ! remineralisation190 zetmp2 (ji,jj) = zetmp2 (ji,jj) + etot_ndcy(ji,jj,jk) * e3t_n(ji,jj,jk) ! production229 zetmp1 (ji,jj) = zetmp1 (ji,jj) + etot (ji,jj,jk) * e3t_n(ji,jj,jk) ! Actual PAR 230 zetmp2 (ji,jj) = zetmp2 (ji,jj) + etot_ndcy(ji,jj,jk) * e3t_n(ji,jj,jk) ! Par averaged over 24h 191 231 zdepmoy(ji,jj) = zdepmoy(ji,jj) + e3t_n(ji,jj,jk) 192 232 ENDIF … … 195 235 END DO 196 236 ! 197 emoy(:,:,:) = etot(:,:,:) ! remineralisation237 emoy(:,:,:) = etot(:,:,:) ! PAR 198 238 zpar(:,:,:) = etot_ndcy(:,:,:) ! diagnostic : PAR with no diurnal cycle 199 239 ! … … 209 249 END DO 210 250 END DO 211 ! 251 252 ! Computation of the mean usable light for the different phytoplankton 253 ! groups based on their absorption characteristics. 212 254 zdepmoy(:,:) = 0.e0 213 255 zetmp3 (:,:) = 0.e0 … … 218 260 DO ji = 1, jpi 219 261 IF( gdepw_n(ji,jj,jk+1) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 220 zetmp3 (ji,jj) = zetmp3 (ji,jj) + enano (ji,jj,jk) * e3t_n(ji,jj,jk) ! production221 zetmp4 (ji,jj) = zetmp4 (ji,jj) + ediat (ji,jj,jk) * e3t_n(ji,jj,jk) ! production262 zetmp3 (ji,jj) = zetmp3 (ji,jj) + enano (ji,jj,jk) * e3t_n(ji,jj,jk) ! Nanophytoplankton 263 zetmp4 (ji,jj) = zetmp4 (ji,jj) + ediat (ji,jj,jk) * e3t_n(ji,jj,jk) ! Diatoms 222 264 zdepmoy(ji,jj) = zdepmoy(ji,jj) + e3t_n(ji,jj,jk) 223 265 ENDIF … … 241 283 ! 242 284 IF( ln_p5z ) THEN 285 ! Picophytoplankton when using PISCES-QUOTA 243 286 zetmp5 (:,:) = 0.e0 244 287 DO jk = 1, nksrp … … 246 289 DO ji = 1, jpi 247 290 IF( gdepw_n(ji,jj,jk+1) <= MIN(hmld(ji,jj), heup_01(ji,jj)) ) THEN 248 zetmp5(ji,jj) = zetmp5 (ji,jj) + epico(ji,jj,jk) * e3t_n(ji,jj,jk) ! production291 zetmp5(ji,jj) = zetmp5 (ji,jj) + epico(ji,jj,jk) * e3t_n(ji,jj,jk) 249 292 ENDIF 250 293 END DO … … 265 308 END DO 266 309 ENDIF 310 311 ! Output of the diagnostics 267 312 IF( lk_iomput ) THEN 268 313 IF( knt == nrdttrc ) THEN
Note: See TracChangeset
for help on using the changeset viewer.