Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/tranpc.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRA/tranpc.F90
r2715 r3294 23 23 USE in_out_manager ! I/O manager 24 24 USE lib_mpp ! MPP library 25 USE wrk_nemo ! Memory Allocation 26 USE timing ! Timing 25 27 26 28 IMPLICIT NONE … … 56 58 !! References : Madec, et al., 1991, JPO, 21, 9, 1349-1371. 57 59 !!---------------------------------------------------------------------- 58 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, wrk_in_use_xz, wrk_not_released_xz59 USE wrk_nemo, ONLY: ztrdt => wrk_3d_1 , ztrds => wrk_3d_2 , zrhop => wrk_3d_360 USE wrk_nemo, ONLY: zwx => wrk_xz_1 , zwy => wrk_xz_2 , zwz => wrk_xz_361 60 ! 62 61 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 68 67 INTEGER :: ikbot, ik, ikup, ikdown ! ??? 69 68 REAL(wp) :: ze3tot, zta, zsa, zraua, ze3dwn 69 REAL(wp), POINTER, DIMENSION(:,: ) :: zwx, zwy, zwz 70 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdt, ztrds, zrhop 70 71 !!---------------------------------------------------------------------- 71 72 ! Strictly 1 and 2 3D workspaces only needed if(l_trdtra) but it doesn't 73 ! cost us anything and makes code simpler. 74 IF( wrk_in_use(3, 1,2,3) .OR. wrk_in_use_xz(1,2,3) ) THEN 75 CALL ctl_stop('tra_npc: requested workspace arrays unavailable') ; RETURN 76 ENDIF 77 72 ! 73 IF( nn_timing == 1 ) CALL timing_start('tra_npc') 74 ! 75 CALL wrk_alloc(jpi, jpj, jpk, zrhop ) 76 CALL wrk_alloc(jpi, jpk, zwx, zwy, zwz ) 77 ! 78 78 IF( MOD( kt, nn_npc ) == 0 ) THEN 79 79 … … 84 84 85 85 IF( l_trdtra ) THEN !* Save ta and sa trends 86 CALL wrk_alloc( jpi, jpj, jpk, ztrdt, ztrds ) 86 87 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 87 88 ztrds(:,:,:) = tsa(:,:,:,jp_sal) … … 200 201 CALL trd_tra( kt, 'TRA', jp_tem, jptra_trd_npc, ztrdt ) 201 202 CALL trd_tra( kt, 'TRA', jp_sal, jptra_trd_npc, ztrds ) 203 CALL wrk_dealloc( jpi, jpj, jpk, ztrdt, ztrds ) 202 204 ENDIF 203 205 … … 216 218 ENDIF 217 219 ! 218 IF( wrk_not_released(3, 1,2,3) .OR. & 219 wrk_not_released_xz(1,2,3) ) CALL ctl_stop('tra_npc: failed to release workspace arrays') 220 CALL wrk_dealloc(jpi, jpj, jpk, zrhop ) 221 CALL wrk_dealloc(jpi, jpk, zwx, zwy, zwz ) 222 ! 223 IF( nn_timing == 1 ) CALL timing_stop('tra_npc') 220 224 ! 221 225 END SUBROUTINE tra_npc
Note: See TracChangeset
for help on using the changeset viewer.