[339] | 1 | CC $Header$ |
---|
[186] | 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 | |
---|
[339] | 84 | #if defined key_passivetrc && defined key_trc_lobster1 |
---|
[186] | 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 |
---|
[339] | 132 | DO jk = 2,jpk |
---|
[186] | 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 |
---|
[339] | 168 | |
---|
[186] | 169 | #else |
---|
| 170 | C |
---|
| 171 | C no passive tracer |
---|
| 172 | C |
---|
| 173 | #endif |
---|
| 174 | C |
---|
| 175 | RETURN |
---|
| 176 | END |
---|