Changeset 2528 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmort.F90
- Timestamp:
- 2010-12-27T18:33:53+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmort.F90
- Property svn:executable deleted
r1800 r2528 25 25 26 26 PUBLIC p4z_mort 27 PUBLIC p4z_mort_init 27 28 28 29 … … 35 36 mpratm = 0.01_wp !: 36 37 37 !! * Module variables38 REAL(wp) :: zstep39 40 41 38 42 39 !!* Substitution 43 40 # include "top_substitute.h90" 44 41 !!---------------------------------------------------------------------- 45 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)42 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 46 43 !! $Id$ 47 !! Software governed by the CeCILL licence ( modipsl/doc/NEMO_CeCILL.txt)44 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 48 45 !!---------------------------------------------------------------------- 49 46 50 47 CONTAINS 51 48 52 SUBROUTINE p4z_mort( kt , jnt)49 SUBROUTINE p4z_mort( kt ) 53 50 !!--------------------------------------------------------------------- 54 51 !! *** ROUTINE p4z_mort *** … … 59 56 !! ** Method : - ??? 60 57 !!--------------------------------------------------------------------- 61 INTEGER, INTENT(in) :: kt, jnt ! ocean time step 62 !!--------------------------------------------------------------------- 63 64 IF( ( kt * jnt ) == nittrc000 ) CALL p4z_mort_init ! Initialization (first time-step only) 65 66 zstep = rfact2 / rday ! Time step duration for biology 58 INTEGER, INTENT(in) :: kt ! ocean time step 59 !!--------------------------------------------------------------------- 67 60 68 61 CALL p4z_nano ! nanophytoplankton … … 83 76 INTEGER :: ji, jj, jk 84 77 REAL(wp) :: zcompaph 85 REAL(wp) :: zfactfe, zfactch,zprcaca,zfracal86 REAL(wp) :: ztortp ,zrespp,zmortp78 REAL(wp) :: zfactfe, zfactch, zprcaca, zfracal 79 REAL(wp) :: ztortp , zrespp , zmortp , zstep 87 80 CHARACTER (len=25) :: charout 88 81 !!--------------------------------------------------------------------- 89 82 90 83 91 #if defined key_ trc_dia3d84 #if defined key_diatrc 92 85 prodcal(:,:,:) = 0. !: Initialisation of calcite production variable 93 86 #endif … … 99 92 zcompaph = MAX( ( trn(ji,jj,jk,jpphy) - 1e-8 ), 0.e0 ) 100 93 101 ! Squared mortality of Phyto similar to a sedimentation term during 102 ! blooms (Doney et al. 1996) 103 ! ----------------------------------------------------------------- 104 zrespp = wchl * 1.e6 * zstep * xdiss(ji,jj,jk) & 105 # if defined key_off_degrad 106 & * facvol(ji,jj,jk) & 94 # if defined key_degrad 95 zstep = xstep * facvol(ji,jj,jk) 96 # else 97 zstep = xstep 107 98 # endif 108 & * zcompaph * trn(ji,jj,jk,jpphy) 109 110 ! Phytoplankton mortality. This mortality loss is slightly 111 ! increased when nutrients are limiting phytoplankton growth 112 ! as observed for instance in case of iron limitation. 113 ! ---------------------------------------------------------- 114 ztortp = mprat * zstep * trn(ji,jj,jk,jpphy) & 115 # if defined key_off_degrad 116 & * facvol(ji,jj,jk) & 117 # endif 118 & / ( xkmort + trn(ji,jj,jk,jpphy) ) * zcompaph 119 99 ! Squared mortality of Phyto similar to a sedimentation term during 100 ! blooms (Doney et al. 1996) 101 zrespp = wchl * 1.e6 * zstep * xdiss(ji,jj,jk) * zcompaph * trn(ji,jj,jk,jpphy) 102 103 ! Phytoplankton mortality. This mortality loss is slightly 104 ! increased when nutrients are limiting phytoplankton growth 105 ! as observed for instance in case of iron limitation. 106 ztortp = mprat * xstep * trn(ji,jj,jk,jpphy) / ( xkmort + trn(ji,jj,jk,jpphy) ) * zcompaph 120 107 121 108 zmortp = zrespp + ztortp … … 130 117 tra(ji,jj,jk,jpnfe) = tra(ji,jj,jk,jpnfe) - zmortp * zfactfe 131 118 zprcaca = xfracal(ji,jj,jk) * zmortp 132 #if defined key_ trc_dia3d119 #if defined key_diatrc 133 120 prodcal(ji,jj,jk) = prodcal(ji,jj,jk) + zprcaca ! prodcal=prodcal(nanophy)+prodcal(microzoo)+prodcal(mesozoo) 134 121 #endif … … 169 156 INTEGER :: ji, jj, jk 170 157 REAL(wp) :: zfactfe,zfactsi,zfactch, zcompadi 171 REAL(wp) :: zrespp2, ztortp2, zmortp2 158 REAL(wp) :: zrespp2, ztortp2, zmortp2, zstep 172 159 CHARACTER (len=25) :: charout 173 160 … … 175 162 176 163 177 ! Aggregation term for diatoms is increased in case of nutrient178 ! stress as observed in reality. The stressed cells become more179 ! sticky and coagulate to sink quickly out of the euphotic zone180 ! ------------------------------------------------------------164 ! Aggregation term for diatoms is increased in case of nutrient 165 ! stress as observed in reality. The stressed cells become more 166 ! sticky and coagulate to sink quickly out of the euphotic zone 167 ! ------------------------------------------------------------ 181 168 182 169 DO jk = 1, jpkm1 … … 186 173 zcompadi = MAX( ( trn(ji,jj,jk,jpdia) - 1e-8), 0. ) 187 174 188 ! Aggregation term for diatoms is increased in case of nutrient 189 ! stress as observed in reality. The stressed cells become more 190 ! sticky and coagulate to sink quickly out of the euphotic zone 191 ! ------------------------------------------------------------ 192 175 ! Aggregation term for diatoms is increased in case of nutrient 176 ! stress as observed in reality. The stressed cells become more 177 ! sticky and coagulate to sink quickly out of the euphotic zone 178 ! ------------------------------------------------------------ 179 180 # if defined key_degrad 181 zstep = xstep * facvol(ji,jj,jk) 182 # else 183 zstep = xstep 184 # endif 185 ! Phytoplankton respiration 186 ! ------------------------ 193 187 zrespp2 = 1.e6 * zstep * ( wchl + wchld * ( 1.- xlimdia(ji,jj,jk) ) ) & 194 # if defined key_off_degrad195 & * facvol(ji,jj,jk) &196 # endif197 188 & * xdiss(ji,jj,jk) * zcompadi * trn(ji,jj,jk,jpdia) 198 199 200 ! Phytoplankton mortality. 201 ! ------------------------ 202 ztortp2 = mprat2 * zstep * trn(ji,jj,jk,jpdia) & 203 # if defined key_off_degrad 204 & * facvol(ji,jj,jk) & 205 # endif 206 & / ( xkmort + trn(ji,jj,jk,jpdia) ) * zcompadi 207 208 zmortp2 = zrespp2 + ztortp2 209 210 ! Update the arrays tra which contains the biological sources and sinks 211 ! --------------------------------------------------------------------- 189 190 ! Phytoplankton mortality. 191 ! ------------------------ 192 ztortp2 = mprat2 * zstep * trn(ji,jj,jk,jpdia) / ( xkmort + trn(ji,jj,jk,jpdia) ) * zcompadi 193 194 zmortp2 = zrespp2 + ztortp2 195 196 ! Update the arrays tra which contains the biological sources and sinks 197 ! --------------------------------------------------------------------- 212 198 zfactch = trn(ji,jj,jk,jpdch) / ( trn(ji,jj,jk,jpdia) + rtrn ) 213 199 zfactfe = trn(ji,jj,jk,jpdfe) / ( trn(ji,jj,jk,jpdia) + rtrn ) … … 249 235 !! 250 236 !! ** Method : Read the nampismort namelist and check the parameters 251 !! called at the first timestep (nittrc000)237 !! called at the first timestep 252 238 !! 253 239 !! ** input : Namelist nampismort
Note: See TracChangeset
for help on using the changeset viewer.