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 14433 for NEMO/trunk/tests/TSUNAMI – NEMO

Ignore:
Timestamp:
2021-02-11T09:06:49+01:00 (3 years ago)
Author:
smasson
Message:

trunk: merge dev_r14312_MPI_Interface into the trunk, #2598

Location:
NEMO/trunk/tests/TSUNAMI
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/tests/TSUNAMI/EXPREF/namelist_cfg

    r14297 r14433  
    2929   nn_fcase    =      0    !  Coriolis frequency(f) computation (0:f0, 1:Beta plan, 2:real) 
    3030   rn_ppgphi0  =    38.5   !  Reference latitude      [degrees] 
    31    nn_perio    =      7 
     31   ln_Iperio  =   .true.   ! i-periodicity 
     32   ln_Jperio  =   .true.   ! j-periodicity 
    3233/ 
    3334!----------------------------------------------------------------------- 
  • NEMO/trunk/tests/TSUNAMI/MY_SRC/usrdef_hgr.F90

    r14225 r14433  
    6464      ! 
    6565      INTEGER  ::   ji, jj     ! dummy loop indices 
    66       REAL(wp) ::   zphi0, zlam0, zbeta, zf0 
     66      INTEGER  ::   ii0, ij0   ! dummy loop indices 
     67      REAL(wp) ::   zbeta, zf0 
    6768      REAL(wp) ::   zti, ztj   ! local scalars 
    6869      !!------------------------------------------------------------------------------- 
     
    7778      ! Position coordinates (in kilometers) 
    7879      !                          ========== 
    79       zlam0 = -REAL(Ni0glo, wp) * rn_0xratio * rn_dx 
    80       zphi0 = -REAL(Nj0glo, wp) * rn_0yratio * rn_dy 
     80      ii0 = NINT( REAL(Ni0glo, wp) * rn_0xratio ) 
     81      ij0 = NINT( REAL(Nj0glo, wp) * rn_0yratio ) 
    8182 
    8283#if defined key_agrif 
    8384      ! ! let lower left longitude and latitude from parent 
    8485      IF (.NOT.Agrif_root()) THEN 
    85           zlam0 = (0.5_wp-(Agrif_parent(jpiglo)-1)/2)*Agrif_irhox()*rn_dx & 
    86              &+(Agrif_Ix()+nbghostcells-1)*Agrif_irhox()*rn_dx-(0.5_wp+nbghostcells)*rn_dx 
    87           zphi0 = (0.5_wp-(Agrif_parent(jpjglo)-1)/2)*Agrif_irhoy()*rn_dy & 
    88              &+(Agrif_Iy()+nbghostcells-1)*Agrif_irhoy()*rn_dy-(0.5_wp+nbghostcells)*rn_dy 
     86          to be coded... 
    8987      ENDIF  
    9088#endif 
    9189          
    9290      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls )          
    93          zti = REAL( mig0(ji), wp ) - 0.5_wp  ! start at i=0.5 in the global grid without halos 
    94          ztj = REAL( mjg0(jj), wp ) - 0.5_wp  ! start at j=0.5 in the global grid without halos 
     91         zti = REAL( mig0(ji)-ii0, wp )   ! =0 at i=ii0 in the global grid without halos 
     92         ztj = REAL( mjg0(jj)-ij0, wp )   ! =0 at i=ij0 in the global grid without halos 
    9593          
    96          plamt(ji,jj) = zlam0 + rn_dx *   zti 
    97          plamu(ji,jj) = zlam0 + rn_dx * ( zti + 0.5_wp )  
     94         plamt(ji,jj) = rn_dx *   zti 
     95         plamu(ji,jj) = rn_dx * ( zti + 0.5_wp )  
    9896         plamv(ji,jj) = plamt(ji,jj)  
    9997         plamf(ji,jj) = plamu(ji,jj)  
    10098          
    101          pphit(ji,jj) = zphi0 + rn_dy *   ztj 
    102          pphiv(ji,jj) = zphi0 + rn_dy * ( ztj + 0.5_wp )  
     99         pphit(ji,jj) = rn_dy *   ztj 
     100         pphiv(ji,jj) = rn_dy * ( ztj + 0.5_wp )  
    103101         pphiu(ji,jj) = pphit(ji,jj)  
    104102         pphif(ji,jj) = pphiv(ji,jj)  
  • NEMO/trunk/tests/TSUNAMI/MY_SRC/usrdef_nam.F90

    r14297 r14433  
    3737   INTEGER , PUBLIC ::   nn_fcase   =    1   ! F computation (0:f0, 1:Beta, 2:real) 
    3838   REAL(wp), PUBLIC ::   rn_ppgphi0 =   38.5 ! reference latitude for beta-plane  
    39    INTEGER , PUBLIC ::   nn_perio   =    0   ! periodicity of the channel (0=closed, 1=E-W) 
    4039 
    4140   !!---------------------------------------------------------------------- 
     
    4645CONTAINS 
    4746 
    48    SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     47   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, ldIperio, ldJperio, ldNFold, cdNFtype ) 
    4948      !!---------------------------------------------------------------------- 
    5049      !!                     ***  ROUTINE dom_nam  *** 
     
    5857      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5958      !!---------------------------------------------------------------------- 
    60       CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    61       INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
    62       INTEGER                       , INTENT(out) ::   kpi, kpj, kpk   ! global domain sizes  
    63       INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
     59      CHARACTER(len=*), INTENT(out) ::   cd_cfg               ! configuration name 
     60      INTEGER         , INTENT(out) ::   kk_cfg               ! configuration resolution 
     61      INTEGER         , INTENT(out) ::   kpi, kpj, kpk        ! global domain sizes 
     62      LOGICAL         , INTENT(out) ::   ldIperio, ldJperio   ! i- and j- periodicity 
     63      LOGICAL         , INTENT(out) ::   ldNFold              ! North pole folding 
     64      CHARACTER(len=1), INTENT(out) ::   cdNFtype             ! Folding type: T or F 
    6465      ! 
    6566      INTEGER ::   ios      ! Local integer 
     67      LOGICAL ::   ln_Iperio, ln_Jperio 
    6668      !! 
    6769      NAMELIST/namusr_def/  rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_0xratio, rn_0yratio   & 
    68          &                 , nn_fcase, rn_ppgphi0, nn_perio 
     70         &                 , nn_fcase, rn_ppgphi0, ln_Iperio, ln_Jperio 
    6971      !!---------------------------------------------------------------------- 
    7072      ! 
     
    8587#endif 
    8688      ! 
    87       IF(lwm)   WRITE( numond, namusr_def ) 
    88       ! 
    8989      cd_cfg = 'TSUNAMI'             ! name & resolution (not used) 
    9090      kk_cfg = INT( rn_dx ) 
     
    9292      IF( Agrif_Root() ) THEN        ! Global Domain size:  TSUNAMI global domain is  1800 km x 1800 Km x 5000 m 
    9393         kpi = NINT( rn_domszx / rn_dx ) + 1 
    94          kpj = NINT( rn_domszy / rn_dy ) + 3 
     94         kpj = NINT( rn_domszy / rn_dy ) + 1 
    9595      ELSE                           ! Global Domain size: add nbghostcells + 1 "land" point on each side 
    9696         kpi  = nbcellsx + nbghostcells_x   + nbghostcells_x   + 2 
     
    9898      ENDIF 
    9999      kpk = 2 
    100       !                             ! Set the lateral boundary condition of the global domain 
    101       kperio = 1                    ! TSUNAMI configuration : closed basin 
    102       !                             ! control print 
     100      !                              ! Set the lateral boundary condition of the global domain 
     101      ! 
     102      ldIperio = ln_Iperio   ;   ldJperio = ln_Jperio 
     103      ldNFold  =  .FALSE.    ;   cdNFtype = '-' 
     104      ! 
     105      !                              ! control print 
    103106      IF(lwp) THEN 
    104107         WRITE(numout,*) '   ' 
     
    115118         WRITE(numout,*) '      F computation                     nn_fcase   = ',   nn_fcase 
    116119         WRITE(numout,*) '      Reference latitude                rn_ppgphi0 = ', rn_ppgphi0 
    117          WRITE(numout,*) '      Periodicity of the basin            nn_perio = ', nn_perio 
     120         WRITE(numout,*) '   ' 
    118121      ENDIF 
    119       !                             ! Set the lateral boundary condition of the global domain 
    120       kperio = nn_perio                    ! TSUNAMI configuration : closed basin 
    121122      ! 
    122123   END SUBROUTINE usr_def_nam 
  • NEMO/trunk/tests/TSUNAMI/MY_SRC/usrdef_sbc.F90

    r14225 r14433  
    33   !!                       ***  MODULE  usrdef_sbc  *** 
    44   !!  
    5    !!                      ===  CANAL configuration  === 
     5   !!                      ===  TSUNAMI configuration  === 
    66   !! 
    77   !! User defined :   surface forcing of a user configuration 
     
    4444      !!              condition, i.e. the momentum, heat and freshwater fluxes. 
    4545      !! 
    46       !! ** Method  :   all 0 fields, for CANAL case 
     46      !! ** Method  :   all 0 fields, for TSUNAMI case 
    4747      !!                CAUTION : never mask the surface stress field ! 
    4848      !! 
     
    5757      IF( kt == nit000 ) THEN 
    5858         ! 
    59          IF(lwp) WRITE(numout,*)' usr_sbc : EW_CANAL case: surface forcing' 
     59         IF(lwp) WRITE(numout,*)' usr_sbc : TSUNAMI case: surface forcing' 
    6060         IF(lwp) WRITE(numout,*)' ~~~~~~~~~~~   vtau = taum = wndm = qns = qsr = emp = sfx = 0' 
    6161         ! 
Note: See TracChangeset for help on using the changeset viewer.