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/lib_fortran.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/lib_fortran.F90

    r14644 r15540  
    9191   FUNCTION local_sum_2d( ptab ) 
    9292      !!---------------------------------------------------------------------- 
    93       REAL(wp),  INTENT(in   ) ::   ptab(:,:) ! array on which operation is applied 
     93      REAL(dp),  INTENT(in   ) ::   ptab(:,:) ! array on which operation is applied 
    9494      COMPLEX(dp)              ::  local_sum_2d 
    9595      ! 
     
    9797      ! 
    9898      COMPLEX(dp)::   ctmp 
    99       REAL(wp)   ::   ztmp 
     99      REAL(dp)   ::   ztmp 
    100100      INTEGER    ::   ji, jj    ! dummy loop indices 
    101101      INTEGER    ::   ipi, ipj  ! dimensions 
     
    126126      ! 
    127127      COMPLEX(dp)::   ctmp 
    128       REAL(wp)   ::   ztmp 
     128      REAL(dp)   ::   ztmp 
    129129      INTEGER    ::   ji, jj, jk   ! dummy loop indices 
    130130      INTEGER    ::   ipi, ipj, ipk    ! dimensions 
     
    158158      !! ** Purpose : sum over 3x3 boxes 
    159159      !!---------------------------------------------------------------------- 
    160       REAL(wp), DIMENSION (:,:), INTENT(inout) ::   p2d 
     160      REAL(dp), DIMENSION (:,:), INTENT(inout) ::   p2d 
    161161      ! 
    162162      INTEGER ::   ji, ji2, jj, jj2     ! dummy loop indices 
     
    210210      !! ** Purpose : sum over 3x3 boxes 
    211211      !!---------------------------------------------------------------------- 
    212       REAL(wp), DIMENSION (:,:,:), INTENT(inout) ::   p3d 
     212      REAL(dp), DIMENSION (:,:,:), INTENT(inout) ::   p3d 
    213213      ! 
    214214      INTEGER ::   ji, ji2, jj, jj2, jn     ! dummy loop indices 
     
    292292      ! 
    293293      ! The result is t1 + t2, after normalization. 
    294       yddb = CMPLX( zt1 + zt2, zt2 - ((zt1 + zt2) - zt1), wp ) 
     294      yddb = CMPLX( zt1 + zt2, zt2 - ((zt1 + zt2) - zt1), dp ) 
    295295      ! 
    296296   END SUBROUTINE DDPDD 
Note: See TracChangeset for help on using the changeset viewer.