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 8189 for branches/2017/dev_r8127_AGRIF_LIM3_GHOST/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90 – NEMO

Ignore:
Timestamp:
2017-06-19T17:16:00+02:00 (7 years ago)
Author:
clem
Message:

bug fixes for ghostcells>1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8127_AGRIF_LIM3_GHOST/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90

    r8129 r8189  
    104104         ! 
    105105         IF( .NOT.ln_dynspg_ts ) THEN  ! Store transport 
    106             ua_b(1:1+nbghostcells,:) = 0._wp 
     106            ua_b(2:1+nbghostcells,:) = 0._wp 
    107107            DO jk = 1, jpkm1 
    108108               DO jj = 1, jpj 
    109                   ua_b(1:1+nbghostcells,jj) = ua_b(1:1+nbghostcells,jj) + e3u_a(1:1+nbghostcells,jj,jk) * ua(1:1+nbghostcells,jj,jk) 
     109                  ua_b(2:1+nbghostcells,jj) = ua_b(2:1+nbghostcells,jj) + e3u_a(2:1+nbghostcells,jj,jk) * ua(2:1+nbghostcells,jj,jk) 
    110110               END DO 
    111111            END DO 
    112112            DO jj = 1, jpj 
    113                ua_b(1:1+nbghostcells,jj) = ua_b(1:1+nbghostcells,jj) * r1_hu_a(1:1+nbghostcells,jj)             
     113               ua_b(2:1+nbghostcells,jj) = ua_b(2:1+nbghostcells,jj) * r1_hu_a(2:1+nbghostcells,jj) 
    114114            END DO 
    115115         ENDIF 
     
    166166 
    167167         IF( .NOT.ln_dynspg_ts ) THEN  ! Store transport 
    168             ua_b(nlci-nbghostcells-1:nlci,:) = 0._wp 
     168            ua_b(nlci-nbghostcells-1:nlci-2,:) = 0._wp 
    169169            DO jk=1,jpkm1 
    170170               DO jj=1,jpj 
    171                   ua_b(nlci-nbghostcells-1:nlci,jj) = ua_b(nlci-nbghostcells-1:nlci,jj) + e3u_a(nlci-nbghostcells-1:nlci,jj,jk)  & 
    172                      &                                                                     * ua(nlci-nbghostcells-1:nlci,jj,jk) 
     171                  ua_b(nlci-nbghostcells-1:nlci-2,jj) = ua_b(nlci-nbghostcells-1:nlci-2,jj) + e3u_a(nlci-nbghostcells-1:nlci-2,jj,jk)  & 
     172                     &                                                                         * ua(nlci-nbghostcells-1:nlci-2,jj,jk) 
    173173               END DO 
    174174            END DO 
    175175            DO jj=1,jpj 
    176                ua_b(nlci-nbghostcells-1:nlci,jj) = ua_b(nlci-nbghostcells-1:nlci,jj) * r1_hu_a(nlci-nbghostcells-1:nlci,jj)             
     176               ua_b(nlci-nbghostcells-1:nlci-2,jj) = ua_b(nlci-nbghostcells-1:nlci-2,jj) * r1_hu_a(nlci-nbghostcells-1:nlci-2,jj)  
    177177            END DO 
    178178         ENDIF 
     
    229229 
    230230         IF( .NOT.ln_dynspg_ts ) THEN  ! Store transport 
    231             va_b(:,1:nbghostcells+1) = 0._wp 
     231            va_b(:,2:nbghostcells+1) = 0._wp 
    232232            DO jk = 1, jpkm1 
    233233               DO ji = 1, jpi 
    234                   va_b(ji,1:nbghostcells+1) = va_b(ji,1:nbghostcells+1) + e3v_a(ji,1:nbghostcells+1,jk) * va(ji,1:nbghostcells+1,jk) 
     234                  va_b(ji,2:nbghostcells+1) = va_b(ji,2:nbghostcells+1) + e3v_a(ji,2:nbghostcells+1,jk) * va(ji,2:nbghostcells+1,jk) 
    235235               END DO 
    236236            END DO 
    237237            DO ji=1,jpi 
    238                va_b(ji,1:nbghostcells+1) = va_b(ji,1:nbghostcells+1) * r1_hv_a(ji,1:nbghostcells+1)             
     238               va_b(ji,2:nbghostcells+1) = va_b(ji,2:nbghostcells+1) * r1_hv_a(ji,2:nbghostcells+1) 
    239239            END DO 
    240240         ENDIF 
     
    291291         ! 
    292292         IF( .NOT.ln_dynspg_ts ) THEN  ! Store transport 
    293             va_b(:,nlcj-nbghostcells-1:nlcj) = 0._wp 
     293            va_b(:,nlcj-nbghostcells-1:nlcj-2) = 0._wp 
    294294            DO jk = 1, jpkm1 
    295295               DO ji = 1, jpi 
    296                   va_b(ji,nlcj-nbghostcells-1:nlcj) = va_b(ji,nlcj-nbghostcells-1:nlcj) + e3v_a(ji,nlcj-nbghostcells-1:nlcj,jk)  & 
    297                      &                                                                     * va(ji,nlcj-nbghostcells-1:nlcj,jk) 
     296                  va_b(ji,nlcj-nbghostcells-1:nlcj-2) = va_b(ji,nlcj-nbghostcells-1:nlcj-2) + e3v_a(ji,nlcj-nbghostcells-1:nlcj-2,jk)  & 
     297                     &                                                                         * va(ji,nlcj-nbghostcells-1:nlcj-2,jk) 
    298298               END DO 
    299299            END DO 
    300300            DO ji = 1, jpi 
    301                va_b(ji,nlcj-nbghostcells-1:nlcj) = va_b(ji,nlcj-nbghostcells-1:nlcj) * r1_hv_a(ji,nlcj-nbghostcells-1:nlcj)             
     301               va_b(ji,nlcj-nbghostcells-1:nlcj-2) = va_b(ji,nlcj-nbghostcells-1:nlcj-2) * r1_hv_a(ji,nlcj-nbghostcells-1:nlcj-2) 
    302302            END DO 
    303303         ENDIF 
     
    369369      IF((nbondi == -1).OR.(nbondi == 2)) THEN 
    370370         DO jj=1,jpj 
    371             va_e(1:nbghostcells+1,jj) = vbdy_w(jj) * hvr_e(1:nbghostcells+1,jj) 
    372             ! Specified fluxes: 
    373             ua_e(1:nbghostcells+1,jj) = ubdy_w(jj) * hur_e(1:nbghostcells+1,jj) 
    374             ! Characteristics method (only if ghostcells=1): 
    375             !alt            ua_e(2,jj) = 0.5_wp * ( ubdy_w(jj) * hur_e(2,jj) + ua_e(3,jj) & 
    376             !alt                       &           - sqrt(grav * hur_e(2,jj)) * (sshn_e(3,jj) - hbdy_w(jj)) ) 
     371            IF( vmask(2,jj,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     372               va_e(2:nbghostcells+1,jj) = vbdy_w(jj) * hvr_e(2:nbghostcells+1,jj) 
     373               ! Specified fluxes: 
     374               ua_e(2:nbghostcells+1,jj) = ubdy_w(jj) * hur_e(2:nbghostcells+1,jj) 
     375               ! Characteristics method (only if ghostcells=1): 
     376               !alt            ua_e(2,jj) = 0.5_wp * ( ubdy_w(jj) * hur_e(2,jj) + ua_e(3,jj) & 
     377               !alt                       &           - sqrt(grav * hur_e(2,jj)) * (sshn_e(3,jj) - hbdy_w(jj)) ) 
     378            ENDIF 
    377379         END DO 
    378380      ENDIF 
     
    380382      IF((nbondi == 1).OR.(nbondi == 2)) THEN 
    381383         DO jj=1,jpj 
    382             va_e(nlci-nbghostcells:nlci,jj)     = vbdy_e(jj) * hvr_e(nlci-nbghostcells:nlci,jj) 
    383             ! Specified fluxes: 
    384             ua_e(nlci-nbghostcells-1:nlci-1,jj) = ubdy_e(jj) * hur_e(nlci-nbghostcells-1:nlci-1,jj) 
    385             ! Characteristics method (only if ghostcells=1): 
    386             !alt            ua_e(nlci-2,jj) = 0.5_wp * ( ubdy_e(jj) * hur_e(nlci-2,jj) + ua_e(nlci-3,jj) & 
    387             !alt                            &           + sqrt(grav * hur_e(nlci-2,jj)) * (sshn_e(nlci-2,jj) - hbdy_e(jj)) ) 
     384            IF( vmask(nlci-1,jj,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     385               va_e(nlci-nbghostcells:nlci-1,jj)   = vbdy_e(jj) * hvr_e(nlci-nbghostcells:nlci-1,jj) 
     386               ! Specified fluxes: 
     387               ua_e(nlci-nbghostcells-1:nlci-2,jj) = ubdy_e(jj) * hur_e(nlci-nbghostcells-1:nlci-2,jj) 
     388               ! Characteristics method (only if ghostcells=1): 
     389               !alt            ua_e(nlci-2,jj) = 0.5_wp * ( ubdy_e(jj) * hur_e(nlci-2,jj) + ua_e(nlci-3,jj) & 
     390               !alt                            &           + sqrt(grav * hur_e(nlci-2,jj)) * (sshn_e(nlci-2,jj) - hbdy_e(jj)) ) 
     391            ENDIF 
    388392         END DO 
    389393      ENDIF 
     
    391395      IF((nbondj == -1).OR.(nbondj == 2)) THEN 
    392396         DO ji=1,jpi 
    393             ua_e(ji,1:nbghostcells+1) = ubdy_s(ji) * hur_e(ji,1:nbghostcells+1) 
    394             ! Specified fluxes: 
    395             va_e(ji,1:nbghostcells+1) = vbdy_s(ji) * hvr_e(ji,1:nbghostcells+1) 
    396             ! Characteristics method (only if ghostcells=1): 
    397             !alt            va_e(ji,2) = 0.5_wp * ( vbdy_s(ji) * hvr_e(ji,2) + va_e(ji,3) & 
    398             !alt                       &           - sqrt(grav * hvr_e(ji,2)) * (sshn_e(ji,3) - hbdy_s(ji)) ) 
     397            IF( umask(ji,2,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     398               ua_e(ji,2:nbghostcells+1) = ubdy_s(ji) * hur_e(ji,2:nbghostcells+1) 
     399               ! Specified fluxes: 
     400               va_e(ji,2:nbghostcells+1) = vbdy_s(ji) * hvr_e(ji,2:nbghostcells+1) 
     401               ! Characteristics method (only if ghostcells=1): 
     402               !alt            va_e(ji,2) = 0.5_wp * ( vbdy_s(ji) * hvr_e(ji,2) + va_e(ji,3) & 
     403               !alt                       &           - sqrt(grav * hvr_e(ji,2)) * (sshn_e(ji,3) - hbdy_s(ji)) ) 
     404            ENDIF 
    399405         END DO 
    400406      ENDIF 
     
    402408      IF((nbondj == 1).OR.(nbondj == 2)) THEN 
    403409         DO ji=1,jpi 
    404             ua_e(ji,nlcj-nbghostcells:nlcj)     = ubdy_n(ji) * hur_e(ji,nlcj-nbghostcells:nlcj) 
    405             ! Specified fluxes: 
    406             va_e(ji,nlcj-nbghostcells-1:nlcj-1) = vbdy_n(ji) * hvr_e(ji,nlcj-nbghostcells-1:nlcj-1) 
    407             ! Characteristics method (only if ghostcells=1): 
    408             !alt            va_e(ji,nlcj-2) = 0.5_wp * ( vbdy_n(ji) * hvr_e(ji,nlcj-2)  + va_e(ji,nlcj-3) & 
    409             !alt                            &           + sqrt(grav * hvr_e(ji,nlcj-2)) * (sshn_e(ji,nlcj-2) - hbdy_n(ji)) ) 
     410            IF( umask(ji,nlcj-1,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     411               ua_e(ji,nlcj-nbghostcells:nlcj-1)   = ubdy_n(ji) * hur_e(ji,nlcj-nbghostcells:nlcj-1) 
     412               ! Specified fluxes: 
     413               va_e(ji,nlcj-nbghostcells-1:nlcj-2) = vbdy_n(ji) * hvr_e(ji,nlcj-nbghostcells-1:nlcj-2) 
     414               ! Characteristics method (only if ghostcells=1): 
     415               !alt            va_e(ji,nlcj-2) = 0.5_wp * ( vbdy_n(ji) * hvr_e(ji,nlcj-2)  + va_e(ji,nlcj-3) & 
     416               !alt                            &           + sqrt(grav * hvr_e(ji,nlcj-2)) * (sshn_e(ji,nlcj-2) - hbdy_n(ji)) ) 
     417            ENDIF 
    410418         END DO 
    411419      ENDIF 
     
    488496         indx = 1+nbghostcells 
    489497         DO jj = 1, jpj 
    490             DO ji = 1, indx 
    491                ssha(ji,jj)=ssha(indx+1,jj) 
    492                sshn(ji,jj)=sshn(indx+1,jj) 
     498            DO ji = 2, indx 
     499               IF( tmask(2,jj,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     500                  ssha(ji,jj)=ssha(indx+1,jj) 
     501                  sshn(ji,jj)=sshn(indx+1,jj) 
     502               ENDIF 
    493503            ENDDO 
    494504         ENDDO 
     
    499509         indx = nlci-nbghostcells 
    500510         DO jj = 1, jpj 
    501             DO ji = indx, nlci 
    502                ssha(ji,jj)=ssha(indx-1,jj) 
    503                sshn(ji,jj)=sshn(indx-1,jj) 
     511            DO ji = indx, nlci-1 
     512               IF( tmask(nlci-1,jj,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     513                  ssha(ji,jj)=ssha(indx-1,jj) 
     514                  sshn(ji,jj)=sshn(indx-1,jj) 
     515               ENDIF 
    504516            ENDDO 
    505517         ENDDO 
     
    509521      IF((nbondj == -1).OR.(nbondj == 2)) THEN 
    510522         indx = 1+nbghostcells 
    511          DO jj = 1, indx 
     523         DO jj = 2, indx 
    512524            DO ji = 1, jpi 
    513                ssha(ji,jj)=ssha(ji,indx+1) 
    514                sshn(ji,jj)=sshn(ji,indx+1) 
     525               IF( tmask(ji,2,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     526                  ssha(ji,jj)=ssha(ji,indx+1) 
     527                  sshn(ji,jj)=sshn(ji,indx+1) 
     528               ENDIF 
    515529            ENDDO 
    516530         ENDDO 
     
    520534      IF((nbondj == 1).OR.(nbondj == 2)) THEN 
    521535         indx = nlcj-nbghostcells 
    522          DO jj = indx, nlcj 
     536         DO jj = indx, nlcj-1 
    523537            DO ji = 1, jpi 
    524                ssha(ji,jj)=ssha(ji,indx-1) 
    525                sshn(ji,jj)=sshn(ji,indx-1) 
     538               IF( tmask(ji,nlcj-1,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     539                  ssha(ji,jj)=ssha(ji,indx-1) 
     540                  sshn(ji,jj)=sshn(ji,indx-1) 
     541               ENDIF 
    526542            ENDDO 
    527543         ENDDO 
     
    542558      IF((nbondi == -1).OR.(nbondi == 2)) THEN 
    543559         DO jj = 1, jpj 
    544             ssha_e(1:nbghostcells+1,jj) = hbdy_w(jj) 
     560            IF( tmask(2,jj,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     561               ssha_e(2:nbghostcells+1,jj) = hbdy_w(jj) 
     562            ENDIF 
    545563         END DO 
    546564      ENDIF 
     
    548566      IF((nbondi == 1).OR.(nbondi == 2)) THEN 
    549567         DO jj = 1, jpj 
    550             ssha_e(nlci-nbghostcells:nlci,jj) = hbdy_e(jj) 
     568            IF( tmask(nlci-1,jj,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     569               ssha_e(nlci-nbghostcells:nlci-1,jj) = hbdy_e(jj) 
     570            ENDIF 
    551571         END DO 
    552572      ENDIF 
     
    554574      IF((nbondj == -1).OR.(nbondj == 2)) THEN 
    555575         DO ji = 1, jpi 
    556             ssha_e(ji,1:nbghostcells+1) = hbdy_s(ji) 
     576            IF( tmask(ji,2,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     577               ssha_e(ji,2:nbghostcells+1) = hbdy_s(ji) 
     578            ENDIF 
    557579         END DO 
    558580      ENDIF 
     
    560582      IF((nbondj == 1).OR.(nbondj == 2)) THEN 
    561583         DO ji = 1, jpi 
    562             ssha_e(ji,nlcj-nbghostcells:nlcj) = hbdy_n(ji) 
     584            IF( tmask(ji,nlcj-1,1) == 1._wp ) THEN !clem: avoid interpolation if coast at the boundary 
     585               ssha_e(ji,nlcj-nbghostcells:nlcj-1) = hbdy_n(ji) 
     586            ENDIF 
    563587         END DO 
    564588      ENDIF 
     
    608632      ELSE 
    609633         ! 
     634         western_side  = (nb == 1).AND.(ndir == 1)  ;  eastern_side  = (nb == 1).AND.(ndir == 2) 
     635         southern_side = (nb == 2).AND.(ndir == 1)  ;  northern_side = (nb == 2).AND.(ndir == 2) 
     636         ! 
    610637         IF( nbghostcells > 1 ) THEN  ! no smoothing 
    611638            tsa(i1:i2,j1:j2,k1:k2,n1:n2) = ptab(i1:i2,j1:j2,k1:k2,n1:n2) 
    612639         ELSE                         ! smoothing 
    613             ! 
    614             western_side  = (nb == 1).AND.(ndir == 1)  ;  eastern_side  = (nb == 1).AND.(ndir == 2) 
    615             southern_side = (nb == 2).AND.(ndir == 1)  ;  northern_side = (nb == 2).AND.(ndir == 2) 
    616640            ! 
    617641            zrhox = Agrif_Rhox() 
     
    744768         northern_side = (nb == 2).AND.(ndir == 2) 
    745769         !! clem ghost 
    746          IF(western_side)  hbdy_w(j1:j2) = ptab(i2,j1:j2) * tmask(i1,j1:j2,1) 
    747          IF(eastern_side)  hbdy_e(j1:j2) = ptab(i2,j1:j2) * tmask(i2,j1:j2,1) !clem previously i1 
     770         IF(western_side)  hbdy_w(j1:j2) = ptab(i2,j1:j2) * tmask(i2,j1:j2,1) 
     771         IF(eastern_side)  hbdy_e(j1:j2) = ptab(i1,j1:j2) * tmask(i1,j1:j2,1) !clem previously i1 
    748772         IF(southern_side) hbdy_s(i1:i2) = ptab(i1:i2,j2) * tmask(i1:i2,j2,1) !clem previously j1 
    749          IF(northern_side) hbdy_n(i1:i2) = ptab(i1:i2,j2) * tmask(i1:i2,j1,1) 
     773         IF(northern_side) hbdy_n(i1:i2) = ptab(i1:i2,j1) * tmask(i1:i2,j1,1) 
    750774      ENDIF 
    751775      ! 
     
    844868         ENDIF 
    845869         !! clem ghost    
    846          IF(western_side)   ubdy_w(j1:j2) = ubdy_w(j1:j2) + ztcoeff * ptab(i1,j1:j2)   
    847          IF(eastern_side)   ubdy_e(j1:j2) = ubdy_e(j1:j2) + ztcoeff * ptab(i2,j1:j2) !clem previously i1   
     870         IF(western_side)   ubdy_w(j1:j2) = ubdy_w(j1:j2) + ztcoeff * ptab(i2,j1:j2)   
     871         IF(eastern_side)   ubdy_e(j1:j2) = ubdy_e(j1:j2) + ztcoeff * ptab(i1,j1:j2) !clem previously i1   
    848872         IF(southern_side)  ubdy_s(i1:i2) = ubdy_s(i1:i2) + ztcoeff * ptab(i1:i2,j2) !clem previously j1 
    849873         IF(northern_side)  ubdy_n(i1:i2) = ubdy_n(i1:i2) + ztcoeff * ptab(i1:i2,j1)  
    850874         !             
    851875         IF( bdy_tinterp == 0 .OR. bdy_tinterp == 2) THEN 
    852             IF(western_side)   ubdy_w(j1:j2) = ubdy_w(j1:j2) / (zrhoy*e2u(i1,j1:j2)) * umask(i1,j1:j2,1) 
    853             IF(eastern_side)   ubdy_e(j1:j2) = ubdy_e(j1:j2) / (zrhoy*e2u(i2,j1:j2)) * umask(i2,j1:j2,1) 
     876            IF(western_side)   ubdy_w(j1:j2) = ubdy_w(j1:j2) / (zrhoy*e2u(i2,j1:j2)) * umask(i2,j1:j2,1) 
     877            IF(eastern_side)   ubdy_e(j1:j2) = ubdy_e(j1:j2) / (zrhoy*e2u(i1,j1:j2)) * umask(i1,j1:j2,1) 
    854878            IF(southern_side)  ubdy_s(i1:i2) = ubdy_s(i1:i2) / (zrhoy*e2u(i1:i2,j2)) * umask(i1:i2,j2,1) 
    855879            IF(northern_side)  ubdy_n(i1:i2) = ubdy_n(i1:i2) / (zrhoy*e2u(i1:i2,j1)) * umask(i1:i2,j1,1) 
     
    896920         ENDIF 
    897921         !! clem ghost 
    898          IF(western_side)   vbdy_w(j1:j2) = vbdy_w(j1:j2) + ztcoeff * ptab(i1,j1:j2)   
    899          IF(eastern_side)   vbdy_e(j1:j2) = vbdy_e(j1:j2) + ztcoeff * ptab(i2,j1:j2) !clem previously i1   
     922         IF(western_side)   vbdy_w(j1:j2) = vbdy_w(j1:j2) + ztcoeff * ptab(i2,j1:j2)   
     923         IF(eastern_side)   vbdy_e(j1:j2) = vbdy_e(j1:j2) + ztcoeff * ptab(i1,j1:j2) !clem previously i1   
    900924         IF(southern_side)  vbdy_s(i1:i2) = vbdy_s(i1:i2) + ztcoeff * ptab(i1:i2,j2) !clem previously j1 
    901925         IF(northern_side)  vbdy_n(i1:i2) = vbdy_n(i1:i2) + ztcoeff * ptab(i1:i2,j1)  
    902926         !             
    903927         IF( bdy_tinterp == 0 .OR. bdy_tinterp == 2) THEN 
    904             IF(western_side)   vbdy_w(j1:j2) = vbdy_w(j1:j2) / (zrhox*e1v(i1,j1:j2)) * vmask(i1,j1:j2,1) 
    905             IF(eastern_side)   vbdy_e(j1:j2) = vbdy_e(j1:j2) / (zrhox*e1v(i2,j1:j2)) * vmask(i2,j1:j2,1) 
     928            IF(western_side)   vbdy_w(j1:j2) = vbdy_w(j1:j2) / (zrhox*e1v(i2,j1:j2)) * vmask(i2,j1:j2,1) 
     929            IF(eastern_side)   vbdy_e(j1:j2) = vbdy_e(j1:j2) / (zrhox*e1v(i1,j1:j2)) * vmask(i1,j1:j2,1) 
    906930            IF(southern_side)  vbdy_s(i1:i2) = vbdy_s(i1:i2) / (zrhox*e1v(i1:i2,j2)) * vmask(i1:i2,j2,1) 
    907931            IF(northern_side)  vbdy_n(i1:i2) = vbdy_n(i1:i2) / (zrhox*e1v(i1:i2,j1)) * vmask(i1:i2,j1,1) 
     
    940964            &           - zt0**2._wp * (-2._wp*zt0 + 3._wp)    )  
    941965         !! clem ghost 
    942          IF(western_side ) ubdy_w(j1:j2) = zat * ptab(i1,j1:j2)   
    943          IF(eastern_side ) ubdy_e(j1:j2) = zat * ptab(i2,j1:j2) !clem previously i1   
     966         IF(western_side ) ubdy_w(j1:j2) = zat * ptab(i2,j1:j2)   
     967         IF(eastern_side ) ubdy_e(j1:j2) = zat * ptab(i1,j1:j2) !clem previously i1   
    944968         IF(southern_side) ubdy_s(i1:i2) = zat * ptab(i1:i2,j2) !clem previously j1 
    945969         IF(northern_side) ubdy_n(i1:i2) = zat * ptab(i1:i2,j1)  
     
    9781002            &           - zt0**2._wp * (-2._wp*zt0 + 3._wp)    )  
    9791003         ! 
    980          IF(western_side )   vbdy_w(j1:j2) = zat * ptab(i1,j1:j2)   
    981          IF(eastern_side )   vbdy_e(j1:j2) = zat * ptab(i2,j1:j2) !clem previously i1   
     1004         IF(western_side )   vbdy_w(j1:j2) = zat * ptab(i2,j1:j2)   
     1005         IF(eastern_side )   vbdy_e(j1:j2) = zat * ptab(i1,j1:j2) !clem previously i1   
    9821006         IF(southern_side)   vbdy_s(i1:i2) = zat * ptab(i1:i2,j2) !clem previously j1  
    9831007         IF(northern_side)   vbdy_n(i1:i2) = zat * ptab(i1:i2,j1)  
Note: See TracChangeset for help on using the changeset viewer.