Changeset 339 for trunk/NEMO/TOP_SRC/SMS/p4zmicro.F
- Timestamp:
- 2005-11-14T13:30:28+01:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/SMS/p4zmicro.F
r274 r339 1 CCC$Header$2 CCC TOP 1.0 , LOCEAN-IPSL (2005)3 C This software is governed by CeCILL licence see modipsl/doc/NEMO_CeCILL.txt4 C ---------------------------------------------------------------------------5 1 CDIR$ LIST 6 2 SUBROUTINE p4zmicro … … 47 43 INTEGER ji, jj, jk 48 44 REAL compadi,compadi2,compaz,compaph,compapoc 49 REAL graze,zdenom 50 REAL zinano,zidiat,zipoc 51 45 REAL graze,zdenom,zdenom2 46 REAL zfact,zstep,zinano,zidiat,zipoc 47 C 48 C Time step duration for biology 49 C ------------------------------ 50 C 51 zstep=rfact2/rjjss 52 52 C 53 53 … … 57 57 C 58 58 compaz = max((trn(ji,jj,jk,jpzoo)-1.E-9),0.) 59 zfact=zstep*tgfunc(ji,jj,jk)*compaz 60 # if defined key_off_degrad 61 & *facvol(ji,jj,jk) 62 # endif 59 63 C 60 64 C Respiration rates of both zooplankton 61 65 C ------------------------------------- 62 66 C 63 respz(ji,jj,jk) = resrat*rfact2/rjjss 67 respz(ji,jj,jk) = resrat*zfact 68 & *(1.+3.*nitrfac(ji,jj,jk)) 64 69 & *trn(ji,jj,jk,jpzoo)/(xkmort+trn(ji,jj,jk,jpzoo)) 65 & *compaz*tmask(ji,jj,jk)66 # if defined key_off_degrad67 & *facvol(ji,jj,jk)68 # endif69 70 C 70 71 C Zooplankton mortality. A square function has been selected with … … 73 74 C --------------------------------------------------------------- 74 75 C 75 tortz(ji,jj,jk) = mzrat*rfact2*1E6/rjjss*tgfunc(ji,jj,jk) 76 & *compaz*trn(ji,jj,jk,jpzoo)*tmask(ji,jj,jk) 77 # if defined key_off_degrad 78 & *facvol(ji,jj,jk) 79 # endif 76 tortz(ji,jj,jk) = mzrat*1E6*zfact*trn(ji,jj,jk,jpzoo) 77 C 80 78 END DO 81 79 END DO … … 87 85 C 88 86 compadi = max((trn(ji,jj,jk,jpdia)-1E-8),0.) 89 compadi2=min(compadi, 2.E-6)90 compaph = max((trn(ji,jj,jk,jpphy)- 1E-8),0.)91 compapoc=max((trn(ji,jj,jk,jppoc)-1E- 9),0.)87 compadi2=min(compadi,5.E-7) 88 compaph = max((trn(ji,jj,jk,jpphy)-2E-7),0.) 89 compapoc=max((trn(ji,jj,jk,jppoc)-1E-8),0.) 92 90 C 93 91 C Microzooplankton grazing 94 92 C ------------------------ 95 93 C 96 graze = grazrat*rfact2/rjjss*tmask(ji,jj,jk) 97 & *tgfunc(ji,jj,jk) 94 zdenom2 = 1./(zprefp*compaph 95 & +zprefc*compapoc+zprefd*compadi2+rtrn) 96 97 graze = grazrat*zstep*tgfunc(ji,jj,jk) 98 & *trn(ji,jj,jk,jpzoo) 98 99 # if defined key_off_degrad 99 100 & *facvol(ji,jj,jk) 100 101 # endif 101 zdenom = 1./(xkgraz+zprefp*compaph102 & +zprefc*trn(ji,jj,jk,jppoc)+zprefd*compadi2)103 102 104 zinano=zprefp*trn(ji,jj,jk,jpphy)/ 105 & (zprefp*trn(ji,jj,jk,jpphy) 106 & +zprefc*trn(ji,jj,jk,jppoc) 107 & +zprefd*trn(ji,jj,jk,jpdia)+rtrn) 103 zinano=zprefp*compaph*zdenom2 104 zipoc=zprefc*compapoc*zdenom2 105 zidiat=zprefd*compadi2*zdenom2 108 106 109 zipoc=zprefc*trn(ji,jj,jk,jppoc)/ 110 & (zprefp*trn(ji,jj,jk,jpphy) 111 & +zprefc*trn(ji,jj,jk,jppoc) 112 & +zprefd*trn(ji,jj,jk,jpdia)+rtrn) 113 114 zidiat=zprefd*trn(ji,jj,jk,jpdia)/ 115 & (zprefp*trn(ji,jj,jk,jpphy) 116 & +zprefc*trn(ji,jj,jk,jppoc) 117 & +zprefd*trn(ji,jj,jk,jpdia)+rtrn) 107 zdenom = 1./(xkgraz+zinano*compaph 108 & +zipoc*compapoc+zidiat*compadi2) 118 109 119 110 grazp(ji,jj,jk) = graze*zinano*compaph*zdenom 120 & *trn(ji,jj,jk,jpzoo) 111 grazm(ji,jj,jk) = graze*zipoc*compapoc*zdenom 112 grazsd(ji,jj,jk) = graze*zidiat*compadi2*zdenom 121 113 122 114 grazpf(ji,jj,jk) = grazp(ji,jj,jk)* … … 126 118 & trn(ji,jj,jk,jpnch)/(trn(ji,jj,jk,jpphy)+rtrn) 127 119 128 grazm(ji,jj,jk) = graze*zipoc*compapoc129 & *zdenom*trn(ji,jj,jk,jpzoo)130 131 120 grazmf(ji,jj,jk) = grazm(ji,jj,jk) 132 121 & *trn(ji,jj,jk,jpsfe)/(trn(ji,jj,jk,jppoc)+rtrn) 133 134 grazsd(ji,jj,jk) = graze*zidiat*compadi2*zdenom135 & *trn(ji,jj,jk,jpzoo)136 122 137 123 grazsf(ji,jj,jk) = grazsd(ji,jj,jk)
Note: See TracChangeset
for help on using the changeset viewer.