Changeset 5288 for branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmicro.F90
- Timestamp:
- 2015-05-22T18:22:18+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CNRS/dev_r4826_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p5zmicro.F90
r5266 r5288 7 7 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) F90 8 8 !! 3.4 ! 2011-06 (O. Aumont, C. Ethe) Quota model for iron 9 !! 3.6 ! 2015-05 (O. Aumont) PISCES quota 9 10 !!---------------------------------------------------------------------- 10 11 #if defined key_pisces_quota … … 47 48 REAL(wp), PUBLIC :: mzrat !: microzooplankton mortality rate 48 49 REAL(wp), PUBLIC :: grazrat !: maximal microzoo grazing rate 49 REAL(wp), PUBLIC :: xkgraz !: non assimilated fraction of P by microzoo 50 REAL(wp), PUBLIC :: xkgraz !: non assimilated fraction of P by microzoo 50 51 REAL(wp), PUBLIC :: unassc !: Efficicency of microzoo growth 51 52 REAL(wp), PUBLIC :: unassn !: Efficicency of microzoo growth 52 53 REAL(wp), PUBLIC :: unassp !: Efficicency of microzoo growth 53 54 REAL(wp), PUBLIC :: epsher !: half sturation constant for grazing 1 55 REAL(wp), PUBLIC :: srespir !: half sturation constant for grazing 1 56 REAL(wp), PUBLIC :: ssigma !: Fraction excreted as semi-labile DOM 54 57 55 58 … … 81 84 REAL(wp) :: zepsherf, zepshert, zepsherv, zrespirc, zrespirn, zrespirp, zbasresb, zbasresi 82 85 REAL(wp) :: zgraztotc, zgraztotn, zgraztotp, zgraztotf 83 REAL(wp) :: zexcess, zgradoc, zgradon, zgradop, zgrafer 86 REAL(wp) :: zgradoc, zgradon, zgradop, zgrafer, zgradoct, zgradont, zgradopt, zgrafert 87 REAL(wp) :: zexcess, zgraren, zgrarep, zgrarem 84 88 REAL(wp) :: zgrapoc, zgrapon, zgrapop, zgrapof, zprcaca, zmortz 85 89 REAL(wp) :: zrespz, ztortz, zgrasratf, zgrasratn, zgrasratp … … 200 204 zbasresb = MAX(0., zrespz - zexcess) 201 205 zbasresi = zexcess + MIN(0., zrespz - zexcess) 202 zrespirc = 0.2* zepsherv * zgraztotc + zbasresb206 zrespirc = srespir * zepsherv * zgraztotc + zbasresb 203 207 204 208 ! Voiding of the excessive elements as DOM 205 209 ! ---------------------------------------- 206 zgradoc = (1. - unassc - zepsherv) * zgraztotc - zbasresi 207 zgradon = (1. - unassn) * zgraztotn - zepsherv * no3rat3 * zgraztotc 208 zgradop = (1. - unassp) * zgraztotp - zepsherv * po4rat3 * zgraztotc 209 zgrafer = (1. - unassc) * zgraztotf - zepsherv * ferat3 * zgraztotc 210 zgradoct = (1. - unassc - zepsherv) * zgraztotc - zbasresi 211 zgradont = (1. - unassn) * zgraztotn - zepsherv * no3rat3 * zgraztotc 212 zgradopt = (1. - unassp) * zgraztotp - zepsherv * po4rat3 * zgraztotc 213 zgrafert = (1. - unassc) * zgraztotf - zepsherv * ferat3 * zgraztotc 214 zgradoc = zgradoct * ssigma 215 zgradon = zgradont * ssigma 216 zgradop = zgradopt * ssigma 217 zgrarem = (1.0 - ssigma) * zgradoct 218 zgraren = (1.0 - ssigma) * zgradont 219 zgrarep = (1.0 - ssigma) * zgradopt 220 zgrafer = zgrafert 210 221 211 222 ! Defecation as a result of non assimilated products … … 218 229 ! Update of the TRA arrays 219 230 ! ------------------------ 220 zrespirn = zrespirc * no3rat3 231 zrespirn = zrespirc * no3rat3 221 232 zrespirp = zrespirc * po4rat3 222 233 zgrafer = zgrafer + zrespirc * ferat3 223 234 224 tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zrespirp 225 tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zrespirn 235 tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zrespirp + zgrarep 236 tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zrespirn + zgraren 226 237 tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) + zgradoc 227 238 tra(ji,jj,jk,jpdon) = tra(ji,jj,jk,jpdon) + zgradon 228 239 tra(ji,jj,jk,jpdop) = tra(ji,jj,jk,jpdop) + zgradop 229 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * zrespirc240 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - o2ut * ( zrespirc + zgrarem ) 230 241 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zgrafer 231 242 tra(ji,jj,jk,jpzoo) = tra(ji,jj,jk,jpzoo) + zepsherv * zgraztotc - zrespirc & … … 261 272 ! 262 273 zprcaca = part * zprcaca 263 tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zrespirc - zprcaca274 tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zrespirc + zgrarem - zprcaca 264 275 tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * zprcaca 265 tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + rno3 * zrespirn+ zprcaca276 tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + rno3 * ( zrespirn + zgraren ) + zprcaca 266 277 #if defined key_kriest 267 278 tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) + ztortz * xkr_dmicro & … … 307 318 & xprefp, xprefd, xprefz, xthreshdia, xthreshphy, & 308 319 & xthreshpic, xthreshpoc, xthreshzoo, xthresh, xkgraz, & 309 & epsher, unassc, unassn, unassp320 & epsher, ssigma, srespir, unassc, unassn, unassp 310 321 311 322 INTEGER :: ios ! Local integer output status for namelist read … … 343 354 WRITE(numout,*) ' P egested fraction of fodd by microzoo unassp =', unassp 344 355 WRITE(numout,*) ' Efficicency of microzoo growth epsher =', epsher 356 WRITE(numout,*) ' Fraction excreted as semi-labile DOM ssigma =', ssigma 357 WRITE(numout,*) ' Active respiration srespir =', srespir 345 358 WRITE(numout,*) ' half sturation constant for grazing 1 xkgraz =', xkgraz 346 359 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.