Ignore:
Timestamp:
2019-08-20T14:14:56+02:00 (14 months ago)
Author:
acc
Message:

Branch: dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps_rewrite_time_filterswap. Minor bugfix in step.F90 to enable AGRIF SETTE tests to run. Also merged prettification changes to NST routines from the dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps branch. Neither AGRIF_DEMO nor VORTEX restart perfectly (drifting after 8 and 121 timesteps, respectively).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps_rewrite_time_filterswap/src/NST/agrif_oce_interp.F90

    r11099 r11463  
    110110            DO jk = 1, jpkm1 
    111111               DO jj = 1, jpj 
    112                   uu_b(ibdy1:ibdy2,jj,Krhs_a) = uu_b(ibdy1:ibdy2,jj,Krhs_a) &  
    113                       & + e3u(ibdy1:ibdy2,jj,jk,Krhs_a) * uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 
     112                  uu_b(ibdy1:ibdy2,jj,Krhs_a) = uu_b(ibdy1:ibdy2,jj,   Krhs_a) &  
     113                      &                        + e3u(ibdy1:ibdy2,jj,jk,Krhs_a) & 
     114                      &                        *  uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 
    114115               END DO 
    115116            END DO 
     
    122123            DO jk=1,jpkm1              ! Smooth 
    123124               DO jj=j1,j2 
    124                   uu(ibdy2,jj,jk,Krhs_a) = 0.25_wp*(uu(ibdy2-1,jj,jk,Krhs_a)+2._wp*uu(ibdy2,jj,jk,Krhs_a)+uu(ibdy2+1,jj,jk,Krhs_a)) 
     125                  uu(ibdy2,jj,jk,Krhs_a) = 0.25_wp*( uu(ibdy2-1,jj,jk,Krhs_a)+2._wp*uu(ibdy2,jj,jk,Krhs_a) & 
     126                      &                            + uu(ibdy2+1,jj,jk,Krhs_a) ) 
    125127               END DO 
    126128            END DO 
     
    130132         DO jk = 1, jpkm1 
    131133            DO jj = 1, jpj 
    132                zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) &  
    133                   & + e3u(ibdy1:ibdy2,jj,jk,Krhs_a)  * uu(ibdy1:ibdy2,jj,jk,Krhs_a)*umask(ibdy1:ibdy2,jj,jk) 
     134               zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj)           +   e3u(ibdy1:ibdy2,jj,jk,Krhs_a)  &  
     135                 &                  * uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 
    134136            END DO 
    135137         END DO 
     
    140142         DO jk = 1, jpkm1 
    141143            DO jj = 1, jpj 
    142                uu(ibdy1:ibdy2,jj,jk,Krhs_a) = ( uu(ibdy1:ibdy2,jj,jk,Krhs_a) & 
    143                  & + uu_b(ibdy1:ibdy2,jj,Krhs_a)-zub(ibdy1:ibdy2,jj)) * umask(ibdy1:ibdy2,jj,jk) 
     144               uu(ibdy1:ibdy2,jj,jk,Krhs_a) = (    uu(ibdy1:ibdy2,jj,jk,Krhs_a)   & 
     145                 &                             + uu_b(ibdy1:ibdy2,jj,   Krhs_a)   & 
     146                 &                             -  zub(ibdy1:ibdy2,jj)           ) & 
     147                 &                            * umask(ibdy1:ibdy2,jj,jk) 
    144148            END DO 
    145149         END DO 
     
    149153            DO jk = 1, jpkm1 
    150154               DO jj = 1, jpj 
    151                   zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) &  
    152                      & + e3v(ibdy1:ibdy2,jj,jk,Krhs_a) * vv(ibdy1:ibdy2,jj,jk,Krhs_a) * vmask(ibdy1:ibdy2,jj,jk) 
     155                  zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj)           +   e3v(ibdy1:ibdy2,jj,jk,Krhs_a)  & 
     156                    &                  * vv(ibdy1:ibdy2,jj,jk,Krhs_a) * vmask(ibdy1:ibdy2,jj,jk) 
    153157               END DO 
    154158            END DO 
     
    158162            DO jk = 1, jpkm1 
    159163               DO jj = 1, jpj 
    160                   vv(ibdy1:ibdy2,jj,jk,Krhs_a) = ( vv(ibdy1:ibdy2,jj,jk,Krhs_a) &  
    161                     & + vv_b(ibdy1:ibdy2,jj,Krhs_a)-zvb(ibdy1:ibdy2,jj))*vmask(ibdy1:ibdy2,jj,jk) 
     164                  vv(ibdy1:ibdy2,jj,jk,Krhs_a) = (    vv(ibdy1:ibdy2,jj,jk,Krhs_a)   &  
     165                    &                             + vv_b(ibdy1:ibdy2,jj,   Krhs_a)   & 
     166                    &                             -  zvb(ibdy1:ibdy2,jj)           ) & 
     167                    &                            * vmask(ibdy1:ibdy2,jj,jk) 
    162168               END DO 
    163169            END DO 
     
    181187            DO jk = 1, jpkm1 
    182188               DO jj = 1, jpj 
    183                   uu_b(ibdy1:ibdy2,jj,Krhs_a) = uu_b(ibdy1:ibdy2,jj,Krhs_a) &  
    184                       & + e3u(ibdy1:ibdy2,jj,jk,Krhs_a) * uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 
     189                  uu_b(ibdy1:ibdy2,jj,Krhs_a) =   uu_b(ibdy1:ibdy2,jj,   Krhs_a) &  
     190                      &                        +   e3u(ibdy1:ibdy2,jj,jk,Krhs_a) & 
     191                      &                        *    uu(ibdy1:ibdy2,jj,jk,Krhs_a) & 
     192                      &                        * umask(ibdy1:ibdy2,jj,jk) 
    185193               END DO 
    186194            END DO 
     
    193201            DO jk=1,jpkm1              ! Smooth 
    194202               DO jj=j1,j2 
    195                   uu(ibdy1,jj,jk,Krhs_a) = 0.25_wp*(uu(ibdy1-1,jj,jk,Krhs_a)+2._wp*uu(ibdy1,jj,jk,Krhs_a)+uu(ibdy1+1,jj,jk,Krhs_a)) 
     203                  uu(ibdy1,jj,jk,Krhs_a) = 0.25_wp*(        uu(ibdy1-1,jj,jk,Krhs_a)  & 
     204                    &                               + 2._wp*uu(ibdy1  ,jj,jk,Krhs_a)  & 
     205                    &                                     + uu(ibdy1+1,jj,jk,Krhs_a) ) 
    196206               END DO 
    197207            END DO 
     
    201211         DO jk = 1, jpkm1 
    202212            DO jj = 1, jpj 
    203                zub(ibdy1:ibdy2,jj) = zub(ibdy1:ibdy2,jj) &  
    204                   & + e3u(ibdy1:ibdy2,jj,jk,Krhs_a)  * uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 
     213               zub(ibdy1:ibdy2,jj) =  zub(ibdy1:ibdy2,jj)                                      &  
     214                  &                 + e3u(ibdy1:ibdy2,jj,jk,Krhs_a)                            & 
     215                  &                 *  uu(ibdy1:ibdy2,jj,jk,Krhs_a) * umask(ibdy1:ibdy2,jj,jk) 
    205216            END DO 
    206217         END DO 
     
    211222         DO jk = 1, jpkm1 
    212223            DO jj = 1, jpj 
    213                uu(ibdy1:ibdy2,jj,jk,Krhs_a) = ( uu(ibdy1:ibdy2,jj,jk,Krhs_a) &  
    214                  & + uu_b(ibdy1:ibdy2,jj,Krhs_a)-zub(ibdy1:ibdy2,jj))*umask(ibdy1:ibdy2,jj,jk) 
     224               uu(ibdy1:ibdy2,jj,jk,Krhs_a) = (      uu(ibdy1:ibdy2,jj,jk,Krhs_a) &  
     225                 &                             +   uu_b(ibdy1:ibdy2,jj,   Krhs_a) & 
     226                 &                             -    zub(ibdy1:ibdy2,jj)           & 
     227                 &                            ) * umask(ibdy1:ibdy2,jj,jk) 
    215228            END DO 
    216229         END DO 
     
    222235            DO jk = 1, jpkm1 
    223236               DO jj = 1, jpj 
    224                   zvb(ibdy1:ibdy2,jj) = zvb(ibdy1:ibdy2,jj) & 
    225                      & + e3v(ibdy1:ibdy2,jj,jk,Krhs_a) * vv(ibdy1:ibdy2,jj,jk,Krhs_a) * vmask(ibdy1:ibdy2,jj,jk) 
     237                  zvb(ibdy1:ibdy2,jj) =    zvb(ibdy1:ibdy2,jj)                     & 
     238                     &                 +   e3v(ibdy1:ibdy2,jj,jk,Krhs_a)           & 
     239                     &                 *    vv(ibdy1:ibdy2,jj,jk,Krhs_a)           & 
     240                     &                 * vmask(ibdy1:ibdy2,jj,jk) 
    226241               END DO 
    227242            END DO 
     
    231246            DO jk = 1, jpkm1 
    232247               DO jj = 1, jpj 
    233                   vv(ibdy1:ibdy2,jj,jk,Krhs_a) = ( vv(ibdy1:ibdy2,jj,jk,Krhs_a) &  
    234                       & + vv_b(ibdy1:ibdy2,jj,Krhs_a)-zvb(ibdy1:ibdy2,jj)) * vmask(ibdy1:ibdy2,jj,jk) 
     248                  vv(ibdy1:ibdy2,jj,jk,Krhs_a) = (      vv(ibdy1:ibdy2,jj,jk,Krhs_a) &  
     249                      &                           +   vv_b(ibdy1:ibdy2,jj,   Krhs_a) & 
     250                      &                           -    zvb(ibdy1:ibdy2,jj)           & 
     251                      &                          ) * vmask(ibdy1:ibdy2,jj,jk) 
    235252               END DO 
    236253            END DO 
     
    254271            DO jk = 1, jpkm1 
    255272               DO ji = 1, jpi 
    256                   vv_b(ji,jbdy1:jbdy2,Krhs_a) = vv_b(ji,jbdy1:jbdy2,Krhs_a) &  
    257                       & + e3v(ji,jbdy1:jbdy2,jk,Krhs_a) * vv(ji,jbdy1:jbdy2,jk,Krhs_a) * vmask(ji,jbdy1:jbdy2,jk) 
     273                  vv_b(ji,jbdy1:jbdy2,Krhs_a) =   vv_b(ji,jbdy1:jbdy2,   Krhs_a) &  
     274                      &                        +   e3v(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     275                      &                        *    vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     276                      &                        * vmask(ji,jbdy1:jbdy2,jk) 
    258277               END DO 
    259278            END DO 
     
    266285            DO jk = 1, jpkm1           ! Smooth 
    267286               DO ji = i1, i2 
    268                   vv(ji,jbdy2,jk,Krhs_a) = 0.25_wp*(vv(ji,jbdy2-1,jk,Krhs_a)+2._wp*vv(ji,jbdy2,jk,Krhs_a)+vv(ji,jbdy2+1,jk,Krhs_a)) 
     287                  vv(ji,jbdy2,jk,Krhs_a) = 0.25_wp*(        vv(ji,jbdy2-1,jk,Krhs_a)  & 
     288                    &                               + 2._wp*vv(ji,jbdy2  ,jk,Krhs_a)  & 
     289                    &                               +       vv(ji,jbdy2+1,jk,Krhs_a) ) 
    269290               END DO 
    270291            END DO 
     
    274295         DO jk=1,jpkm1 
    275296            DO ji=1,jpi 
    276                zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) &  
    277                   & + e3v(ji,jbdy1:jbdy2,jk,Krhs_a) * vv(ji,jbdy1:jbdy2,jk,Krhs_a) * vmask(ji,jbdy1:jbdy2,jk) 
     297               zvb(ji,jbdy1:jbdy2) =    zvb(ji,jbdy1:jbdy2)           &  
     298                  &                 +   e3v(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     299                  &                 *    vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     300                  &                 * vmask(ji,jbdy1:jbdy2,jk) 
    278301            END DO 
    279302         END DO 
     
    284307         DO jk = 1, jpkm1 
    285308            DO ji = 1, jpi 
    286                vv(ji,jbdy1:jbdy2,jk,Krhs_a) = ( vv(ji,jbdy1:jbdy2,jk,Krhs_a) &  
    287                  & + vv_b(ji,jbdy1:jbdy2,Krhs_a) - zvb(ji,jbdy1:jbdy2) ) * vmask(ji,jbdy1:jbdy2,jk) 
     309               vv(ji,jbdy1:jbdy2,jk,Krhs_a) = (      vv(ji,jbdy1:jbdy2,jk,Krhs_a) &  
     310                 &                             +   vv_b(ji,jbdy1:jbdy2,   Krhs_a) & 
     311                 &                             -    zvb(ji,jbdy1:jbdy2)           & 
     312                 &                            ) * vmask(ji,jbdy1:jbdy2,jk) 
    288313            END DO 
    289314         END DO 
     
    293318            DO jk = 1, jpkm1 
    294319               DO ji = 1, jpi 
    295                   zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) &  
    296                      & + e3u(ji,jbdy1:jbdy2,jk,Krhs_a) * uu(ji,jbdy1:jbdy2,jk,Krhs_a) * umask(ji,jbdy1:jbdy2,jk) 
     320                  zub(ji,jbdy1:jbdy2) =    zub(ji,jbdy1:jbdy2)           &  
     321                     &                 +   e3u(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     322                     &                 *    uu(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     323                     &                 * umask(ji,jbdy1:jbdy2,jk) 
    297324               END DO 
    298325            END DO 
     
    303330            DO jk = 1, jpkm1 
    304331               DO ji = 1, jpi 
    305                   uu(ji,jbdy1:jbdy2,jk,Krhs_a) = ( uu(ji,jbdy1:jbdy2,jk,Krhs_a) &  
    306                     & + uu_b(ji,jbdy1:jbdy2,Krhs_a) - zub(ji,jbdy1:jbdy2) ) * umask(ji,jbdy1:jbdy2,jk) 
     332                  uu(ji,jbdy1:jbdy2,jk,Krhs_a) = (      uu(ji,jbdy1:jbdy2,jk,Krhs_a) &  
     333                    &                             +   uu_b(ji,jbdy1:jbdy2,   Krhs_a) & 
     334                    &                             -    zub(ji,jbdy1:jbdy2)           & 
     335                    &                            ) * umask(ji,jbdy1:jbdy2,jk) 
    307336               END DO 
    308337            END DO 
     
    326355            DO jk = 1, jpkm1 
    327356               DO ji = 1, jpi 
    328                   vv_b(ji,jbdy1:jbdy2,Krhs_a) = vv_b(ji,jbdy1:jbdy2,Krhs_a) &  
    329                       & + e3v(ji,jbdy1:jbdy2,jk,Krhs_a) * vv(ji,jbdy1:jbdy2,jk,Krhs_a) * vmask(ji,jbdy1:jbdy2,jk) 
     357                  vv_b(ji,jbdy1:jbdy2,Krhs_a) =   vv_b(ji,jbdy1:jbdy2,   Krhs_a) &  
     358                      &                        +   e3v(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     359                      &                        *    vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     360                      &                        * vmask(ji,jbdy1:jbdy2,jk) 
    330361               END DO 
    331362            END DO 
     
    338369            DO jk = 1, jpkm1           ! Smooth 
    339370               DO ji = i1, i2 
    340                   vv(ji,jbdy1,jk,Krhs_a) = 0.25_wp*(vv(ji,jbdy1-1,jk,Krhs_a)+2._wp*vv(ji,jbdy1,jk,Krhs_a)+vv(ji,jbdy1+1,jk,Krhs_a)) 
     371                  vv(ji,jbdy1,jk,Krhs_a) = 0.25_wp*(        vv(ji,jbdy1-1,jk,Krhs_a)  & 
     372                    &                               + 2._wp*vv(ji,jbdy1  ,jk,Krhs_a)  & 
     373                    &                               +       vv(ji,jbdy1+1,jk,Krhs_a) ) 
    341374               END DO 
    342375            END DO 
     
    346379         DO jk=1,jpkm1 
    347380            DO ji=1,jpi 
    348                zvb(ji,jbdy1:jbdy2) = zvb(ji,jbdy1:jbdy2) &  
    349                   & + e3v(ji,jbdy1:jbdy2,jk,Krhs_a) * vv(ji,jbdy1:jbdy2,jk,Krhs_a) * vmask(ji,jbdy1:jbdy2,jk) 
     381               zvb(ji,jbdy1:jbdy2) =    zvb(ji,jbdy1:jbdy2)           &  
     382                  &                 +   e3v(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     383                  &                 *    vv(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     384                  &                 * vmask(ji,jbdy1:jbdy2,jk) 
    350385            END DO 
    351386         END DO 
     
    356391         DO jk = 1, jpkm1 
    357392            DO ji = 1, jpi 
    358                vv(ji,jbdy1:jbdy2,jk,Krhs_a) = ( vv(ji,jbdy1:jbdy2,jk,Krhs_a) &  
    359                  & + vv_b(ji,jbdy1:jbdy2,Krhs_a) - zvb(ji,jbdy1:jbdy2) ) * vmask(ji,jbdy1:jbdy2,jk) 
     393               vv(ji,jbdy1:jbdy2,jk,Krhs_a) = (      vv(ji,jbdy1:jbdy2,jk,Krhs_a) &  
     394                 &                             +   vv_b(ji,jbdy1:jbdy2,   Krhs_a) & 
     395                 &                             -    zvb(ji,jbdy1:jbdy2)           & 
     396                 &                            ) * vmask(ji,jbdy1:jbdy2,jk) 
    360397            END DO 
    361398         END DO 
     
    367404            DO jk = 1, jpkm1 
    368405               DO ji = 1, jpi 
    369                   zub(ji,jbdy1:jbdy2) = zub(ji,jbdy1:jbdy2) &  
    370                      & + e3u(ji,jbdy1:jbdy2,jk,Krhs_a) * uu(ji,jbdy1:jbdy2,jk,Krhs_a) * umask(ji,jbdy1:jbdy2,jk) 
     406                  zub(ji,jbdy1:jbdy2) =    zub(ji,jbdy1:jbdy2)           &  
     407                     &                 +   e3u(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     408                     &                 *    uu(ji,jbdy1:jbdy2,jk,Krhs_a) & 
     409                     &                 * umask(ji,jbdy1:jbdy2,jk) 
    371410               END DO 
    372411            END DO 
     
    377416            DO jk = 1, jpkm1 
    378417               DO ji = 1, jpi 
    379                   uu(ji,jbdy1:jbdy2,jk,Krhs_a) = ( uu(ji,jbdy1:jbdy2,jk,Krhs_a) &  
    380                     & + uu_b(ji,jbdy1:jbdy2,Krhs_a) - zub(ji,jbdy1:jbdy2) ) * umask(ji,jbdy1:jbdy2,jk) 
     418                  uu(ji,jbdy1:jbdy2,jk,Krhs_a) = (      uu(ji,jbdy1:jbdy2,jk,Krhs_a) &  
     419                    &                             +   uu_b(ji,jbdy1:jbdy2,   Krhs_a) & 
     420                    &                             -    zub(ji,jbdy1:jbdy2)           & 
     421                    &                            ) * umask(ji,jbdy1:jbdy2,jk) 
    381422               END DO 
    382423            END DO 
     
    684725               iref = ji 
    685726               jref = jj 
    686                if(western_side) iref=MAX(2,ji) 
    687                if(eastern_side) iref=MIN(nlci-1,ji) 
    688                if(southern_side) jref=MAX(2,jj) 
     727               if(western_side)  iref=MAX(2     ,ji) 
     728               if(eastern_side)  iref=MIN(nlci-1,ji) 
     729               if(southern_side) jref=MAX(2     ,jj) 
    689730               if(northern_side) jref=MIN(nlcj-1,jj) 
    690731               N_in = 0 
     
    693734                  N_in = N_in + 1 
    694735                  tabin(jk,:) = ptab(ji,jj,jk,n1:n2-1) 
    695                   h_in(N_in) = ptab(ji,jj,jk,n2) 
     736                  h_in(N_in)  = ptab(ji,jj,jk,n2) 
    696737               END DO 
    697738               N_out = 0 
     
    722763            !  
    723764            ! Remove CORNERS 
    724             IF((nbondj == -1).OR.(nbondj == 2)) jmin = 2 + nbghostcells 
     765            IF((nbondj == -1).OR.(nbondj == 2)) jmin = 2    + nbghostcells 
    725766            IF((nbondj == +1).OR.(nbondj == 2)) jmax = nlcj - nbghostcells - 1 
    726             IF((nbondi == -1).OR.(nbondi == 2)) imin = 2 + nbghostcells 
     767            IF((nbondi == -1).OR.(nbondi == 2)) imin = 2    + nbghostcells 
    727768            IF((nbondi == +1).OR.(nbondi == 2)) imax = nlci - nbghostcells - 1       
    728769            ! 
     
    737778               ibdy = nlci-nbghostcells 
    738779               DO jn = 1, jpts 
    739                   ts(ibdy+1,jmin:jmax,1:jpkm1,jn,Krhs_a) = z1 * ptab_child(ibdy+1,jmin:jmax,1:jpkm1,jn) + z2 * ptab_child(ibdy,jmin:jmax,1:jpkm1,jn) 
     780                  ts(ibdy+1,jmin:jmax,1:jpkm1,jn,Krhs_a) =  z1 * ptab_child(ibdy+1,jmin:jmax,1:jpkm1,jn) & 
     781                    &                                     + z2 * ptab_child(ibdy  ,jmin:jmax,1:jpkm1,jn) 
    740782                  DO jk = 1, jpkm1 
    741783                     DO jj = jmin,jmax 
     
    743785                           ts(ibdy,jj,jk,jn,Krhs_a) = ts(ibdy+1,jj,jk,jn,Krhs_a) * tmask(ibdy,jj,jk) 
    744786                        ELSE 
    745                            ts(ibdy,jj,jk,jn,Krhs_a)=(z4*ts(ibdy+1,jj,jk,jn,Krhs_a)+z3*ts(ibdy-1,jj,jk,jn,Krhs_a))*tmask(ibdy,jj,jk) 
     787                           ts(ibdy,jj,jk,jn,Krhs_a) = (   z4 * ts(ibdy+1,jj,jk,jn,Krhs_a) & 
     788                    &                                  +  z3 * ts(ibdy-1,jj,jk,jn,Krhs_a) & 
     789                    &                                 ) *   tmask(ibdy  ,jj,jk) 
    746790                           IF( uu(ibdy-1,jj,jk,Kmm_a) > 0._wp ) THEN 
    747                               ts(ibdy,jj,jk,jn,Krhs_a)=( z6*ts(ibdy-1,jj,jk,jn,Krhs_a)+z5*ts(ibdy+1,jj,jk,jn,Krhs_a) &  
    748                                                  + z7*ts(ibdy-2,jj,jk,jn,Krhs_a) ) * tmask(ibdy,jj,jk) 
     791                              ts(ibdy,jj,jk,jn,Krhs_a) = (  z6 * ts(ibdy-1,jj,jk,jn,Krhs_a) & 
     792                    &                                     + z5 * ts(ibdy+1,jj,jk,jn,Krhs_a) &  
     793                    &                                     + z7 * ts(ibdy-2,jj,jk,jn,Krhs_a) & 
     794                    &                                    ) *  tmask(ibdy  ,jj,jk) 
    749795                           ENDIF 
    750796                        ENDIF 
     
    752798                  END DO 
    753799                  ! Restore ghost points: 
    754                   ts(ibdy+1,jmin:jmax,1:jpkm1,jn,Krhs_a) = ptab_child(ibdy+1,jmin:jmax,1:jpkm1,jn) * tmask(ibdy+1,jmin:jmax,1:jpkm1) 
     800                  ts(ibdy+1,jmin:jmax,1:jpkm1,jn,Krhs_a) = ptab_child(ibdy+1,jmin:jmax,1:jpkm1,jn) & 
     801                    &                                     *     tmask(ibdy+1,jmin:jmax,1:jpkm1) 
    755802               END DO 
    756803            ENDIF 
     
    766813               jbdy = nlcj-nbghostcells          
    767814               DO jn = 1, jpts 
    768                   ts(imin:imax,jbdy+1,1:jpkm1,jn,Krhs_a) = z1 * ptab_child(imin:imax,jbdy+1,1:jpkm1,jn) + z2 * ptab_child(imin:imax,jbdy,1:jpkm1,jn) 
     815                  ts(imin:imax,jbdy+1,1:jpkm1,jn,Krhs_a) =  z1 * ptab_child(imin:imax,jbdy+1,1:jpkm1,jn) & 
     816                    &                                     + z2 * ptab_child(imin:imax,jbdy  ,1:jpkm1,jn) 
    769817                  DO jk = 1, jpkm1 
    770818                     DO ji = imin,imax 
     
    772820                           ts(ji,jbdy,jk,jn,Krhs_a) = ts(ji,jbdy+1,jk,jn,Krhs_a) * tmask(ji,jbdy,jk) 
    773821                        ELSE 
    774                            ts(ji,jbdy,jk,jn,Krhs_a)=(z4*ts(ji,jbdy+1,jk,jn,Krhs_a)+z3*ts(ji,jbdy-1,jk,jn,Krhs_a))*tmask(ji,jbdy,jk)         
     822                           ts(ji,jbdy,jk,jn,Krhs_a)=(  z4 * ts(ji,jbdy+1,jk,jn,Krhs_a)   & 
     823                    &                                + z3 * ts(ji,jbdy-1,jk,jn,Krhs_a)   & 
     824                    &                               ) *  tmask(ji,jbdy  ,jk)         
    775825                           IF (vv(ji,jbdy-1,jk,Kmm_a) > 0._wp ) THEN 
    776                               ts(ji,jbdy,jk,jn,Krhs_a)=( z6*ts(ji,jbdy-1,jk,jn,Krhs_a)+z5*ts(ji,jbdy+1,jk,jn,Krhs_a)  & 
    777                                                  + z7*ts(ji,jbdy-2,jk,jn,Krhs_a) ) * tmask(ji,jbdy,jk) 
     826                              ts(ji,jbdy,jk,jn,Krhs_a)=(  z6 * ts(ji,jbdy-1,jk,jn,Krhs_a) & 
     827                    &                                   + z5 * ts(ji,jbdy+1,jk,jn,Krhs_a) & 
     828                    &                                   + z7 * ts(ji,jbdy-2,jk,jn,Krhs_a) & 
     829                    &                                  ) *  tmask(ji,jbdy  ,jk) 
    778830                           ENDIF 
    779831                        ENDIF 
     
    781833                  END DO 
    782834                  ! Restore ghost points: 
    783                   ts(imin:imax,jbdy+1,1:jpkm1,jn,Krhs_a) = ptab_child(imin:imax,jbdy+1,1:jpkm1,jn) * tmask(imin:imax,jbdy+1,1:jpkm1) 
     835                  ts(imin:imax,jbdy+1,1:jpkm1,jn,Krhs_a) = ptab_child(imin:imax,jbdy+1,1:jpkm1,jn) & 
     836                    &                                     *     tmask(imin:imax,jbdy+1,1:jpkm1) 
    784837               END DO 
    785838            ENDIF 
     
    795848               ibdy = 1+nbghostcells        
    796849               DO jn = 1, jpts 
    797                   ts(ibdy-1,jmin:jmax,1:jpkm1,jn,Krhs_a) = z1 * ptab_child(ibdy-1,jmin:jmax,1:jpkm1,jn) + z2 * ptab_child(ibdy,jmin:jmax,1:jpkm1,jn) 
     850                  ts(ibdy-1,jmin:jmax,1:jpkm1,jn,Krhs_a) =  z1 * ptab_child(ibdy-1,jmin:jmax,1:jpkm1,jn) & 
     851                    &                                     + z2 * ptab_child(ibdy  ,jmin:jmax,1:jpkm1,jn) 
    798852                  DO jk = 1, jpkm1 
    799853                     DO jj = jmin,jmax 
     
    801855                           ts(ibdy,jj,jk,jn,Krhs_a) = ts(ibdy-1,jj,jk,jn,Krhs_a) * tmask(ibdy,jj,jk) 
    802856                        ELSE 
    803                            ts(ibdy,jj,jk,jn,Krhs_a)=(z4*ts(ibdy-1,jj,jk,jn,Krhs_a)+z3*ts(ibdy+1,jj,jk,jn,Krhs_a))*tmask(ibdy,jj,jk)         
     857                           ts(ibdy,jj,jk,jn,Krhs_a) = (  z4 * ts(ibdy-1,jj,jk,jn,Krhs_a) & 
     858                    &                                  + z3 * ts(ibdy+1,jj,jk,jn,Krhs_a) & 
     859                    &                                 ) *  tmask(ibdy  ,jj,jk)         
    804860                           IF( uu(ibdy,jj,jk,Kmm_a) < 0._wp ) THEN 
    805                               ts(ibdy,jj,jk,jn,Krhs_a)=( z6*ts(ibdy+1,jj,jk,jn,Krhs_a)+z5*ts(ibdy-1,jj,jk,jn,Krhs_a) & 
    806                                                  + z7*ts(ibdy+2,jj,jk,jn,Krhs_a) ) * tmask(ibdy,jj,jk) 
     861                              ts(ibdy,jj,jk,jn,Krhs_a) = (  z6 * ts(ibdy+1,jj,jk,jn,Krhs_a) & 
     862                    &                                     + z5 * ts(ibdy-1,jj,jk,jn,Krhs_a) & 
     863                    &                                     + z7 * ts(ibdy+2,jj,jk,jn,Krhs_a) & 
     864                    &                                    ) *  tmask(ibdy,jj,jk) 
    807865                           ENDIF 
    808866                        ENDIF 
     
    810868                  END DO 
    811869                  ! Restore ghost points: 
    812                   ts(ibdy-1,jmin:jmax,1:jpkm1,jn,Krhs_a) = ptab_child(ibdy-1,jmin:jmax,1:jpkm1,jn) * tmask(ibdy-1,jmin:jmax,1:jpkm1) 
     870                  ts(ibdy-1,jmin:jmax,1:jpkm1,jn,Krhs_a) = ptab_child(ibdy-1,jmin:jmax,1:jpkm1,jn) & 
     871                    &                                     *     tmask(ibdy-1,jmin:jmax,1:jpkm1) 
    813872               END DO 
    814873            ENDIF 
     
    824883               jbdy=1+nbghostcells         
    825884               DO jn = 1, jpts 
    826                   ts(imin:imax,jbdy-1,1:jpkm1,jn,Krhs_a) = z1 * ptab_child(imin:imax,jbdy-1,1:jpkm1,jn) + z2 * ptab_child(imin:imax,jbdy,1:jpkm1,jn) 
     885                  ts(imin:imax,jbdy-1,1:jpkm1,jn,Krhs_a) =  z1 * ptab_child(imin:imax,jbdy-1,1:jpkm1,jn) & 
     886                    &                                     + z2 * ptab_child(imin:imax,jbdy  ,1:jpkm1,jn) 
    827887                  DO jk = 1, jpkm1       
    828888                     DO ji = imin,imax 
    829889                        IF( vmask(ji,jbdy,jk) == 0._wp ) THEN 
    830                            ts(ji,jbdy,jk,jn,Krhs_a)=ts(ji,jbdy-1,jk,jn,Krhs_a) * tmask(ji,jbdy,jk) 
     890                           ts(ji,jbdy,jk,jn,Krhs_a) = ts(ji,jbdy-1,jk,jn,Krhs_a) * tmask(ji,jbdy,jk) 
    831891                        ELSE 
    832                            ts(ji,jbdy,jk,jn,Krhs_a)=(z4*ts(ji,jbdy-1,jk,jn,Krhs_a)+z3*ts(ji,jbdy+1,jk,jn,Krhs_a))*tmask(ji,jbdy,jk) 
     892                           ts(ji,jbdy,jk,jn,Krhs_a) = (  z4 * ts(ji,jbdy-1,jk,jn,Krhs_a) & 
     893                    &                                  + z3 * ts(ji,jbdy+1,jk,jn,Krhs_a) & 
     894                    &                                 ) *  tmask(ji,jbdy  ,jk) 
    833895                           IF( vv(ji,jbdy,jk,Kmm_a) < 0._wp ) THEN 
    834                               ts(ji,jbdy,jk,jn,Krhs_a)=( z6*ts(ji,jbdy+1,jk,jn,Krhs_a)+z5*ts(ji,jbdy-1,jk,jn,Krhs_a) &  
    835                                                  + z7*ts(ji,jbdy+2,jk,jn,Krhs_a) ) * tmask(ji,jbdy,jk) 
     896                              ts(ji,jbdy,jk,jn,Krhs_a) = (  z6 * ts(ji,jbdy+1,jk,jn,Krhs_a) & 
     897                    &                                     + z5 * ts(ji,jbdy-1,jk,jn,Krhs_a) &  
     898                    &                                     + z7 * ts(ji,jbdy+2,jk,jn,Krhs_a) & 
     899                    &                                    ) *  tmask(ji,jbdy  ,jk) 
    836900                           ENDIF 
    837901                        ENDIF 
     
    839903                  END DO 
    840904                  ! Restore ghost points: 
    841                   ts(imin:imax,jbdy-1,1:jpkm1,jn,Krhs_a) = ptab_child(imin:imax,jbdy-1,1:jpkm1,jn) * tmask(imin:imax,jbdy-1,1:jpkm1) 
     905                  ts(imin:imax,jbdy-1,1:jpkm1,jn,Krhs_a) = ptab_child(imin:imax,jbdy-1,1:jpkm1,jn) & 
     906                    &                                     *     tmask(imin:imax,jbdy-1,1:jpkm1) 
    842907               END DO 
    843908            ENDIF 
     
    900965            DO jj=j1,j2 
    901966               DO ji=i1,i2 
    902                   ptab(ji,jj,jk,1) = (e2u(ji,jj) * e3u(ji,jj,jk,Kmm_a) * uu(ji,jj,jk,Kmm_a)*umask(ji,jj,jk))  
     967                  ptab(ji,jj,jk,1) = (  e2u(ji,jj)          *   e3u(ji,jj,jk,Kmm_a)  & 
     968                    &                 *  uu(ji,jj,jk,Kmm_a) * umask(ji,jj,jk)      )  
    903969# if defined key_vertical 
    904970                  ptab(ji,jj,jk,2) = (umask(ji,jj,jk) * e2u(ji,jj) * e3u(ji,jj,jk,Kmm_a)) 
     
    923989                  IF (ptab(ji,jj,jk,2) == 0) EXIT 
    924990                  N_in = N_in + 1 
    925                   tabin(jk) = ptab(ji,jj,jk,1)/ptab(ji,jj,jk,2) 
     991                  tabin(jk)  = ptab(ji,jj,jk,1)/ptab(ji,jj,jk,2) 
    926992                  h_in(N_in) = ptab(ji,jj,jk,2)/(e2u(ji,jj)*zrhoy)  
    927993              ENDDO 
     
    9451011          
    9461012              IF (N_in * N_out > 0) THEN 
    947                  h_diff = sum(h_out(1:N_out))-sum(h_in(1:N_in)) 
     1013                 h_diff = SUM( h_out(1:N_out) ) - SUM( h_in(1:N_in) ) 
    9481014! Should be able to remove the next IF/ELSEIF statement once scale factors are dealt with properly 
    9491015                 if (h_diff < -1.e4) then 
    950                     print *,'CHECK YOUR BATHY ...', h_diff, sum(h_out(1:N_out)), sum(h_in(1:N_in)) 
     1016                    print *,'CHECK YOUR BATHY ...', h_diff, SUM( h_out(1:N_out) ), SUM( h_in(1:N_in) ) 
    9511017!                    stop 
    9521018                 endif 
    9531019              ENDIF 
    954               call reconstructandremap(tabin(1:N_in),h_in(1:N_in),uu(ji,jj,1:N_out,Krhs_a),h_out(1:N_out),N_in,N_out) 
     1020              call reconstructandremap( tabin(1:N_in) , h_in(1:N_in), uu(ji,jj,1:N_out,Krhs_a), & 
     1021                    &                   h_out(1:N_out), N_in        , N_out                    ) 
    9551022            ENDDO 
    9561023         ENDDO 
     
    9921059            DO jj=j1,j2 
    9931060               DO ji=i1,i2 
    994                   ptab(ji,jj,jk,1) = (e1v(ji,jj) * e3v(ji,jj,jk,Kmm_a) * vv(ji,jj,jk,Kmm_a)*vmask(ji,jj,jk)) 
     1061                  ptab(ji,jj,jk,1) = (  e1v(ji,jj)          *   e3v(ji,jj,jk,Kmm_a) & 
     1062                    &                 *  vv(ji,jj,jk,Kmm_a) * vmask(ji,jj,jk)      ) 
    9951063# if defined key_vertical 
    9961064                  ptab(ji,jj,jk,2) = vmask(ji,jj,jk) * e1v(ji,jj) * e3v(ji,jj,jk,Kmm_a) 
     
    10151083                  if (ptab(ji,jj,jk,2) == 0) EXIT 
    10161084                  N_in = N_in + 1 
    1017                   tabin(jk) = ptab(ji,jj,jk,1)/ptab(ji,jj,jk,2) 
     1085                  tabin(jk)  = ptab(ji,jj,jk,1)/ptab(ji,jj,jk,2) 
    10181086                  h_in(N_in) = ptab(ji,jj,jk,2)/(e1v(ji,jj)*zrhox) 
    10191087               END DO 
     
    10331101                 CYCLE 
    10341102               ENDIF 
    1035                call reconstructandremap(tabin(1:N_in),h_in(1:N_in),vv(ji,jj,1:N_out,Krhs_a),h_out(1:N_out),N_in,N_out) 
     1103               call reconstructandremap( tabin(1:N_in) , h_in(1:N_in), vv(ji,jj,1:N_out,Krhs_a), & 
     1104                    &                    h_out(1:N_out), N_in        , N_out                    ) 
    10361105            END DO 
    10371106         END DO 
Note: See TracChangeset for help on using the changeset viewer.