- Timestamp:
- 2011-12-11T16:00:26+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90
r2715 r3211 30 30 31 31 PUBLIC tra_ldf_bilapg ! routine called by step.F90 32 33 !! * Control permutation of array indices 34 # include "oce_ftrans.h90" 35 # include "dom_oce_ftrans.h90" 36 # include "ldftra_oce_ftrans.h90" 37 # include "ldfslp_ftrans.h90" 38 # include "trc_oce_ftrans.h90" 32 39 33 40 !! * Substitutions … … 68 75 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 69 76 USE wrk_nemo, ONLY: wk1 => wrk_4d_1 , wk2 => wrk_4d_2 ! 4D workspace 77 !! DCSE_NEMO: need additional directives for renamed module variables 78 !FTRANS wk1 wk2 :I :I :z : 70 79 ! 71 80 INTEGER , INTENT(in ) :: kt ! ocean time-step index 72 81 CHARACTER(len=3), INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 73 82 INTEGER , INTENT(in ) :: kjpt ! number of tracers 74 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: ptb ! before and now tracer fields 75 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta ! tracer trend 83 84 !! DCSE_NEMO: This style defeats ftrans 85 ! REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: ptb ! before and now tracer fields 86 ! REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta ! tracer trend 87 !FTRANS ptb pta :I :I :z : 88 REAL(wp), INTENT(in ) :: ptb(jpi,jpj,jpk,kjpt) ! before tracer fields 89 REAL(wp), INTENT(inout) :: pta(jpi,jpj,jpk,kjpt) ! tracer trend 90 76 91 ! 77 92 INTEGER :: ji, jj, jk, jn ! dummy loop indices … … 105 120 ! --------------------------- 106 121 DO jn = 1, kjpt 122 #if defined key_z_first 123 DO jj = 2, jpjm1 124 DO ji = 2, jpim1 125 DO jk = 1, jpkm1 126 #else 107 127 DO jj = 2, jpjm1 108 128 DO jk = 1, jpkm1 109 129 DO ji = 2, jpim1 130 #endif 110 131 ! add it to the general tracer trends 111 132 pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + wk2(ji,jj,jk,jn) … … 119 140 END SUBROUTINE tra_ldf_bilapg 120 141 142 !! * Reset control of array index permutation 143 # include "oce_ftrans.h90" 144 # include "dom_oce_ftrans.h90" 145 # include "ldftra_oce_ftrans.h90" 146 # include "ldfslp_ftrans.h90" 147 # include "trc_oce_ftrans.h90" 121 148 122 149 SUBROUTINE ldfght ( kt, cdtype, pt, plt, kjpt, kaht ) … … 163 190 USE wrk_nemo, ONLY: zftw => wrk_xz_1 , zdit => wrk_xz_2 164 191 USE wrk_nemo, ONLY: zdjt => wrk_xz_3 , zdj1t => wrk_xz_4 165 ! 166 INTEGER , INTENT(in ) :: kt ! ocean time-step index 167 CHARACTER(len=3), INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 168 INTEGER , INTENT(in ) :: kjpt !: dimension of 169 REAL(wp) , INTENT(in ), DIMENSION(jpi,jpj,jpk,kjpt) :: pt ! tracer fields ( before for 1st call 170 ! ! and laplacian of these fields for 2nd call. 171 REAL(wp) , INTENT(out), DIMENSION(jpi,jpj,jpk,kjpt) :: plt !: partial harmonic operator applied to pt components except 172 ! !: second order vertical derivative term 173 INTEGER , INTENT(in ) :: kaht !: =1 multiply the laplacian by the eddy diffusivity coeff. 174 ! !: =2 no multiplication 192 193 !! DCSE_NEMO: need additional directives for renamed module variables 194 !FTRANS zftv :I :I :z 195 196 ! 197 INTEGER, INTENT(in ) :: kt ! ocean time-step index 198 CHARACTER(len=3), INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 199 INTEGER, INTENT(in ) :: kjpt !: dimension of 200 201 !! DCSE_NEMO: This style defeats ftrans 202 ! REAL(wp), INTENT(in ), DIMENSION(jpi,jpj,jpk,kjpt) :: pt ! tracer fields ( before for 1st call 203 ! ! ! and laplacian of these fields for 2nd call. 204 ! REAL(wp), INTENT(out), DIMENSION(jpi,jpj,jpk,kjpt) :: plt !: partial harmonic operator applied to pt components except 205 ! ! !: second order vertical derivative term 206 207 !FTRANS pt plt :I :I :z : 208 REAL(wp), INTENT(in ) :: pt(jpi,jpj,jpk,kjpt) ! tracer fields ( before for 1st call 209 ! ! and laplacian of these fields for 2nd call. 210 REAL(wp), INTENT(out) :: plt(jpi,jpj,jpk,kjpt) !: partial harmonic operator applied to pt components except 211 ! !: second order vertical derivative term 212 213 INTEGER, INTENT(in ) :: kaht !: =1 multiply the laplacian by the eddy diffusivity coeff. 214 ! !: =2 no multiplication 175 215 !! 176 216 INTEGER :: ji, jj, jk,jn ! dummy loop indices
Note: See TracChangeset
for help on using the changeset viewer.