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 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/TRA/traadv_mus.F90 – NEMO

Ignore:
Timestamp:
2021-11-26T12:27:56+01:00 (3 years ago)
Author:
sparonuz
Message:

Mixed precision version, tested up to 30 years on ORCA2.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/TRA/traadv_mus.F90

    r14986 r15540  
    3737   PUBLIC   tra_adv_mus   ! routine called by traadv.F90 
    3838 
    39    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   upsmsk   !: mixed upstream/centered scheme near some straits 
     39   REAL(dp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   upsmsk   !: mixed upstream/centered scheme near some straits 
    4040   !                                                           !  and in closed seas (orca 2 and 1 configurations) 
    41    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xind     !: mixed upstream/centered index 
     41   REAL(dp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   xind     !: mixed upstream/centered index 
    4242 
    4343   LOGICAL  ::   l_trd   ! flag to compute trends 
     
    8181      INTEGER                                  , INTENT(in   ) ::   kjpt            ! number of tracers 
    8282      LOGICAL                                  , INTENT(in   ) ::   ld_msc_ups      ! use upstream scheme within muscl 
    83       REAL(wp)                                 , INTENT(in   ) ::   p2dt            ! tracer time-step 
     83      REAL(dp)                                 , INTENT(in   ) ::   p2dt            ! tracer time-step 
    8484      ! TEMP: [tiling] This can be A2D(nn_hls) after all lbc_lnks removed in the nn_hls = 2 case in tra_adv_fct 
    8585      REAL(wp), DIMENSION(jpi,jpj,jpk         ), INTENT(in   ) ::   pU, pV, pW      ! 3 ocean volume flux components 
     
    8888      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    8989      INTEGER  ::   ierr             ! local integer 
    90       REAL(wp) ::   zu, z0u, zzwx, zw , zalpha   ! local scalars 
    91       REAL(wp) ::   zv, z0v, zzwy, z0w           !   -      - 
    92       REAL(wp), DIMENSION(A2D(nn_hls),jpk) ::   zwx, zslpx   ! 3D workspace 
    93       REAL(wp), DIMENSION(A2D(nn_hls),jpk) ::   zwy, zslpy   ! -      - 
     90      REAL(dp) ::   zu, z0u, zzwx, zw , zalpha   ! local scalars 
     91      REAL(dp) ::   zv, z0v, zzwy, z0w           !   -      - 
     92      REAL(dp), DIMENSION(A2D(nn_hls),jpk) ::   zwx, zslpx   ! 3D workspace 
     93      REAL(dp), DIMENSION(A2D(nn_hls),jpk) ::   zwy, zslpy   ! -      - 
    9494      !!---------------------------------------------------------------------- 
    9595      ! 
     
    185185         !                                ! trend diagnostics 
    186186         IF( l_trd )  THEN 
    187             CALL trd_tra( kt, Kmm, Krhs, cdtype, jn, jptra_xad, zwx, pU, CASTWP(pt(:,:,:,jn,Kbb)) ) 
    188             CALL trd_tra( kt, Kmm, Krhs, cdtype, jn, jptra_yad, zwy, pV, CASTWP(pt(:,:,:,jn,Kbb)) ) 
     187            CALL trd_tra( kt, Kmm, Krhs, cdtype, jn, jptra_xad, zwx, pU, pt(:,:,:,jn,Kbb) ) 
     188            CALL trd_tra( kt, Kmm, Krhs, cdtype, jn, jptra_yad, zwy, pV, pt(:,:,:,jn,Kbb) ) 
    189189         END IF 
    190190         !                                 ! "Poleward" heat and salt transports 
     
    237237         END_3D 
    238238         !                                ! send trends for diagnostic 
    239          IF( l_trd )  CALL trd_tra( kt, Kmm, Krhs, cdtype, jn, jptra_zad, zwx, pW, CASTWP(pt(:,:,:,jn,Kbb)) ) 
     239         IF( l_trd )  CALL trd_tra( kt, Kmm, Krhs, cdtype, jn, jptra_zad, zwx, pW, pt(:,:,:,jn,Kbb) ) 
    240240         ! 
    241241      END DO                     ! end of tracer loop 
Note: See TracChangeset for help on using the changeset viewer.