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/TRD/trdmxl.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/TRD/trdmxl.F90

    r14644 r15540  
    9797      !!                potential energy, and/or mixed layer budget. 
    9898      !!---------------------------------------------------------------------- 
    99       REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   ptrdx   ! Temperature or U trend  
    100       REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   ptrdy   ! Salinity    or V trend 
     99      REAL(dp), DIMENSION(:,:,:), INTENT(inout) ::   ptrdx   ! Temperature or U trend  
     100      REAL(dp), DIMENSION(:,:,:), INTENT(inout) ::   ptrdy   ! Salinity    or V trend 
    101101      INTEGER                   , INTENT(in   ) ::   ktrd    ! tracer trend index 
    102102      INTEGER                   , INTENT(in   ) ::   kt      ! time step index 
     
    213213      !!---------------------------------------------------------------------- 
    214214      REAL(wp), DIMENSION(:,:,:), INTENT(in   ) ::   ptrd    ! trend at kt 
    215       REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   ptrdm   ! cumulative trends at kt 
     215      REAL(dp), DIMENSION(:,:,:), INTENT(inout) ::   ptrdm   ! cumulative trends at kt 
    216216      INTEGER                   , INTENT(in   ) ::   kt      ! time step index 
    217217      !!---------------------------------------------------------------------- 
     
    250250      INTEGER                         , INTENT( in ) ::   ktrd       ! ocean trend index 
    251251      CHARACTER(len=2)                , INTENT( in ) ::   ctype      ! 2D surface/bottom or 3D interior physics 
    252       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( in ) ::   pttrdmxl   ! temperature trend  
    253       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( in ) ::   pstrdmxl   ! salinity trend  
     252      REAL(dp), DIMENSION(jpi,jpj,jpk), INTENT( in ) ::   pttrdmxl   ! temperature trend  
     253      REAL(dp), DIMENSION(jpi,jpj,jpk), INTENT( in ) ::   pstrdmxl   ! salinity trend  
    254254      ! 
    255255      INTEGER ::   ji, jj, jk, isum 
    256       REAL(wp), DIMENSION(jpi,jpj)  :: zvlmsk  
     256      REAL(dp), DIMENSION(jpi,jpj)  :: zvlmsk  
    257257      !!---------------------------------------------------------------------- 
    258258 
     
    329329      !!---------------------------------------------------------------------- 
    330330      INTEGER , INTENT(in   ) ::   kt     ! ocean time-step index 
    331       REAL(wp), INTENT(in   ) ::   p2dt   ! time step  [s] 
     331      REAL(dp), INTENT(in   ) ::   p2dt   ! time step  [s] 
    332332      ! 
    333333      INTEGER :: ji, jj, jk, jl, ik, it, itmod 
    334334      LOGICAL :: lldebug = .TRUE. 
    335       REAL(wp) :: zavt, zfn, zfn2 
     335      REAL(dp) :: zavt, zfn, zfn2 
    336336      !                                              ! z(ts)mltot : dT/dt over the anlysis window (including Asselin) 
    337337      !                                              ! z(ts)mlres : residual = dh/dt entrainment term 
    338       REAL(wp), DIMENSION(jpi,jpj  )   ::  ztmltot , zsmltot , ztmlres , zsmlres , ztmlatf , zsmlatf 
    339       REAL(wp), DIMENSION(jpi,jpj  )   ::  ztmltot2, zsmltot2, ztmlres2, zsmlres2, ztmlatf2, zsmlatf2, ztmltrdm2, zsmltrdm2   
    340       REAL(wp), DIMENSION(jpi,jpj,jpk) ::  ztmltrd2, zsmltrd2   ! only needed for mean diagnostics 
     338      REAL(dp), DIMENSION(jpi,jpj  )   ::  ztmltot , zsmltot , ztmlres , zsmlres , ztmlatf , zsmlatf 
     339      REAL(dp), DIMENSION(jpi,jpj  )   ::  ztmltot2, zsmltot2, ztmlres2, zsmlres2, ztmlatf2, zsmlatf2, ztmltrdm2, zsmltrdm2   
     340      REAL(dp), DIMENSION(jpi,jpj,jpk) ::  ztmltrd2, zsmltrd2   ! only needed for mean diagnostics 
    341341      !!---------------------------------------------------------------------- 
    342342   
     
    726726      INTEGER  ::   inum   ! logical unit 
    727727      INTEGER  ::   ios    ! local integer 
    728       REAL(wp) ::   zjulian, zsto, zout 
     728      REAL(dp) ::   zjulian, zsto, zout 
    729729      CHARACTER (LEN=40) ::   clop 
    730730      CHARACTER (LEN=12) ::   clmxl, cltu, clsu 
Note: See TracChangeset for help on using the changeset viewer.