Changeset 2715 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
- Timestamp:
- 2011-03-30T17:58:35+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
r2528 r2715 115 115 !! 116 116 !!---------------------------------------------------------------------- 117 USE oce , zwx => ua ! use ua as workspace118 !!119 INTEGER , INTENT(in ) :: kt ! ocean time-step index120 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator)121 INTEGER , INTENT(in ) :: k jpt ! number of tracers122 REAL(wp), DIMENSION( jpk ), INTENT(in ) :: p2dt ! vertical profile of tracer time-step123 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pun ! i-velocity components124 REAL(wp), DIMENSION( jpi,jpj,jpk,kjpt), INTENT(in ) :: ptb, ptn ! before and now tracer fields125 REAL(wp), DIMENSION(jpi,jpj,jpk ,kjpt), INTENT(inout) :: pta ! tracer trend126 !!127 INTEGER :: ji, jj, jk, jn ! dummy loop indices128 REAL(wp) :: ztra, zbtr ! local scalars129 REAL(wp) :: zdir, zdx, zdt, zmsk ! local scalars130 REAL(wp) , DIMENSION(jpi,jpj,jpk) :: zfu, zfc, zfd ! 3D wokspace117 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 118 USE oce , ONLY: zwx => ua ! ua used as workspace 119 USE wrk_nemo, ONLY: zfu => wrk_3d_1 , zfc => wrk_3d_2, zfd => wrk_3d_3 ! 3D workspace 120 ! 121 INTEGER , INTENT(in ) :: kt ! ocean time-step index 122 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 123 INTEGER , INTENT(in ) :: kjpt ! number of tracers 124 REAL(wp), DIMENSION( jpk ), INTENT(in ) :: p2dt ! vertical profile of tracer time-step 125 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pun ! i-velocity components 126 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: ptb, ptn ! before and now tracer fields 127 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta ! tracer trend 128 !! 129 INTEGER :: ji, jj, jk, jn ! dummy loop indices 130 REAL(wp) :: ztra, zbtr, zdir, zdx, zdt, zmsk ! local scalars 131 131 !---------------------------------------------------------------------- 132 132 ! 133 IF( wrk_in_use(3, 1,2,3) ) THEN 134 CALL ctl_stop('tra_adv_qck_i: requested workspace arrays unavailable') ; RETURN 135 ENDIF 133 136 ! ! =========== 134 137 DO jn = 1, kjpt ! tracer loop … … 188 191 DO ji = fs_2, fs_jpim1 ! vector opt. 189 192 zfu(ji,jj,jk) = tmask(ji-1,jj,jk) + tmask(ji,jj,jk) + tmask(ji+1,jj,jk) - 2. 190 END DO193 END DO 191 194 END DO 192 195 END DO … … 225 228 END DO 226 229 ! 230 IF( wrk_not_released(3, 1,2,3) ) CALL ctl_stop('tra_adv_qck_i: failed to release workspace arrays') 231 ! 227 232 END SUBROUTINE tra_adv_qck_i 228 233 … … 233 238 !! 234 239 !!---------------------------------------------------------------------- 235 USE oce , zwy => ua ! use ua as workspace236 !!237 INTEGER , INTENT(in ) :: kt ! ocean time-step index238 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator)239 INTEGER , INTENT(in ) :: k jpt ! number of tracers240 REAL(wp), DIMENSION( jpk ), INTENT(in ) :: p2dt ! vertical profile of tracer time-step241 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pvn ! j-velocity components242 REAL(wp), DIMENSION( jpi,jpj,jpk,kjpt), INTENT(in ) :: ptb, ptn ! before and now tracer fields243 REAL(wp), DIMENSION(jpi,jpj,jpk ,kjpt), INTENT(inout) :: pta ! tracer trend244 !!245 INTEGER :: ji, jj, jk, jn ! dummy loop indices246 REAL(wp) :: ztra, zbtr ! local scalars247 REAL(wp) :: zdir, zdx, zdt, zmsk ! local scalars248 REAL(wp) , DIMENSION(jpi,jpj,jpk) :: zfu, zfc, zfd ! 3D wokspace240 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 241 USE oce , ONLY: zwy => ua ! ua used as workspace 242 USE wrk_nemo, ONLY: zfu => wrk_3d_1 , zfc => wrk_3d_2, zfd => wrk_3d_3 ! 3D workspace 243 ! 244 INTEGER , INTENT(in ) :: kt ! ocean time-step index 245 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 246 INTEGER , INTENT(in ) :: kjpt ! number of tracers 247 REAL(wp), DIMENSION( jpk ), INTENT(in ) :: p2dt ! vertical profile of tracer time-step 248 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pvn ! j-velocity components 249 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: ptb, ptn ! before and now tracer fields 250 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta ! tracer trend 251 !! 252 INTEGER :: ji, jj, jk, jn ! dummy loop indices 253 REAL(wp) :: ztra, zbtr, zdir, zdx, zdt, zmsk ! local scalars 249 254 !---------------------------------------------------------------------- 250 255 ! 256 IF(wrk_in_use(3, 1,2,3))THEN 257 CALL ctl_stop('tra_adv_qck_j: ERROR: requested workspace arrays unavailable') 258 RETURN 259 END IF 251 260 ! ! =========== 252 261 DO jn = 1, kjpt ! tracer loop … … 350 359 END DO 351 360 ! 361 IF( wrk_not_released(3, 1,2,3) ) CALL ctl_stop('tra_adv_qck_j: failed to release workspace arrays') 362 ! 352 363 END SUBROUTINE tra_adv_qck_j 353 364 … … 358 369 !! 359 370 !!---------------------------------------------------------------------- 360 USE oce , zwz => ua ! use uaas workspace361 ! !362 INTEGER , INTENT(in ) :: kt 363 CHARACTER(len=3) , INTENT(in ) :: cdtype 364 INTEGER , INTENT(in ) :: kjpt 365 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pwn 366 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: ptn 367 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta 368 ! !371 USE oce, ONLY: zwz => ua ! ua used as workspace 372 ! 373 INTEGER , INTENT(in ) :: kt ! ocean time-step index 374 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 375 INTEGER , INTENT(in ) :: kjpt ! number of tracers 376 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pwn ! vertical velocity 377 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in ) :: ptn ! before and now tracer fields 378 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta ! tracer trend 379 ! 369 380 INTEGER :: ji, jj, jk, jn ! dummy loop indices 370 REAL(wp) :: zbtr , ztra ! temporaryscalars381 REAL(wp) :: zbtr , ztra ! local scalars 371 382 !!---------------------------------------------------------------------- 372 383
Note: See TracChangeset
for help on using the changeset viewer.