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/OCE/DYN/dynspg.F90 – NEMO

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

Add Mixed Precision support by Oriol Tintó

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/DYN/dynspg.F90

    r14072 r14219  
    5050   !! * Substitutions 
    5151#  include "do_loop_substitute.h90" 
     52#  include "single_precision_substitute.h90" 
    5253   !!---------------------------------------------------------------------- 
    5354   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    7778      INTEGER                             , INTENT( in )  ::  kt                  ! ocean time-step index 
    7879      INTEGER                             , INTENT( in )  ::  Kbb, Kmm, Krhs, Kaa ! ocean time level indices 
    79       REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) ::  puu, pvv            ! ocean velocities and RHS of momentum equation 
    80       REAL(wp), DIMENSION(jpi,jpj,jpt)    , INTENT(inout) ::  pssh, puu_b, pvv_b  ! SSH and barotropic velocities at main time levels 
     80      REAL(dp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) ::  puu, pvv            ! ocean velocities and RHS of momentum equation 
     81      REAL(dp), DIMENSION(jpi,jpj,jpt)    , INTENT(inout) :: pssh                 ! SSH 
     82      REAL(wp), DIMENSION(jpi,jpj,jpt)    , INTENT(inout) :: puu_b, pvv_b         !barotropic velocities at main time levels 
    8183      ! 
    8284      INTEGER  ::   ji, jj, jk                   ! dummy loop indices 
     
    8486      REAL(wp)             , DIMENSION(jpi,jpj) ::   zpgu, zpgv   ! 2D workspace 
    8587      REAL(wp), ALLOCATABLE, DIMENSION(:,:)     ::   zpice 
    86       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:)   ::   ztrdu, ztrdv 
     88      REAL(dp), ALLOCATABLE, DIMENSION(:,:,:)   ::   ztrdu, ztrdv 
    8789      !!---------------------------------------------------------------------- 
    8890      ! 
     
    175177      ENDIF 
    176178      !                                      ! print mean trends (used for debugging) 
    177       IF(sn_cfctl%l_prtctl)   CALL prt_ctl( tab3d_1=puu(:,:,:,Krhs), clinfo1=' spg  - Ua: ', mask1=umask, & 
    178          &                                  tab3d_2=pvv(:,:,:,Krhs), clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
     179      IF(sn_cfctl%l_prtctl)   CALL prt_ctl( tab3d_1=CASTWP(puu(:,:,:,Krhs)), clinfo1=' spg  - Ua: ', mask1=umask, & 
     180         &                                  tab3d_2=CASTWP(pvv(:,:,:,Krhs)), clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    179181      ! 
    180182      IF( ln_timing )   CALL timing_stop('dyn_spg') 
Note: See TracChangeset for help on using the changeset viewer.