- Timestamp:
- 2011-11-18T22:41:44+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90
r3116 r3159 29 29 USE lib_mpp ! distribued memory computing library 30 30 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 31 USE wrk_nemo_2 ! Memory allocation 32 USE timing ! Timing 31 33 32 34 IMPLICIT NONE … … 59 61 INTEGER, INTENT( in ) :: kt ! ocean time-step index 60 62 !! 61 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrdt, ztrds 62 !!---------------------------------------------------------------------- 63 63 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdt, ztrds 64 !!---------------------------------------------------------------------- 65 ! 66 IF( nn_timing == 1 ) CALL timing_start('tra_ldf') 67 ! 64 68 rldf = 1 ! For active tracers the 65 69 66 70 IF( l_trdtra ) THEN !* Save ta and sa trends 67 ALLOCATE( ztrdt(jpi,jpj,jpk) ) ; ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 68 ALLOCATE( ztrds(jpi,jpj,jpk) ) ; ztrds(:,:,:) = tsa(:,:,:,jp_sal) 71 CALL wrk_alloc( jpi, jpj, jpk, ztrdt, ztrds ) 72 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 73 ztrds(:,:,:) = tsa(:,:,:,jp_sal) 69 74 ENDIF 70 75 … … 109 114 CALL trd_tra( kt, 'TRA', jp_tem, jptra_trd_ldf, ztrdt ) 110 115 CALL trd_tra( kt, 'TRA', jp_sal, jptra_trd_ldf, ztrds ) 111 DEALLOCATE( ztrdt ) ; DEALLOCATE(ztrds )116 CALL wrk_dealloc( jpi, jpj, jpk, ztrdt, ztrds ) 112 117 ENDIF 113 118 ! ! print mean trends (used for debugging) 114 119 IF(ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf - Ta: ', mask1=tmask, & 115 120 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 121 ! 122 IF( nn_timing == 1 ) CALL timing_stop('tra_ldf') 116 123 ! 117 124 END SUBROUTINE tra_ldf … … 239 246 !! ** Purpose : initializations of 240 247 !!---------------------------------------------------------------------- 241 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released242 USE wrk_nemo, ONLY: zt_ref => wrk_3d_1, ztb => wrk_3d_2, zavt => wrk_3d_3 ! 3D workspaces243 USE wrk_nemo, ONLY: zs_ref => wrk_3d_4, zsb => wrk_3d_5 ! 3D workspaces244 248 ! 245 249 USE zdf_oce ! vertical mixing … … 251 255 LOGICAL :: llsave ! local logical 252 256 REAL(wp) :: zt0, zs0, z12 ! local scalar 253 !!---------------------------------------------------------------------- 254 255 IF( wrk_in_use(3, 1,2,3,4,5) ) THEN 256 CALL ctl_stop('ldf_ano : requested workspace arrays unavailable') ; RETURN 257 ENDIF 257 REAL(wp), POINTER, DIMENSION(:,:,:) :: zt_ref, zs_ref, ztb, zsb, zavt 258 !!---------------------------------------------------------------------- 259 ! 260 IF( nn_timing == 1 ) CALL timing_start('ldf_ano') 261 ! 262 CALL wrk_alloc( jpi, jpj, jpk, zt_ref, zs_ref, ztb, zsb, zavt ) 263 ! 258 264 259 265 IF(lwp) THEN … … 322 328 avt(:,:,:) = zavt(:,:,:) 323 329 ! 324 IF( wrk_not_released(3, 1,2,3,4,5) ) CALL ctl_stop('ldf_ano: failed to release workspace arrays') 330 CALL wrk_dealloc( jpi, jpj, jpk, zt_ref, zs_ref, ztb, zsb, zavt ) 331 ! 332 IF( nn_timing == 1 ) CALL timing_stop('ldf_ano') 325 333 ! 326 334 END SUBROUTINE ldf_ano
Note: See TracChangeset
for help on using the changeset viewer.