- Timestamp:
- 2011-03-15T16:27:46+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90
r2633 r2690 26 26 !! ??? explanation of the default is missing 27 27 !!---------------------------------------------------------------------- 28 USE ldftra_oce, ONLY : aht0 29 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 30 USE wrk_nemo, ONLY: zcoef => wrk_1d_2 31 !! 32 LOGICAL, INTENT (in) :: ld_print ! If true, output arrays on numout 33 !! 34 INTEGER :: ji, jj, jk ! dummy loop indices 35 REAL(wp) :: & 36 zr = 0.2 , & ! maximum of the reduction factor at the bottom ocean 37 ! ! ( 0 < zr < 1 ) 38 zh = 500., & ! depth of at which start the reduction ( > dept(1) ) 39 zd_max , & ! maximum grid spacing over the global domain 40 za00, zc, zd ! temporary scalars 41 REAL(wp) :: & 42 zetmax, zefmax, & 43 zeumax, zevmax 44 !!---------------------------------------------------------------------- 45 46 IF(wrk_in_use(1,2))THEN 47 CALL ctl_stop('ldf_dyn_c3d: ERROR: requested workspace array unavailable.') 48 RETURN 49 END IF 28 USE ldftra_oce, ONLY : aht0 29 USE wrk_nemo , ONLY: wrk_in_use, wrk_not_released 30 USE wrk_nemo , ONLY: zcoef => wrk_1d_2 31 !! 32 LOGICAL, INTENT (in) :: ld_print ! If true, output arrays on numout 33 !! 34 INTEGER :: ji, jj, jk ! dummy loop indices 35 REAL(wp) :: zr = 0.2 ! maximum of the reduction factor at the bottom ocean ( 0 < zr < 1 ) 36 REAL(wp) :: zh = 500. ! depth of at which start the reduction ( > dept(1) ) 37 REAL(wp) :: zd_max ! maximum grid spacing over the global domain 38 REAL(wp) :: za00, zc, zd, zetmax, zefmax, zeumax, zevmax ! local scalars 39 !!---------------------------------------------------------------------- 40 41 IF( wrk_in_use(1,2) ) THEN 42 CALL ctl_stop('ldf_dyn_c3d: requested workspace array unavailable') ; RETURN 43 ENDIF 50 44 51 45 IF(lwp) WRITE(numout,*) … … 187 181 ENDIF 188 182 ENDIF 189 190 IF(wrk_not_released(1,2))THEN 191 CALL ctl_stop('ldf_dyn_c3d: ERROR: failed to release workspace array.') 192 END IF 193 183 ! 184 IF( wrk_not_released(1,2) ) CALL ctl_stop('ldf_dyn_c3d: failed to release workspace array') 185 ! 194 186 END SUBROUTINE ldf_dyn_c3d 195 187 … … 203 195 !! ** Method : blah blah blah .... 204 196 !!---------------------------------------------------------------------- 205 USE ldftra_oce, ONLY :aht0206 USE wrk_nemo , ONLY:wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released207 USE wrk_nemo , ONLY: icof=> iwrk_2d_1208 USE wrk_nemo , ONLY:zahm0 => wrk_2d_1209 USE wrk_nemo , ONLY:zcoef => wrk_1d_1210 !! 211 LOGICAL, INTENT (in) ::ld_print ! If true, output arrays on numout197 USE ldftra_oce, ONLY: aht0 198 USE wrk_nemo , ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released 199 USE wrk_nemo , ONLY: icof => iwrk_2d_1 200 USE wrk_nemo , ONLY: zahm0 => wrk_2d_1 201 USE wrk_nemo , ONLY: zcoef => wrk_1d_1 202 !! 203 LOGICAL, INTENT(in) :: ld_print ! If true, output arrays on numout 212 204 !! 213 205 INTEGER :: ji, jj, jk, jn ! dummy loop indices 214 INTEGER :: ii0, ii1, ij0, ij1 ! temporary integers 215 INTEGER :: inum ! temporary logical unit 216 INTEGER :: iim, ijm 206 INTEGER :: ii0, ii1, ij0, ij1 ! local integers 207 INTEGER :: inum, iim, ijm ! 217 208 INTEGER :: ifreq, il1, il2, ij, ii 218 209 INTEGER, DIMENSION(jpidta, jpjdta) :: idata 219 210 220 REAL(wp) :: & 221 zahmeq, zcoff, zcoft, zmsk, & ! ??? 222 zemax, zemin, zeref, zahmm 223 211 REAL(wp) :: zahmeq, zcoff, zcoft, zmsk ! local scalars 212 REAL(wp) :: zemax , zemin, zeref, zahmm 224 213 CHARACTER (len=15) :: clexp 225 214 !!---------------------------------------------------------------------- 226 215 227 IF( iwrk_in_use(2,1) .OR. wrk_in_use(2,1) .OR. wrk_in_use(1,1) )THEN 228 CALL ctl_stop('ldf_dyn_c3d_orca: ERROR: requested workspace arrays are unavailable.') 229 RETURN 230 END IF 216 IF( iwrk_in_use(2,1) .OR. wrk_in_use(2,1) .OR. wrk_in_use(1,1) ) THEN 217 CALL ctl_stop('ldf_dyn_c3d_orca: requested workspace arrays are unavailable') ; RETURN 218 ENDIF 231 219 232 220 IF(lwp) WRITE(numout,*) 233 221 IF(lwp) WRITE(numout,*) 'ldfdyn_c3d_orca : 3D eddy viscosity coefficient' 234 222 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~' 235 IF(lwp) WRITE(numout,*) 236 IF(lwp) WRITE(numout,*) ' orca R1, R2 or R4 ocean model' 237 IF(lwp) WRITE(numout,*) ' reduced in the surface Eq. strip ' 238 IF(lwp) WRITE(numout,*) 223 IF(lwp) WRITE(numout,*) ' orca R1, R2 or R4 configuration: reduced in the surface Eq. strip ' 239 224 240 225 ! Read 2d integer array to specify western boundary increase in the … … 473 458 ENDIF 474 459 475 IF( iwrk_not_released(2,1) .OR. wrk_not_released(2,1) .OR. & 476 wrk_not_released(1,1) )THEN 477 CALL ctl_stop('ldf_dyn_c3d_orca: ERROR: failed to release workspace arrays.') 478 END IF 479 460 IF( iwrk_not_released(2,1) .OR. & 461 wrk_not_released(2,1) .OR. & 462 wrk_not_released(1,1) ) CALL ctl_stop('ldf_dyn_c3d_orca: failed to release workspace arrays') 463 ! 480 464 END SUBROUTINE ldf_dyn_c3d_orca
Note: See TracChangeset
for help on using the changeset viewer.