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_qck_lf.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_qck_lf.F90

    r14986 r15540  
    3333   PUBLIC   tra_adv_qck_lf   ! routine called by step.F90 
    3434 
    35    REAL(wp) :: r1_6 = 1./ 6.   ! 1/6 ratio 
     35   REAL(dp) :: r1_6 = 1./ 6.   ! 1/6 ratio 
    3636 
    3737   LOGICAL  ::   l_trd   ! flag to compute trends 
     
    9393      ! TEMP: [tiling] This can be A2D(nn_hls) if using XIOS (subdomain support) 
    9494      REAL(wp), DIMENSION(jpi,jpj,jpk         ), INTENT(in   ) ::   pU, pV, pW      ! 3 ocean volume transport components 
    95       REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! tracers and RHS of tracer equation 
     95      REAL(dp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! tracers and RHS of tracer equation 
    9696      !!---------------------------------------------------------------------- 
    9797      ! 
     
    131131      ! TEMP: [tiling] This can be A2D(nn_hls) if using XIOS (subdomain support) 
    132132      REAL(wp), DIMENSION(jpi,jpj,jpk         ), INTENT(in   ) ::   pU        ! i-velocity components 
    133       REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! active tracers and RHS of tracer equation 
     133      REAL(dp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! active tracers and RHS of tracer equation 
    134134      !! 
    135135      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    136       REAL(wp) ::   ztra, zbtr, zdir, zdx, zmsk  ! local scalars 
    137       REAL(wp) ::   zzfc, zzfd, zzfu, zzfu_ip1   !   -     - 
    138       REAL(wp), DIMENSION(A2D(nn_hls),jpk) ::   zwx, zfu, zfc, zfd 
     136      REAL(dp) ::   ztra, zbtr, zdir, zdx, zmsk  ! local scalars 
     137      REAL(dp) ::   zzfc, zzfd, zzfu, zzfu_ip1   !   -     - 
     138      REAL(dp), DIMENSION(A2D(nn_hls),jpk) ::   zwx, zfu, zfc, zfd 
    139139      !---------------------------------------------------------------------- 
    140140      ! 
     
    207207      ! TEMP: [tiling] This can be A2D(nn_hls) if using XIOS (subdomain support) 
    208208      REAL(wp), DIMENSION(jpi,jpj,jpk         ), INTENT(in   ) ::   pV        ! j-velocity components 
    209       REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! active tracers and RHS of tracer equation 
     209      REAL(dp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! active tracers and RHS of tracer equation 
    210210      !! 
    211211      INTEGER  :: ji, jj, jk, jn                ! dummy loop indices 
    212       REAL(wp) :: ztra, zbtr, zdir, zdx, zmsk   ! local scalars 
    213       REAL(wp) :: zzfc, zzfd, zzfu, zzfu_jp1    !   -     - 
    214       REAL(wp), DIMENSION(A2D(nn_hls),jpk) ::   zwy, zfu, zfc, zfd   ! 3D workspace 
     212      REAL(dp) :: ztra, zbtr, zdir, zdx, zmsk   ! local scalars 
     213      REAL(dp) :: zzfc, zzfd, zzfu, zzfu_jp1    !   -     - 
     214      REAL(dp), DIMENSION(A2D(nn_hls),jpk) ::   zwy, zfu, zfc, zfd   ! 3D workspace 
    215215      !---------------------------------------------------------------------- 
    216216      ! 
     
    286286      ! TEMP: [tiling] This can be A2D(nn_hls) if using XIOS (subdomain support) 
    287287      REAL(wp), DIMENSION(jpi,jpj,jpk         ), INTENT(in   ) ::   pW      ! vertical velocity 
    288       REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! active tracers and RHS of tracer equation 
     288      REAL(dp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) ::   pt              ! active tracers and RHS of tracer equation 
    289289      ! 
    290290      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    291       REAL(wp), DIMENSION(A2D(nn_hls),jpk) ::   zwz   ! 3D workspace 
     291      REAL(dp), DIMENSION(A2D(nn_hls),jpk) ::   zwz   ! 3D workspace 
    292292      !!---------------------------------------------------------------------- 
    293293      ! 
     
    333333      !! ** Method : 
    334334      !!---------------------------------------------------------------------- 
    335       REAL(wp), DIMENSION(A2D(nn_hls),jpk), INTENT(in   ) ::   pfu   ! second upwind point 
    336       REAL(wp), DIMENSION(A2D(nn_hls),jpk), INTENT(in   ) ::   pfd   ! first douwning point 
    337       REAL(wp), DIMENSION(A2D(nn_hls),jpk), INTENT(in   ) ::   pfc   ! the central point (or the first upwind point) 
    338       REAL(wp), DIMENSION(A2D(nn_hls),jpk), INTENT(inout) ::   puc   ! input as Courant number ; output as flux 
     335      REAL(dp), DIMENSION(A2D(nn_hls),jpk), INTENT(in   ) ::   pfu   ! second upwind point 
     336      REAL(dp), DIMENSION(A2D(nn_hls),jpk), INTENT(in   ) ::   pfd   ! first douwning point 
     337      REAL(dp), DIMENSION(A2D(nn_hls),jpk), INTENT(in   ) ::   pfc   ! the central point (or the first upwind point) 
     338      REAL(dp), DIMENSION(A2D(nn_hls),jpk), INTENT(inout) ::   puc   ! input as Courant number ; output as flux 
    339339      !! 
    340340      INTEGER  ::  ji, jj, jk               ! dummy loop indices 
    341       REAL(wp) ::  zcoef1, zcoef2, zcoef3   ! local scalars 
    342       REAL(wp) ::  zc, zcurv, zfho          !   -      - 
     341      REAL(dp) ::  zcoef1, zcoef2, zcoef3   ! local scalars 
     342      REAL(dp) ::  zc, zcurv, zfho          !   -      - 
    343343      !---------------------------------------------------------------------- 
    344344      ! 
Note: See TracChangeset for help on using the changeset viewer.