New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
trclsm.lobster1.h90 in branches/dev_001_GM/NEMO/TOP_SRC/LOBSTER – NEMO

source: branches/dev_001_GM/NEMO/TOP_SRC/LOBSTER/trclsm.lobster1.h90 @ 764

Last change on this file since 764 was 764, checked in by gm, 16 years ago

dev_001_GM - create new directory and move files only

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 10.6 KB
Line 
1   !!----------------------------------------------------------------------
2   !!                     ***  trclsm.lobster1.h90  *** 
3   !! TOP :   Definition some run parameter for LOBSTER biological model
4   !!----------------------------------------------------------------------
5   !! History :    -  !  1999-10 (M.A. Foujols, M. Levy) original code
6   !!              -  !  2000-12 (O. Aumont, E. Kestenare) add sediments
7   !!             1.0 !  2003-08 (C. Ethe)  Original code
8   !!----------------------------------------------------------------------
9
10   !!----------------------------------------------------------------------
11   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)
12   !! $Id $
13   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
14   !!----------------------------------------------------------------------
15
16CONTAINS
17
18   SUBROUTINE trc_lsm
19      !!----------------------------------------------------------------------
20      !!                     ***  trc_lsm  *** 
21      !!
22      !! ** Purpose :   read LOBSTER namelist
23      !!
24      !! ** input   :   file 'namelist.trc.sms' containing the following
25      !!             namelist: natbio, natopt, and natdbi ("key_trc_diabio")
26      !!----------------------------------------------------------------------
27      CHARACTER (len=32) :: clname
28      !!
29      NAMELIST/natbio/ apmin, azmin, anmin, admin,                       &
30         &   redf, reddom, slopet, toptp, psinut, akno3, aknh4, rcchl,   &
31         &   rgamma, toptgz, tmaxgz, rgz,                                &
32         &   rppz, taus, aks, filmax, rpnaz, rdnaz, eggzoo, tauzn,       &
33         &   tmmaxp, tmminp, tmmaxz, tmminz, anumin, afdmin, taudn,      &
34         &   vsed, tmumax, aki, tmaxr, tminr, taunn, taudomn, xhr,       &
35         &   sedlam, sedlostpoc,                                         &
36         &   fphylab, fzoolab, fdetlab, fdbod
37      NAMELIST/natopt/ xkg0, xkr0, xkgp, xkrp, xlg, xlr, rpig
38#if defined key_trc_diabio
39      INTEGER :: ji
40      NAMELIST/natdbi/ctrbio,ctrbil,ctrbiu,nwritebio
41#endif
42      !!----------------------------------------------------------------------
43
44      IF(lwp) WRITE(numout,*)
45      IF(lwp) WRITE(numout,*) ' trc_lsm : read LOBSTER 1 namelists'
46      IF(lwp) WRITE(numout,*) ' ~~~~~~~'
47
48      !                               ! Open the namelist file
49      !                               ! ----------------------
50      clname ='namelist.trc.sms'
51      CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   &
52         &           1, numout, .FALSE., 1 )
53
54      !                               ! natbio : biological parameters
55      !                               ! ------------------------------
56      apmin = 0.                           ! default values
57      azmin = 0.
58      anmin = 0.
59      admin = 0.
60      redf  = 0.
61      reddom = 0.
62      slopet = 0.
63      toptp = 0.
64      psinut = 0.
65      akno3  = 0.
66      aknh4 = 0.
67      rcchl = 0.
68      rgamma= 0.
69      toptgz= 0.
70      tmaxgz= 0.
71      rgz   = 0.
72      rppz  = 0.
73      taus  = 0.
74      aks   = 0.
75      filmax= 0.
76      rpnaz = 0.
77      rdnaz = 0.
78      eggzoo= 0.
79      tauzn = 0.
80      tmmaxp= 0.
81      tmminp= 0.
82      tmmaxz= 0.
83      tmminz= 0.
84      anumin= 0.
85      afdmin= 0.
86      taudn = 0.
87      vsed  = 0.
88      tmumax= 0.
89      aki   = 0.
90      tmaxr   = 1./(     4.*rday)*0.
91      tminr   = 1./(24.*30.*rday)*0.
92      xhr=0.
93      sedlam=0.
94      sedlostpoc=0.
95      taudomn = 0.
96      taunn = 0.
97      fphylab = 0.
98      fzoolab = 0.
99      fdetlab = 0.
100      fdbod = 0.
101
102      REWIND( numnat )                     ! read natbio
103      READ  ( numnat, natbio )
104
105      IF(lwp) THEN
106          WRITE(numout,*) ' Namelist natbio'
107          WRITE(numout,*) '    minimum phytoplancton concentration                  apmin     =', apmin
108          WRITE(numout,*) '    minimum zooplancton   concentration                  azmin     =', azmin
109          WRITE(numout,*) '    minimum nutrients     concentration                  anmin     =', anmin
110          WRITE(numout,*) '    minimum detritus      concentration                  admin     =', admin
111          WRITE(numout,*) '    redfield ratio  c:n                                  redf      =', redf
112          WRITE(numout,*) '    van t hoff coefficient                               slopet    =', slopet
113          WRITE(numout,*) '    optimal photosynthesis temperature                   toptp     =', toptp
114          WRITE(numout,*) '    inhibition of no3 uptake by nh4                      psinut    =', psinut
115          WRITE(numout,*) '    half-saturation nutrient for no3 uptake              akno3     =', akno3
116          WRITE(numout,*) '    half-saturation nutrient for nh4 uptake              aknh4     =', aknh4
117          WRITE(numout,*) '    carbone/chlorophyl ratio                             rcchl     =', rcchl
118          WRITE(numout,*) '    phytoplankton exudation fraction                     rgamma    =', rgamma
119          WRITE(numout,*) '    optimal temperature for zoo growth                   toptgz    =', toptgz
120          WRITE(numout,*) '    maximal temperature for zoo growth                   tmaxgz    =', tmaxgz
121          WRITE(numout,*) '    widtht of zoo temperature FUNCTION                   rgz       =', rgz
122          WRITE(numout,*) '    zoo preference for phyto                             rppz      =', rppz
123          WRITE(numout,*) '    maximal zoo grazing rate                             taus      =', 86400 * taus, ' d'
124          WRITE(numout,*) '    half saturation constant for zoo food                aks       =', aks
125          WRITE(numout,*) '    maximal mass clearance rate for zoo                  filmax    =', filmax
126          WRITE(numout,*) '    non-assimilated phyto by zoo                         rpnaz     =', rpnaz
127          WRITE(numout,*) '    non-assimilated detritus by zoo                      rdnaz     =', rdnaz
128          WRITE(numout,*) '    minimum  for zoo concentration                       eggzoo    =', eggzoo
129          WRITE(numout,*) '    zoo specific excretion rate                          tauzn     =', 86400 * tauzn
130          WRITE(numout,*) '    maximal phyto mortality rate                         tmmaxp    =', 86400 * tmmaxp
131          WRITE(numout,*) '    minimal phyto mortality rate                         tmminp    =', 86400 * tmminp
132          WRITE(numout,*) '    maximal zoo mortality rate                           tmmaxz    =', 86400 * tmmaxz
133          WRITE(numout,*) '    minimal zoo mortality rate                           tmminz    =', 86400 * tmminz
134          WRITE(numout,*) '    nutrient threshold for phyto mort                    anumin    =', anumin
135          WRITE(numout,*) '    food threshold for zoo mort                          afdmin    =', afdmin
136          WRITE(numout,*) '    detrital breakdown rate                              taudn     =', 86400 * taudn , ' d'
137          WRITE(numout,*) '    detritus sedimentation speed                         vsed      =', 86400 * vsed  , ' d'
138          WRITE(numout,*) '    phyto max growth rate                                tmumax    =', 86400 * tmumax, ' d'
139          WRITE(numout,*) '    light hlaf saturation constant                       aki       =', aki
140          WRITE(numout,*) '    maximum damping for d z or p                         tmaxr     =', tmaxr
141          WRITE(numout,*) '    damping-remineralisation rate                        tminr     =', tminr
142          WRITE(numout,*) '    nitrification rate                                   taunn     =', taunn
143          WRITE(numout,*) '    dom remineralisation rate                            taudomn   =', taudomn
144          WRITE(numout,*) '    coeff for martin''s remineralistion                  xhr       =', xhr
145          WRITE(numout,*) '    time coeff of POC in sediments                       sedlam    =', sedlam
146          WRITE(numout,*) '    Sediment geol loss for POC                           sedlostpoc=', sedlostpoc
147          WRITE(numout,*) '    NH4 fraction of phytoplankton exsudation             fphylab   =', fphylab
148          WRITE(numout,*) '    NH4 fraction of zooplankton excretion                fzoolab   =', fzoolab
149          WRITE(numout,*) '    NH4 fraction of detritus dissolution                 fdetlab   =', fdetlab
150          WRITE(numout,*) '    Zooplankton mortality fraction that goes to detritus fdbod     =', fdbod
151      ENDIF
152
153      !                               ! natopt : optical parameters
154      !                               ! ---------------------------
155      xkg0  = 0.                           ! default values
156      xkr0  = 0.
157      xkgp  = 0.
158      xkrp  = 0.
159      xlg   = 0.
160      xlr   = 0.
161      rpig  = 0.
162
163      REWIND( numnat )                     ! read natopt
164      READ  ( numnat, natopt )       
165
166      IF(lwp) THEN                         ! control print
167         WRITE(numout,*)
168         WRITE(numout,*) ' Namelist natopt'
169         WRITE(numout,*) '    green   water absorption coeff                       xkg0  = ', xkg0
170         WRITE(numout,*) '    red water absorption coeff                           xkr0  = ', xkr0
171         WRITE(numout,*) '    pigment red absorption coeff                         xkrp  = ', xkrp
172         WRITE(numout,*) '    pigment green absorption coeff                       xkgp  = ', xkgp
173         WRITE(numout,*) '    green chl exposant                                   xlg   = ', xlg
174         WRITE(numout,*) '    red   chl exposant                                   xlr   = ', xlr
175         WRITE(numout,*) '    chla/chla+phea ratio                                 rpig  = ', rpig
176      ENDIF
177
178#if defined key_trc_diabio
179
180      !                               ! natdbi : bio diagnostics
181      !                               ! ------------------------
182      nwritebio = 10                     ! default values
183      DO ji = 1, jpdiabio
184         IF(     ji <  10 ) THEN   ;   WRITE (ctrbio(ji),'("BIO_",I1)') ji      ! short name
185         ELSEIF (ji < 100 ) THEN   ;   WRITE (ctrbio(ji),'("BIO_",I2)') ji   
186         ELSE                      ;   WRITE (ctrbio(ji),'("BIO_",I3)') ji
187         ENDIF
188         WRITE(ctrbil(ji),'("BIOLOGICAL TREND NUMBER ",I2)') ji                 ! long name
189         ctrbiu(ji) = 'mmoleN/m3/s '                                            ! units
190      END DO
191
192      REWIND( numnat )                     ! read natdbi
193      READ  ( numnat, natdbi ) 
194
195      IF(lwp) THEN
196         WRITE(numout,*)
197         WRITE(numout,*) ' Namelist natdbi'
198         WRITE(numout,*) '    frequency of outputs for biological outputs  nwritebio = ', nwritebio
199         DO ji = 1, jpdiabio
200            WRITE(numout,*) '     name of biological trend No :',ji,' : ',ctrbio(ji), ctrbil(ji), ' in ', ctrbiu(ji)
201         END DO
202      END IF
203#endif
204      !
205   END SUBROUTINE trc_lsm
Note: See TracBrowser for help on using the repository browser.