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 – 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
Files:
27 edited

Legend:

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

    r13295 r14219  
    5959#  include "do_loop_substitute.h90" 
    6060#  include "domzgr_substitute.h90" 
     61#  include "single_precision_substitute.h90" 
    6162   !!---------------------------------------------------------------------- 
    6263   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    368369         WRITE(charout, FMT="('bio')") 
    369370         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    370          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     371         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    371372      ENDIF 
    372373      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P2Z/p2zexp.F90

    r13295 r14219  
    4040#  include "do_loop_substitute.h90" 
    4141#  include "domzgr_substitute.h90" 
     42#  include "single_precision_substitute.h90" 
    4243   !!---------------------------------------------------------------------- 
    4344   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    141142         WRITE(charout, FMT="('exp')") 
    142143         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    143          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     144         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    144145      ENDIF 
    145146      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P2Z/p2zopt.F90

    r13497 r14219  
    4141#  include "do_loop_substitute.h90" 
    4242#  include "domzgr_substitute.h90" 
     43#  include "single_precision_substitute.h90" 
    4344   !!---------------------------------------------------------------------- 
    4445   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    126127         WRITE(charout, FMT="('opt')") 
    127128         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    128          CALL prt_ctl( tab4d_1=tr(:,:,:,:,Kmm), mask1=tmask, clinfo=ctrcnm ) 
     129         CALL prt_ctl( tab4d_1=CASTWP(tr(:,:,:,:,Kmm)), mask1=tmask, clinfo=ctrcnm ) 
    129130      ENDIF 
    130131      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P2Z/p2zsed.F90

    r13295 r14219  
    3434#  include "do_loop_substitute.h90" 
    3535#  include "domzgr_substitute.h90" 
     36#  include "single_precision_substitute.h90" 
    3637   !!---------------------------------------------------------------------- 
    3738   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    110111         WRITE(charout, FMT="('sed')") 
    111112         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    112          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     113         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    113114      ENDIF 
    114115      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zagg.F90

    r13295 r14219  
    2626   !! * Substitutions 
    2727#  include "do_loop_substitute.h90" 
     28#  include "single_precision_substitute.h90" 
    2829   !!---------------------------------------------------------------------- 
    2930   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    171172         WRITE(charout, FMT="('agg')") 
    172173         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    173          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     174         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    174175      ENDIF 
    175176      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zbio.F90

    r13295 r14219  
    4141#  include "do_loop_substitute.h90" 
    4242#  include "domzgr_substitute.h90" 
     43#  include "single_precision_substitute.h90" 
    4344   !!---------------------------------------------------------------------- 
    4445   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    109110         WRITE(charout, FMT="('bio ')") 
    110111         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    111          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     112         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    112113      ENDIF 
    113114      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zfechem.F90

    r13472 r14219  
    3434#  include "do_loop_substitute.h90" 
    3535#  include "domzgr_substitute.h90" 
     36#  include "single_precision_substitute.h90" 
    3637   !!---------------------------------------------------------------------- 
    3738   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    219220         WRITE(charout, FMT="('fechem')") 
    220221         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    221          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     222         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    222223      ENDIF 
    223224      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zflx.F90

    r13295 r14219  
    5555#  include "do_loop_substitute.h90" 
    5656#  include "domzgr_substitute.h90" 
     57#  include "single_precision_substitute.h90" 
    5758   !!---------------------------------------------------------------------- 
    5859   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    179180         WRITE(charout, FMT="('flx ')") 
    180181         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    181          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     182         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    182183      ENDIF 
    183184 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zligand.F90

    r13295 r14219  
    2828   !! * Substitutions 
    2929#  include "do_loop_substitute.h90" 
     30#  include "single_precision_substitute.h90" 
    3031   !!---------------------------------------------------------------------- 
    3132   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    9091         WRITE(charout, FMT="('ligand1')") 
    9192         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    92          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     93         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    9394      ENDIF 
    9495      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zlys.F90

    r13295 r14219  
    3737   !! * Substitutions 
    3838#  include "do_loop_substitute.h90" 
     39#  include "single_precision_substitute.h90" 
    3940   !!---------------------------------------------------------------------- 
    4041   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    131132        WRITE(charout, FMT="('lys ')") 
    132133        CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    133         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     134        CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    134135      ENDIF 
    135136      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zmeso.F90

    r13295 r14219  
    4646   !! * Substitutions 
    4747#  include "do_loop_substitute.h90" 
     48#  include "single_precision_substitute.h90" 
    4849   !!---------------------------------------------------------------------- 
    4950   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    247248        WRITE(charout, FMT="('meso')") 
    248249        CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    249         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     250        CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    250251      ENDIF 
    251252      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zmicro.F90

    r13295 r14219  
    4444   !! * Substitutions 
    4545#  include "do_loop_substitute.h90" 
     46#  include "single_precision_substitute.h90" 
    4647   !!---------------------------------------------------------------------- 
    4748   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    203204         WRITE(charout, FMT="('micro')") 
    204205         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    205          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     206         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    206207      ENDIF 
    207208      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zmort.F90

    r13295 r14219  
    3131   !! * Substitutions 
    3232#  include "do_loop_substitute.h90" 
     33#  include "single_precision_substitute.h90" 
    3334   !!---------------------------------------------------------------------- 
    3435   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    121122         WRITE(charout, FMT="('nano')") 
    122123         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    123          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     124         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    124125       ENDIF 
    125126      ! 
     
    193194         WRITE(charout, FMT="('diat')") 
    194195         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    195          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     196         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    196197      ENDIF 
    197198      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zpoc.F90

    r13295 r14219  
    4040#  include "do_loop_substitute.h90" 
    4141#  include "domzgr_substitute.h90" 
     42#  include "single_precision_substitute.h90" 
    4243   !!---------------------------------------------------------------------- 
    4344   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    243244        WRITE(charout, FMT="('poc1')") 
    244245        CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    245         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     246        CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    246247     ENDIF 
    247248 
     
    435436         WRITE(charout, FMT="('poc2')") 
    436437         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    437          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     438         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    438439      ENDIF 
    439440      ! 
     
    504505         ! 
    505506         alphan(1) = gamain(reminup, rshape, ifault) 
    506          reminp(1) = gamain(reminup, rshape+1.0, ifault) * xremip / alphan(1) 
     507         reminp(1) = gamain(reminup, rshape+1.0_wp, ifault) * xremip / alphan(1) 
    507508         DO jn = 2, jcpoc-1 
    508509            reminup = 1./ 400. * EXP( REAL(jn, wp) * remindelta) 
    509510            remindown = 1. / 400. * EXP( REAL(jn-1, wp) * remindelta) 
    510511            alphan(jn) = gamain(reminup, rshape, ifault) - gamain(remindown, rshape, ifault) 
    511             reminp(jn) = gamain(reminup, rshape+1.0, ifault) - gamain(remindown, rshape+1.0, ifault) 
     512            reminp(jn) = gamain(reminup, rshape+1.0_wp, ifault) - gamain(remindown, rshape+1.0_wp, ifault) 
    512513            reminp(jn) = reminp(jn) * xremip / alphan(jn) 
    513514         END DO 
    514515         remindown = 1. / 400. * EXP( REAL(jcpoc-1, wp) * remindelta) 
    515516         alphan(jcpoc) = 1.0 - gamain(remindown, rshape, ifault) 
    516          reminp(jcpoc) = 1.0 - gamain(remindown, rshape+1.0, ifault) 
     517         reminp(jcpoc) = 1.0 - gamain(remindown, rshape+1.0_wp, ifault) 
    517518         reminp(jcpoc) = reminp(jcpoc) * xremip / alphan(jcpoc) 
    518519 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zprod.F90

    r13295 r14219  
    4949#  include "do_loop_substitute.h90" 
    5050#  include "domzgr_substitute.h90" 
     51#  include "single_precision_substitute.h90" 
    5152   !!---------------------------------------------------------------------- 
    5253   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    332333         WRITE(charout, FMT="('prod')") 
    333334         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    334          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     335         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    335336     ENDIF 
    336337      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zrem.F90

    r13295 r14219  
    4545#  include "do_loop_substitute.h90" 
    4646#  include "domzgr_substitute.h90" 
     47#  include "single_precision_substitute.h90" 
    4748   !!---------------------------------------------------------------------- 
    4849   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    197198         WRITE(charout, FMT="('rem1')") 
    198199         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    199          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     200         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    200201       ENDIF 
    201202 
     
    219220         WRITE(charout, FMT="('rem2')") 
    220221         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    221          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     222         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    222223       ENDIF 
    223224 
     
    250251         WRITE(charout, FMT="('rem3')") 
    251252         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    252          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     253         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    253254       ENDIF 
    254255 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zsed.F90

    r13546 r14219  
    4040#  include "do_loop_substitute.h90" 
    4141#  include "domzgr_substitute.h90" 
     42#  include "single_precision_substitute.h90" 
    4243   !!---------------------------------------------------------------------- 
    4344   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    316317         WRITE(charout, fmt="('sed ')") 
    317318         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    318          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     319         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    319320      ENDIF 
    320321      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zsink.F90

    r13295 r14219  
    4141#  include "do_loop_substitute.h90" 
    4242#  include "domzgr_substitute.h90" 
     43#  include "single_precision_substitute.h90" 
    4344   !!---------------------------------------------------------------------- 
    4445   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    145146         WRITE(charout, FMT="('sink')") 
    146147         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    147          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     148         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    148149      ENDIF 
    149150      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p4zsms.F90

    r14086 r14219  
    1111   USE oce_trc         ! shared variables between ocean and passive tracers 
    1212   USE trc             ! passive tracers common variables  
     13   USE trcdta          !  
    1314   USE sms_pisces      ! PISCES Source Minus Sink variables 
    1415   USE p4zbio          ! Biological model 
     
    368369            IF(lwp) WRITE(numout,*) '~~~~~~~' 
    369370         ENDIF 
    370          CALL iom_rstput( kt, nitrst, numrtw, 'PH', hi(:,:,:)           ) 
    371          CALL iom_rstput( kt, nitrst, numrtw, 'Silicalim', xksi(:,:)    ) 
     371         CALL iom_rstput( kt, nitrst, numrtw, 'PH', hi(:,:,:) ) 
     372         CALL iom_rstput( kt, nitrst, numrtw, 'Silicalim', xksi(:,:) ) 
    372373         CALL iom_rstput( kt, nitrst, numrtw, 'Silicamax', xksimax(:,:) ) 
    373374         CALL iom_rstput( kt, nitrst, numrtw, 'tcflxcum', t_oce_co2_flx_cum ) 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p5zmeso.F90

    r13295 r14219  
    5353   !! * Substitutions 
    5454#  include "do_loop_substitute.h90" 
     55#  include "single_precision_substitute.h90" 
    5556   !!---------------------------------------------------------------------- 
    5657   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    360361        WRITE(charout, FMT="('meso')") 
    361362        CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    362         CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     363        CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    363364      ENDIF 
    364365      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p5zmicro.F90

    r13295 r14219  
    5454   !! * Substitutions 
    5555#  include "do_loop_substitute.h90" 
     56#  include "single_precision_substitute.h90" 
    5657   !!---------------------------------------------------------------------- 
    5758   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    307308         WRITE(charout, FMT="('micro')") 
    308309         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    309          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     310         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    310311      ENDIF 
    311312      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p5zmort.F90

    r13295 r14219  
    3535   !! * Substitutions 
    3636#  include "do_loop_substitute.h90" 
     37#  include "single_precision_substitute.h90" 
    3738   !!---------------------------------------------------------------------- 
    3839   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    122123         WRITE(charout, FMT="('nano')") 
    123124         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    124          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     125         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    125126       ENDIF 
    126127      ! 
     
    180181         WRITE(charout, FMT="('pico')") 
    181182         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    182          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     183         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    183184       ENDIF 
    184185      ! 
     
    255256         WRITE(charout, FMT="('diat')") 
    256257         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    257          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     258         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    258259      ENDIF 
    259260      ! 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/PISCES/P4Z/p5zprod.F90

    r13295 r14219  
    5353#  include "do_loop_substitute.h90" 
    5454#  include "domzgr_substitute.h90" 
     55#  include "single_precision_substitute.h90" 
    5556   !!---------------------------------------------------------------------- 
    5657   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    462463         WRITE(charout, FMT="('prod')") 
    463464         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    464          CALL prt_ctl(tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm) 
     465         CALL prt_ctl(tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm) 
    465466      ENDIF 
    466467      ! 
  • 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.