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/DIU/diu_bulk.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/DIU/diu_bulk.F90

    r14649 r15540  
    2626 
    2727   ! Parameters 
    28    REAL(wp), PRIVATE, PARAMETER :: pp_alpha = 2.0e-4_wp 
    29    REAL(wp), PRIVATE, PARAMETER :: pp_veltol = 0._wp 
    30    REAL(wp), PRIVATE, PARAMETER :: pp_min_fvel = 1.e-10_wp  
     28   REAL(dp), PRIVATE, PARAMETER :: pp_alpha = 2.0e-4_wp 
     29   REAL(dp), PRIVATE, PARAMETER :: pp_veltol = 0._wp 
     30   REAL(dp), PRIVATE, PARAMETER :: pp_min_fvel = 1.e-10_wp  
    3131    
    3232   ! Key variables 
    33    REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: x_dsst     ! Delta SST 
    34    REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: x_solfrac  ! Fraction of  
     33   REAL(dp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: x_dsst     ! Delta SST 
     34   REAL(dp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: x_solfrac  ! Fraction of  
    3535   !                                                           ! absorbed radiation 
    3636 
     
    9696      REAL(wp), DIMENSION(jpi,jpj)          , INTENT(in) ::   psolflux       ! solar flux (Watts) 
    9797      REAL(wp), DIMENSION(jpi,jpj)          , INTENT(in) ::   pqflux         ! heat (non-solar) flux (Watts) 
    98       REAL(wp), DIMENSION(jpi,jpj)          , INTENT(in) ::   ptauflux       ! wind stress  (kg/ m s^2) 
     98      REAL(dp), DIMENSION(jpi,jpj)          , INTENT(in) ::   ptauflux       ! wind stress  (kg/ m s^2) 
    9999      REAL(dp), DIMENSION(jpi,jpj)          , INTENT(in) ::   prho           ! water density  (kg/m^3) 
    100100      REAL(dp)                              , INTENT(in) ::   p_rdt          ! time-step 
     
    108108      INTEGER :: ji,jj 
    109109      LOGICAL  :: ll_calcfrac 
    110       REAL(wp), DIMENSION(jpi,jpj) :: z_fvel              ! friction velocity      
    111       REAL(wp), DIMENSION(jpi,jpj) :: zthick, zcoolthick, zmu, zla 
    112       REAL(wp), DIMENSION(jpi,jpj) :: z_abflux            ! absorbed flux            
    113       REAL(wp), DIMENSION(jpi,jpj) :: z_fla               ! Langmuir function value  
     110      REAL(dp), DIMENSION(jpi,jpj) :: z_fvel              ! friction velocity      
     111      REAL(dp), DIMENSION(jpi,jpj) :: zthick, zcoolthick, zmu, zla 
     112      REAL(dp), DIMENSION(jpi,jpj) :: z_abflux            ! absorbed flux            
     113      REAL(dp), DIMENSION(jpi,jpj) :: z_fla               ! Langmuir function value  
    114114      !!---------------------------------------------------------------------- 
    115115 
     
    177177       
    178178      ! Function definition 
    179       REAL(wp), DIMENSION(jpi,jpj) :: t_imp 
     179      REAL(dp), DIMENSION(jpi,jpj) :: t_imp 
    180180      ! Dummy variables 
    181       REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: p_dsst     ! Delta SST 
     181      REAL(dp), DIMENSION(jpi,jpj), INTENT(IN) :: p_dsst     ! Delta SST 
    182182      REAL(dp), INTENT(IN)                     :: p_rdt      ! Time-step 
    183       REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: p_abflux   ! Heat forcing 
    184       REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: p_fvel     ! Friction velocity 
    185       REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: p_fla      ! Langmuir number 
    186       REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: pmu        ! Structure parameter 
    187       REAL(wp), DIMENSION(jpi,jpj), INTENT(IN) :: pthick     ! Layer thickness 
     183      REAL(dp), DIMENSION(jpi,jpj), INTENT(IN) :: p_abflux   ! Heat forcing 
     184      REAL(dp), DIMENSION(jpi,jpj), INTENT(IN) :: p_fvel     ! Friction velocity 
     185      REAL(dp), DIMENSION(jpi,jpj), INTENT(IN) :: p_fla      ! Langmuir number 
     186      REAL(dp), DIMENSION(jpi,jpj), INTENT(IN) :: pmu        ! Structure parameter 
     187      REAL(dp), DIMENSION(jpi,jpj), INTENT(IN) :: pthick     ! Layer thickness 
    188188      REAL(dp), DIMENSION(jpi,jpj), INTENT(IN) :: prho       ! Water density 
    189189    
    190190      ! Local variables 
    191       REAL(wp) :: z_olength          ! Obukhov length 
    192       REAL(wp) :: z_sigma, z_sigma2 
    193       REAL(wp) :: z_term1, z_term2      
    194       REAL(wp) :: z_stabfunc         ! stability function value 
    195       REAL(wp) :: z_fvel       
     191      REAL(dp) :: z_olength          ! Obukhov length 
     192      REAL(dp) :: z_sigma, z_sigma2 
     193      REAL(dp) :: z_term1, z_term2      
     194      REAL(dp) :: z_stabfunc         ! stability function value 
     195      REAL(dp) :: z_fvel       
    196196       
    197197      CHARACTER(200) :: warn_string 
Note: See TracChangeset for help on using the changeset viewer.