[260] | 1 | !!---------------------------------------------------------------------- |
---|
[336] | 2 | !! *** trclsm.pisces.h90 *** |
---|
[260] | 3 | !!---------------------------------------------------------------------- |
---|
[336] | 4 | CONTAINS |
---|
[260] | 5 | |
---|
[336] | 6 | SUBROUTINE trc_lsm |
---|
| 7 | !!---------------------------------------------------------------------- |
---|
| 8 | !! |
---|
| 9 | !! trclsm.pisces.h |
---|
| 10 | !! **************** |
---|
| 11 | !! |
---|
| 12 | !! PURPOSE : |
---|
| 13 | !! --------- |
---|
| 14 | !! READs and PRINT options for PISCES namelist |
---|
| 15 | !! |
---|
| 16 | !! MODIFICATIONS: |
---|
| 17 | !! -------------- |
---|
| 18 | !! original : 99-10 (M.A. Foujols, M. Levy) passive tracer |
---|
| 19 | !! addition : 00-01 (L. Bopp) hamocc3,p3zd |
---|
| 20 | !! |
---|
| 21 | !!---------------------------------------------------------------------- |
---|
| 22 | !!---------------------------------------------------------------------- |
---|
| 23 | !! local declarations |
---|
| 24 | !! ================== |
---|
[260] | 25 | CHARACTER (len=32) clname |
---|
| 26 | |
---|
[336] | 27 | !!--------------------------------------------------------------------- |
---|
[341] | 28 | !! TOP 1.0 , LOCEAN-IPSL (2005) |
---|
[699] | 29 | !! $Id$ |
---|
[341] | 30 | !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt |
---|
[336] | 31 | !!--------------------------------------------------------------------- |
---|
[260] | 32 | |
---|
[336] | 33 | ! 0. initializations |
---|
| 34 | ! ------------------ |
---|
| 35 | ! |
---|
| 36 | NAMELIST/natext/ atcco2 |
---|
[617] | 37 | NAMELIST/natbio/caco3r, kdca, nca, part, & |
---|
[336] | 38 | & dispo0,conc0,oxymin,grosip, sedlam, & |
---|
| 39 | & sedlostpoc,sedlostcal,sedlostsil,nrdttrc, & |
---|
| 40 | & pislope, excret,wsbio,wchl,wchld,resrat,mprat,mzrat, & |
---|
| 41 | & grazrat,xprefc,xprefp,unass,xkgraz,xkmort,xksi1, & |
---|
| 42 | & xksi2,xremip,xremik,xsirem,xkdoc1,xkdoc2, & |
---|
| 43 | & excret2,resrat2,mprat2,mpratm,mzrat2,grazrat2, & |
---|
| 44 | & xprefz,xprefpoc,unass2,xkgraz2,xlam1, & |
---|
| 45 | & ferat3,conc1,conc2,conc3,concnnh4,concdnh4, & |
---|
| 46 | & nitrif,epsher,epsher2,pislope2,wsbio2,sigma1, & |
---|
| 47 | & sigma2, zprefc, zprefp, zprefd,fecnm,fecdm, & |
---|
| 48 | & chlcnm,chlcdm, sedfeinput |
---|
| 49 | NAMELIST/natsms/bdustfer, briver, bndepo, bsedinput |
---|
[617] | 50 | #if defined key_trc_kriest |
---|
| 51 | NAMELIST/natkriest/xkr_eta,xkr_zeta,xkr_sfact,xkr_mass_min,xkr_mass_max,& |
---|
| 52 | & xkr_dnano,xkr_ddiat,xkr_dmeso,xkr_daggr,xkr_stick |
---|
| 53 | #endif |
---|
[260] | 54 | |
---|
[336] | 55 | ! initialize the number of LOGICAL UNIT used |
---|
| 56 | ! ------------------------------------------ |
---|
| 57 | |
---|
[260] | 58 | IF(lwp) THEN |
---|
[336] | 59 | WRITE(numout,*) ' ' |
---|
| 60 | WRITE(numout,*) ' ROUTINE trclec' |
---|
| 61 | WRITE(numout,*) ' **************' |
---|
| 62 | WRITE(numout,*) ' ' |
---|
| 63 | WRITE(numout,*) ' namelist for PISCES model' |
---|
| 64 | WRITE(numout,*) ' ***********************' |
---|
| 65 | WRITE(numout,*) ' ' |
---|
[260] | 66 | ENDIF |
---|
| 67 | |
---|
| 68 | clname ='namelist.trc.sms' |
---|
[625] | 69 | CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', & |
---|
| 70 | & 1, numout, .FALSE., 1 ) |
---|
[260] | 71 | |
---|
[617] | 72 | ! 1 Namelist natext : |
---|
[336] | 73 | ! ------------------- |
---|
[260] | 74 | READ(numnat,natext) |
---|
| 75 | |
---|
| 76 | IF(lwp) THEN |
---|
[336] | 77 | WRITE(numout,*) ' ' |
---|
| 78 | WRITE(numout,*) 'natext' |
---|
| 79 | WRITE(numout,*) ' ' |
---|
| 80 | WRITE(numout,*) 'atmospheric pCO2= ',atcco2 |
---|
| 81 | WRITE(numout,*) ' ' |
---|
[260] | 82 | ENDIF |
---|
| 83 | |
---|
| 84 | |
---|
| 85 | READ(numnat,natbio) |
---|
| 86 | IF(lwp) THEN |
---|
[336] | 87 | WRITE(numout,*) 'natbio' |
---|
| 88 | WRITE(numout,*) ' ' |
---|
| 89 | WRITE(numout,*) & |
---|
| 90 | & ' mean rainratio =', caco3r |
---|
| 91 | WRITE(numout,*) & |
---|
[617] | 92 | & ' diss. rate constant calcite (per month) =', kdca |
---|
| 93 | WRITE(numout,*) & |
---|
| 94 | & ' order of reaction for calcite dissolution =', nca |
---|
| 95 | WRITE(numout,*) & |
---|
| 96 | & ' part of calcite not dissolved in guts =', part |
---|
| 97 | WRITE(numout,*) & |
---|
[336] | 98 | & ' mean Si/C ratio =', grosip |
---|
| 99 | WRITE(numout,*) & |
---|
| 100 | & ' Calcite dissolution half saturation =', dispo0 |
---|
| 101 | WRITE(numout,*) & |
---|
| 102 | & ' Phosphate half saturation =', conc0 |
---|
| 103 | WRITE(numout,*) & |
---|
| 104 | & ' Sediment bioturbation factor =', sedlam |
---|
| 105 | WRITE(numout,*) & |
---|
[617] | 106 | & ' Sediment burying ratio for POC =', sedlostpoc |
---|
[336] | 107 | WRITE(numout,*) & |
---|
[617] | 108 | & ' Sediment burying ratio for CACO3 =', sedlostcal |
---|
[336] | 109 | WRITE(numout,*) & |
---|
[617] | 110 | & ' Sediment burying ratio for SI =', sedlostsil |
---|
[336] | 111 | WRITE(numout,*) & |
---|
| 112 | & ' frequence pour la biologie =', nrdttrc |
---|
| 113 | WRITE(numout,*) & |
---|
| 114 | & ' P-I slope =', pislope |
---|
| 115 | WRITE(numout,*) & |
---|
| 116 | & ' excretion ratio of phytoplankton =', excret |
---|
| 117 | WRITE(numout,*) & |
---|
| 118 | & ' POC sinking speed =', wsbio |
---|
| 119 | WRITE(numout,*) & |
---|
[617] | 120 | & ' quadratic mortality of phytoplankton =', wchl |
---|
| 121 | WRITE(numout,*) & |
---|
| 122 | & ' maximum quadratic mortality of diatoms =', wchld |
---|
| 123 | WRITE(numout,*) & |
---|
[336] | 124 | & ' exsudation rate of zooplankton =', resrat |
---|
| 125 | WRITE(numout,*) & |
---|
| 126 | & ' phytoplankton mortality rate =', mprat |
---|
| 127 | WRITE(numout,*) & |
---|
| 128 | & ' zooplankton mortality rate =', mzrat |
---|
| 129 | WRITE(numout,*) & |
---|
| 130 | & ' zoo preference for phyto =', xprefc |
---|
| 131 | WRITE(numout,*) & |
---|
| 132 | & ' zoo preference for POC =', xprefp |
---|
| 133 | WRITE(numout,*) & |
---|
| 134 | & ' maximal zoo grazing rate =', grazrat |
---|
| 135 | WRITE(numout,*) & |
---|
| 136 | & ' non assimilated fraction of phyto by zoo =', unass |
---|
| 137 | WRITE(numout,*) & |
---|
| 138 | & ' half sturation constant for grazing =', xkgraz |
---|
| 139 | WRITE(numout,*) & |
---|
| 140 | & ' half saturation constant for mortality =', xkmort |
---|
| 141 | WRITE(numout,*) & |
---|
| 142 | & ' half saturation constant for Si uptake =', xksi1 |
---|
| 143 | WRITE(numout,*) & |
---|
| 144 | & ' half saturation constant for Si/C =', xksi2 |
---|
| 145 | WRITE(numout,*) & |
---|
| 146 | & ' remineralisation rate of POC =', xremip |
---|
| 147 | WRITE(numout,*) & |
---|
| 148 | & ' remineralization rate of DOC =', xremik |
---|
| 149 | WRITE(numout,*) & |
---|
| 150 | & ' remineralization rate of Si =', xsirem |
---|
| 151 | WRITE(numout,*) & |
---|
| 152 | & ' 1st half-sat. of DOC remineralization =', xkdoc1 |
---|
| 153 | WRITE(numout,*) & |
---|
| 154 | & ' 2nd half-sat. of DOC remineralization =', xkdoc2 |
---|
| 155 | WRITE(numout,*) & |
---|
| 156 | & ' excretion ratio of diatoms =', excret2 |
---|
| 157 | WRITE(numout,*) & |
---|
| 158 | & ' exsudation rate of mesozooplankton =', resrat2 |
---|
| 159 | WRITE(numout,*) & |
---|
| 160 | & ' Diatoms mortality rate =', mprat2 |
---|
| 161 | WRITE(numout,*) & |
---|
| 162 | & ' Phytoplankton minimum mortality rate =', mpratm |
---|
| 163 | WRITE(numout,*) & |
---|
| 164 | & ' mesozooplankton mortality rate =', mzrat2 |
---|
| 165 | WRITE(numout,*) & |
---|
| 166 | & ' zoo preference for zoo =', xprefz |
---|
| 167 | WRITE(numout,*) & |
---|
| 168 | & ' zoo preference for poc =', xprefpoc |
---|
| 169 | WRITE(numout,*) & |
---|
| 170 | & ' maximal mesozoo grazing rate =', grazrat2 |
---|
| 171 | WRITE(numout,*) & |
---|
| 172 | & ' non assimilated fraction of P by mesozoo =', unass2 |
---|
| 173 | WRITE(numout,*) & |
---|
| 174 | & ' Efficicency of Mesozoo growth =', epsher2 |
---|
| 175 | WRITE(numout,*) & |
---|
| 176 | & ' Efficiency of microzoo growth =', epsher |
---|
| 177 | WRITE(numout,*) & |
---|
| 178 | & ' half sturation constant for grazing 2 =', xkgraz2 |
---|
| 179 | WRITE(numout,*) & |
---|
| 180 | & ' Maximum aggregation rate for diatoms =', wchld |
---|
| 181 | WRITE(numout,*) & |
---|
| 182 | & ' scavenging rate of Iron =', xlam1 |
---|
| 183 | WRITE(numout,*) & |
---|
| 184 | & ' Fe/C in zooplankton =', ferat3 |
---|
| 185 | WRITE(numout,*) & |
---|
| 186 | & ' Phosphate half saturation for diatoms =', conc1 |
---|
| 187 | WRITE(numout,*) & |
---|
| 188 | & ' Iron half saturation for phyto =', conc2 |
---|
| 189 | WRITE(numout,*) & |
---|
| 190 | & ' Iron half saturation for diatoms =', conc3 |
---|
| 191 | WRITE(numout,*) & |
---|
| 192 | & ' NH4 half saturation for phyto =', concnnh4 |
---|
| 193 | WRITE(numout,*) & |
---|
| 194 | & ' NH4 half saturation for diatoms =', concdnh4 |
---|
| 195 | WRITE(numout,*) & |
---|
| 196 | & ' NH4 nitrification rate =', nitrif |
---|
| 197 | WRITE(numout,*) & |
---|
| 198 | & ' P-I slope for diatoms =', pislope2 |
---|
| 199 | WRITE(numout,*) & |
---|
| 200 | & ' Big particles sinking speed =', wsbio2 |
---|
| 201 | WRITE(numout,*) & |
---|
| 202 | & ' Fraction of microzoo excretion as DOM =', sigma1 |
---|
| 203 | WRITE(numout,*) & |
---|
| 204 | & ' Fraction of mesozoo excretion as DOM =', sigma2 |
---|
| 205 | WRITE(numout,*) & |
---|
| 206 | & ' Microzoo preference for POM =', zprefc |
---|
| 207 | WRITE(numout,*) & |
---|
| 208 | & ' Microzoo preference for Nanophyto =', zprefp |
---|
| 209 | WRITE(numout,*) & |
---|
| 210 | & ' Microzoo preference for Diatoms =', zprefd |
---|
| 211 | WRITE(numout,*) & |
---|
| 212 | & ' Minimum Chl/C in nanophytoplankton =', chlcnm |
---|
| 213 | WRITE(numout,*) & |
---|
| 214 | & ' Minimum Chl/C in diatoms =', chlcdm |
---|
| 215 | WRITE(numout,*) & |
---|
| 216 | & ' Maximum Fe/C in nanophytoplankton =', fecnm |
---|
| 217 | WRITE(numout,*) & |
---|
| 218 | & ' Minimum Fe/C in diatoms =', fecdm |
---|
| 219 | WRITE(numout,*) & |
---|
| 220 | & ' Coastal release of Iron =', sedfeinput |
---|
[260] | 221 | ENDIF |
---|
| 222 | |
---|
| 223 | READ(numnat,natsms) |
---|
| 224 | IF(lwp) THEN |
---|
[336] | 225 | WRITE(numout,*) ' ' |
---|
| 226 | WRITE(numout,*) 'natsms' |
---|
| 227 | WRITE(numout,*) ' ' |
---|
| 228 | WRITE(numout,*) 'Dust input from the atmosphere : ', bdustfer |
---|
| 229 | WRITE(numout,*) ' ' |
---|
| 230 | WRITE(numout,*) 'River input of nutrients : ', briver |
---|
| 231 | WRITE(numout,*) ' ' |
---|
| 232 | WRITE(numout,*) 'Atmospheric deposition of N : ', bndepo |
---|
| 233 | WRITE(numout,*) ' ' |
---|
| 234 | WRITE(numout,*) 'Fe input from sediments : ', bsedinput |
---|
| 235 | WRITE(numout,*) ' ' |
---|
[260] | 236 | ENDIF |
---|
| 237 | |
---|
[617] | 238 | #if defined key_trc_kriest |
---|
| 239 | |
---|
| 240 | READ(numnat,natkriest) |
---|
| 241 | IF(lwp) THEN |
---|
| 242 | WRITE(numout,*) ' ' |
---|
| 243 | WRITE(numout,*) 'natkriest' |
---|
| 244 | WRITE(numout,*) ' ' |
---|
| 245 | WRITE(numout,*) 'Sinking exponent xkr_eta = ', xkr_eta |
---|
| 246 | WRITE(numout,*) 'N content exponent xkr_zeta = ', xkr_zeta |
---|
| 247 | WRITE(numout,*) 'Sinking factor xkr_sfact = ', xkr_sfact |
---|
| 248 | WRITE(numout,*) 'Stickiness xkr_stick = ', xkr_stick |
---|
| 249 | WRITE(numout,*) 'Minimum mass for Aggregates xkr_mass_min = ', xkr_mass_min |
---|
| 250 | WRITE(numout,*) 'Maximum mass for Aggregates xkr_mass_max = ', xkr_mass_max |
---|
| 251 | WRITE(numout,*) 'Size of particles in nano pool xkr_dnano = ', xkr_dnano |
---|
| 252 | WRITE(numout,*) 'Size of particles in diatoms pool xkr_ddiat = ', xkr_ddiat |
---|
| 253 | WRITE(numout,*) 'Size of particles in mesozoo pool xkr_dmeso = ', xkr_dmeso |
---|
| 254 | WRITE(numout,*) 'Size of particles in aggregates pool xkr_daggr = ', xkr_daggr |
---|
| 255 | ENDIF |
---|
| 256 | |
---|
| 257 | |
---|
| 258 | ! Computation of some variables |
---|
| 259 | xkr_massp = 5.7E-6 * 7.6 * xkr_mass_min**xkr_zeta |
---|
| 260 | ! max and min vertical particle speed |
---|
| 261 | xkr_wsbio_min = xkr_sfact * xkr_mass_min**xkr_eta |
---|
| 262 | xkr_wsbio_max = xkr_sfact * xkr_mass_max**xkr_eta |
---|
| 263 | WRITE(numout,*) ' max and min vertical particle speed ',xkr_wsbio_min,xkr_wsbio_max |
---|
| 264 | ! |
---|
| 265 | ! effect of the sizes of the different living pools on particle numbers |
---|
| 266 | ! nano = 2um-20um -> mean size=6.32 um -> ws=2.596 -> xnum=xnnano=2.337 |
---|
| 267 | ! diat and microzoo = 10um-200um -> 44.7 -> 8.732 -> xnum=xndiat=3.718 |
---|
| 268 | ! mesozoo = 200um-2mm -> 632.45 -> 45.14 -> xnum=xnmeso=7.147 |
---|
| 269 | ! aggregates = 200um-10mm -> 1414 -> 74.34 -> xnum=xnaggr=9.877 |
---|
| 270 | ! doc aggregates = 1um |
---|
| 271 | ! ---------------------------------------------------------- |
---|
| 272 | |
---|
| 273 | xkr_nnano = 1. / ( xkr_massp * xkr_dnano ) |
---|
| 274 | xkr_ndiat = 1. / ( xkr_massp * xkr_ddiat ) |
---|
| 275 | xkr_nmeso = 1. / ( xkr_massp * xkr_dmeso ) |
---|
| 276 | xkr_naggr = 1. / ( xkr_massp * xkr_daggr ) |
---|
| 277 | |
---|
| 278 | |
---|
| 279 | #endif |
---|
| 280 | |
---|
[336] | 281 | END SUBROUTINE trc_lsm |
---|