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 14219 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/SED – NEMO

Ignore:
Timestamp:
2020-12-18T18:52:57+01:00 (4 years ago)
Author:
mcastril
Message:

Add Mixed Precision support by Oriol Tintó

Location:
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/SED
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/SED/sedbtb.F90

    r10222 r14219  
    6060      ENDDO 
    6161 
    62       CALL sed_mat( jpsol, jpoce, jpksedm1, zsol, dtsed / 2.0 ) 
     62      CALL sed_mat( jpsol, jpoce, jpksedm1, zsol, dtsed / 2.0_wp ) 
    6363 
    6464 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/SED/seddiff.F90

    r10225 r14219  
    6868 
    6969      ! solves tridiagonal system 
    70       CALL sed_mat( jwpo4, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwpo4), dtsed2 / 2.0 ) 
     70      CALL sed_mat( jwpo4, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwpo4), dtsed2 / 2.0_wp ) 
    7171 
    7272      !--------------------------- 
     
    7575 
    7676      ! solves tridiagonal system 
    77       CALL sed_mat( jwnh4, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwnh4), dtsed2 / 2.0 ) 
     77      CALL sed_mat( jwnh4, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwnh4), dtsed2 / 2.0_wp) 
    7878 
    7979      !--------------------------- 
     
    8282 
    8383      ! solves tridiagonal system 
    84       CALL sed_mat( jwfe2, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwfe2), dtsed2 / 2.0 ) 
     84      CALL sed_mat( jwfe2, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwfe2), dtsed2 / 2.0_wp ) 
    8585 
    8686      !--------------------------- 
     
    8989 
    9090      ! solves tridiagonal system 
    91       CALL sed_mat( jwh2s, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwh2s), dtsed2 / 2.0  ) 
     91      CALL sed_mat( jwh2s, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwh2s), dtsed2 / 2.0_wp  ) 
    9292 
    9393      !--------------------------- 
     
    9696 
    9797      ! solves tridiagonal system 
    98       CALL sed_mat( jwso4, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwso4), dtsed2 / 2.0 ) 
     98      CALL sed_mat( jwso4, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwso4), dtsed2 / 2.0_wp ) 
    9999 
    100100      !--------------------------- 
     
    103103 
    104104      ! solves tridiagonal system 
    105       CALL sed_mat( jwoxy, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwoxy), dtsed2 / 2.0 ) 
     105      CALL sed_mat( jwoxy, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwoxy), dtsed2 / 2.0_wp ) 
    106106 
    107107      !--------------------------- 
     
    110110 
    111111      ! solves tridiagonal system 
    112       CALL sed_mat( jwno3, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwno3), dtsed2 / 2.0 ) 
     112      CALL sed_mat( jwno3, jpoce, jpksed, zrearat1, zrearat2, pwcp(:,:,jwno3), dtsed2 / 2.0_wp ) 
    113113 
    114       CALL sed_mat( jwdic, jpoce, jpksed, zrearat1, zrearat2, sedligand(:,:), dtsed2 / 2.0 ) 
     114      CALL sed_mat( jwdic, jpoce, jpksed, zrearat1, zrearat2, sedligand(:,:), dtsed2 / 2.0_wp ) 
    115115 
    116116      IF( ln_timing )  CALL timing_stop('sed_diff') 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/SED/sedstp.F90

    r13970 r14219  
    8686      IF( kt == nitsed000 ) THEN 
    8787          CALL iom_close( numrsr )       ! close input tracer restart file 
    88           IF(lrxios) CALL iom_context_finalize(      cr_sedrst_cxt  ) 
    89 !         IF(lwm) CALL FLUSH( numont )   ! flush namelist output 
     88!          IF(lwm) CALL FLUSH( numont )   ! flush namelist output 
    9089      ENDIF 
    9190      IF( lrst_sed )            CALL sed_rst_wri( kt )   ! restart file output 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/SED/trcdmp_sed.F90

    r14086 r14219  
    3636   !! * Substitutions 
    3737#  include "do_loop_substitute.h90" 
     38#  include "single_precision_substitute.h90" 
    3839   !!---------------------------------------------------------------------- 
    3940   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
     
    7879      INTEGER ::   ji, jj, jk, jn, jl, ikt   ! dummy loop indices 
    7980      CHARACTER (len=22) ::   charout 
    80       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ztrcdta   ! 3D  workspace 
     81      REAL(dp), DIMENSION(jpi,jpj,jpk) ::   ztrcdta   ! 3D  workspace 
    8182      !!---------------------------------------------------------------------- 
    8283      ! 
     
    108109         WRITE(charout, FMT="('dmp ')") 
    109110         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    110          CALL prt_ctl( tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm,clinfo3='trd' ) 
     111         CALL prt_ctl( tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm,clinfo3='trd' ) 
    111112      ENDIF 
    112113      ! 
Note: See TracChangeset for help on using the changeset viewer.