Changeset 10481 for NEMO/trunk/src/OCE/BDY/bdyini.F90
- Timestamp:
- 2019-01-09T17:31:56+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/BDY/bdyini.F90
r10425 r10481 133 133 INTEGER :: i_offset, j_offset ! - - 134 134 INTEGER , POINTER :: nbi, nbj, nbr ! short cuts 135 REAL(wp), POINTER :: flagu, flagv ! - -136 135 REAL(wp), POINTER, DIMENSION(:,:) :: pmask ! pointer to 2D mask fields 137 136 REAL(wp) :: zefl, zwfl, znfl, zsfl ! local scalars … … 385 384 END SELECT 386 385 IF(lwp) WRITE(numout,*) 386 ! 387 ! sanity check if used with tides 388 IF( ln_tide ) THEN 389 IF(lwp) WRITE(numout,*) ' The total volume correction is not working with tides. ' 390 IF(lwp) WRITE(numout,*) ' Set ln_vol to .FALSE. ' 391 IF(lwp) WRITE(numout,*) ' or ' 392 IF(lwp) WRITE(numout,*) ' equilibriate your bdy input files ' 393 CALL ctl_stop( 'The total volume correction is not working with tides.' ) 394 END IF 387 395 ELSE 388 396 IF(lwp) WRITE(numout,*) 'No volume correction applied at open boundaries' … … 1244 1252 ! 1245 1253 END DO 1246 1247 ! Compute total lateral surface for volume correction:1248 ! ----------------------------------------------------1249 ! JC: this must be done at each time step with non-linear free surface1250 bdysurftot = 0._wp1251 IF( ln_vol ) THEN1252 igrd = 2 ! Lateral surface at U-points1253 DO ib_bdy = 1, nb_bdy1254 DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)1255 nbi => idx_bdy(ib_bdy)%nbi(ib,igrd)1256 nbj => idx_bdy(ib_bdy)%nbj(ib,igrd)1257 flagu => idx_bdy(ib_bdy)%flagu(ib,igrd)1258 bdysurftot = bdysurftot + hu_n (nbi , nbj) &1259 & * e2u (nbi , nbj) * ABS( flagu ) &1260 & * tmask_i(nbi , nbj) &1261 & * tmask_i(nbi+1, nbj)1262 END DO1263 END DO1264 1265 igrd=3 ! Add lateral surface at V-points1266 DO ib_bdy = 1, nb_bdy1267 DO ib = 1, idx_bdy(ib_bdy)%nblenrim(igrd)1268 nbi => idx_bdy(ib_bdy)%nbi(ib,igrd)1269 nbj => idx_bdy(ib_bdy)%nbj(ib,igrd)1270 flagv => idx_bdy(ib_bdy)%flagv(ib,igrd)1271 bdysurftot = bdysurftot + hv_n (nbi, nbj ) &1272 & * e1v (nbi, nbj ) * ABS( flagv ) &1273 & * tmask_i(nbi, nbj ) &1274 & * tmask_i(nbi, nbj+1)1275 END DO1276 END DO1277 !1278 CALL mpp_sum( 'bdyini', bdysurftot ) ! sum over the global domain1279 END IF1280 1254 ! 1281 1255 ! Tidy up … … 1284 1258 ! 1285 1259 END SUBROUTINE bdy_segs 1286 1287 1260 1288 1261 SUBROUTINE bdy_ctl_seg
Note: See TracChangeset
for help on using the changeset viewer.