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 – 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
Files:
10 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 
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90

    r8143 r8214  
    7070      CALL wrk_alloc( jpi,jpj,jpk,   ze3t, ze3w ) 
    7171      CALL wrk_alloc( jpi,jpj,jpk,   ze3u, ze3v ) 
    72       CALL wrk_alloc( jpi,jpj,jpk,   zt  , zs  ,z3d ) 
     72      CALL wrk_alloc( jpi,jpj,jpk,   zt  , zs  , z3d ) 
    7373      ! 
    7474      CALL wrk_alloc( jpi_crs,jpj_crs,jpk,   zt_crs, zs_crs ) 
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r8143 r8214  
    11231123      IF( lrst_oce .AND.ln_bt_fw )   CALL ts_rst( kt, 'WRITE' ) 
    11241124      ! 
    1125       IF( ln_wd ) DEALLOCATE( zcpx, zcpy ) 
     1125      IF( ln_wd )   DEALLOCATE( zcpx, zcpy ) 
    11261126      ! 
    11271127      IF ( ln_diatmb ) THEN 
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/LBC/lbclnk.F90

    r7904 r8214  
    22   !!====================================================================== 
    33   !!                       ***  MODULE  lbclnk  *** 
    4    !! NEMO        : lateral boundary conditions 
     4   !! NEMO : lateral boundary conditions --- MPP exchanges 
    55   !!===================================================================== 
    66   !! History :  OPA  ! 1997-06  (G. Madec)  Original code 
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90

    r8143 r8214  
    1717   USE zdf_oce        ! ocean vertical physics variables 
    1818   USE zdfdrg         ! ocean vertical physics: bottom friction 
    19 !!gm   USE dynhpg          ! hydrostatic pressure gradient    
    2019   USE ldftra         ! ocean active tracers lateral physics 
    2120   USE trd_oce        ! trends: ocean variables 
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r8160 r8214  
    5555   USE ldfdyn         ! lateral viscosity setting      (ldfdyn_init routine) 
    5656   USE ldftra         ! lateral diffusivity setting    (ldftra_init routine) 
    57 !!gm   USE zdfphy         ! vertical physics manager      (zdf_phy_init routine) 
    5857   USE trdini         ! dyn/tra trends initialization     (trd_init routine) 
    5958   USE asminc         ! assimilation increments      
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/step.F90

    r8178 r8214  
    195195      ENDIF 
    196196 
    197       IF( .NOT.ln_drgimp)   CALL dyn_bfr       ( kstp )  ! bottom friction 
     197      IF( .NOT.ln_drgimp)   CALL dyn_bfr    ( kstp )  ! bottom friction 
    198198       
    199199                         CALL dyn_zdf       ( kstp )  ! vertical diffusion 
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90

    r7954 r8214  
    7171         ENDIF 
    7272         ! 
    73       END IF 
     73      ENDIF 
    7474 
    7575      !* Advective bbl : bbl upstream advective trends added to the tracer trends 
     
    8282         ENDIF 
    8383         ! 
    84       END IF 
     84      ENDIF 
    8585 
    8686      IF( l_trdtrc )   THEN                      ! save the horizontal diffusive trends for further diagnostics 
Note: See TracChangeset for help on using the changeset viewer.