[934] | 1 | MODULE trclsm_lobster |
---|
| 2 | !!====================================================================== |
---|
| 3 | !! *** MODULE trclsm_lobster *** |
---|
| 4 | !! TOP : initialisation of some run parameters for LOBSTER bio-model |
---|
| 5 | !!====================================================================== |
---|
| 6 | !! History : 2.0 ! 2007-12 (C. Ethe, G. Madec) from trclsm.lobster1.h90 |
---|
| 7 | !!---------------------------------------------------------------------- |
---|
| 8 | #if defined key_lobster |
---|
| 9 | !!---------------------------------------------------------------------- |
---|
| 10 | !! 'key_lobster' : LOBSTER bio-model |
---|
| 11 | !!---------------------------------------------------------------------- |
---|
| 12 | !! trc_lsm_lobster : LOBSTER model namelist read |
---|
| 13 | !!---------------------------------------------------------------------- |
---|
| 14 | USE oce_trc ! Ocean variables |
---|
| 15 | USE par_trc ! TOP parameters |
---|
| 16 | USE trc ! TOP variables |
---|
[1071] | 17 | USE sms_lobster ! sms trends |
---|
[1581] | 18 | USE in_out_manager ! I/O manager |
---|
[934] | 19 | |
---|
| 20 | IMPLICIT NONE |
---|
| 21 | PRIVATE |
---|
| 22 | |
---|
| 23 | PUBLIC trc_lsm_lobster ! called by trclsm.F90 module |
---|
| 24 | |
---|
| 25 | !!---------------------------------------------------------------------- |
---|
| 26 | !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) |
---|
[1146] | 27 | !! $Id$ |
---|
[934] | 28 | !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) |
---|
| 29 | !!---------------------------------------------------------------------- |
---|
| 30 | |
---|
| 31 | CONTAINS |
---|
| 32 | |
---|
| 33 | SUBROUTINE trc_lsm_lobster |
---|
| 34 | !!---------------------------------------------------------------------- |
---|
| 35 | !! *** trc_lsm_lobster *** |
---|
| 36 | !! |
---|
| 37 | !! ** Purpose : read LOBSTER namelist |
---|
| 38 | !! |
---|
| 39 | !! ** input : file 'namelist.trc.sms' containing the following |
---|
| 40 | !! namelist: natbio, natopt, and natdbi ("key_trc_diabio") |
---|
| 41 | !!---------------------------------------------------------------------- |
---|
[1255] | 42 | INTEGER :: numnatl |
---|
[934] | 43 | !! |
---|
[1457] | 44 | #if defined key_trc_diaadd && ! defined key_iomput |
---|
[1255] | 45 | INTEGER :: jl, jn |
---|
[1119] | 46 | ! definition of additional diagnostic as a structure |
---|
| 47 | TYPE DIAG |
---|
| 48 | CHARACTER(len = 20) :: snamedia !: short name |
---|
| 49 | CHARACTER(len = 80 ) :: lnamedia !: long name |
---|
| 50 | CHARACTER(len = 20 ) :: unitdia !: unit |
---|
| 51 | END TYPE DIAG |
---|
| 52 | |
---|
| 53 | TYPE(DIAG) , DIMENSION(jp_lobster_2d) :: lobdia2d |
---|
| 54 | TYPE(DIAG) , DIMENSION(jp_lobster_3d) :: lobdia3d |
---|
| 55 | #endif |
---|
[1283] | 56 | #if defined key_trc_diabio || defined key_trdmld_trc |
---|
[1255] | 57 | INTEGER :: js, jd |
---|
[1119] | 58 | ! definition of additional diagnostic as a structure |
---|
| 59 | TYPE DIABIO |
---|
| 60 | CHARACTER(len = 20) :: snamebio !: short name |
---|
| 61 | CHARACTER(len = 80 ) :: lnamebio !: long name |
---|
| 62 | CHARACTER(len = 20 ) :: unitbio !: unit |
---|
| 63 | END TYPE DIABIO |
---|
| 64 | |
---|
| 65 | TYPE(DIABIO) , DIMENSION(jp_lobster_trd) :: lobdiabio |
---|
[934] | 66 | #endif |
---|
[1119] | 67 | |
---|
| 68 | NAMELIST/namlobphy/ apmin, tmumax, rgamma, fphylab, tmmaxp, tmminp, & |
---|
| 69 | & rcchl, aki, toptp |
---|
| 70 | NAMELIST/namlobnut/ anmin, akno3, aknh4, taunn, psinut |
---|
| 71 | NAMELIST/namlobzoo/ azmin, eggzoo, rgz, rppz, taus, aks, rpnaz, & |
---|
| 72 | & rdnaz, tauzn, fzoolab, fdbod, tmmaxz, tmminz |
---|
| 73 | NAMELIST/namlobdet/ admin, taudn, fdetlab, vsed |
---|
| 74 | NAMELIST/namlobdom/ taudomn |
---|
| 75 | NAMELIST/namlobsed/ sedlam, sedlostpoc |
---|
| 76 | NAMELIST/namlobrat/ redf, reddom, slopet, tmaxr, tminr, xhr, & |
---|
| 77 | & filmax, toptgz, tmaxgz, anumin, afdmin |
---|
| 78 | |
---|
| 79 | NAMELIST/namlobopt/ xkg0, xkr0, xkgp, xkrp, xlg, xlr, rpig |
---|
[1457] | 80 | #if defined key_trc_diaadd && ! defined key_iomput |
---|
[1119] | 81 | NAMELIST/namlobdia/nwritedia, lobdia3d, lobdia2d ! additional diagnostics |
---|
| 82 | #endif |
---|
[1283] | 83 | #if defined key_trc_diabio || defined key_trdmld_trc |
---|
[1119] | 84 | NAMELIST/namlobdbi/nwritebio, lobdiabio |
---|
| 85 | #endif |
---|
[934] | 86 | !!---------------------------------------------------------------------- |
---|
| 87 | |
---|
| 88 | IF(lwp) WRITE(numout,*) |
---|
| 89 | IF(lwp) WRITE(numout,*) ' trc_lsm_lobster : read LOBSTER namelists' |
---|
| 90 | IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~~' |
---|
| 91 | |
---|
| 92 | ! ! Open the namelist file |
---|
| 93 | ! ! ---------------------- |
---|
[1581] | 94 | CALL ctl_opn( numnatl, 'namelist_lobster', 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE. ) |
---|
[934] | 95 | |
---|
[1119] | 96 | ! namlobphy : parameters for phytoplankton |
---|
| 97 | apmin = 0. |
---|
| 98 | tmumax = 0. |
---|
| 99 | rgamma = 0. |
---|
| 100 | fphylab = 0. |
---|
| 101 | tmmaxp = 0. |
---|
| 102 | tmminp = 0. |
---|
| 103 | rcchl = 0. |
---|
| 104 | aki = 0. |
---|
| 105 | toptp = 0. |
---|
| 106 | |
---|
[1255] | 107 | REWIND( numnatl ) |
---|
| 108 | READ ( numnatl, namlobphy ) |
---|
[1119] | 109 | |
---|
| 110 | IF(lwp) THEN |
---|
| 111 | WRITE(numout,*) ' Namelist namlobphy' |
---|
| 112 | WRITE(numout,*) ' minimum phytoplancton concentration apmin =', apmin |
---|
| 113 | WRITE(numout,*) ' phyto max growth rate tmumax =', 86400 * tmumax, ' d' |
---|
| 114 | WRITE(numout,*) ' phytoplankton exudation fraction rgamma =', rgamma |
---|
| 115 | WRITE(numout,*) ' NH4 fraction of phytoplankton exsudation fphylab =', fphylab |
---|
| 116 | WRITE(numout,*) ' maximal phyto mortality rate tmmaxp =', 86400 * tmmaxp |
---|
| 117 | WRITE(numout,*) ' minimal phyto mortality rate tmminp =', 86400 * tmminp |
---|
| 118 | WRITE(numout,*) ' carbone/chlorophyl ratio rcchl =', rcchl |
---|
| 119 | WRITE(numout,*) ' light hlaf saturation constant aki =', aki |
---|
| 120 | WRITE(numout,*) ' optimal photosynthesis temperature toptp =', toptp |
---|
| 121 | WRITE(numout,*) ' ' |
---|
| 122 | ENDIF |
---|
| 123 | |
---|
| 124 | ! namlobnut : parameters for nutrients |
---|
| 125 | anmin = 0. |
---|
[934] | 126 | psinut = 0. |
---|
| 127 | akno3 = 0. |
---|
[1119] | 128 | aknh4 = 0. |
---|
| 129 | taunn = 0. |
---|
| 130 | |
---|
[1255] | 131 | REWIND( numnatl ) |
---|
| 132 | READ ( numnatl, namlobnut ) |
---|
[1119] | 133 | IF(lwp) THEN |
---|
| 134 | WRITE(numout,*) ' Namelist namlobnut' |
---|
| 135 | WRITE(numout,*) ' minimum nutrients concentration anmin =', anmin |
---|
| 136 | WRITE(numout,*) ' half-saturation nutrient for no3 uptake akno3 =', akno3 |
---|
| 137 | WRITE(numout,*) ' half-saturation nutrient for nh4 uptake aknh4 =', aknh4 |
---|
| 138 | WRITE(numout,*) ' nitrification rate taunn =', taunn |
---|
| 139 | WRITE(numout,*) ' inhibition of no3 uptake by nh4 psinut =', psinut |
---|
| 140 | WRITE(numout,*) ' ' |
---|
| 141 | ENDIF |
---|
| 142 | |
---|
| 143 | ! namlobzoo : parameters for zooplankton |
---|
| 144 | azmin = 0. |
---|
| 145 | rgz = 0. |
---|
| 146 | rppz = 0. |
---|
| 147 | taus = 0. |
---|
| 148 | aks = 0. |
---|
| 149 | rpnaz = 0. |
---|
| 150 | rdnaz = 0. |
---|
| 151 | eggzoo = 0. |
---|
| 152 | tauzn = 0. |
---|
| 153 | tmmaxz = 0. |
---|
| 154 | tmminz = 0. |
---|
[934] | 155 | fzoolab = 0. |
---|
[1119] | 156 | fdbod = 0. |
---|
[934] | 157 | |
---|
[1255] | 158 | REWIND( numnatl ) |
---|
| 159 | READ ( numnatl, namlobzoo ) |
---|
[934] | 160 | |
---|
| 161 | IF(lwp) THEN |
---|
[1119] | 162 | WRITE(numout,*) ' Namelist namlobzoo' |
---|
[934] | 163 | WRITE(numout,*) ' minimum zooplancton concentration azmin =', azmin |
---|
[1119] | 164 | WRITE(numout,*) ' minimum for zoo concentration eggzoo =', eggzoo |
---|
[934] | 165 | WRITE(numout,*) ' widtht of zoo temperature FUNCTION rgz =', rgz |
---|
| 166 | WRITE(numout,*) ' zoo preference for phyto rppz =', rppz |
---|
| 167 | WRITE(numout,*) ' maximal zoo grazing rate taus =', 86400 * taus, ' d' |
---|
| 168 | WRITE(numout,*) ' half saturation constant for zoo food aks =', aks |
---|
| 169 | WRITE(numout,*) ' non-assimilated phyto by zoo rpnaz =', rpnaz |
---|
| 170 | WRITE(numout,*) ' non-assimilated detritus by zoo rdnaz =', rdnaz |
---|
| 171 | WRITE(numout,*) ' zoo specific excretion rate tauzn =', 86400 * tauzn |
---|
| 172 | WRITE(numout,*) ' maximal zoo mortality rate tmmaxz =', 86400 * tmmaxz |
---|
| 173 | WRITE(numout,*) ' minimal zoo mortality rate tmminz =', 86400 * tmminz |
---|
[1119] | 174 | WRITE(numout,*) ' NH4 fraction of zooplankton excretion fzoolab =', fzoolab |
---|
| 175 | WRITE(numout,*) ' Zooplankton mortality fraction that goes to detritus fdbod =', fdbod |
---|
| 176 | WRITE(numout,*) ' ' |
---|
| 177 | ENDIF |
---|
| 178 | |
---|
| 179 | ! namlobdet : parameters for detritus |
---|
| 180 | admin = 0. |
---|
| 181 | taudn = 0. |
---|
| 182 | vsed = 0. |
---|
| 183 | fdetlab = 0. |
---|
| 184 | |
---|
[1255] | 185 | REWIND( numnatl ) |
---|
| 186 | READ ( numnatl, namlobdet ) |
---|
[1119] | 187 | |
---|
| 188 | IF(lwp) THEN |
---|
| 189 | WRITE(numout,*) ' Namelist namlobdet' |
---|
| 190 | WRITE(numout,*) ' minimum detritus concentration admin =', admin |
---|
[934] | 191 | WRITE(numout,*) ' detrital breakdown rate taudn =', 86400 * taudn , ' d' |
---|
| 192 | WRITE(numout,*) ' detritus sedimentation speed vsed =', 86400 * vsed , ' d' |
---|
[1119] | 193 | WRITE(numout,*) ' NH4 fraction of detritus dissolution fdetlab =', fdetlab |
---|
| 194 | WRITE(numout,*) ' ' |
---|
| 195 | ENDIF |
---|
| 196 | |
---|
| 197 | ! namlobdom : parameters for DOM |
---|
| 198 | taudomn = 0. |
---|
| 199 | |
---|
[1255] | 200 | REWIND( numnatl ) |
---|
| 201 | READ ( numnatl, namlobdom ) |
---|
[1119] | 202 | |
---|
| 203 | IF(lwp) THEN |
---|
| 204 | WRITE(numout,*) ' Namelist namlobdom' |
---|
[934] | 205 | WRITE(numout,*) ' dom remineralisation rate taudomn =', taudomn |
---|
[1119] | 206 | WRITE(numout,*) ' ' |
---|
| 207 | ENDIF |
---|
| 208 | |
---|
| 209 | ! namlobsed : parameters from aphotic layers to sediment |
---|
| 210 | sedlam = 0. |
---|
| 211 | sedlostpoc = 0. |
---|
| 212 | |
---|
[1255] | 213 | REWIND( numnatl ) |
---|
| 214 | READ ( numnatl, namlobsed ) |
---|
[1119] | 215 | |
---|
| 216 | IF(lwp) THEN |
---|
| 217 | WRITE(numout,*) ' Namelist namlobsed' |
---|
[934] | 218 | WRITE(numout,*) ' time coeff of POC in sediments sedlam =', sedlam |
---|
| 219 | WRITE(numout,*) ' Sediment geol loss for POC sedlostpoc=', sedlostpoc |
---|
[1119] | 220 | WRITE(numout,*) ' ' |
---|
[934] | 221 | ENDIF |
---|
| 222 | |
---|
[1119] | 223 | ! namlobrat : general coefficient |
---|
| 224 | redf = 0. |
---|
| 225 | reddom = 0. |
---|
| 226 | slopet = 0. |
---|
| 227 | tmaxr = 1./( 4.*rday)*0. |
---|
| 228 | tminr = 1./(24.*30.*rday)*0. |
---|
| 229 | xhr = 0. |
---|
| 230 | filmax = 0. |
---|
| 231 | toptgz = 0. |
---|
| 232 | tmaxgz = 0. |
---|
| 233 | anumin = 0. |
---|
| 234 | afdmin = 0. |
---|
| 235 | |
---|
[1255] | 236 | REWIND( numnatl ) |
---|
| 237 | READ ( numnatl, namlobrat ) |
---|
[1119] | 238 | |
---|
| 239 | IF(lwp) THEN |
---|
| 240 | WRITE(numout,*) ' Namelist namlobrat' |
---|
| 241 | WRITE(numout,*) ' redfield ratio c:n for phyto redf =', redf |
---|
| 242 | WRITE(numout,*) ' redfield ratio c:n for DOM reddom =', reddom |
---|
| 243 | WRITE(numout,*) ' van t hoff coefficient slopet =', slopet |
---|
| 244 | WRITE(numout,*) ' maximum damping for d z or p tmaxr =', tmaxr |
---|
| 245 | WRITE(numout,*) ' damping-remineralisation rate tminr =', tminr |
---|
| 246 | WRITE(numout,*) ' coeff for martin''s remineralistion xhr =', xhr |
---|
| 247 | WRITE(numout,*) ' maximal mass clearance rate for zoo filmax =', filmax |
---|
| 248 | WRITE(numout,*) ' optimal temperature for zoo growth toptgz =', toptgz |
---|
| 249 | WRITE(numout,*) ' maximal temperature for zoo growth tmaxgz =', tmaxgz |
---|
| 250 | WRITE(numout,*) ' nutrient threshold for phyto mort anumin =', anumin |
---|
| 251 | WRITE(numout,*) ' food threshold for zoo mort afdmin =', afdmin |
---|
| 252 | WRITE(numout,*) ' ' |
---|
| 253 | ENDIF |
---|
| 254 | |
---|
| 255 | |
---|
| 256 | ! namlobopt : optical parameters |
---|
| 257 | xkg0 = 0. |
---|
[934] | 258 | xkr0 = 0. |
---|
| 259 | xkgp = 0. |
---|
| 260 | xkrp = 0. |
---|
| 261 | xlg = 0. |
---|
| 262 | xlr = 0. |
---|
| 263 | rpig = 0. |
---|
| 264 | |
---|
[1255] | 265 | REWIND( numnatl ) |
---|
| 266 | READ ( numnatl, namlobopt ) |
---|
[934] | 267 | |
---|
[1119] | 268 | IF(lwp) THEN |
---|
[934] | 269 | WRITE(numout,*) |
---|
[1119] | 270 | WRITE(numout,*) ' Namelist namlobopt' |
---|
[934] | 271 | WRITE(numout,*) ' green water absorption coeff xkg0 = ', xkg0 |
---|
| 272 | WRITE(numout,*) ' red water absorption coeff xkr0 = ', xkr0 |
---|
| 273 | WRITE(numout,*) ' pigment red absorption coeff xkrp = ', xkrp |
---|
| 274 | WRITE(numout,*) ' pigment green absorption coeff xkgp = ', xkgp |
---|
| 275 | WRITE(numout,*) ' green chl exposant xlg = ', xlg |
---|
| 276 | WRITE(numout,*) ' red chl exposant xlr = ', xlr |
---|
| 277 | WRITE(numout,*) ' chla/chla+phea ratio rpig = ', rpig |
---|
[1119] | 278 | WRITE(numout,*) ' ' |
---|
[934] | 279 | ENDIF |
---|
| 280 | |
---|
[1457] | 281 | #if defined key_trc_diaadd && ! defined key_iomput |
---|
[1119] | 282 | |
---|
| 283 | ! Namelist namlobdia |
---|
| 284 | ! ------------------- |
---|
| 285 | nwritedia = 10 ! default values |
---|
| 286 | |
---|
[1255] | 287 | DO jl = 1, jp_lobster_2d |
---|
| 288 | jn = jp_lob0_2d + jl - 1 |
---|
[1119] | 289 | WRITE(ctrc2d(jn),'("2D_",I1)') jn ! short name |
---|
| 290 | WRITE(ctrc2l(jn),'("2D DIAGNOSTIC NUMBER ",I2)') jn ! long name |
---|
| 291 | ctrc2u(jn) = ' ' ! units |
---|
| 292 | END DO |
---|
| 293 | ! ! 3D output arrays |
---|
[1255] | 294 | DO jl = 1, jp_lobster_3d |
---|
| 295 | jn = jp_lob0_3d + jl - 1 |
---|
[1119] | 296 | WRITE(ctrc3d(jn),'("3D_",I1)') jn ! short name |
---|
| 297 | WRITE(ctrc3l(jn),'("3D DIAGNOSTIC NUMBER ",I2)') jn ! long name |
---|
| 298 | ctrc3u(jn) = ' ' ! units |
---|
| 299 | END DO |
---|
| 300 | |
---|
[1255] | 301 | REWIND( numnatl ) ! read natrtd |
---|
| 302 | READ ( numnatl, namlobdia ) |
---|
[1119] | 303 | |
---|
[1255] | 304 | DO jl = 1, jp_lobster_2d |
---|
| 305 | jn = jp_lob0_2d + jl - 1 |
---|
| 306 | ctrc2d(jn) = lobdia2d(jl)%snamedia |
---|
| 307 | ctrc2l(jn) = lobdia2d(jl)%lnamedia |
---|
| 308 | ctrc2u(jn) = lobdia2d(jl)%unitdia |
---|
[1119] | 309 | END DO |
---|
| 310 | |
---|
[1255] | 311 | DO jl = 1, jp_lobster_3d |
---|
| 312 | jn = jp_lob0_3d + jl - 1 |
---|
| 313 | ctrc3d(jn) = lobdia3d(jl)%snamedia |
---|
| 314 | ctrc3l(jn) = lobdia3d(jl)%lnamedia |
---|
| 315 | ctrc3u(jn) = lobdia3d(jl)%unitdia |
---|
[1119] | 316 | END DO |
---|
| 317 | |
---|
| 318 | IF(lwp) THEN ! control print |
---|
| 319 | WRITE(numout,*) |
---|
| 320 | WRITE(numout,*) ' Namelist : natadd' |
---|
| 321 | WRITE(numout,*) ' frequency of outputs for additional arrays nwritedia = ', nwritedia |
---|
[1255] | 322 | DO jl = 1, jp_lobster_3d |
---|
| 323 | jn = jp_lob0_3d + jl - 1 |
---|
[1119] | 324 | WRITE(numout,*) ' 3d output field No : ',jn |
---|
| 325 | WRITE(numout,*) ' short name : ', TRIM(ctrc3d(jn)) |
---|
| 326 | WRITE(numout,*) ' long name : ', TRIM(ctrc3l(jn)) |
---|
| 327 | WRITE(numout,*) ' unit : ', TRIM(ctrc3u(jn)) |
---|
| 328 | WRITE(numout,*) ' ' |
---|
| 329 | END DO |
---|
| 330 | |
---|
[1255] | 331 | DO jl = 1, jp_lobster_2d |
---|
| 332 | jn = jp_lob0_2d + jl - 1 |
---|
[1119] | 333 | WRITE(numout,*) ' 2d output field No : ',jn |
---|
| 334 | WRITE(numout,*) ' short name : ', TRIM(ctrc2d(jn)) |
---|
| 335 | WRITE(numout,*) ' long name : ', TRIM(ctrc2l(jn)) |
---|
| 336 | WRITE(numout,*) ' unit : ', TRIM(ctrc2u(jn)) |
---|
| 337 | WRITE(numout,*) ' ' |
---|
| 338 | END DO |
---|
| 339 | ENDIF |
---|
| 340 | #endif |
---|
| 341 | |
---|
[1283] | 342 | #if defined key_trc_diabio || defined key_trdmld_trc |
---|
[1119] | 343 | ! namlobdbi : bio diagnostics |
---|
[934] | 344 | nwritebio = 10 ! default values |
---|
[1119] | 345 | |
---|
[1255] | 346 | DO js = 1, jp_lobster_trd |
---|
| 347 | jd = jp_lob0_trd + js - 1 |
---|
| 348 | IF( jd < 10 ) THEN ; WRITE (ctrbio(jd),'("BIO_",I1)') jd ! short name |
---|
| 349 | ELSEIF (jd < 100 ) THEN ; WRITE (ctrbio(jd),'("BIO_",I2)') jd |
---|
| 350 | ELSE ; WRITE (ctrbio(jd),'("BIO_",I3)') jd |
---|
[934] | 351 | ENDIF |
---|
[1255] | 352 | WRITE(ctrbil(jd),'("BIOLOGICAL TREND NUMBER ",I2)') jd ! long name |
---|
| 353 | ctrbiu(jd) = 'mmoleN/m3/s ' ! units |
---|
[934] | 354 | END DO |
---|
| 355 | |
---|
[1255] | 356 | REWIND( numnatl ) |
---|
| 357 | READ ( numnatl, namlobdbi ) |
---|
[1119] | 358 | |
---|
[1255] | 359 | DO js = 1, jp_lobster_trd |
---|
| 360 | jd = jp_lob0_trd + js - 1 |
---|
| 361 | ctrbio(jd) = lobdiabio(js)%snamebio |
---|
| 362 | ctrbil(jd) = lobdiabio(js)%lnamebio |
---|
| 363 | ctrbiu(jd) = lobdiabio(js)%unitbio |
---|
[1119] | 364 | END DO |
---|
[934] | 365 | |
---|
[1119] | 366 | IF(lwp) THEN ! control print |
---|
[934] | 367 | WRITE(numout,*) |
---|
[1119] | 368 | WRITE(numout,*) ' Namelist : namlobdbi' |
---|
| 369 | WRITE(numout,*) ' frequency of outputs for biological trends nwritebio = ', nwritebio |
---|
[1255] | 370 | DO js = 1, jp_lobster_trd |
---|
| 371 | jd = jp_lob0_trd + js - 1 |
---|
| 372 | WRITE(numout,*) ' biological trend No : ',jd |
---|
| 373 | WRITE(numout,*) ' short name : ', TRIM(ctrbio(jd)) |
---|
| 374 | WRITE(numout,*) ' long name : ', TRIM(ctrbil(jd)) |
---|
| 375 | WRITE(numout,*) ' unit : ', TRIM(ctrbiu(jd)) |
---|
[1119] | 376 | WRITE(numout,*) ' ' |
---|
[934] | 377 | END DO |
---|
| 378 | END IF |
---|
| 379 | #endif |
---|
| 380 | ! |
---|
| 381 | END SUBROUTINE trc_lsm_lobster |
---|
| 382 | |
---|
| 383 | #else |
---|
| 384 | !!---------------------------------------------------------------------- |
---|
| 385 | !! Dummy module : No LOBSTER |
---|
| 386 | !!---------------------------------------------------------------------- |
---|
| 387 | CONTAINS |
---|
| 388 | SUBROUTINE trc_lsm_lobster ! Empty routine |
---|
| 389 | END SUBROUTINE trc_lsm_lobster |
---|
| 390 | #endif |
---|
| 391 | |
---|
| 392 | !!====================================================================== |
---|
| 393 | END MODULE trclsm_lobster |
---|