Changeset 2887 for branches/2011/dev_r2802_NOCL_Smagorinsky/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90
- Timestamp:
- 2011-10-05T11:16:29+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_r2802_NOCL_Smagorinsky/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90
r2715 r2887 28 28 USE diaptr ! poleward transport diagnostics 29 29 USE trc_oce ! share passive tracers/Ocean variables 30 USE lib_mpp ! MPP library31 30 32 31 IMPLICIT NONE … … 74 73 !! biharmonic mixing trend. 75 74 !!---------------------------------------------------------------------- 76 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 77 USE oce , ONLY: ztu => ua , ztv => va ! (ua,va) used as workspace 78 USE wrk_nemo, ONLY: zeeu => wrk_2d_1 , zeev => wrk_2d_2 , zlt => wrk_2d_3 ! 2D workspace 75 USE oce , ztu => ua ! use ua as workspace 76 USE oce , ztv => va ! use va as workspace 79 77 !! 80 78 INTEGER , INTENT(in ) :: kt ! ocean time-step index … … 87 85 INTEGER :: ji, jj, jk, jn ! dummy loop indices 88 86 REAL(wp) :: zbtr, ztra ! local scalars 87 REAL(wp), DIMENSION(jpi,jpj) :: zeeu, zeev, zlt ! 2D workspace 89 88 !!---------------------------------------------------------------------- 90 91 IF( wrk_in_use(2, 1,2,3) ) THEN92 CALL ctl_stop('tra_ldf_bilap: requested workspace arrays unavailable') ; RETURN93 ENDIF94 89 95 90 IF( kt == nit000 ) THEN … … 128 123 END DO 129 124 ENDIF 125 #if ! defined key_traldf_smag 130 126 DO jj = 2, jpjm1 ! Second derivative (divergence) time the eddy diffusivity coefficient 131 127 DO ji = fs_2, fs_jpim1 ! vector opt. … … 135 131 END DO 136 132 END DO 133 #else 134 DO jj = 2, jpjm1 ! Second derivative (divergence) time the eddy diffusivity coefficient 135 DO ji = fs_2, fs_jpim1 ! vector opt. 136 zbtr = 1.0 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 137 zlt(ji,jj) = zbtr * ( ztu(ji,jj,jk) - ztu(ji-1,jj,jk) & 138 & + ztv(ji,jj,jk) - ztv(ji,jj-1,jk) ) 139 END DO 140 END DO 141 #endif 137 142 CALL lbc_lnk( zlt, 'T', 1. ) ! Lateral boundary conditions (unchanged sgn) 138 143 … … 145 150 END DO 146 151 END DO 152 #if ! defined key_traldf_smag 147 153 DO jj = 2, jpjm1 ! fourth derivative (divergence) and add to the general tracer trend 148 154 DO ji = fs_2, fs_jpim1 ! vector opt. … … 154 160 END DO 155 161 END DO 162 #else 163 DO jj = 2, jpjm1 ! fourth derivative (divergence) and add to the general tracer trend 164 DO ji = fs_2, fs_jpim1 ! vector opt. 165 ! horizontal diffusive trends 166 zbtr = 1.0 / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) ) 167 ztra = zbtr * fsahtt(ji,jj,jk)* ( ztu(ji,jj,jk) - ztu(ji-1,jj,jk) + ztv(ji,jj,jk) - ztv(ji,jj-1,jk) ) 168 ! add it to the general tracer trends 169 pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + ztra 170 END DO 171 END DO 172 173 #endif 156 174 ! 157 175 END DO ! Horizontal slab … … 165 183 END DO ! tracer loop 166 184 ! ! =========== 167 IF( wrk_not_released(2, 1,2,3) ) CALL ctl_stop('tra_ldf_bilap: failed to release workspace arrays')168 !169 185 END SUBROUTINE tra_ldf_bilap 170 186
Note: See TracChangeset
for help on using the changeset viewer.