Changeset 2715 for trunk/NEMOGCM/NEMO/NST_SRC/agrif_opa_sponge.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_sponge.F90
r2528 r2715 27 27 !!--------------------------------------------- 28 28 #include "domzgr_substitute.h90" 29 29 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 30 USE wrk_nemo, ONLY: wrk_2d_1 31 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2 32 USE wrk_nemo, ONLY: wrk_3d_3, wrk_3d_4 33 USE wrk_nemo, ONLY: wrk_3d_7, wrk_3d_6 34 USE wrk_nemo, ONLY: wrk_3d_8 35 !! 30 36 INTEGER :: ji,jj,jk 31 37 INTEGER :: spongearea 32 38 REAL(wp) :: timecoeff 33 39 REAL(wp) :: zta, zsa, zabe1, zabe2, zbtr 34 REAL(wp), DIMENSION(jpi,jpj) :: localviscsponge35 REAL(wp), DIMENSION(jpi,jpj,jpk) :: tbdiff, sbdiff36 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztu ,ztv, zsu ,zsv37 REAL(wp), DIMENSION(jpi,jpj,jpk) ::ztab40 REAL(wp), POINTER, DIMENSION(:,:) :: localviscsponge 41 REAL(wp), POINTER, DIMENSION(:,:,:) :: tbdiff, sbdiff 42 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztu, zsu, ztv, zsv 43 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab 38 44 39 45 #if defined SPONGE 46 localviscsponge => wrk_2d_1 47 tbdiff => wrk_3d_1 ;sbdiff => wrk_3d_2 48 ztu => wrk_3d_3 ; zsu => wrk_3d_4 49 ztv => wrk_3d_7 ; zsv => wrk_3d_6 50 ztab => wrk_3d_8 40 51 41 52 timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() … … 44 55 Agrif_UseSpecialValue = .TRUE. 45 56 ztab = 0.e0 46 CALL Agrif_Bc_Variable(ztab, ta ,calledweight=timecoeff,procname=interptn)57 CALL Agrif_Bc_Variable(ztab, ta_id,calledweight=timecoeff,procname=interptn) 47 58 Agrif_UseSpecialValue = .FALSE. 48 59 … … 52 63 Agrif_SpecialValue=0. 53 64 Agrif_UseSpecialValue = .TRUE. 54 CALL Agrif_Bc_Variable(ztab, sa ,calledweight=timecoeff,procname=interpsn)65 CALL Agrif_Bc_Variable(ztab, sa_id,calledweight=timecoeff,procname=interpsn) 55 66 Agrif_UseSpecialValue = .FALSE. 56 67 57 68 sbdiff(:,:,:) = sb(:,:,:) - ztab(:,:,:) 58 59 69 60 70 spongearea = 2 + 2 * Agrif_irhox() … … 164 174 !!--------------------------------------------- 165 175 #include "domzgr_substitute.h90" 166 176 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 177 USE wrk_nemo, ONLY: wrk_2d_1 178 USE wrk_nemo, ONLY: wrk_3d_1, wrk_3d_2 179 USE wrk_nemo, ONLY: wrk_3d_3, wrk_3d_4 180 USE wrk_nemo, ONLY: wrk_3d_5 181 !! 167 182 INTEGER :: ji,jj,jk 168 183 INTEGER :: spongearea 169 184 REAL(wp) :: timecoeff 170 185 REAL(wp) :: ze2u, ze1v, zua, zva, zbtr 171 REAL(wp), DIMENSION(jpi,jpj) :: localviscsponge 172 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztab, ubdiff, vbdiff,rotdiff,hdivdiff 186 REAL(wp), POINTER, DIMENSION(:,:) :: localviscsponge 187 REAL(wp), POINTER, DIMENSION(:,:,:) :: ubdiff, vbdiff 188 REAL(wp), POINTER, DIMENSION(:,:,:) :: rotdiff, hdivdiff 189 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztab 173 190 174 191 #if defined SPONGE 192 localviscsponge => wrk_2d_1 193 ubdiff => wrk_3d_1 ; vbdiff => wrk_3d_2 194 rotdiff => wrk_3d_3 ; hdivdiff => wrk_3d_4 195 ztab => wrk_3d_5 175 196 176 197 timecoeff = REAL(Agrif_NbStepint(),wp)/Agrif_rhot() … … 179 200 Agrif_UseSpecialValue = ln_spc_dyn 180 201 ztab = 0.e0 181 CALL Agrif_Bc_Variable(ztab, ua ,calledweight=timecoeff,procname=interpun)202 CALL Agrif_Bc_Variable(ztab, ua_id,calledweight=timecoeff,procname=interpun) 182 203 Agrif_UseSpecialValue = .FALSE. 183 204 … … 187 208 Agrif_SpecialValue=0. 188 209 Agrif_UseSpecialValue = ln_spc_dyn 189 CALL Agrif_Bc_Variable(ztab, va ,calledweight=timecoeff,procname=interpvn)210 CALL Agrif_Bc_Variable(ztab, va_id,calledweight=timecoeff,procname=interpvn) 190 211 Agrif_UseSpecialValue = .FALSE. 191 212 … … 250 271 spongedoneU = .TRUE. 251 272 252 spbtr3(:,:) = 1./( e1f(:,:) * e2f(:,:))273 spbtr3(:,:) = 1./( e1f(:,:) * e2f(:,:)) 253 274 ENDIF 254 275
Note: See TracChangeset
for help on using the changeset viewer.