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.
trcdtr.F90 in trunk/NEMO/TOP_SRC – NEMO

source: trunk/NEMO/TOP_SRC/trcdtr.F90 @ 941

Last change on this file since 941 was 730, checked in by cetlod, 17 years ago

remove unused variables, see ticket:19

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 8.6 KB
Line 
1MODULE trcdtr
2   !!=======================================================================================
3   !!
4   !!                       *** MODULE trcdtr ***
5   !!
6   !!  Computes or READ initial DATA for passive tracer
7   !!
8   !!=======================================================================================
9   !!  TOP 1.0,  LOCEAN-IPSL (2005)
10   !! $Header: /home/opalod/NEMOCVSROOT/NEMO/TOP_SRC/trcdtr.F90,v 1.8 2007/10/17 14:48:56 opalod Exp $
11   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
12   !!----------------------------------------------------------------------
13      !!----------------------------------------------------------------------
14      !! * Modules used
15      !! ==============
16      USE oce_trc
17      USE trc
18      USE sms
19      USE trcdta
20      USE lib_mpp
21
22      IMPLICIT NONE
23      PRIVATE
24  !! * Accessibility
25      PUBLIC trc_dtr
26
27CONTAINS
28
29#if defined key_passivetrc
30
31SUBROUTINE trc_dtr
32!!---------------------------------------------------------------------
33!!
34!!                       ROUTINE trci_dtr
35!!                     ******************
36!!  PURPOSE :
37!!  ---------
38!!     computes or READ initial DATA for passive tracer
39!!   -----
40!!      COMMON
41!!            /comdom/          : domain PARAMETER
42!!            /comcoo/          : orthogonal curvilinear coordinates
43!!                                and scale factors
44!!            /comask/          : masks, bathymetry
45!!   OUTPUT :
46!!   ------
47!!      COMMON
48!!            /cottrc/          : passive tracer field now and before
49!!
50!!
51!!   History:
52!!   --------
53!!      original  : 96-11
54!!      additions : 99-9
55!!                : 00-12 (O. Aumont, E. Kestenare) add for POC in sediments
56!!                         add for POC in sediments 
57!!    03/05  O. Aumont and A. El Moussaoui  F90
58!!----------------------------------------------------------------------
59!!----------------------------------------------------------------------
60!! local declarations
61!! ==================
62      INTEGER :: ji,jj,jk,jn 
63#if defined key_trc_pisces
64      REAL(wp) :: alka0,oxyg0,calc0,bioma0,    &
65                  silic1,po4,no3,caralk,bicarb,co3
66#endif
67!!---------------------------------------------------------------------
68!!  OPA.9
69!!---------------------------------------------------------------------
70!! 0. initialisations
71!! ------------------
72
73      IF(lwp) WRITE(numout,*) ' '
74      IF(lwp) WRITE(numout,*) ' *** trcdtr initialisation for '
75      IF(lwp) WRITE(numout,*) '     passive tracers'
76      IF(lwp) WRITE(numout,*) ' '
77
78
79#if defined key_cfc
80      trn(:,:,:,:)=0.0
81#elif defined key_trc_pisces
82
83      sco2   = 2.3e-3
84      alka0  = 2.39e-3
85      oxyg0  = 1.8e-4
86      po4    = 2.165e-6/po4r
87      bioma0 = 1.e-8
88      silic1 = 91.51e-6
89      calc0  = 1.e-6
90      no3    = 30.88E-6*7.6
91
92      trn(:,:,:,jpdic) = sco2
93      trn(:,:,:,jpdoc) = bioma0
94      trn(:,:,:,jptal) = alka0
95      trn(:,:,:,jpoxy) = oxyg0
96      trn(:,:,:,jpcal) = calc0
97      trn(:,:,:,jppo4) = po4
98      trn(:,:,:,jppoc) = bioma0
99#if ! defined key_trc_kriest
100      trn(:,:,:,jpgoc) = bioma0
101      trn(:,:,:,jpbfe) = bioma0*5E-6
102#else
103      trn(:,:,:,jpnum) = bioma0/(6.*xkr_massp)
104#endif
105      trn(:,:,:,jpsil) = silic1
106      trn(:,:,:,jpbsi) = bioma0*0.15
107      trn(:,:,:,jpdsi) = bioma0*5.E-6
108      trn(:,:,:,jpphy) = bioma0
109      trn(:,:,:,jpdia) = bioma0
110      trn(:,:,:,jpzoo) = bioma0
111      trn(:,:,:,jpmes) = bioma0
112      trn(:,:,:,jpfer) = 0.6E-9
113      trn(:,:,:,jpsfe) = bioma0*5.E-6
114      trn(:,:,:,jpdfe) = bioma0*5.E-6
115      trn(:,:,:,jpnfe) = bioma0*5.E-6
116      trn(:,:,:,jpnch) = bioma0*12./55.
117      trn(:,:,:,jpdch) = bioma0*12./55.
118      trn(:,:,:,jpno3) = no3
119      trn(:,:,:,jpnh4) = bioma0
120
121
122!!  Initialization of chemical variables of the carbon cycle
123!!  --------------------------------------------------------
124
125      DO jk = 1,jpk
126        DO jj = 1,jpj
127          DO ji = 1,jpi
128              caralk = trn(ji,jj,jk,jptal)-         & 
129                      borat(ji,jj,jk)/(1.+1.E-8/(rtrn+akb3(ji,jj,jk)))
130               co3 = (caralk-trn(ji,jj,jk,jpdic))*tmask(ji,jj,jk)   &
131                  &        +(1.-tmask(ji,jj,jk))*.5e-3
132              bicarb = (2.*trn(ji,jj,jk,jpdic)-caralk)
133              hi(ji,jj,jk) = (ak23(ji,jj,jk)*bicarb/co3)             & 
134                *tmask(ji,jj,jk)+(1.-tmask(ji,jj,jk))*1.e-9
135          ENDDO
136        ENDDO
137      ENDDO
138
139
140!!  initialize the half saturation constant for silicate
141!!  ----------------------------------------------------
142
143      xksi(:,:)=2.E-6
144
145      IF(lwp) WRITE(numout,*) 'Initialization of PISCES tracers done'
146      IF(lwp) WRITE(numout,*) ' '
147
148#elif defined key_trc_lobster1 && ( defined key_eel_r6 || defined key_eel_r2 )
149! analytical initialisation used in Levy et al. (2001)
150     
151      DO jk=1,7
152        trn(:,:,jk,jpdet)=0.016*tmask(:,:,jk)
153        trn(:,:,jk,jpzoo)=0.018*tmask(:,:,jk)
154        trn(:,:,jk,jpphy)=0.036*tmask(:,:,jk)
155        trn(:,:,jk,jpno3)=1.e-5*tmask(:,:,jk)
156        trn(:,:,jk,jpnh4)=0.0005*tmask(:,:,jk)
157        trn(:,:,jk,jpdom)=0.017*tmask(:,:,jk)
158      END DO
159
160      trn(:,:,8,jpdet)=0.020*tmask(:,:,1)
161      trn(:,:,8,jpzoo)=0.027*tmask(:,:,1)
162      trn(:,:,8,jpphy)=0.041*tmask(:,:,1)
163      trn(:,:,8,jpno3)=0.00022*tmask(:,:,1)
164      trn(:,:,8,jpnh4)=0.0033*tmask(:,:,1)
165      trn(:,:,8,jpdom)=0.021*tmask(:,:,1)
166
167      trn(:,:,9,jpdet)=0.0556*tmask(:,:,1)
168      trn(:,:,9,jpzoo)=0.123*tmask(:,:,1)
169      trn(:,:,9,jpphy)=0.122*tmask(:,:,1)
170      trn(:,:,9,jpno3)=0.028*tmask(:,:,1)
171      trn(:,:,9,jpnh4)=0.024*tmask(:,:,1)
172      trn(:,:,9,jpdom)=0.06*tmask(:,:,1)
173
174      trn(:,:,10,jpdet)=0.025*tmask(:,:,1)
175      trn(:,:,10,jpzoo)=0.016*tmask(:,:,1)
176      trn(:,:,10,jpphy)=0.029*tmask(:,:,1)
177      trn(:,:,10,jpno3)=2.462*tmask(:,:,1)
178      trn(:,:,10,jpnh4)=0.04*tmask(:,:,1)
179      trn(:,:,10,jpdom)=0.022*tmask(:,:,1)
180
181      trn(:,:,11,jpdet)=0.0057*tmask(:,:,1)
182      trn(:,:,11,jpzoo)=0.0005*tmask(:,:,1)
183      trn(:,:,11,jpphy)=0.0006*tmask(:,:,1)
184      trn(:,:,11,jpno3)=3.336*tmask(:,:,1)
185      trn(:,:,11,jpnh4)=0.005*tmask(:,:,1)
186      trn(:,:,11,jpdom)=0.004*tmask(:,:,1)
187
188      trn(:,:,12,jpdet)=0.002*tmask(:,:,1)
189      trn(:,:,12,jpzoo)=1.e-6*tmask(:,:,1)
190      trn(:,:,12,jpphy)=5.e-6*tmask(:,:,1)
191      trn(:,:,12,jpno3)=4.24*tmask(:,:,1)
192      trn(:,:,12,jpnh4)=0.001*tmask(:,:,1)
193      trn(:,:,12,jpdom)=3.e-5*tmask(:,:,1)
194
195      DO jk=13,jpk
196        trn(:,:,jk,jpdet)=0.0
197        trn(:,:,jk,jpzoo)=0.0
198        trn(:,:,jk,jpphy)=0.0
199        trn(:,:,jk,jpnh4)=0.0
200        trn(:,:,jk,jpdom)=0.0
201      END DO
202
203      trn(:,:,13,jpno3)=5.31*tmask(:,:,13)
204      trn(:,:,14,jpno3)=6.73*tmask(:,:,14)
205      trn(:,:,15,jpno3)=8.32*tmask(:,:,15)
206      trn(:,:,16,jpno3)=10.13*tmask(:,:,16)
207      trn(:,:,17,jpno3)=11.95*tmask(:,:,17)
208      trn(:,:,18,jpno3)=13.57*tmask(:,:,18)
209      trn(:,:,19,jpno3)=15.08*tmask(:,:,19)
210      trn(:,:,20,jpno3)=16.41*tmask(:,:,20)
211      trn(:,:,21,jpno3)=17.47*tmask(:,:,21)
212      trn(:,:,22,jpno3)=18.29*tmask(:,:,22)
213      trn(:,:,23,jpno3)=18.88*tmask(:,:,23)
214      trn(:,:,24,jpno3)=19.30*tmask(:,:,24)
215      trn(:,:,25,jpno3)=19.68*tmask(:,:,25)
216      trn(:,:,26,jpno3)=19.91*tmask(:,:,26)
217      trn(:,:,27,jpno3)=19.99*tmask(:,:,27)
218      trn(:,:,28,jpno3)=20.01*tmask(:,:,28)
219      trn(:,:,29,jpno3)=20.01*tmask(:,:,29)
220      trn(:,:,30,jpno3)=20.01*tmask(:,:,30)
221
222#elif defined key_trc_lobster1 && defined key_gyre
223! init NO3=f(density) by asklod AS Kremeur 2005-07
224      trn(:,:,:,jpdet)=0.1*tmask(:,:,:)
225      trn(:,:,:,jpzoo)=0.1*tmask(:,:,:)
226      trn(:,:,:,jpnh4)=0.1*tmask(:,:,:)
227      trn(:,:,:,jpphy)=0.1*tmask(:,:,:)
228      trn(:,:,:,jpdom)=1.*tmask(:,:,:)
229      DO  jk=1,jpk
230         DO  jj=1,jpj
231            DO  ji=1,jpi
232               IF (rhd(ji,jj,jk).LE.24.5e-3) THEN
233                  trn(ji,jj,jk,jpno3)=2.*tmask(ji,jj,jk)
234               ELSE
235                  trn(ji,jj,jk,jpno3)=(15.55*(rhd(ji,jj,jk)*1000)-380.11)*tmask(ji,jj,jk)
236               ENDIF
237            END DO
238         END DO
239      END DO
240
241#else
242 
243!! general case
244      do jn = 1, jptra
245         trn(:,:,:,jn)=0.1*tmask(:,:,:)
246      enddo
247
248#endif
249
250#if defined key_dtatrc
251!!   Initialization of tracer from a file
252!!   that may also be used for damping
253      CALL dta_trc( nittrc000 )
254      DO  jk = 1, jptra
255        IF( lutini(jk) ) THEN 
256!! initialisation from file
257           trn(:,:,:,jk) = trdta(:,:,:,jk)*tmask(:,:,:)
258        ENDIF
259      END DO
260#endif
261
262!! before field :
263!! -------------
264      trb(:,:,:,:) = trn(:,:,:,:)
265
266#if defined key_trc_lobster1
267!!  initialize the POC in sediments
268
269      sedpocb(:,:) = 0.
270      sedpocn(:,:) = 0.
271      sedpoca(:,:) = 0.
272#endif
273     
274 END SUBROUTINE trc_dtr 
275
276#else
277
278SUBROUTINE  trc_dtr 
279!!======================
280   !! no passive tracers
281!!======================
282END SUBROUTINE  trc_dtr
283#endif
284
285END MODULE trcdtr
Note: See TracBrowser for help on using the repository browser.