- 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/DYN/dynspg_flt.F90
r2715 r3211 56 56 PUBLIC flt_rst ! routine called by istate.F90 57 57 58 !! * Control permutation of array indices 59 # include "oce_ftrans.h90" 60 # include "dom_oce_ftrans.h90" 61 # include "zdf_oce_ftrans.h90" 62 # include "sbc_oce_ftrans.h90" 63 # include "obc_oce_ftrans.h90" 64 # include "domvvl_ftrans.h90" 65 58 66 !! * Substitutions 59 67 # include "domzgr_substitute.h90" … … 104 112 !!--------------------------------------------------------------------- 105 113 USE oce, ONLY: zub => ta , zvb => sa ! (ta,sa) used as workspace 114 !! DCSE_NEMO: need additional directives for renamed module variables 115 !FTRANS zub :I :I :z 116 !FTRANS zvb :I :I :z 106 117 !! 107 118 INTEGER, INTENT(in ) :: kt ! ocean time-step index … … 138 149 ! 139 150 IF( ln_dynadv_vec ) THEN ! vector form : applied on velocity 151 #if defined key_z_first 152 DO jj = 2, jpjm1 153 DO ji = 2, jpim1 154 DO jk = 1, jpkm1 155 #else 140 156 DO jk = 1, jpkm1 141 157 DO jj = 2, jpjm1 142 158 DO ji = fs_2, fs_jpim1 ! vector opt. 159 #endif 143 160 ua(ji,jj,jk) = ( ub(ji,jj,jk) + z2dt * ua(ji,jj,jk) ) * umask(ji,jj,jk) 144 161 va(ji,jj,jk) = ( vb(ji,jj,jk) + z2dt * va(ji,jj,jk) ) * vmask(ji,jj,jk) … … 148 165 ! 149 166 ELSE ! flux form : applied on thickness weighted velocity 167 #if defined key_z_first 168 DO jj = 2, jpjm1 169 DO ji = 2, jpim1 170 DO jk = 1, jpkm1 171 #else 150 172 DO jk = 1, jpkm1 151 173 DO jj = 2, jpjm1 152 174 DO ji = fs_2, fs_jpim1 ! vector opt. 175 #endif 153 176 ua(ji,jj,jk) = ( ub(ji,jj,jk) * fse3u_b(ji,jj,jk) & 154 177 & + z2dt * ua(ji,jj,jk) * fse3u_n(ji,jj,jk) ) & … … 171 194 END DO 172 195 END DO 196 #if defined key_z_first 197 DO jj = 2, jpjm1 ! unweighted time stepping 198 DO ji = 2, jpim1 199 DO jk = 1, jpkm1 200 #else 173 201 DO jk = 1, jpkm1 ! unweighted time stepping 174 202 DO jj = 2, jpjm1 175 203 DO ji = fs_2, fs_jpim1 ! vector opt. 204 #endif 176 205 ua(ji,jj,jk) = ( ub(ji,jj,jk) + z2dt * ( ua(ji,jj,jk) + spgu(ji,jj) ) ) * umask(ji,jj,jk) 177 206 va(ji,jj,jk) = ( vb(ji,jj,jk) + z2dt * ( va(ji,jj,jk) + spgv(ji,jj) ) ) * vmask(ji,jj,jk) … … 214 243 END DO 215 244 ELSE ! No vector opt. 245 #if defined key_z_first 246 DO jj = 2, jpjm1 247 DO ji = 2, jpim1 248 DO jk = 1, jpkm1 249 #else 216 250 DO jk = 1, jpkm1 217 251 DO jj = 2, jpjm1 218 252 DO ji = 2, jpim1 253 #endif 219 254 spgu(ji,jj) = spgu(ji,jj) + fse3u(ji,jj,jk) * ua(ji,jj,jk) 220 255 spgv(ji,jj) = spgv(ji,jj) + fse3v(ji,jj,jk) * va(ji,jj,jk) … … 333 368 ! trend, the leap-frog time stepping will not 334 369 ! be done in dynnxt.F90 routine) 370 #if defined key_z_first 371 DO jj = 2, jpjm1 372 DO ji = 2, jpim1 373 DO jk = 1, jpkm1 374 #else 335 375 DO jk = 1, jpkm1 336 376 DO jj = 2, jpjm1 337 377 DO ji = fs_2, fs_jpim1 ! vector opt. 378 #endif 338 379 ua(ji,jj,jk) = ( ua(ji,jj,jk) + spgu(ji,jj) ) * umask(ji,jj,jk) 339 380 va(ji,jj,jk) = ( va(ji,jj,jk) + spgv(ji,jj) ) * vmask(ji,jj,jk)
Note: See TracChangeset
for help on using the changeset viewer.