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 12377 for NEMO/trunk/tests/BENCH – NEMO

Ignore:
Timestamp:
2020-02-12T15:39:06+01:00 (4 years ago)
Author:
acc
Message:

The big one. Merging all 2019 developments from the option 1 branch back onto the trunk.

This changeset reproduces 2019/dev_r11943_MERGE_2019 on the trunk using a 2-URL merge
onto a working copy of the trunk. I.e.:

svn merge --ignore-ancestry \

svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/trunk \
svn+ssh://acc@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/NEMO/branches/2019/dev_r11943_MERGE_2019 ./

The --ignore-ancestry flag avoids problems that may otherwise arise from the fact that
the merge history been trunk and branch may have been applied in a different order but
care has been taken before this step to ensure that all applicable fixes and updates
are present in the merge branch.

The trunk state just before this step has been branched to releases/release-4.0-HEAD
and that branch has been immediately tagged as releases/release-4.0.2. Any fixes
or additions in response to tickets on 4.0, 4.0.1 or 4.0.2 should be done on
releases/release-4.0-HEAD. From now on future 'point' releases (e.g. 4.0.2) will
remain unchanged with periodic releases as needs demand. Note release-4.0-HEAD is a
transitional naming convention. Future full releases, say 4.2, will have a release-4.2
branch which fulfills this role and the first point release (e.g. 4.2.0) will be made
immediately following the release branch creation.

2020 developments can be started from any trunk revision later than this one.

