Changeset 3294 for trunk/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90
r2715 r3294 22 22 USE prtctl ! Print control 23 23 USE lib_mpp ! MPP library 24 USE wrk_nemo ! work arrays 24 25 25 26 IMPLICIT NONE … … 56 57 !! Reference: Prather, 1986, JGR, 91, D6. 6671-6681. 57 58 !!-------------------------------------------------------------------- 58 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released59 USE wrk_nemo, ONLY: zf0 => wrk_2d_11 , zfx => wrk_2d_12 , zfy => wrk_2d_13 , zbet => wrk_2d_14 ! 2D workspace60 USE wrk_nemo, ONLY: zfm => wrk_2d_15 , zfxx => wrk_2d_16 , zfyy => wrk_2d_17 , zfxy => wrk_2d_18 ! - -61 USE wrk_nemo, ONLY: zalg => wrk_2d_19 , zalg1 => wrk_2d_20 , zalg1q => wrk_2d_21 ! - -62 !63 59 REAL(wp) , INTENT(in ) :: pdf ! reduction factor for the time step 64 60 REAL(wp) , INTENT(in ) :: pcrh ! call lim_adv_x then lim_adv_y (=1) or the opposite (=0) … … 73 69 REAL(wp) :: zs1new, zalf , zalfq , zbt ! - - 74 70 REAL(wp) :: zs2new, zalf1, zalf1q, zbt1 ! - - 71 REAL(wp), POINTER, DIMENSION(:,:) :: zf0 , zfx , zfy , zbet ! 2D workspace 72 REAL(wp), POINTER, DIMENSION(:,:) :: zfm , zfxx , zfyy , zfxy ! - - 73 REAL(wp), POINTER, DIMENSION(:,:) :: zalg, zalg1, zalg1q ! - - 75 74 !--------------------------------------------------------------------- 76 75 77 IF( wrk_in_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 78 CALL ctl_stop('lim_adv_x: requested workspace arrays unavailable') ; RETURN 79 ENDIF 76 CALL wrk_alloc( jpi, jpj, zf0 , zfx , zfy , zbet, zfm ) 77 CALL wrk_alloc( jpi, jpj, zfxx, zfyy, zfxy, zalg, zalg1, zalg1q ) 80 78 81 79 ! Limitation of moments. … … 224 222 ENDIF 225 223 ! 226 IF( wrk_not_released(2, 11,12,13,14,15,16,17,18,19,20,21) ) &227 CALL ctl_stop('lim_adv_x : failed to release workspace arrays')224 CALL wrk_dealloc( jpi, jpj, zf0 , zfx , zfy , zbet, zfm ) 225 CALL wrk_dealloc( jpi, jpj, zfxx, zfyy, zfxy, zalg, zalg1, zalg1q ) 228 226 ! 229 227 END SUBROUTINE lim_adv_x … … 244 242 !! Reference: Prather, 1986, JGR, 91, D6. 6671-6681. 245 243 !!--------------------------------------------------------------------- 246 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released247 USE wrk_nemo, ONLY: zf0 => wrk_2d_11 , zfx => wrk_2d_12 , zfy => wrk_2d_13 , zbet => wrk_2d_14 ! 2D workspace248 USE wrk_nemo, ONLY: zfm => wrk_2d_15 , zfxx => wrk_2d_16 , zfyy => wrk_2d_17 , zfxy => wrk_2d_18 ! - -249 USE wrk_nemo, ONLY: zalg => wrk_2d_19 , zalg1 => wrk_2d_20 , zalg1q => wrk_2d_21 ! - -250 !251 244 REAL(wp) , INTENT(in ) :: pdf ! reduction factor for the time step 252 245 REAL(wp) , INTENT(in ) :: pcrh ! call lim_adv_x then lim_adv_y (=1) or the opposite (=0) … … 261 254 REAL(wp) :: zs1new, zalf , zalfq , zbt ! - - 262 255 REAL(wp) :: zs2new, zalf1, zalf1q, zbt1 ! - - 256 REAL(wp), POINTER, DIMENSION(:,:) :: zf0, zfx , zfy , zbet ! 2D workspace 257 REAL(wp), POINTER, DIMENSION(:,:) :: zfm, zfxx, zfyy, zfxy ! - - 258 REAL(wp), POINTER, DIMENSION(:,:) :: zalg, zalg1, zalg1q ! - - 263 259 !--------------------------------------------------------------------- 264 260 265 IF( wrk_in_use(2, 11,12,13,14,15,16,17,18,19,20,21) ) THEN 266 CALL ctl_stop('lim_adv_y : requested workspace arrays unavailable') ; RETURN 267 ENDIF 261 CALL wrk_alloc( jpi, jpj, zf0 , zfx , zfy , zbet, zfm ) 262 CALL wrk_alloc( jpi, jpj, zfxx, zfyy, zfxy, zalg, zalg1, zalg1q ) 268 263 269 264 ! Limitation of moments. … … 413 408 ENDIF 414 409 ! 415 IF( wrk_not_released(2, 11,12,13,14,15,16,17,18,19,20,21) ) &416 CALL ctl_stop('lim_adv_y: failed to release workspace arrays')410 CALL wrk_dealloc( jpi, jpj, zf0 , zfx , zfy , zbet, zfm ) 411 CALL wrk_dealloc( jpi, jpj, zfxx, zfyy, zfxy, zalg, zalg1, zalg1q ) 417 412 ! 418 413 END SUBROUTINE lim_adv_y
Note: See TracChangeset
for help on using the changeset viewer.