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 12603 for NEMO/branches/2020/dev_r12512_HPC-04_mcastril_Mixed_Precision_implementation/src/OCE/lib_fortran.F90 – NEMO

Ignore:
Timestamp:
2020-03-25T16:20:25+01:00 (4 years ago)
Author:
orioltp
Message:

Adding several interfaces to work with both single and double precision

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12512_HPC-04_mcastril_Mixed_Precision_implementation/src/OCE/lib_fortran.F90

    r12546 r12603  
    143143      !!---------------------------------------------------------------------- 
    144144      REAL(wp),  INTENT(in   ) ::   ptab(:,:) ! array on which operation is applied 
    145       COMPLEX(wp)              ::  local_sum_2d 
    146       ! 
    147       !!----------------------------------------------------------------------- 
    148       ! 
    149       COMPLEX(wp)::   ctmp 
     145      COMPLEX(dp)              ::  local_sum_2d 
     146      ! 
     147      !!----------------------------------------------------------------------- 
     148      ! 
     149      COMPLEX(dp)::   ctmp 
    150150      REAL(wp)   ::   ztmp 
    151151      INTEGER    ::   ji, jj    ! dummy loop indices 
     
    161161         DO ji = 1, ipi 
    162162            ztmp =  ptab(ji,jj) * tmask_i(ji,jj) 
    163             CALL DDPDD( CMPLX( ztmp, 0.e0, wp ), ctmp ) 
     163            CALL DDPDD( CMPLX( ztmp, 0.e0, dp ), ctmp ) 
    164164         END DO 
    165165      END DO 
     
    172172      !!---------------------------------------------------------------------- 
    173173      REAL(wp),  INTENT(in   ) ::   ptab(:,:,:) ! array on which operation is applied 
    174       COMPLEX(wp)              ::  local_sum_3d 
    175       ! 
    176       !!----------------------------------------------------------------------- 
    177       ! 
    178       COMPLEX(wp)::   ctmp 
     174      COMPLEX(dp)              ::  local_sum_3d 
     175      ! 
     176      !!----------------------------------------------------------------------- 
     177      ! 
     178      COMPLEX(dp)::   ctmp 
    179179      REAL(wp)   ::   ztmp 
    180180      INTEGER    ::   ji, jj, jk   ! dummy loop indices 
     
    192192          DO ji = 1, ipi 
    193193             ztmp =  ptab(ji,jj,jk) * tmask_i(ji,jj) 
    194              CALL DDPDD( CMPLX( ztmp, 0.e0, wp ), ctmp ) 
     194             CALL DDPDD( CMPLX( ztmp, 0.e0, dp ), ctmp ) 
    195195          END DO 
    196196        END DO 
     
    313313      !!              Yun HE and Chris H. Q. DING, Journal of Supercomputing 18, 259-277, 2001 
    314314      !!---------------------------------------------------------------------- 
    315       COMPLEX(wp), INTENT(in   ) ::   ydda 
    316       COMPLEX(wp), INTENT(inout) ::   yddb 
    317       ! 
    318       REAL(wp) :: zerr, zt1, zt2  ! local work variables 
     315      COMPLEX(dp), INTENT(in   ) ::   ydda 
     316      COMPLEX(dp), INTENT(inout) ::   yddb 
     317      ! 
     318      REAL(dp) :: zerr, zt1, zt2  ! local work variables 
    319319      !!----------------------------------------------------------------------- 
    320320      ! 
Note: See TracChangeset for help on using the changeset viewer.