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 14822 for NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/tests/BENCH/MY_SRC/usrdef_istate.F90 – NEMO

Ignore:
Timestamp:
2021-05-10T13:32:16+02:00 (3 years ago)
Author:
smueller
Message:

Synchronizing with /NEMO/trunk@14820 (ticket #2353)

Location:
NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining

    • Property svn:externals
      •  

        old new  
        1 ^/utils/build/arch@14122      arch 
        2 ^/utils/build/makenemo@14122  makenemo 
        3 ^/utils/build/mk@14122        mk 
        4 ^/utils/tools@14122           tools 
        5 ^/vendors/AGRIF/dev@14122     ext/AGRIF 
        6 ^/vendors/FCM@14122           ext/FCM 
        7 ^/vendors/IOIPSL@14122        ext/IOIPSL 
        8 ^/vendors/PPR@14122           ext/PPR 
         1^/utils/build/arch@HEAD       arch 
         2^/utils/build/makenemo@HEAD   makenemo 
         3^/utils/build/mk@HEAD         mk 
         4^/utils/tools@HEAD            tools 
         5^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         6^/vendors/FCM@HEAD            ext/FCM 
         7^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8^/vendors/PPR@HEAD            ext/PPR 
        99 
        1010# SETTE 
        11 ^/utils/CI/sette_wave@13990         sette 
         11^/utils/CI/sette@14244        sette 
  • NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/tests/BENCH/MY_SRC/usrdef_istate.F90

    r14053 r14822  
    5353      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(  out) ::   pu      ! i-component of the velocity  [m/s]  
    5454      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(  out) ::   pv      ! j-component of the velocity  [m/s]  
    55 !!st      REAL(wp), DIMENSION(jpi,jpj)         , INTENT(  out) ::   pssh    ! sea-surface height 
    5655      ! 
    5756      REAL(wp), DIMENSION(jpi,jpj) ::   z2d   ! 2D workspace 
    5857      REAL(wp) ::   zfact 
    5958      INTEGER  ::   ji, jj, jk 
    60       INTEGER  ::   igloi, igloj   ! to be removed in the future, see comment bellow 
    6159      !!---------------------------------------------------------------------- 
    6260      ! 
     
    6765      ! define unique value on each point of the inner global domain. z2d ranging from 0.05 to -0.05 
    6866      ! 
    69       ! WARNING: to keep compatibility with the trunk that was including periodocity into the input data,  
    70       ! we must define z2d as bellow. 
    71       ! Once we decide to forget trunk compatibility, we must simply define z2d as: 
    72 !!$      DO_2D( 0, 0, 0, 0 ) 
    73 !!$         z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0_oldcmp(ji) + (mjg0_oldcmp(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 
    74 !!$      END_2D 
    75       igloi = Ni0glo + 2 * COUNT( (/ jperio == 1 .OR. jperio == 4 .OR. jperio == 6 .OR. jperio == 7 /) ) 
    76       igloj = Nj0glo + 2 * COUNT( (/ jperio == 2 .OR. jperio == 7 /) ) + 1 * COUNT( (/ jperio >= 4 .AND. jperio <= 6 /) ) 
    77       DO_2D( 0, 0, 0, 0 ) 
    78          z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0_oldcmp(ji) + (mjg0_oldcmp(jj)-1) * igloi, wp ) / REAL( igloi * igloj, wp ) ) 
     67      DO_2D( 0, 0, 0, 0 )   !  +/- 0.05 
     68         z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0(ji) + (mjg0(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 
    7969      END_2D 
    80       ! 
    81       ! sea level: 
    82 !!st      pssh(:,:) = z2d(:,:)                                                ! +/- 0.05 m 
    8370      ! 
    8471      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    8572         zfact = REAL(jk-1,wp) / REAL(jpk-1,wp)   ! 0 to 1 to add a basic stratification 
    8673         ! temperature choosen to lead to ~50% ice at the beginning if rn_thres_sst = 0.5 
    87          pts(:,:,jk,jp_tem) = 20._wp*z2d(:,:) - 1._wp - 0.5_wp * zfact    ! -1 to -1.5 +/-1.0 degG 
     74         pts(ji,jj,jk,jp_tem) = 20._wp*z2d(ji,jj) - 1._wp - 0.5_wp * zfact    ! -1 to -1.5 +/- 1.0 degG 
    8875         ! salinity:   
    89          pts(:,:,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(:,:)           ! 30 to 31 +/- 0.05 psu 
     76         pts(ji,jj,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(ji,jj)           ! 30 to 31  +/- 0.05 psu 
    9077         ! velocities: 
    91          pu(:,:,jk) = z2d(:,:) *  0.1_wp * umask(:,:,jk)                  ! +/- 0.005  m/s 
    92          pv(:,:,jk) = z2d(:,:) * 0.01_wp * vmask(:,:,jk)                  ! +/- 0.0005 m/s 
     78         pu(ji,jj,jk) = z2d(ji,jj) *  0.1_wp * umask(ji,jj,jk)                ! +/- 0.005  m/s 
     79         pv(ji,jj,jk) = z2d(ji,jj) * 0.01_wp * vmask(ji,jj,jk)                ! +/- 0.0005 m/s 
    9380      END_3D 
    9481      pts(:,:,jpk,:) = 0._wp 
     
    9683      pv( :,:,jpk  ) = 0._wp 
    9784      ! 
    98 !!st      CALL lbc_lnk('usrdef_istate', pssh, 'T',  1. )            ! apply boundary conditions 
    9985      CALL lbc_lnk('usrdef_istate',  pts, 'T',  1. )            ! apply boundary conditions 
    10086      CALL lbc_lnk('usrdef_istate',   pu, 'U', -1. )            ! apply boundary conditions 
     
    117103      ! 
    118104      INTEGER  ::   ji, jj 
    119       INTEGER  ::   igloi, igloj   ! to be removed in the future, see usr_def_istate comment  
    120105      !!---------------------------------------------------------------------- 
    121106      ! 
     
    123108      IF(lwp) WRITE(numout,*) 'usr_def_istate_ssh : BENCH configuration, analytical definition of initial ssh' 
    124109      ! 
    125       igloi = Ni0glo + 2 * COUNT( (/ jperio == 1 .OR. jperio == 4 .OR. jperio == 6 .OR. jperio == 7 /) ) 
    126       igloj = Nj0glo + 2 * COUNT( (/ jperio == 2 .OR. jperio == 7 /) ) + 1 * COUNT( (/ jperio >= 4 .AND. jperio <= 6 /) ) 
    127       ! sea level:  +/- 0.05 m 
    128       DO_2D( 0, 0, 0, 0 ) 
    129          pssh(ji,jj) = 0.1 * ( 0.5 - REAL( mig0_oldcmp(ji) + (mjg0_oldcmp(jj)-1) * igloi, wp ) / REAL( igloi * igloj, wp ) ) 
     110      DO_2D( 0, 0, 0, 0 )                              ! sea level:  +/- 0.05 m 
     111         pssh(ji,jj) = 0.1 * ( 0.5 - REAL( mig0(ji) + (mjg0(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 
    130112      END_2D 
    131113      ! 
    132       CALL lbc_lnk('usrdef_istate', pssh, 'T',  1. )            ! apply boundary conditions 
     114      CALL lbc_lnk('usrdef_istate', pssh, 'T',  1. )   ! apply boundary conditions 
    133115      ! 
    134116   END SUBROUTINE usr_def_istate_ssh 
Note: See TracChangeset for help on using the changeset viewer.