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 11048 for NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdytra.F90 – NEMO

Ignore:
Timestamp:
2019-05-23T18:36:06+02:00 (5 years ago)
Author:
girrmann
Message:

dev_r10984_HPC-13 : Step 1, boundary is now detected all over the local domain, this does not change the result. Improve bdy treatment for bdy_rnf in bdytra.F90, this changes the result when keyword runoff is specified in namelist

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdytra.F90

    r11024 r11048  
    9393      INTEGER,                             INTENT(in) ::   jpa  ! TRA index 
    9494      ! 
    95       REAL(wp) ::   zwgt           ! boundary weight 
    96       INTEGER  ::   ib, ik, igrd   ! dummy loop indices 
    97       INTEGER  ::   ii, ij, ip, jp ! 2D addresses 
     95      INTEGER  ::   ib, ii, ij, igrd   ! dummy loop indices 
     96      INTEGER  ::   ik, ip, jp ! 2D addresses 
    9897      !!---------------------------------------------------------------------- 
    9998      ! 
    10099      igrd = 1                       ! Everything is at T-points here 
    101       DO ib = 1, idx%nblenrim(igrd) 
    102          ii = idx%nbi(ib,igrd) 
    103          ij = idx%nbj(ib,igrd) 
    104          DO ik = 1, jpkm1 
    105             ip = bdytmask(ii+1,ij  ) - bdytmask(ii-1,ij  ) 
    106             jp = bdytmask(ii  ,ij+1) - bdytmask(ii  ,ij-1) 
    107             if (jpa == jp_tem) pta(ii,ij,ik) = pta(ii+ip,ij+jp,ik) * tmask(ii,ij,ik) 
    108             if (jpa == jp_sal) pta(ii,ij,ik) =                 0.1 * tmask(ii,ij,ik) 
     100      IF(      jpa == jp_tem )   THEN 
     101         CALL bdy_nmn( idx, igrd, pta ) 
     102      ELSE IF( jpa == jp_sal )   THEN 
     103         DO ib = 1, idx%nblenrim(igrd) 
     104            ii = idx%nbi(ib,igrd) 
     105            ij = idx%nbj(ib,igrd) 
     106            IF( ii == 1 .OR. ii == jpi .OR. ij == 1 .OR. ij == jpj )  CYCLE   ! to remove 
     107            pta(ii,ij,1:jpkm1) = 0.1 * tmask(ii,ij,1:jpkm1) 
    109108         END DO 
    110       END DO 
     109      END IF 
    111110      ! 
    112111   END SUBROUTINE bdy_rnf 
     
    137136               ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
    138137               ij = idx_bdy(ib_bdy)%nbj(ib,igrd) 
     138               IF( ii == 1 .OR. ii == jpi .OR. ij == 1 .OR. ij == jpj )  CYCLE   ! to remove 
    139139               zwgt = idx_bdy(ib_bdy)%nbd(ib,igrd) 
    140140               DO ik = 1, jpkm1 
Note: See TracChangeset for help on using the changeset viewer.