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 9012 for branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/LBC/mpp_lnk_generic.h90 – NEMO

Ignore:
Timestamp:
2017-12-13T14:57:33+01:00 (6 years ago)
Author:
acc
Message:

Branch dev_CNRS_2017. Merge in no_ghost changes from dev_r8126_ROBUST08_no_ghost. These changes include lib_mpp refresh and rationalisation of mppini from dev_r8126_ROBUST10_MPPINI

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/LBC/mpp_lnk_generic.h90

    r8882 r9012  
    7272      ipf = F_SIZE(ptab)   ! 5th    -      use in "multi" case (array of pointers) 
    7373      ! 
    74       ALLOCATE( zt3ns(jpi,jprecj,ipk,ipl,ipf,2), zt3sn(jpi,jprecj,ipk,ipl,ipf,2),   & 
    75          &      zt3ew(jpj,jpreci,ipk,ipl,ipf,2), zt3we(jpj,jpreci,ipk,ipl,ipf,2)  ) 
     74      ALLOCATE( zt3ns(jpi,nn_hls,ipk,ipl,ipf,2), zt3sn(jpi,nn_hls,ipk,ipl,ipf,2),   & 
     75         &      zt3ew(jpj,nn_hls,ipk,ipl,ipf,2), zt3we(jpj,nn_hls,ipk,ipl,ipf,2)  ) 
    7676      ! 
    7777      ll_Iperio = nbondi == 2 .AND. (nperio == 1 .OR. nperio == 4 .OR. nperio == 6) 
     
    116116               ARRAY_IN(jpi,:,:,:,jf) = ARRAY_IN(  2  ,:,:,:,jf) 
    117117            ELSE                                   !* closed 
    118                IF( .NOT. NAT_IN(jf) == 'F' )   ARRAY_IN(     1       :jpreci,:,:,:,jf) = zland    ! east except F-point 
    119                                                ARRAY_IN(nlci-jpreci+1:jpi   ,:,:,:,jf) = zland    ! west 
     118               IF( .NOT. NAT_IN(jf) == 'F' )   ARRAY_IN(     1       :nn_hls,:,:,:,jf) = zland    ! east except F-point 
     119                                               ARRAY_IN(nlci-nn_hls+1:jpi   ,:,:,:,jf) = zland    ! west 
    120120            ENDIF 
    121121            !                                ! North-South boundaries 
     
    124124               ARRAY_IN(:,jpj,:,:,jf) = ARRAY_IN(:,   2  ,:,:,jf) 
    125125            ELSE                                   !* closed 
    126                IF( .NOT. NAT_IN(jf) == 'F' )   ARRAY_IN(:,     1       :jprecj,:,:,jf) = zland    ! south except F-point 
    127                                                ARRAY_IN(:,nlcj-jprecj+1:jpj   ,:,:,jf) = zland    ! north 
     126               IF( .NOT. NAT_IN(jf) == 'F' )   ARRAY_IN(:,     1       :nn_hls,:,:,jf) = zland    ! south except F-point 
     127                                               ARRAY_IN(:,nlcj-nn_hls+1:jpj   ,:,:,jf) = zland    ! north 
    128128            ENDIF 
    129129         END DO 
     
    142142            DO jl = 1, ipl 
    143143               DO jk = 1, ipk 
    144                   DO jh = 1, jpreci 
    145                      zt3ew(:,jh,jk,jl,jf,1) = ARRAY_IN(jpreci+jh,:,jk,jl,jf) 
     144                  DO jh = 1, nn_hls 
     145                     zt3ew(:,jh,jk,jl,jf,1) = ARRAY_IN(nn_hls+jh,:,jk,jl,jf) 
    146146                     zt3we(:,jh,jk,jl,jf,1) = ARRAY_IN(iihom +jh,:,jk,jl,jf) 
    147147                  END DO 
     
    152152      ! 
    153153      !                           ! Migrations 
    154       imigr = jpreci * jpj * ipk * ipl * ipf 
     154      imigr = nn_hls * jpj * ipk * ipl * ipf 
    155155      ! 
    156156      SELECT CASE ( nbondi ) 
     
    173173      ! 
    174174      !                           ! Write Dirichlet lateral conditions 
    175       iihom = nlci-jpreci 
     175      iihom = nlci-nn_hls 
    176176      ! 
    177177      SELECT CASE ( nbondi ) 
     
    180180            DO jl = 1, ipl 
    181181               DO jk = 1, ipk 
    182                   DO jh = 1, jpreci 
     182                  DO jh = 1, nn_hls 
    183183                     ARRAY_IN(iihom+jh,:,jk,jl,jf) = zt3ew(:,jh,jk,jl,jf,2) 
    184184                  END DO 
     
    190190            DO jl = 1, ipl 
    191191               DO jk = 1, ipk 
    192                   DO jh = 1, jpreci 
     192                  DO jh = 1, nn_hls 
    193193                     ARRAY_IN(jh      ,:,jk,jl,jf) = zt3we(:,jh,jk,jl,jf,2) 
    194194                     ARRAY_IN(iihom+jh,:,jk,jl,jf) = zt3ew(:,jh,jk,jl,jf,2) 
     
    201201            DO jl = 1, ipl 
    202202               DO jk = 1, ipk 
    203                   DO jh = 1, jpreci 
     203                  DO jh = 1, nn_hls 
    204204                     ARRAY_IN(jh      ,:,jk,jl,jf) = zt3we(:,jh,jk,jl,jf,2) 
    205205                  END DO 
     
    218218            DO jl = 1, ipl 
    219219               DO jk = 1, ipk 
    220                   DO jh = 1, jprecj 
     220                  DO jh = 1, nn_hls 
    221221                     zt3sn(:,jh,jk,jl,jf,1) = ARRAY_IN(:,ijhom +jh,jk,jl,jf) 
    222                      zt3ns(:,jh,jk,jl,jf,1) = ARRAY_IN(:,jprecj+jh,jk,jl,jf) 
     222                     zt3ns(:,jh,jk,jl,jf,1) = ARRAY_IN(:,nn_hls+jh,jk,jl,jf) 
    223223                  END DO 
    224224               END DO 
     
    228228      ! 
    229229      !                           ! Migrations 
    230       imigr = jprecj * jpi * ipk * ipl * ipf 
     230      imigr = nn_hls * jpi * ipk * ipl * ipf 
    231231      ! 
    232232      SELECT CASE ( nbondj ) 
     
    249249      ! 
    250250      !                           ! Write Dirichlet lateral conditions 
    251       ijhom = nlcj-jprecj 
     251      ijhom = nlcj-nn_hls 
    252252      ! 
    253253      SELECT CASE ( nbondj ) 
     
    256256            DO jl = 1, ipl 
    257257               DO jk = 1, ipk 
    258                   DO jh = 1, jprecj 
     258                  DO jh = 1, nn_hls 
    259259                     ARRAY_IN(:,ijhom+jh,jk,jl,jf) = zt3ns(:,jh,jk,jl,jf,2) 
    260260                  END DO 
     
    266266            DO jl = 1, ipl 
    267267               DO jk = 1, ipk 
    268                   DO jh = 1, jprecj 
     268                  DO jh = 1, nn_hls 
    269269                     ARRAY_IN(:,      jh,jk,jl,jf) = zt3sn(:,jh,jk,jl,jf,2) 
    270270                     ARRAY_IN(:,ijhom+jh,jk,jl,jf) = zt3ns(:,jh,jk,jl,jf,2) 
     
    277277            DO jl = 1, ipl 
    278278               DO jk = 1, ipk 
    279                   DO jh = 1, jprecj 
     279                  DO jh = 1, nn_hls 
    280280                     ARRAY_IN(:,jh,jk,jl,jf) = zt3sn(:,jh,jk,jl,jf,2) 
    281281                  END DO 
Note: See TracChangeset for help on using the changeset viewer.