Location:
NEMO/trunk
Files:
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • NEMO/trunk

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
  • NEMO/trunk/tests/BENCH/MY_SRC/usrdef_nam.F90

    r11536 r12377  
    6161      !!----------------------------------------------------------------------      
    6262      ! 
    63       REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6463      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 903 ) 
    6564903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
     
    7271      IF( nn_isize < 0 .AND. nn_jsize < 0 ) THEN 
    7372      ! 
    74          REWIND( numnam_ref )              ! Namelist nammpp in reference namelist: mpi variables 
    7573         READ  ( numnam_ref, nammpp, IOSTAT = ios, ERR = 901) 
    7674901      IF( ios /= 0 )   CALL ctl_nam ( ios , 'nammpp in reference namelist' ) 
    7775         ! 
    78          REWIND( numnam_cfg )              ! Namelist nammpp in configuration namelist: mpi variables 
    7976         READ  ( numnam_cfg, nammpp, IOSTAT = ios, ERR = 902 ) 
    8077902      IF( ios >  0 )   CALL ctl_nam ( ios , 'nammpp in configuration namelist' ) 
  • NEMO/trunk/tests/BENCH/MY_SRC/usrdef_sbc.F90

    r10179 r12377  
    4141CONTAINS 
    4242 
    43    SUBROUTINE usrdef_sbc_oce( kt ) 
     43   SUBROUTINE usrdef_sbc_oce( kt, Kbb ) 
    4444      !!--------------------------------------------------------------------- 
    4545      !!                    ***  ROUTINE usr_def_sbc  *** 
     
    5656      !!---------------------------------------------------------------------- 
    5757      INTEGER, INTENT(in) ::   kt   ! ocean time step 
     58      INTEGER, INTENT(in) ::   Kbb  ! ocean time index 
    5859      !!--------------------------------------------------------------------- 
    5960      !      
  • NEMO/trunk/tests/BENCH/MY_SRC/usrdef_zgr.F90

    r11536 r12377  
    3030   PUBLIC   usr_def_zgr        ! called by domzgr.F90 
    3131 
    32   !! * Substitutions 
    33 #  include "vectopt_loop_substitute.h90" 
    3432   !!---------------------------------------------------------------------- 
    3533   !! NEMO/OPA 4.0 , NEMO Consortium (2016) 
  • NEMO/trunk/tests/BENCH/MY_SRC/zdfiwm.F90

    r11536 r12377  
    4848   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hcri_iwm   ! decay scale for low-mode critical slope dissipation (m) 
    4949 
    50    !! * Substitutions 
    51 #  include "vectopt_loop_substitute.h90" 
    5250   !!---------------------------------------------------------------------- 
    5351   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    6967 
    7068 
    71    SUBROUTINE zdf_iwm( kt, p_avm, p_avt, p_avs ) 
     69   SUBROUTINE zdf_iwm( kt, Kmm, p_avm, p_avt, p_avs ) 
    7270      !!---------------------------------------------------------------------- 
    7371      !!                  ***  ROUTINE zdf_iwm  *** 
     
    118116      !!---------------------------------------------------------------------- 
    119117      INTEGER                    , INTENT(in   ) ::   kt             ! ocean time step 
     118      INTEGER                    , INTENT(in   ) ::   Kmm            ! time level index 
    120119      REAL(wp), DIMENSION(:,:,:) , INTENT(inout) ::   p_avm          ! momentum Kz (w-points) 
    121120      REAL(wp), DIMENSION(:,:,:) , INTENT(inout) ::   p_avt, p_avs   ! tracer   Kz (w-points) 
     
    155154         END DO 
    156155      END DO 
    157 !!gm gde3w ==>>>  check for ssh taken into account.... seem OK gde3w_n=gdept_n - sshn 
     156!!gm gde3w ==>>>  check for ssh taken into account.... seem OK gde3w_n=gdept(Kmm) - ssh(Kmm) 
    158157      DO jk = 2, jpkm1              ! complete with the level-dependent part 
    159          zemx_iwm(:,:,jk) = zfact(:,:) * (  EXP( ( gde3w_n(:,:,jk  ) - zhdep(:,:) ) / hcri_iwm(:,:) )                      & 
    160             &                             - EXP( ( gde3w_n(:,:,jk-1) - zhdep(:,:) ) / hcri_iwm(:,:) )  ) * wmask(:,:,jk)   & 
    161             &                          / ( gde3w_n(:,:,jk) - gde3w_n(:,:,jk-1) ) 
    162  
    163 !!gm delta(gde3w_n) = e3t_n  !!  Please verify the grid-point position w versus t-point 
     158         zemx_iwm(:,:,jk) = zfact(:,:) * (  EXP( ( gde3w(:,:,jk  ) - zhdep(:,:) ) / hcri_iwm(:,:) )                      & 
     159            &                             - EXP( ( gde3w(:,:,jk-1) - zhdep(:,:) ) / hcri_iwm(:,:) )  ) * wmask(:,:,jk)   & 
     160            &                          / ( gde3w(:,:,jk) - gde3w(:,:,jk-1) ) 
     161 
     162!!gm delta(gde3w) = e3t(Kmm)  !!  Please verify the grid-point position w versus t-point 
    164163!!gm it seems to me that only 1/hcri_iwm  is used ==>  compute it one for all 
    165164 
     
    175174         zfact(:,:) = 0._wp 
    176175         DO jk = 2, jpkm1              ! part independent of the level 
    177             zfact(:,:) = zfact(:,:) + e3w_n(:,:,jk) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) * wmask(:,:,jk) 
     176            zfact(:,:) = zfact(:,:) + e3w(:,:,jk,Kmm) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) * wmask(:,:,jk) 
    178177         END DO 
    179178         ! 
     
    192191         zfact(:,:) = 0._wp 
    193192         DO jk = 2, jpkm1              ! part independent of the level 
    194             zfact(:,:) = zfact(:,:) + e3w_n(:,:,jk) * MAX( 0._wp, rn2(:,:,jk) ) * wmask(:,:,jk) 
     193            zfact(:,:) = zfact(:,:) + e3w(:,:,jk,Kmm) * MAX( 0._wp, rn2(:,:,jk) ) * wmask(:,:,jk) 
    195194         END DO 
    196195         ! 
     
    213212      zfact(:,:)   = 0._wp 
    214213      DO jk = 2, jpkm1 
    215          zfact(:,:) = zfact(:,:) + e3w_n(:,:,jk) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) * wmask(:,:,jk) 
     214         zfact(:,:) = zfact(:,:) + e3w(:,:,jk,Kmm) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) * wmask(:,:,jk) 
    216215         zwkb(:,:,jk) = zfact(:,:) 
    217216      END DO 
    218217!!gm even better: 
    219218!      DO jk = 2, jpkm1 
    220 !         zwkb(:,:) = zwkb(:,:) + e3w_n(:,:,jk) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) 
     219!         zwkb(:,:) = zwkb(:,:) + e3w(:,:,jk,Kmm) * SQRT(  MAX( 0._wp, rn2(:,:,jk) )  ) 
    221220!      END DO 
    222221!      zfact(:,:) = zwkb(:,:,jpkm1) 
     
    253252      DO jk = 2, jpkm1              ! complete with the level-dependent part 
    254253         zemx_iwm(:,:,jk) = zemx_iwm(:,:,jk) + zweight(:,:,jk) * zfact(:,:) * wmask(:,:,jk)   & 
    255             &                                / ( gde3w_n(:,:,jk) - gde3w_n(:,:,jk-1) ) 
    256 !!gm  use of e3t_n just above? 
     254            &                                / ( gde3w(:,:,jk) - gde3w(:,:,jk-1) ) 
     255!!gm  use of e3t(:,:,:,Kmm) just above? 
    257256      END DO 
    258257      ! 
    259258!!gm  this is to be replaced by just a constant value znu=1.e-6 m2/s 
    260259      ! Calculate molecular kinematic viscosity 
    261       znu_t(:,:,:) = 1.e-4_wp * (  17.91_wp - 0.53810_wp * tsn(:,:,:,jp_tem) + 0.00694_wp * tsn(:,:,:,jp_tem) * tsn(:,:,:,jp_tem)  & 
    262          &                                  + 0.02305_wp * tsn(:,:,:,jp_sal)  ) * tmask(:,:,:) * r1_rau0 
     260      znu_t(:,:,:) = 1.e-4_wp * (  17.91_wp - 0.53810_wp * ts(:,:,:,jp_tem,Kmm) + 0.00694_wp * ts(:,:,:,jp_tem,Kmm) * ts(:,:,:,jp_tem,Kmm)  & 
     261         &                                  + 0.02305_wp * ts(:,:,:,jp_sal,Kmm)  ) * tmask(:,:,:) * r1_rau0 
    263262      DO jk = 2, jpkm1 
    264263         znu_w(:,:,jk) = 0.5_wp * ( znu_t(:,:,jk-1) + znu_t(:,:,jk) ) * wmask(:,:,jk) 
     
    300299            DO jj = 1, jpj 
    301300               DO ji = 1, jpi 
    302                   zztmp = zztmp + e3w_n(ji,jj,jk) * e1e2t(ji,jj)   & 
     301                  zztmp = zztmp + e3w(ji,jj,jk,Kmm) * e1e2t(ji,jj)   & 
    303302                     &          * MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) * wmask(ji,jj,jk) * tmask_i(ji,jj) 
    304303               END DO 
     
    356355         z2d(:,:) = 0._wp 
    357356         DO jk = 2, jpkm1 
    358             z2d(:,:) = z2d(:,:) + e3w_n(:,:,jk) * z3d(:,:,jk) * wmask(:,:,jk) 
     357            z2d(:,:) = z2d(:,:) + e3w(:,:,jk,Kmm) * z3d(:,:,jk) * wmask(:,:,jk) 
    359358         END DO 
    360359         z2d(:,:) = rau0 * z2d(:,:) 
     
    404403      !!---------------------------------------------------------------------- 
    405404      ! 
    406       REWIND( numnam_ref )              ! Namelist namzdf_iwm in reference namelist : Wave-driven mixing 
    407405      READ  ( numnam_ref, namzdf_iwm, IOSTAT = ios, ERR = 901) 
    408406901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' ) 
    409407      ! 
    410       REWIND( numnam_cfg )              ! Namelist namzdf_iwm in configuration namelist : Wave-driven mixing 
    411408      READ  ( numnam_cfg, namzdf_iwm, IOSTAT = ios, ERR = 902 ) 
    412409902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' ) 
Note: See TracChangeset for help on using the changeset viewer.