1 | CC $Header$ |
---|
2 | CDIR$ LIST |
---|
3 | SUBROUTINE trcsed(kt) |
---|
4 | CCC--------------------------------------------------------------------- |
---|
5 | CCC |
---|
6 | CCC ROUTINE trcsed |
---|
7 | CCC ******************* |
---|
8 | CCC |
---|
9 | CCC PURPOSE : |
---|
10 | CCC --------- |
---|
11 | CCC compute the now trend due to the vertical sedimentation of |
---|
12 | CCC detritus and add it to the general trend of detritus equations. |
---|
13 | CCC |
---|
14 | CCC |
---|
15 | CC METHOD : |
---|
16 | CC ------- |
---|
17 | CC this ROUTINE compute not exactly the advection but the |
---|
18 | CC transport term, i.e. dz(wt) and dz(ws)., dz(wtr) |
---|
19 | CC using an upstream scheme |
---|
20 | CC |
---|
21 | CC the now vertical advection of tracers is given by: |
---|
22 | CC |
---|
23 | CC dz(trn wn) = 1/bt dk+1( e1t e2t vsed (trn) ) |
---|
24 | CC |
---|
25 | CC add this trend now to the general trend of tracer (ta,sa,tra): |
---|
26 | CC |
---|
27 | CC tra = tra + dz(trn wn) |
---|
28 | CC |
---|
29 | CC IF 'key_trc_diabio' key is activated, the now vertical advection |
---|
30 | CC trend of passive tracers is saved for futher diagnostics. |
---|
31 | CC |
---|
32 | CC multitasked on vertical slab (jj-loop) |
---|
33 | CC |
---|
34 | CC |
---|
35 | CC INPUT : |
---|
36 | CC ----- |
---|
37 | CC argument |
---|
38 | CC ktask : task identificator |
---|
39 | CC kt : time step |
---|
40 | CC COMMON |
---|
41 | CC /comcoo/ : orthogonal curvilinear coordinates |
---|
42 | CC and scale factors |
---|
43 | CC /cottrp/ : passive tracer fields |
---|
44 | CC /comtsk/ : multitasking |
---|
45 | CC |
---|
46 | CC OUTPUT : |
---|
47 | CC ------ |
---|
48 | CC COMMON |
---|
49 | CC /cottrp/tra : general tracer trend increased by the |
---|
50 | CC now vertical tracer advection trend |
---|
51 | CC /cottbd/ trbio : now vertical passive tracer advection |
---|
52 | CC trend |
---|
53 | CC (IF 'key_trc_diabio' key is activated) |
---|
54 | CC |
---|
55 | CC WORKSPACE : |
---|
56 | CC --------- |
---|
57 | CC local |
---|
58 | CC ze1e2w, ze3tr, ztra |
---|
59 | CC COMMON |
---|
60 | CC |
---|
61 | CC EXTERNAL : no |
---|
62 | CC -------- |
---|
63 | CC |
---|
64 | CC REFERENCES : no |
---|
65 | CC ---------- |
---|
66 | CC |
---|
67 | CC MODIFICATIONS: |
---|
68 | CC -------------- |
---|
69 | CC original : 95-06 (M. Levy) |
---|
70 | CC additions: 00-12 (E. Kestenare): clean up |
---|
71 | CC---------------------------------------------------------------------- |
---|
72 | CDIR$ NOLIST |
---|
73 | USE oce_trc |
---|
74 | USE trp_trc |
---|
75 | USE sms |
---|
76 | USE lbclnk |
---|
77 | IMPLICIT NONE |
---|
78 | CDIR$ LIST |
---|
79 | CC---------------------------------------------------------------------- |
---|
80 | CC local declarations |
---|
81 | CC ================== |
---|
82 | INTEGER kt |
---|
83 | |
---|
84 | #if defined key_passivetrc && defined key_trc_lobster1 |
---|
85 | |
---|
86 | INTEGER ji,jj,jk |
---|
87 | REAL ze3tr,ztra |
---|
88 | REAL zwork(jpi,jpk),ze3t(jpk) |
---|
89 | CC---------------------------------------------------------------------- |
---|
90 | CC statement functions |
---|
91 | CC =================== |
---|
92 | CDIR$ NOLIST |
---|
93 | #include "domzgr_substitute.h90" |
---|
94 | CDIR$ LIST |
---|
95 | CCC--------------------------------------------------------------------- |
---|
96 | CCC OPA8, LODYC (15/11/96) |
---|
97 | CCC--------------------------------------------------------------------- |
---|
98 | C |
---|
99 | # if defined key_trc_diaadd |
---|
100 | DO jk=1,jpkbm1 |
---|
101 | ze3t(jk)=e3t(jk)*86400. |
---|
102 | END DO |
---|
103 | DO jk=jpkb,jpk |
---|
104 | ze3t(jk)=0. |
---|
105 | END DO |
---|
106 | # endif |
---|
107 | C |
---|
108 | C vertical slab |
---|
109 | C ============= |
---|
110 | C |
---|
111 | DO 1000 jj = 1,jpj |
---|
112 | |
---|
113 | C |
---|
114 | C |
---|
115 | C 1. sedimentation of detritus : upstream scheme |
---|
116 | C ----------------------------------------------- |
---|
117 | C |
---|
118 | C |
---|
119 | C for detritus sedimentation only - jpdet |
---|
120 | C |
---|
121 | C 1.1 initialisation needed for bottom and surface value |
---|
122 | C |
---|
123 | DO jk=1,jpk |
---|
124 | DO ji = 1,jpi |
---|
125 | zwork(ji,jk) = 0. |
---|
126 | END DO |
---|
127 | END DO |
---|
128 | C |
---|
129 | C 1.2 tracer flux at w-point: we use -vsed (downward flux) |
---|
130 | C with simplification : no e1*e2 |
---|
131 | C |
---|
132 | DO jk = 2,jpk |
---|
133 | DO ji = 1,jpi |
---|
134 | zwork(ji,jk) = -vsed * trn(ji,jj,jk - 1,jpdet) |
---|
135 | END DO |
---|
136 | END DO |
---|
137 | C |
---|
138 | C 1.3 tracer flux divergence at t-point added to the general trend |
---|
139 | C |
---|
140 | DO jk = 1,jpkm1 |
---|
141 | DO ji = 1,jpi |
---|
142 | ze3tr = 1./fse3t(ji,jj,jk) |
---|
143 | ztra = -ze3tr * (zwork(ji,jk) - zwork(ji,jk + 1)) |
---|
144 | tra(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) + ztra |
---|
145 | # if defined key_trc_diabio |
---|
146 | trbio(ji,jj,jk,8) = ztra |
---|
147 | # endif |
---|
148 | #if defined key_trc_diaadd |
---|
149 | trc2d(ji,jj,8)=trc2d(ji,jj,8)+ztra*ze3t(jk) |
---|
150 | #endif |
---|
151 | END DO |
---|
152 | END DO |
---|
153 | C |
---|
154 | C END of slab |
---|
155 | C =========== |
---|
156 | |
---|
157 | 1000 CONTINUE |
---|
158 | C |
---|
159 | #if defined key_trc_diabio |
---|
160 | C Lateral boundary conditions on trcbio |
---|
161 | CALL lbc_lnk (trbio(:,:,1,8), 'T', 1. ) |
---|
162 | #endif |
---|
163 | #if defined key_trc_diaadd |
---|
164 | C Lateral boundary conditions on trc2d |
---|
165 | CALL lbc_lnk (trc2d(:,:,8), 'T', 1. ) |
---|
166 | #endif |
---|
167 | C |
---|
168 | |
---|
169 | #else |
---|
170 | C |
---|
171 | C no passive tracer |
---|
172 | C |
---|
173 | #endif |
---|
174 | C |
---|
175 | RETURN |
---|
176 | END |
---|