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.
trcini_pisces.F90 in branches/dev_001_GM/NEMO/TOP_SRC/PISCES – NEMO

source: branches/dev_001_GM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90 @ 773

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

dev_001_GM - small changes : compilation OK

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 19.8 KB
RevLine 
[766]1MODULE trcini_pisces
[763]2   !!======================================================================
[766]3   !!                         ***  MODULE trcini_pisces  ***
4   !! TOP :   initialisation of the PISCES biochemical model
[763]5   !!======================================================================
6   !! History :    -   !  1988-07  (E. Maier-Reiner) Original code
7   !!              -   !  1999-10  (O. Aumont, C. Le Quere)
8   !!              -   !  2002     (O. Aumont)  PISCES
9   !!             1.0  !  2005-03  (O. Aumont, A. El Moussaoui) F90
[766]10   !!             2.0  !  2007-12  (C. Ethe, G. Madec) from trcini.pisces.h90
[336]11   !!----------------------------------------------------------------------
[772]12#if defined key_pisces
[771]13   !!----------------------------------------------------------------------
[772]14   !!   'key_pisces'                                       PISCES bio-model
[771]15   !!----------------------------------------------------------------------
[766]16   !! trc_ini_pisces   : PISCES biochemical model initialisation
17   !!----------------------------------------------------------------------
18   USE par_trc         ! TOP parameters
19   USE trccfc          ! CFC sms trends
[771]20   USE sms             ! Source Minus Sink variables
[773]21   USE oce_trc         ! ocean variables
22   USE trp_trc         !
23
[766]24   USE iom
[763]25
[766]26   IMPLICIT NONE
27   PRIVATE
28
29   PUBLIC   trc_ini_pisces   ! called by trcini.F90 module
30
[336]31#  include "domzgr_substitute.h90"
32#  include "passivetrc_substitute.h90"
[763]33   !!----------------------------------------------------------------------
[766]34   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
[771]35   !! $Id$
[763]36   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
37   !!----------------------------------------------------------------------
38
[336]39CONTAINS
40
[766]41   SUBROUTINE trc_ini_pisces
[763]42      !!----------------------------------------------------------------------
[766]43      !!                   ***  ROUTINE trc_ini_pisces ***
[336]44      !!
[766]45      !! ** Purpose :   Initialisation of the PISCES biochemical model
[341]46      !!----------------------------------------------------------------------
[771]47      INTEGER ::   ji, jj, jk, jm
48      INTEGER ::   ichl, iband
49      INTEGER , PARAMETER ::   jpmois = 12, jpan = 1 
[260]50
[771]51      REAL(wp) ::   zcoef
52      REAL(wp) ::   ztoto, expide, denitide,zmaskt
53      REAL(wp) , DIMENSION (jpi,jpj)     ::   riverdoc, river, ndepo
54      REAL(wp) , DIMENSION (jpi,jpj,jpk) ::   cmask
[260]55
[763]56      INTEGER :: numriv, numdust, numbath, numdep
[625]57      INTEGER :: numlight 
[260]58
[772]59#if defined key_kriest
[763]60      INTEGER  ::   jn, kiter
61      REAL(wp) ::   znum, zdiv
[771]62      REAL(wp) ::   zws, zwr, zwl,wmax, xnummax
[763]63      REAL(wp) ::   zmin, zmax, zl, zr, xacc
[617]64#endif
[763]65      !!----------------------------------------------------------------------
[617]66
[260]67
[763]68      IF(lwp) WRITE(numout,*)
[766]69      IF(lwp) WRITE(numout,*) ' trc_ini_pisces :   PISCES biochemical model initialisation'
70      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
[260]71
[494]72
[763]73      !                                            ! Time-step
74      rfact   = rdttra(1) * float(ndttrc)          ! ---------
75      rfactr  = 1. / rfact
76      rfact2  = rfact / float(nrdttrc)
77      rfact2r = 1. / rfact2
[260]78
[766]79      IF(lwp) WRITE(numout,*) '    Tracer  time step    rfact  = ', rfact, ' rdt = ', rdt
80      IF(lwp) write(numout,*) '    Biology time step    rfact2 = ', rfact2
[763]81
82
83      !                                            ! Dust input from the atmosphere
84      IF( bdustfer ) THEN                          ! ------------------------------
85         IF(lwp) WRITE(numout,*) '    Initialize dust input from atmosphere '
[494]86         CALL iom_open ( 'dust.orca.nc', numdust )
87         DO jm = 1, jpmois
[763]88            CALL iom_get( numdust, jpdom_data, 'dust', dustmo(:,:,jm), jm )
89         END DO
[494]90         CALL iom_close( numdust )
[336]91      ELSE
[763]92         dustmo(:,:,:) = 0.e0
[336]93      ENDIF
[260]94
[494]95
[763]96      !                                            ! Nutrient input from rivers
97      IF( briver ) THEN                            ! --------------------------
98         IF(lwp) WRITE(numout,*) '    Initialize the nutrient input by rivers from river.orca.nc file'
[494]99         CALL iom_open ( 'river.orca.nc', numriv )
100         CALL iom_get  ( numriv, jpdom_data, 'riverdic', river   (:,:), jpan )
101         CALL iom_get  ( numriv, jpdom_data, 'riverdoc', riverdoc(:,:), jpan )
102         CALL iom_close( numriv )
[336]103      ELSE
[763]104         river   (:,:) = 0.e0
105         riverdoc(:,:) = 0.e0
[336]106      endif
[260]107
[763]108      !                                            ! Nutrient input from dust
109      IF( bndepo ) THEN                            ! ------------------------
110         IF(lwp) WRITE(numout,*) '    Initialize the nutrient input by dust from ndeposition.orca.nc'
[494]111         CALL iom_open ( 'ndeposition.orca.nc', numdep )
112         CALL iom_get  ( numdep, jpdom_data, 'ndep', ndepo(:,:), jpan )
113         CALL iom_close( numdep )
[336]114      ELSE
[763]115         ndepo(:,:) = 0.e0
[336]116      ENDIF
[260]117
[763]118      !                                            ! Coastal and island masks
119      IF( bsedinput ) THEN                         ! ------------------------
120         IF(lwp) WRITE(numout,*) '    Computation of an island mask to enhance coastal supply of iron '
121         IF(lwp) WRITE(numout,*) '       from bathy.orca.nc file '
[494]122         CALL iom_open ( 'bathy.orca.nc', numbath )
123         CALL iom_get  ( numbath, jpdom_data, 'bathy', cmask(:,:,:), jpan )
[763]124         CALL iom_close( numbath )
125         !
[494]126         DO jk = 1, 5
127            DO jj = 2, jpjm1
128               DO ji = 2, jpim1
[763]129                  IF( tmask(ji,jj,jk) /= 0. ) THEN
[494]130                     zmaskt = tmask(ji+1,jj,jk) * tmask(ji-1,jj,jk) * tmask(ji,jj+1,jk)    &
[763]131                        &                       * tmask(ji,jj-1,jk) * tmask(ji,jj,jk+1)
132                     IF( zmaskt == 0. )   cmask(ji,jj,jk ) = 0.1
[494]133                  ENDIF
134               END DO
135            END DO
136         END DO
[260]137         DO jk = 1, jpk
[336]138            DO jj = 1, jpj
139               DO ji = 1, jpi
[494]140                  expide   = MIN( 8.,( fsdept(ji,jj,jk) / 500. )**(-1.5) )
141                  denitide = -0.9543 + 0.7662 * LOG( expide ) - 0.235 * LOG( expide )**2
142                  cmask(ji,jj,jk) = cmask(ji,jj,jk) * MIN( 1., EXP( denitide ) / 0.5 )
[336]143               END DO
144            END DO
[763]145         END DO   
[336]146      ELSE
[763]147         cmask(:,:,:) = 0.e0
[336]148      ENDIF
[260]149
[763]150      CALL lbc_lnk( cmask , 'T', 1. )      ! Lateral boundary conditions on cmask   (sign unchanged)
[260]151
[336]152
[763]153      !                                            ! total atmospheric supply of Si
154      !                                            ! ------------------------------
155      sumdepsi = 0.e0
[494]156      DO jm = 1, jpmois
157         DO jj = 2, jpjm1
158            DO ji = 2, jpim1
[763]159               sumdepsi = sumdepsi + dustmo(ji,jj,jm) / (12.*rmoss) * 8.8        &
160                  &     * 0.075/28.1 * e1t(ji,jj) * e2t(ji,jj) * tmask(ji,jj,1) * tmask_i(ji,jj)
[336]161            END DO
[260]162         END DO
[336]163      END DO
164      IF( lk_mpp )   CALL mpp_sum( sumdepsi )  ! sum over the global domain
[260]165
[763]166      !                                            ! N/P and Si releases due to coastal rivers
167      !                                            ! -----------------------------------------
168      DO jj = 1, jpj
169         DO ji = 1, jpi
170            zcoef = raass * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,1)
171            cotdep(ji,jj) =  river(ji,jj)                  *1E9 / ( 12. * zcoef + rtrn ) * tmask(ji,jj,1)
172            rivinp(ji,jj) = (river(ji,jj)+riverdoc(ji,jj)) *1E9 / ( 31.6* zcoef + rtrn ) * tmask(ji,jj,1)
173            nitdep(ji,jj) = 7.6 * ndepo(ji,jj)                  / ( 14E6*raass*fse3t(ji,jj,1) + rtrn ) * tmask(ji,jj,1)
[260]174         END DO
[336]175      END DO
176      ! Lateral boundary conditions on ( cotdep, rivinp, nitdep )   (sign unchanged)
177      CALL lbc_lnk( cotdep , 'T', 1. )  ;  CALL lbc_lnk( rivinp , 'T', 1. )  ;  CALL lbc_lnk( nitdep , 'T', 1. )
[260]178
[763]179      rivpo4input=0.e0
180      rivalkinput=0.e0
181      nitdepinput=0.e0
182      DO jj = 2 , jpjm1
183         DO ji = 2, jpim1
[773]184            zcoef = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,1) * tmask(ji,jj,1) * tmask_i(ji,jj) * raass
[763]185            rivpo4input = rivpo4input + rivinp(ji,jj) * zcoef
186            rivalkinput = rivalkinput + cotdep(ji,jj) * zcoef
187            nitdepinput = nitdepinput + nitdep(ji,jj) * zcoef
[260]188         END DO
[336]189      END DO
190      IF( lk_mpp ) THEN
191         CALL mpp_sum( rivpo4input )  ! sum over the global domain
192         CALL mpp_sum( rivalkinput )  ! sum over the global domain
193         CALL mpp_sum( nitdepinput )  ! sum over the global domain
194      ENDIF
[260]195
196
[763]197      !                                            !    Coastal supply of iron
198      !                                            ! -------------------------
199      DO jk = 1, jpkm1
200         ironsed(:,:,jk) = sedfeinput * cmask(:,:,jk) / ( fse3t(:,:,jk) * rjjss )
[260]201      END DO
[763]202      CALL lbc_lnk( ironsed , 'T', 1. )      ! Lateral boundary conditions on ( ironsed )   (sign unchanged)
[260]203
[617]204
205
[772]206#if defined key_kriest
[771]207      !!---------------------------------------------------------------------
[772]208      !!    'key_kriest'                                                  ???
[771]209      !!---------------------------------------------------------------------
[617]210      !  COMPUTATION OF THE VERTICAL PROFILE OF MAXIMUM SINKING SPEED
211      !  Search of the maximum number of particles in aggregates for each k-level. 
212      !  Bissection Method
213      !--------------------------------------------------------------------
[763]214      WRITE(numout,*)
215      WRITE(numout,*)'    kriest : Compute maximum number of particles in aggregates'
[617]216           
[763]217      xacc     =  0.001
[617]218      kiter    = 50
[763]219      zmin     =  1.10
220      zmax     = xkr_mass_max / xkr_mass_min
[617]221      xkr_frac = zmax
222
223      DO jk =1,jpk
224         zl = zmin
225         zr = zmax
226         wmax = 0.5 * fse3t(1,1,jk) * rjjss / rfact2
227         zdiv = xkr_zeta + xkr_eta - xkr_eta * zl
228         znum = zl - 1.
229         zwl =  xkr_wsbio_min * xkr_zeta / zdiv &
230            & - ( xkr_wsbio_max * xkr_eta * znum * &
231            &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
232            & - wmax
233 
234         zdiv = xkr_zeta + xkr_eta - xkr_eta * zr
235         znum = zr - 1.
236         zwr =  xkr_wsbio_min * xkr_zeta / zdiv &
237            & - ( xkr_wsbio_max * xkr_eta * znum * &
238            &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
239            & - wmax
240
241iflag:  DO jn = 1, kiter               
[763]242           IF( zwl == 0.e0 ) THEN
[617]243              xnummax = zl
[763]244           ELSE IF ( zwr == 0.e0 ) THEN
[617]245              xnummax = zr
246           ELSE
247              xnummax = ( zr + zl ) / 2.
248              zdiv = xkr_zeta + xkr_eta - xkr_eta * xnummax
249              znum = xnummax - 1.
250              zws =  xkr_wsbio_min * xkr_zeta / zdiv &
251                 & - ( xkr_wsbio_max * xkr_eta * znum * &
252                 &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
253                 & - wmax
254              IF( zws * zwl < 0. ) THEN
255                 zr = xnummax
256              ELSE
257                 zl = xnummax
258              ENDIF
259              zdiv = xkr_zeta + xkr_eta - xkr_eta * zl
260              znum = zl - 1.
261              zwl =  xkr_wsbio_min * xkr_zeta / zdiv &
262                 & - ( xkr_wsbio_max * xkr_eta * znum * &
263                 &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
264                 & - wmax
265             
266              zdiv = xkr_zeta + xkr_eta - xkr_eta * zr
267              znum = zr - 1.
268              zwr =  xkr_wsbio_min * xkr_zeta / zdiv &
269                 & - ( xkr_wsbio_max * xkr_eta * znum * &
270                 &     xkr_frac**( -xkr_zeta / znum ) / zdiv ) &
271                 & - wmax
272
273              IF ( ABS ( zws )  <= xacc ) EXIT iflag
274
275           ENDIF
276                   
[763]277        END DO iflag
[617]278               
279        xnumm(jk) = xnummax
[763]280        WRITE(numout,*) '       jk = ', jk, ' wmax = ', wmax,' xnum max = ', xnumm(jk)
[617]281       
282     END DO
283
284#endif
285
[763]286      !----------------------------------------------------------------------
287      ! Initialize biological variables
288      !----------------------------------------------------------------------
289      ! Set biological ratios
290      ! ---------------------
291      rno3   = (16.+2.) / 122.
292      po4r   =   1.e0   / 122.
293      o2nit  =  32.     / 122.
294      rdenit =  97.6    /  16.
295      o2ut   = 140.     / 122.
[260]296
[763]297      !----------------------------------------------------------------------
298      ! Initialize chemical variables
299      !----------------------------------------------------------------------
[260]300
[763]301      ! set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio
302      ! ----------------------------------------------------------
[260]303      atcox = 0.20946
304
[763]305      ! Set lower/upper limits for temperature and salinity
306      ! ---------------------------------------------------
307      salchl = 1.e0 / 1.80655
308      calcon = 1.03e-2
[260]309
[763]310      ! Set coefficients for apparent solubility equilibrium of calcite
311      ! Millero et al. 1995 from Mucci 1983
312      ! --------------------------------------------------------------
[617]313      akcc1 = -171.9065
[763]314      akcc2 =   -0.077993
[617]315      akcc3 = 2839.319
[763]316      akcc4 =   71.595
317      akcc5 =   -0.77712
318      akcc6 =    0.0028426
319      akcc7 =  178.34
320      akcc8 =   -0.07711
321      akcc9 =    0.0041249
[260]322
[763]323      ! Set coefficients for seawater pressure correction
324      ! -------------------------------------------------
[336]325      devk1(1) = -25.5
[763]326      devk2(1) =   0.1271
327      devk3(1) =   0.e0
328      devk4(1) =  -3.08E-3
329      devk5(1) =   0.0877E-3
330      !
[336]331      devk1(2) = -15.82
[763]332      devk2(2) =  -0.0219
333      devk3(2) =   0.e0
334      devk4(2) =   1.13E-3
335      devk5(2) =  -0.1475E-3
336      !
[336]337      devk1(3) = -29.48
[763]338      devk2(3) =   0.1622
339      devk3(3) =   2.608E-3
340      devk4(3) =  -2.84E-3
341      devk5(3) =   0.e0
342      !
[617]343      devk1(4) = -14.51
[763]344      devk2(4) =   0.1211
345      devk3(4) =  -0.321E-3
346      devk4(4) =  -2.67E-3
347      devk5(4) =   0.0427E-3
348      !
[617]349      devk1(5) = -23.12
[763]350      devk2(5) =   0.1758
351      devk3(5) =  -2.647E-3
352      devk4(5) =  -5.15E-3
353      devk5(5) =   0.09E-3
354      !
[617]355      devk1(6) = -26.57
[763]356      devk2(6) =   0.2020
357      devk3(6) =  -3.042E-3
358      devk4(6) =  -4.08E-3
359      devk5(6) =   0.0714E-3
360      !
[617]361      devk1(7) = -25.60
[763]362      devk2(7) =   0.2324
363      devk3(7) =  -3.6246E-3
364      devk4(7) =  -5.13E-3
365      devk5(7) =   0.0794E-3
366      !
367      ! For calcite with Edmond and Gieske 1970
368      !     devkst = 0.23
369      !     devks  = 35.4
370      ! Millero 95 takes this depth dependance for calcite
[617]371      devk1(8) = -48.76
[763]372      devk2(8) =   0.5304
373      devk3(8) =   0.e0
[617]374      devk4(8) = -11.76E-3
[763]375      devk5(8) =   0.3692E-3
376      !
377      ! Coefficients for sulfate and fluoride
[617]378      devk1(9) = -18.03
[763]379      devk2(9) =   0.0466
380      devk3(9) =   0.316e-3
381      devk4(9) =  -4.53e-3
382      devk5(9) =   0.09e-3
[336]383
[617]384      devk1(10) = -9.78
385      devk2(10) = -0.0090
[763]386      devk3(10) = -0.942e-3
387      devk4(10) = -3.91e-3
388      devk5(10) =  0.054e-3
[336]389
[260]390
[763]391      ! Set universal gas constants
392      ! ---------------------------
393      rgas  = 83.143
394      oxyco =  1.e0 / 22.4144
[260]395
[763]396      ! Set boron constants
397      ! -------------------
[260]398      bor1 = 0.00023
[763]399      bor2 = 1.e0 / 10.82
[260]400
[763]401      ! Set volumetric solubility constants for co2 in ml/l (Weiss, 1974)
402      ! -----------------------------------------------------------------
[336]403      c00 = -60.2409
[763]404      c01 =  93.4517
405      c02 =  23.3585
406      c03 =   0.023517
407      c04 =  -0.023656
408      c05 =   0.0047036
409      !
[336]410      ca0 = -162.8301
[763]411      ca1 =  218.2968
412      ca2 =   90.9241
413      ca3 =   -1.47696
414      ca4 =    0.025695
415      ca5 =   -0.025225
416      ca6 =    0.0049867
[260]417
[763]418      ! Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970)
419      ! ---------------------------------------------------------------------
[336]420      c10 = -3670.7
[763]421      c11 =    62.008
422      c12 =    -9.7944
423      c13 =     0.0118
424      c14 =    -0.000116
[260]425
[763]426      ! Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970)
427      ! ---------------------------------------------------------------------
[336]428      c20 = -1394.7
[763]429      c21 =    -4.777
430      c22 =     0.0184
431      c23 =    -0.000118
[336]432
[763]433      ! Set constants for calculate concentrations for sulfate and fluoride
434      ! sulfates (Morris & Riley 1966)
435      !----------------------------------------------------------------------
[617]436      st1 = 0.14
[763]437      st2 = 1.e0 / 96.062
[617]438
[763]439      ! fluoride
440      ! --------
[617]441      ft1 = 0.000067
[763]442      ft2 = 1.e0 / 18.9984
[617]443
[763]444      ! sulfates (Dickson 1990 change to mol:kg soln, idem OCMIP)
445      !----------------------------------------------------------
446      ks0  =    141.328
447      ks1  =  -4276.1
448      ks2  =    -23.093
449      ks3  = -13856.
450      ks4  =    324.57
451      ks5  =    -47.986
452      ks6  =  35474.
453      ks7  =   -771.54
454      ks8  =    114.723
455      ks9  =  -2698.
456      ks10 =   1776.
457      ks11 =      1.
458      ks12 =     -0.001005
[617]459
[763]460      ! fluorides (Dickson & Riley 1979 change to mol/kg soln)
461      !-------------------------------------------------------
462      kf0 =  -12.641
[617]463      kf1 = 1590.2
[763]464      kf2 =    1.525
465      kf3 =    1.0
466      kf4 =   -0.001005
[617]467
[763]468      ! Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970)
469      ! ------------------------------------------------------------------
[260]470      cb0  = -8966.90
471      cb1  = -2890.53
[763]472      cb2  =   -77.942
473      cb3  =     1.728
474      cb4  =    -0.0996
475      cb5  =   148.0248
476      cb6  =   137.1942
477      cb7  =     1.62142
478      cb8  =   -24.4344
479      cb9  =   -25.085
480      cb10 =    -0.2474
481      cb11 =     0.053105
[260]482
[763]483      ! Set coeff. for dissoc. of water (Dickson and Riley, 1979,
484      !   eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415
485      !   after pers. commun. to B. Bacastow, 1988)
486      ! ---------------------------------------------------------
[260]487      cw0 = -13847.26
[763]488      cw1 =    148.9652
489      cw2 =    -23.6521
490      cw3 =    118.67
491      cw4 =     -5.977
492      cw5 =      1.0495
493      cw6 =     -0.01615
[260]494
[763]495      ! Set coeff. for dissoc. of phosphate (Millero (1974)
496      ! ---------------------------------------------------
497      cp10 =   115.54
[336]498      cp11 = -4576.752
[763]499      cp12 =   -18.453
500      cp13 =  -106.736
501      cp14 =     0.69171
502      cp15 =    -0.65643
503      cp16 =    -0.01844
504      !
505      cp20 =   172.1033
[336]506      cp21 = -8814.715
[763]507      cp22 =   -27.927
508      cp23 =  -160.340
509      cp24 =     1.3566
510      cp25 =     0.37335
511      cp26 =    -0.05778
512      !
513      cp30 =   -18.126
[336]514      cp31 = -3070.75
[763]515      cp32 =    17.27039
516      cp33 =     2.81197
517      cp34 =   -44.99486
518      cp35 =    -0.09984
[617]519
[763]520      ! Set coeff. for dissoc. of phosphate (Millero (1974)
521      ! ---------------------------------------------------
522      cs10 =   117.385
[336]523      cs11 = -8904.2
[763]524      cs12 =   -19.334
525      cs13 =  -458.79
526      cs14 =     3.5913
527      cs15 =   188.74
528      cs16 =    -1.5998
529      cs17 =   -12.1652
530      cs18 =     0.07871
531      cs19 =     0.e0
532      cs20 =     1.e0
533      cs21 =    -0.001005
[336]534
[617]535
[763]536      ! Set volumetric solubility constants for o2 in ml/l (Weiss, 1970)
537      ! ----------------------------------------------------------------
[260]538      ox0 = -58.3877
[763]539      ox1 =  85.8079
540      ox2 =  23.8439
541      ox3 =  -0.034892
542      ox4 =   0.015568
543      ox5 =  -0.0019387
[260]544
[763]545      !  FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE
546      !  A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT
[260]547
[625]548      CALL ctlopn( numlight, 'kRGB61.txt', 'OLD', 'FORMATTED', 'SEQUENTIAL',   &
549         &           1, numout, .TRUE., 1 )
[494]550      DO ichl = 1,61
[763]551         READ(numlight,*) ztoto, ( xkrgb(iband,ichl), iband = 1,3 )
[494]552      END DO
553      CLOSE(numlight)
[336]554
[260]555
[763]556      CALL p4zche        ! initialize the chemical constants
[260]557
558
[763]559      ndayflxtr = 0      !  Initialize a counter for the computation of chemistry
560
561
[260]562      IF(lwp) WRITE(numout,*) ' Initialisation of PISCES done'
[763]563      !
[766]564   END SUBROUTINE trc_ini_pisces
565   
566#else
567   !!----------------------------------------------------------------------
568   !!   Dummy module                            No PISCES biochemical model
569   !!----------------------------------------------------------------------
570CONTAINS
571   SUBROUTINE trc_ini_pisces             ! Empty routine
572   END SUBROUTINE trc_ini_pisces
573#endif
574
575   !!======================================================================
[773]576END MODULE trcini_pisces
Note: See TracBrowser for help on using the repository browser.