[336] | 1 | !!---------------------------------------------------------------------- |
---|
| 2 | !! *** trclsm.lobster1.h90 *** |
---|
| 3 | !!---------------------------------------------------------------------- |
---|
| 4 | CONTAINS |
---|
[260] | 5 | |
---|
[336] | 6 | SUBROUTINE trc_lsm |
---|
| 7 | !!---------------------------------------------------------------------- |
---|
| 8 | !! trclsm.lobster1.h |
---|
| 9 | !! ********************** |
---|
| 10 | !! |
---|
| 11 | !! PURPOSE : |
---|
| 12 | !! --------- |
---|
| 13 | !! READS the specific NAMELIST for LOBSTER1 model |
---|
| 14 | !! |
---|
| 15 | !! WORKSPACE : : no |
---|
| 16 | !! --------- |
---|
| 17 | !! |
---|
| 18 | !! MODIFICATIONS: |
---|
| 19 | !! -------------- |
---|
| 20 | !! original : 99-10 (M.A. Foujols, M. Levy) passive tracer |
---|
| 21 | !! additions : 00-12 (O. Aumont, E. Kestenare) add sediments |
---|
| 22 | !! ---------------------------------------------------------------------- |
---|
| 23 | !! local declarations |
---|
| 24 | !! ================== |
---|
[260] | 25 | CHARACTER (len=32) :: clname |
---|
| 26 | |
---|
[336] | 27 | !!--------------------------------------------------------------------- |
---|
[341] | 28 | !! TOP 1.0 , LOCEAN-IPSL (2005) |
---|
| 29 | !! $Header$ |
---|
| 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 | NAMELIST/natbio/apmin,azmin,anmin,admin, & |
---|
| 36 | & redf,reddom,slopet,toptp,psinut,akno3,aknh4,rcchl, & |
---|
[260] | 37 | & rgamma,toptgz,tmaxgz,rgz, & |
---|
| 38 | & rppz,taus,aks,filmax,rpnaz,rdnaz,eggzoo,tauzn, & |
---|
| 39 | & tmmaxp,tmminp,tmmaxz,tmminz,anumin,afdmin,taudn, & |
---|
[336] | 40 | & vsed,tmumax,aki,tmaxr,tminr, taunn, taudomn,xhr, & |
---|
| 41 | & sedlam, sedlostpoc, & |
---|
| 42 | & fphylab,fzoolab,fdetlab,fdbod |
---|
[260] | 43 | NAMELIST/natopt/xkg0,xkr0,xkgp,xkrp,xlg,xlr,rpig |
---|
| 44 | #if defined key_trc_diabio |
---|
[433] | 45 | INTEGER :: ji |
---|
[260] | 46 | NAMELIST/natdbi/ctrbio,ctrbil,ctrbiu,nwritebio |
---|
| 47 | #endif |
---|
| 48 | |
---|
| 49 | IF(lwp) THEN |
---|
[336] | 50 | WRITE(numout,*) ' ' |
---|
| 51 | WRITE(numout,*) ' ROUTINE trclsm' |
---|
| 52 | WRITE(numout,*) ' **************' |
---|
| 53 | WRITE(numout,*) ' ' |
---|
| 54 | WRITE(numout,*) ' namelist for lobster1 model' |
---|
| 55 | WRITE(numout,*) ' ***************************' |
---|
| 56 | WRITE(numout,*) ' ' |
---|
[260] | 57 | ENDIF |
---|
| 58 | |
---|
| 59 | |
---|
| 60 | numnat=80 |
---|
| 61 | clname ='namelist.trc.sms' |
---|
| 62 | OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old') |
---|
| 63 | |
---|
[336] | 64 | ! 1.4 namelist natbio : biological parameters |
---|
| 65 | ! ------------------------------------------- |
---|
[260] | 66 | |
---|
[336] | 67 | apmin = 0. |
---|
| 68 | azmin = 0. |
---|
| 69 | anmin = 0. |
---|
| 70 | admin = 0. |
---|
| 71 | redf = 0. |
---|
| 72 | reddom = 0. |
---|
| 73 | slopet = 0. |
---|
| 74 | toptp = 0. |
---|
| 75 | psinut = 0. |
---|
| 76 | akno3 = 0. |
---|
| 77 | aknh4 = 0. |
---|
| 78 | rcchl = 0. |
---|
| 79 | rgamma= 0. |
---|
| 80 | toptgz= 0. |
---|
| 81 | tmaxgz= 0. |
---|
| 82 | rgz = 0. |
---|
| 83 | rppz = 0. |
---|
| 84 | taus = 0. |
---|
| 85 | aks = 0. |
---|
| 86 | filmax= 0. |
---|
| 87 | rpnaz = 0. |
---|
| 88 | rdnaz = 0. |
---|
| 89 | eggzoo= 0. |
---|
| 90 | tauzn = 0. |
---|
| 91 | tmmaxp= 0. |
---|
| 92 | tmminp= 0. |
---|
| 93 | tmmaxz= 0. |
---|
| 94 | tmminz= 0. |
---|
| 95 | anumin= 0. |
---|
| 96 | afdmin= 0. |
---|
| 97 | taudn = 0. |
---|
| 98 | vsed = 0. |
---|
| 99 | tmumax= 0. |
---|
| 100 | aki = 0. |
---|
[260] | 101 | tmaxr = 1./( 4.*rday)*0. |
---|
| 102 | tminr = 1./(24.*30.*rday)*0. |
---|
[336] | 103 | xhr=0. |
---|
| 104 | sedlam=0. |
---|
| 105 | sedlostpoc=0. |
---|
| 106 | taudomn = 0. |
---|
| 107 | taunn = 0. |
---|
| 108 | fphylab = 0. |
---|
| 109 | fzoolab = 0. |
---|
| 110 | fdetlab = 0. |
---|
| 111 | fdbod = 0. |
---|
[260] | 112 | |
---|
| 113 | READ(numnat,natbio) |
---|
| 114 | |
---|
| 115 | IF(lwp) THEN |
---|
| 116 | WRITE(numout,*) 'natbio' |
---|
| 117 | WRITE(numout,*) ' ' |
---|
| 118 | WRITE(numout,*) & |
---|
| 119 | & ' minimum phytoplancton concentration apmin =', apmin |
---|
| 120 | WRITE(numout,*) & |
---|
| 121 | & ' minimum zooplancton concentration azmin =', azmin |
---|
| 122 | WRITE(numout,*) & |
---|
| 123 | & ' minimum nutrients concentration anmin =', anmin |
---|
| 124 | WRITE(numout,*) & |
---|
| 125 | & ' minimum detritus concentration admin =', admin |
---|
| 126 | WRITE(numout,*) & |
---|
| 127 | & ' redfield ratio c:n redf =', redf |
---|
| 128 | WRITE(numout,*) & |
---|
| 129 | & ' van t hoff coefficient slopet =', slopet |
---|
| 130 | WRITE(numout,*) & |
---|
| 131 | & ' optimal photosynthesis temperature toptp =', toptp |
---|
| 132 | WRITE(numout,*) & |
---|
[336] | 133 | & ' inhibition of no3 uptake by nh4 psinut =', psinut |
---|
[260] | 134 | WRITE(numout,*) & |
---|
[336] | 135 | & ' half-saturation nutrient for no3 uptake akno3 =', akno3 |
---|
| 136 | WRITE(numout,*) & |
---|
| 137 | & ' half-saturation nutrient for nh4 uptake aknh4 =', aknh4 |
---|
| 138 | WRITE(numout,*) & |
---|
[260] | 139 | & ' carbone/chlorophyl ratio rcchl =', rcchl |
---|
| 140 | WRITE(numout,*) & |
---|
| 141 | & ' phytoplankton exudation fraction rgamma =', rgamma |
---|
| 142 | WRITE(numout,*) & |
---|
| 143 | & ' optimal temperature for zoo growth toptgz =', toptgz |
---|
| 144 | WRITE(numout,*) & |
---|
| 145 | & ' maximal temperature for zoo growth tmaxgz =', tmaxgz |
---|
| 146 | WRITE(numout,*) & |
---|
| 147 | & ' widtht of zoo temperature FUNCTION rgz =', rgz |
---|
| 148 | WRITE(numout,*) & |
---|
| 149 | & ' zoo preference for phyto rppz =', rppz |
---|
| 150 | WRITE(numout,*) & |
---|
| 151 | & ' maximal zoo grazing rate taus =',86400*taus |
---|
| 152 | WRITE(numout,*) & |
---|
| 153 | & ' half saturation constant for zoo food aks =', aks |
---|
| 154 | WRITE(numout,*) & |
---|
| 155 | & ' maximal mass clearance rate for zoo filmax =', filmax |
---|
| 156 | WRITE(numout,*) & |
---|
| 157 | & ' non-assimilated phyto by zoo rpnaz =', rpnaz |
---|
| 158 | WRITE(numout,*) & |
---|
| 159 | & ' non-assimilated detritus by zoo rdnaz =', rdnaz |
---|
| 160 | WRITE(numout,*) & |
---|
| 161 | & ' minimum for zoo concentration eggzoo =', eggzoo |
---|
| 162 | WRITE(numout,*) & |
---|
| 163 | & ' zoo specific excretion rate tauzn =',86400 & |
---|
| 164 | & *tauzn |
---|
| 165 | WRITE(numout,*) & |
---|
| 166 | & ' maximal phyto mortality rate tmmaxp =',86400 & |
---|
| 167 | & *tmmaxp |
---|
| 168 | WRITE(numout,*) & |
---|
| 169 | & ' minimal phyto mortality rate tmminp =',86400 & |
---|
| 170 | & *tmminp |
---|
| 171 | WRITE(numout,*) & |
---|
| 172 | & ' maximal zoo mortality rate tmmaxz =',86400 & |
---|
| 173 | & *tmmaxz |
---|
| 174 | WRITE(numout,*) & |
---|
| 175 | & ' minimal zoo mortality rate tmminz =',86400 & |
---|
| 176 | & *tmminz |
---|
| 177 | WRITE(numout,*) & |
---|
| 178 | & ' nutrient threshold for phyto mort anumin =', anumin |
---|
| 179 | WRITE(numout,*) & |
---|
| 180 | & ' food threshold for zoo mort afdmin =', afdmin |
---|
| 181 | WRITE(numout,*) & |
---|
| 182 | & ' detrital breakdown rate taudn =',86400 & |
---|
| 183 | & *taudn |
---|
| 184 | WRITE(numout,*) & |
---|
| 185 | & ' detritus sedimentation speed vsed =',86400*vsed |
---|
| 186 | WRITE(numout,*) & |
---|
| 187 | & ' phyto max growth rate tmumax =',86400 & |
---|
| 188 | & *tmumax |
---|
| 189 | WRITE(numout,*) & |
---|
| 190 | & ' light hlaf saturation constant aki =', aki |
---|
| 191 | WRITE(numout,*) & |
---|
| 192 | & ' maximum damping for d z or p tmaxr =', tmaxr |
---|
| 193 | WRITE(numout,*) & |
---|
| 194 | & ' damping-remineralisation rate tminr =', tminr |
---|
| 195 | WRITE(numout,*) & |
---|
| 196 | & ' nitrification rate taunn =', taunn |
---|
| 197 | WRITE(numout,*) & |
---|
| 198 | & ' dom remineralisation rate taudomn =', taudomn |
---|
| 199 | WRITE(numout,*) & |
---|
| 200 | & ' coeff for martin''s remineralistion xhr =', xhr |
---|
| 201 | WRITE(numout,*) & |
---|
| 202 | & ' time coeff of POC in sediments sedlam =', sedlam |
---|
| 203 | WRITE(numout,*) & |
---|
| 204 | & ' Sediment geol loss for POC sedlostpoc =', sedlostpoc |
---|
[336] | 205 | WRITE(numout,*) & |
---|
| 206 | & ' NH4 fraction of phytoplankton exsudation fphylab =', fphylab |
---|
| 207 | WRITE(numout,*) & |
---|
| 208 | & ' NH4 fraction of zooplankton excretion fzoolab =', fzoolab |
---|
| 209 | WRITE(numout,*) & |
---|
| 210 | & ' NH4 fraction of detritus dissolution fdetlab =', fdetlab |
---|
| 211 | WRITE(numout,*) & |
---|
| 212 | & ' Zooplankton mortality fraction that goes to detritus fdbod =', fdbod |
---|
[260] | 213 | ENDIF |
---|
| 214 | |
---|
[336] | 215 | ! 1.5 namelist natopt : parameters for optic |
---|
| 216 | ! ------------------------------------------ |
---|
[260] | 217 | |
---|
| 218 | xkg0 = 0. |
---|
| 219 | xkr0 = 0. |
---|
| 220 | xkgp = 0. |
---|
| 221 | xkrp = 0. |
---|
| 222 | xlg = 0. |
---|
| 223 | xlr = 0. |
---|
| 224 | rpig = 0. |
---|
| 225 | |
---|
| 226 | READ(numnat,natopt) |
---|
| 227 | |
---|
| 228 | IF(lwp) THEN |
---|
[336] | 229 | WRITE(numout,*) 'natopt' |
---|
| 230 | WRITE(numout,*) ' ' |
---|
| 231 | WRITE(numout,*) ' green water absorption coeff xkg0 = ',xkg0 |
---|
| 232 | WRITE(numout,*) ' red water absorption coeff xkr0 = ',xkr0 |
---|
| 233 | WRITE(numout,*) ' pigment red absorption coeff xkrp = ',xkrp |
---|
| 234 | WRITE(numout,*) ' pigment green absorption coeff xkgp = ',xkgp |
---|
| 235 | WRITE(numout,*) ' green chl exposant xlg = ',xlg |
---|
| 236 | WRITE(numout,*) ' red chl exposant xlr = ',xlr |
---|
| 237 | WRITE(numout,*) ' chla/chla+phea ratio rpig = ',rpig |
---|
| 238 | WRITE(numout,*) ' ' |
---|
[260] | 239 | |
---|
| 240 | ENDIF |
---|
| 241 | |
---|
| 242 | #if defined key_trc_diabio |
---|
| 243 | |
---|
[336] | 244 | ! NAMELIST : natdbi |
---|
[260] | 245 | |
---|
[336] | 246 | ! default name for biological trends : short and long name, units |
---|
[260] | 247 | |
---|
| 248 | DO ji=1,jpdiabio |
---|
[336] | 249 | IF (ji < 10) THEN |
---|
[260] | 250 | WRITE (ctrbio(ji),'("BIO_",I1)') ji |
---|
[336] | 251 | ELSE IF (ji < 100) THEN |
---|
[260] | 252 | WRITE (ctrbio(ji),'("BIO_",I2)') ji |
---|
[336] | 253 | ELSE |
---|
[260] | 254 | WRITE (ctrbio(ji),'("BIO_",I3)') ji |
---|
[336] | 255 | ENDIF |
---|
| 256 | WRITE (ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji |
---|
| 257 | ctrbiu(ji)='mmoleN/m3/s ' |
---|
| 258 | END DO |
---|
[260] | 259 | |
---|
| 260 | nwritebio = 10 |
---|
| 261 | |
---|
| 262 | READ(numnat,natdbi) |
---|
| 263 | |
---|
| 264 | IF(lwp) THEN |
---|
[336] | 265 | WRITE(numout,*) 'natdbi' |
---|
| 266 | WRITE(numout,*) ' ' |
---|
| 267 | WRITE(numout,*) & |
---|
| 268 | & ' frequency of outputs for biological outputs = ' & |
---|
| 269 | & ,nwritebio |
---|
| 270 | WRITE(numout,*) ' ' |
---|
| 271 | DO ji=1,jpdiabio |
---|
[260] | 272 | WRITE(numout,*) & |
---|
[336] | 273 | & 'name of biological trend number :',ji,' : ',ctrbio(ji) |
---|
[260] | 274 | WRITE(numout,*) ctrbil(ji) |
---|
| 275 | WRITE(numout,*) ' in unit = ',ctrbiu(ji) |
---|
[336] | 276 | END DO |
---|
| 277 | END IF |
---|
[260] | 278 | #endif |
---|
| 279 | |
---|
[336] | 280 | END SUBROUTINE trc_lsm |
---|