Changeset 2715 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/tranpc.F90
- Timestamp:
- 2011-03-30T17:58:35+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRA/tranpc.F90
r2528 r2715 18 18 USE zdf_oce ! ocean vertical physics 19 19 USE trdmod_oce ! ocean active tracer trends 20 USE trdtra ! ocean active tracer trends20 USE trdtra ! ocean active tracer trends 21 21 USE eosbn2 ! equation of state (eos routine) 22 22 USE lbclnk ! lateral boundary conditions (or mpp link) 23 23 USE in_out_manager ! I/O manager 24 USE lib_mpp ! MPP library 24 25 25 26 IMPLICIT NONE 26 27 PRIVATE 27 28 28 PUBLIC tra_npc ! routine called by step.F9029 PUBLIC tra_npc ! routine called by step.F90 29 30 30 31 !! * Substitutions … … 55 56 !! References : Madec, et al., 1991, JPO, 21, 9, 1349-1371. 56 57 !!---------------------------------------------------------------------- 58 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, wrk_in_use_xz, wrk_not_released_xz 59 USE wrk_nemo, ONLY: ztrdt => wrk_3d_1 , ztrds => wrk_3d_2 , zrhop => wrk_3d_3 60 USE wrk_nemo, ONLY: zwx => wrk_xz_1 , zwy => wrk_xz_2 , zwz => wrk_xz_3 61 ! 57 62 INTEGER, INTENT(in) :: kt ! ocean time-step index 58 ! !63 ! 59 64 INTEGER :: ji, jj, jk ! dummy loop indices 60 65 INTEGER :: inpcc ! number of statically instable water column … … 63 68 INTEGER :: ikbot, ik, ikup, ikdown ! ??? 64 69 REAL(wp) :: ze3tot, zta, zsa, zraua, ze3dwn 65 REAL(wp), DIMENSION(jpi,jpk) :: zwx, zwy, zwz ! 2D arrays66 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zrhop ! 3D arrays67 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrdt, ztrds68 70 !!---------------------------------------------------------------------- 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 69 77 70 78 IF( MOD( kt, nn_npc ) == 0 ) THEN … … 76 84 77 85 IF( l_trdtra ) THEN !* Save ta and sa trends 78 ALLOCATE( ztrdt(jpi,jpj,jpk) ) ;ztrdt(:,:,:) = tsa(:,:,:,jp_tem)79 ALLOCATE( ztrds(jpi,jpj,jpk) ) ;ztrds(:,:,:) = tsa(:,:,:,jp_sal)86 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 87 ztrds(:,:,:) = tsa(:,:,:,jp_sal) 80 88 ENDIF 81 89 … … 192 200 CALL trd_tra( kt, 'TRA', jp_tem, jptra_trd_npc, ztrdt ) 193 201 CALL trd_tra( kt, 'TRA', jp_sal, jptra_trd_npc, ztrds ) 194 DEALLOCATE( ztrdt ) ; DEALLOCATE( ztrds )195 202 ENDIF 196 203 197 204 ! Lateral boundary conditions on ( ta, sa ) ( Unchanged sign) 198 205 ! ------------------------------============ 199 CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. ) 200 CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. ) 206 CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. ) ; CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. ) 201 207 202 208 … … 210 216 ENDIF 211 217 ! 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 ! 212 221 END SUBROUTINE tra_npc 213 222
Note: See TracChangeset
for help on using the changeset viewer.