- Timestamp:
- 2019-01-04T19:34:14+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/dev_r10448_bdyvol/src/OCE/BDY/bdyini.F90
r10425 r10455 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 … … 1244 1243 ! 1245 1244 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 1245 ! 1281 1246 ! Tidy up … … 1284 1249 ! 1285 1250 END SUBROUTINE bdy_segs 1286 1287 1251 1288 1252 SUBROUTINE bdy_ctl_seg
Note: See TracChangeset
for help on using the changeset viewer.