New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 10455 for NEMO/branches/UKMO/dev_r10448_bdyvol/src/OCE/BDY/bdyini.F90 – NEMO

Ignore:
Timestamp:
2019-01-04T19:34:14+01:00 (5 years ago)
Author:
mathiot
Message:

suggestion for ticket #2200 (bdyvol)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/dev_r10448_bdyvol/src/OCE/BDY/bdyini.F90

    r10425 r10455  
    133133      INTEGER  ::   i_offset, j_offset                     !   -       - 
    134134      INTEGER , POINTER  ::  nbi, nbj, nbr                 ! short cuts 
    135       REAL(wp), POINTER  ::  flagu, flagv                  !    -   - 
    136135      REAL(wp), POINTER, DIMENSION(:,:)       ::   pmask    ! pointer to 2D mask fields 
    137136      REAL(wp) ::   zefl, zwfl, znfl, zsfl                 ! local scalars 
     
    12441243         ! 
    12451244      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 surface 
    1250       bdysurftot = 0._wp  
    1251       IF( ln_vol ) THEN   
    1252          igrd = 2      ! Lateral surface at U-points 
    1253          DO ib_bdy = 1, nb_bdy 
    1254             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 DO 
    1263          END DO 
    1264  
    1265          igrd=3 ! Add lateral surface at V-points 
    1266          DO ib_bdy = 1, nb_bdy 
    1267             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 DO 
    1276          END DO 
    1277          ! 
    1278          CALL mpp_sum( 'bdyini', bdysurftot )      ! sum over the global domain 
    1279       END IF    
    12801245      ! 
    12811246      ! Tidy up 
     
    12841249      ! 
    12851250   END SUBROUTINE bdy_segs 
    1286  
    12871251 
    12881252   SUBROUTINE bdy_ctl_seg 
Note: See TracChangeset for help on using the changeset viewer.