Changeset 2715 for trunk/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90
- Timestamp:
- 2011-03-30T17:58:35+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90
r2528 r2715 25 25 USE phycst 26 26 USE in_out_manager 27 USE agrif_opa_sponge 28 USE lib_mpp 27 29 28 30 IMPLICIT NONE … … 45 47 !! *** ROUTINE Agrif_Tra *** 46 48 !!---------------------------------------------------------------------- 49 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 50 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2 51 !! 47 52 INTEGER :: ji, jj, jk ! dummy loop indices 48 53 REAL(wp) :: zrhox , alpha1, alpha2, alpha3 49 54 REAL(wp) :: alpha4, alpha5, alpha6, alpha7 50 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zta, zsa ! 3D workspace55 REAL(wp), POINTER, DIMENSION(:,:,:) :: zta, zsa 51 56 !!---------------------------------------------------------------------- 52 57 ! 53 58 IF( Agrif_Root() ) RETURN 59 60 zta => wrk_3d_1 ; zsa => wrk_3d_2 61 IF( wrk_in_use(3, 1,2) )THEN 62 CALL ctl_stop('agrif_tra: requested workspace arrays unavailable.') 63 RETURN 64 END IF 54 65 55 66 Agrif_SpecialValue = 0.e0 … … 58 69 zsa(:,:,:) = 0.e0 59 70 60 CALL Agrif_Bc_variable( zta, tn )61 CALL Agrif_Bc_variable( zsa, sn )71 CALL Agrif_Bc_variable( zta, tn_id, procname = interptn ) 72 CALL Agrif_Bc_variable( zsa, sn_id, procname = interpsn ) 62 73 Agrif_UseSpecialValue = .FALSE. 63 74 … … 162 173 ENDIF 163 174 ! 175 IF( wrk_not_released(3, 1,2) ) THEN 176 CALL ctl_stop('agrif_tra: failed to release workspace arrays.') 177 ENDIF 178 ! 164 179 END SUBROUTINE Agrif_tra 165 180 … … 169 184 !! *** ROUTINE Agrif_DYN *** 170 185 !!---------------------------------------------------------------------- 186 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 187 USE wrk_nemo, ONLY: wrk_2d_4, wrk_2d_5 188 USE wrk_nemo, ONLY: wrk_2d_6, wrk_2d_7 189 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2 190 !! 171 191 INTEGER, INTENT(in) :: kt 172 192 !! … … 175 195 REAL(wp) :: z2dt, znugdt 176 196 REAL(wp) :: zrhox, rhoy 177 REAL(wp), DIMENSION(jpi,jpj) :: zua2d, zva2d 178 REAL(wp), DIMENSION(jpi,jpj) :: spgu1,spgv1 179 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zua, zva 197 REAL(wp), POINTER, DIMENSION(:,:,:) :: zua, zva 198 REAL(wp), POINTER, DIMENSION(:,:) :: spgv1, spgu1, zua2d, zva2d 180 199 !!---------------------------------------------------------------------- 181 200 182 201 IF( Agrif_Root() ) RETURN 202 203 spgu1 => wrk_2d_4 ; spgv1 => wrk_2d_5 204 zua2d => wrk_2d_6 ; zva2d => wrk_2d_7 205 zua => wrk_3d_1 ; zva => wrk_3d_2 206 IF( wrk_in_use(2, 4,5,6,7) .OR. wrk_in_use(3, 1,2) )THEN 207 CALL ctl_stop('agrif_dyn: requested workspace arrays unavailable.') 208 RETURN 209 END IF 183 210 184 211 zrhox = Agrif_Rhox() … … 199 226 zua = 0. 200 227 zva = 0. 201 CALL Agrif_Bc_variable(zua,un ,procname=interpu)202 CALL Agrif_Bc_variable(zva,vn ,procname=interpv)228 CALL Agrif_Bc_variable(zua,un_id,procname=interpu) 229 CALL Agrif_Bc_variable(zva,vn_id,procname=interpv) 203 230 zua2d = 0. 204 231 zva2d = 0. … … 206 233 Agrif_SpecialValue=0. 207 234 Agrif_UseSpecialValue = ln_spc_dyn 208 CALL Agrif_Bc_variable(zua2d,e1u ,calledweight=1.,procname=interpu2d)209 CALL Agrif_Bc_variable(zva2d,e2v ,calledweight=1.,procname=interpv2d)235 CALL Agrif_Bc_variable(zua2d,e1u_id,calledweight=1.,procname=interpu2d) 236 CALL Agrif_Bc_variable(zva2d,e2v_id,calledweight=1.,procname=interpv2d) 210 237 Agrif_UseSpecialValue = .FALSE. 211 238 … … 492 519 493 520 ENDIF 494 521 ! 522 IF( wrk_not_released(3, 1,2) .OR. wrk_not_released(2, 4,5,6,7)) THEN 523 CALL ctl_stop('agrif_dyn: failed to release workspace arrays.') 524 ENDIF 525 ! 495 526 END SUBROUTINE Agrif_dyn 496 527
Note: See TracChangeset
for help on using the changeset viewer.