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 2093 for branches/DEV_r1986_BDY_updates/NEMO/OPA_SRC/SOL – NEMO

Ignore:
Timestamp:
2010-09-15T09:39:38+02:00 (14 years ago)
Author:
davestorkey
Message:

Main change set.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r1986_BDY_updates/NEMO/OPA_SRC/SOL/solmat.F90

    r1876 r2093  
    1515   !!             3.2  ! 2009-06  (S. Masson)  distributed restart using iom 
    1616   !!              -   ! 2009-07  (R. Benshila)  suppression of rigid-lid option 
     17   !!             3.3  ! 2010-09  (D. Storkey) update for BDY module. 
    1718   !!---------------------------------------------------------------------- 
    1819 
     
    2627   USE phycst          ! physical constants 
    2728   USE obc_oce         ! ocean open boundary conditions 
     29   USE bdy_oce         ! unstructured open boundary conditions 
    2830   USE lbclnk          ! lateral boudary conditions 
    2931   USE lib_mpp         ! distributed memory computing 
     
    8082      ENDIF 
    8183 
    82 #if defined key_dynspg_flt && ! defined key_obc 
     84#if defined key_dynspg_flt && ! defined key_obc && ! defined key_bdy 
    8385 
    8486      DO jj = 2, jpjm1                      ! matrix of free surface elliptic system 
     
    141143         END DO 
    142144      ENDIF 
     145 
     146#  elif defined key_dynspg_flt && defined key_bdy  
     147 
     148      !   defined gcdmat in the case of unstructured open boundaries 
     149      DO jj = 2, jpjm1 
     150         DO ji = 2, jpim1 
     151            zcoef = z2dt * z2dt * grav * bmask(ji,jj) 
     152 
     153            !  south coefficient 
     154            zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1) 
     155            zcoefs = zcoefs * bdyvmask(ji,jj-1) 
     156            gcp(ji,jj,1) = zcoefs 
     157 
     158            !  west coefficient 
     159            zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj) 
     160            zcoefw = zcoefw * bdyumask(ji-1,jj) 
     161            gcp(ji,jj,2) = zcoefw 
     162 
     163            !  east coefficient 
     164            zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj) 
     165            zcoefe = zcoefe * bdyumask(ji,jj) 
     166            gcp(ji,jj,3) = zcoefe 
     167 
     168            !  north coefficient 
     169            zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj) 
     170            zcoefn = zcoefn * bdyvmask(ji,jj) 
     171            gcp(ji,jj,4) = zcoefn 
     172 
     173            ! diagonal coefficient 
     174            gcdmat(ji,jj) = e1t(ji,jj)*e2t(ji,jj)*bmask(ji,jj) & 
     175                            - zcoefs -zcoefw -zcoefe -zcoefn 
     176         END DO 
     177      END DO 
     178 
    143179#endif 
    144180 
Note: See TracChangeset for help on using the changeset viewer.