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 8214 for branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/NST_SRC – NEMO

Ignore:
Timestamp:
2017-06-25T11:54:36+02:00 (7 years ago)
Author:
gm
Message:

#1883 (HPC-09) - correction of minor issues

Location:
branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/NST_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/NST_SRC/agrif_oce.F90

    r7953 r8214  
    4444   LOGICAL , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tabspongedone_u 
    4545   LOGICAL , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tabspongedone_v 
    46    REAL(wp), PUBLIC, ALLOCATABLE, SAVE,  DIMENSION(:,:) :: fsaht_spu, fsaht_spv !: sponge diffusivities 
    47    REAL(wp), PUBLIC, ALLOCATABLE, SAVE,  DIMENSION(:,:) :: fsahm_spt, fsahm_spf !: sponge viscosities 
     46   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fsaht_spu, fsaht_spv !: sponge diffusivities 
     47   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fsahm_spt, fsahm_spf !: sponge viscosities 
     48 
     49!!gm   add PUBLIC in all variable below:  should we need to add it 
    4850 
    4951   ! Barotropic arrays used to store open boundary data during time-splitting loop: 
    50    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_w, vbdy_w, hbdy_w 
    51    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_e, vbdy_e, hbdy_e 
    52    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_n, vbdy_n, hbdy_n 
    53    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_s, vbdy_s, hbdy_s 
     52   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_w, vbdy_w, hbdy_w 
     53   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_e, vbdy_e, hbdy_e 
     54   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_n, vbdy_n, hbdy_n 
     55   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::  ubdy_s, vbdy_s, hbdy_s 
    5456 
    55 !!gm   add PUBLIC in all variable below: 
    5657 
    5758   INTEGER, PUBLIC :: tsn_id                                                  ! AGRIF profile for tracers interpolation and update 
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/NST_SRC/agrif_opa_interp.F90

    r7953 r8214  
    548548      ENDIF 
    549549      ! 
    550       IF( nbondj == -1 .OR.(nbondj == 2 ) THEN 
     550      IF( nbondj == -1 .OR. nbondj == 2 ) THEN 
    551551         DO ji = 1, jpi 
    552552            ssha_e(ji,2) = hbdy_s(ji) 
     
    935935         !             
    936936         IF( bdy_tinterp == 0 .OR. bdy_tinterp == 2) THEN 
    937             IF( western_side  )   vbdy_w(j1:j2) = vbdy_w(j1:j2) / (zrhox*e1v(i1,j1:j2)) * vmask(i1,j1:j2,1) 
    938             IF( eastern_side  )   vbdy_e(j1:j2) = vbdy_e(j1:j2) / (zrhox*e1v(i1,j1:j2)) * vmask(i1,j1:j2,1) 
    939             IF( southern_side )   vbdy_s(i1:i2) = vbdy_s(i1:i2) / (zrhox*e1v(i1:i2,j1)) * vmask(i1:i2,j1,1) 
    940             IF( northern_side )   vbdy_n(i1:i2) = vbdy_n(i1:i2) / (zrhox*e1v(i1:i2,j1)) * vmask(i1:i2,j1,1) 
     937            IF(western_side) THEN 
     938               vbdy_w(j1:j2) = vbdy_w(j1:j2) / (zrhox*e1v(i1,j1:j2))   & 
     939                     &                                  * vmask(i1,j1:j2,1) 
    941940            ENDIF 
     941            IF(eastern_side) THEN 
     942               vbdy_e(j1:j2) = vbdy_e(j1:j2) / (zrhox*e1v(i1,j1:j2))   & 
     943                     &                                  * vmask(i1,j1:j2,1) 
     944            ENDIF 
     945            IF(southern_side) THEN 
     946               vbdy_s(i1:i2) = vbdy_s(i1:i2) / (zrhox*e1v(i1:i2,j1))   & 
     947                     &                                  * vmask(i1:i2,j1,1) 
     948            ENDIF 
     949            IF(northern_side) THEN 
     950               vbdy_n(i1:i2) = vbdy_n(i1:i2) / (zrhox*e1v(i1:i2,j1))   & 
     951                     &                                  * vmask(i1:i2,j1,1) 
     952            ENDIF 
     953!!gm better coding 
     954!            IF( western_side  )   vbdy_w(j1:j2) = vbdy_w(j1:j2) / (zrhox*e1v(i1,j1:j2)) * vmask(i1,j1:j2,1) 
     955!            IF( eastern_side  )   vbdy_e(j1:j2) = vbdy_e(j1:j2) / (zrhox*e1v(i1,j1:j2)) * vmask(i1,j1:j2,1) 
     956!            IF( southern_side )   vbdy_s(i1:i2) = vbdy_s(i1:i2) / (zrhox*e1v(i1:i2,j1)) * vmask(i1:i2,j1,1) 
     957!            IF( northern_side )   vbdy_n(i1:i2) = vbdy_n(i1:i2) / (zrhox*e1v(i1:i2,j1)) * vmask(i1:i2,j1,1) 
     958!!gm end 
    942959         ENDIF 
    943960      ENDIF 
     
    11671184      !!----------------------------------------------------------------------   
    11681185      !       
    1169       IF( before ) THEN   ;   ptab (i1:i2,j1:j2,k1:k2) = avm_k(i1:i2,j1:j2,k1:k2) 
    1170       ELSE                ;   avm_k(i1:i2,j1:j2,k1:k2) = ptab (i1:i2,j1:j2,k1:k2) 
    1171       ENDIF 
     1186      IF( before ) THEN 
     1187         ptab (i1:i2,j1:j2,k1:k2) = avm_k(i1:i2,j1:j2,k1:k2) 
     1188      ELSE 
     1189         avm_k(i1:i2,j1:j2,k1:k2) = ptab (i1:i2,j1:j2,k1:k2) 
     1190      ENDIF 
     1191!!gm better coding ??? 
     1192!      IF( before ) THEN   ;   ptab (i1:i2,j1:j2,k1:k2) = avm_k(i1:i2,j1:j2,k1:k2) 
     1193!      ELSE                ;   avm_k(i1:i2,j1:j2,k1:k2) = ptab (i1:i2,j1:j2,k1:k2) 
     1194!      ENDIF 
     1195!!gm 
    11721196      ! 
    11731197   END SUBROUTINE interpavm 
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/NST_SRC/agrif_opa_sponge.F90

    r7953 r8214  
    250250                        zbtr = r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) 
    251251                        ! horizontal diffusive trends 
    252                         ztsa = zbtr * (  ztu(ji,jj,jk) - ztu(ji-1,jj,jk) + ztv(ji,jj,jk) - ztv(ji  ,jj-1,jk)  ) 
     252                        ztsa = zbtr * (  ztu(ji,jj,jk) - ztu(ji-1,jj,jk) + ztv(ji,jj,jk) - ztv(ji,jj-1,jk)  ) 
    253253                        ! add it to the general tracer trends 
    254254                        tsa(ji,jj,jk,jn) = tsa(ji,jj,jk,jn) + ztsa 
     
    285285         tabres = un(i1:i2,j1:j2,:) 
    286286      ELSE 
    287          ubdiff(i1:i2,j1:j2,:) = (ub(i1:i2,j1:j2,:) - tabres(:,:,:))*umask(i1:i2,j1:j2,:) 
     287         ubdiff(i1:i2,j1:j2,:) = ( ub(i1:i2,j1:j2,:) - tabres(:,:,:) )*umask(i1:i2,j1:j2,:) 
    288288         ! 
    289289         DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    304304               DO ji = i1,i2   ! vector opt. 
    305305                  zbtr = r1_e1e2f(ji,jj) * e3f_n(ji,jj,jk) * fsahm_spf(ji,jj) 
    306                   rotdiff(ji,jj,jk) = (-e1u(ji,jj+1) * ubdiff(ji,jj+1,jk) & 
    307                                        +e1u(ji,jj  ) * ubdiff(ji,jj  ,jk) &  
    308                                     & ) * fmask(ji,jj,jk) * zbtr  
     306                  rotdiff(ji,jj,jk) = ( -e1u(ji,jj+1) * ubdiff(ji,jj+1,jk)   & 
     307                                    &   +e1u(ji,jj  ) * ubdiff(ji,jj  ,jk) ) * fmask(ji,jj,jk) * zbtr  
    309308               END DO 
    310309            END DO 
     
    319318                     ze1v = hdivdiff(ji,jj,jk) 
    320319                     ! horizontal diffusive trends 
    321                      zua = - ( ze2u - rotdiff (ji,jj-1,jk)) / ( e2u(ji,jj) * e3u_n(ji,jj,jk) )   & 
    322                            + ( hdivdiff(ji+1,jj,jk) - ze1v  ) / e1u(ji,jj) 
     320                     zua = - ( ze2u - rotdiff (ji,jj-1,jk) ) / ( e2u(ji,jj) * e3u_n(ji,jj,jk) )   & 
     321                           + ( hdivdiff(ji+1,jj,jk) - ze1v ) * r1_e1u(ji,jj) 
    323322 
    324323                     ! add it to the general momentum trends 
     
    345344 
    346345                     ! horizontal diffusive trends 
    347                      zva = + ( ze2u - rotdiff (ji-1,jj,jk)) / ( e1v(ji,jj) * e3v_n(ji,jj,jk) )   & 
    348                            + ( hdivdiff(ji,jj+1,jk) - ze1v  ) / e2v(ji,jj) 
     346                     zva = + ( ze2u - rotdiff (ji-1,jj,jk) ) / ( e1v(ji,jj) * e3v_n(ji,jj,jk) )   & 
     347                           + ( hdivdiff(ji,jj+1,jk) - ze1v ) * r1_e2v(ji,jj) 
    349348 
    350349                     ! add it to the general momentum trends 
     
    382381      ELSE 
    383382         ! 
    384          vbdiff(i1:i2,j1:j2,:) = (vb(i1:i2,j1:j2,:) - tabres(:,:,:))*vmask(i1:i2,j1:j2,:) 
     383         vbdiff(i1:i2,j1:j2,:) = ( vb(i1:i2,j1:j2,:) - tabres(:,:,:) ) * vmask(i1:i2,j1:j2,:) 
    385384         ! 
    386385         DO jk = 1, jpkm1                                 ! Horizontal slab 
Note: See TracChangeset for help on using the changeset viewer.