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/ISF/isfcavgam.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/ISF/isfcavgam.F90

    r13237 r15540  
    5050      !!--------------------------------------------------------------------- 
    5151      !!-------------------------- OUT ------------------------------------- 
    52       REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) :: pgt  , pgs      ! gamma t and gamma s  
     52      REAL(dp), DIMENSION(jpi,jpj), INTENT(  out) :: pgt  , pgs      ! gamma t and gamma s  
    5353      !!-------------------------- IN  ------------------------------------- 
    5454      INTEGER                                     :: Kmm             ! ocean time level index 
    55       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) :: pqoce, pqfwf    ! isf heat and fwf 
    56       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) :: pttbl, pstbl    ! top boundary layer tracer 
    57       !!--------------------------------------------------------------------- 
    58       REAL(wp), DIMENSION(jpi,jpj)                :: zutbl, zvtbl    ! top boundary layer velocity 
     55      REAL(dp), DIMENSION(jpi,jpj), INTENT(in   ) :: pqoce, pqfwf    ! isf heat and fwf 
     56      REAL(dp), DIMENSION(jpi,jpj), INTENT(in   ) :: pttbl, pstbl    ! top boundary layer tracer 
     57      !!--------------------------------------------------------------------- 
     58      REAL(dp), DIMENSION(jpi,jpj)                :: zutbl, zvtbl    ! top boundary layer velocity 
    5959      !!--------------------------------------------------------------------- 
    6060      ! 
     
    127127      !!--------------------------------------------------------------------- 
    128128      !!-------------------------- OUT ------------------------------------- 
    129       REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) :: pgt, pgs     ! gammat and gammas [m/s] 
     129      REAL(dp), DIMENSION(jpi,jpj), INTENT(  out) :: pgt, pgs     ! gammat and gammas [m/s] 
    130130      !!-------------------------- IN  ------------------------------------- 
    131       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) :: putbl, pvtbl ! velocity in the losch top boundary layer 
    132       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) :: pCd          ! drag coefficient 
    133       REAL(wp),                     INTENT(in   ) :: pke2         ! background velocity 
    134       !!--------------------------------------------------------------------- 
    135       REAL(wp), DIMENSION(jpi,jpj) :: zustar 
     131      REAL(dp), DIMENSION(jpi,jpj), INTENT(in   ) :: putbl, pvtbl ! velocity in the losch top boundary layer 
     132      REAL(dp), DIMENSION(jpi,jpj), INTENT(in   ) :: pCd          ! drag coefficient 
     133      REAL(dp),                     INTENT(in   ) :: pke2         ! background velocity 
     134      !!--------------------------------------------------------------------- 
     135      REAL(dp), DIMENSION(jpi,jpj) :: zustar 
    136136      !!--------------------------------------------------------------------- 
    137137      ! 
     
    158158      !!--------------------------------------------------------------------- 
    159159      !!-------------------------- OUT ------------------------------------- 
    160       REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) :: pgt, pgs     ! gammat and gammas 
     160      REAL(dp), DIMENSION(jpi,jpj), INTENT(  out) :: pgt, pgs     ! gammat and gammas 
    161161      !!-------------------------- IN  ------------------------------------- 
    162162      INTEGER                                     :: Kmm            ! ocean time level index 
    163       REAL(wp),                     INTENT(in   ) :: pke2           ! background velocity squared 
    164       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) :: pqoce, pqfwf   ! surface heat flux and fwf flux 
    165       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) :: pCd            ! drag coeficient 
    166       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) :: putbl, pvtbl   ! velocity in the losch top boundary layer 
    167       REAL(wp), DIMENSION(jpi,jpj), INTENT(in   ) :: pttbl, pstbl   ! tracer   in the losch top boundary layer 
     163      REAL(dp),                     INTENT(in   ) :: pke2           ! background velocity squared 
     164      REAL(dp), DIMENSION(jpi,jpj), INTENT(in   ) :: pqoce, pqfwf   ! surface heat flux and fwf flux 
     165      REAL(dp), DIMENSION(jpi,jpj), INTENT(in   ) :: pCd            ! drag coeficient 
     166      REAL(dp), DIMENSION(jpi,jpj), INTENT(in   ) :: putbl, pvtbl   ! velocity in the losch top boundary layer 
     167      REAL(dp), DIMENSION(jpi,jpj), INTENT(in   ) :: pttbl, pstbl   ! tracer   in the losch top boundary layer 
    168168      !!--------------------------------------------------------------------- 
    169169      INTEGER  :: ji, jj                     ! loop index 
    170170      INTEGER  :: ikt                        ! local integer 
    171       REAL(wp) :: zdku, zdkv                 ! U, V shear  
    172       REAL(wp) :: zPr, zSc, zRc              ! Prandtl, Scmidth and Richardson number  
    173       REAL(wp) :: zmob, zmols                ! Monin Obukov length, coriolis factor at T point 
    174       REAL(wp) :: zbuofdep, zhnu             ! Bouyancy length scale, sublayer tickness 
    175       REAL(wp) :: zhmax                      ! limitation of mol 
    176       REAL(wp) :: zetastar                   ! stability parameter 
    177       REAL(wp) :: zgmolet, zgmoles, zgturb   ! contribution of modelecular sublayer and turbulence  
    178       REAL(wp) :: zcoef                      ! temporary coef 
    179       REAL(wp) :: zdep 
    180       REAL(wp) :: zeps = 1.0e-20_wp     
    181       REAL(wp), PARAMETER :: zxsiN = 0.052_wp   ! dimensionless constant 
    182       REAL(wp), PARAMETER :: znu   = 1.95e-6_wp ! kinamatic viscosity of sea water (m2.s-1) 
    183       REAL(wp), DIMENSION(2) :: zts, zab 
    184       REAL(wp), DIMENSION(jpi,jpj) :: zustar    ! friction velocity 
     171      REAL(dp) :: zdku, zdkv                 ! U, V shear  
     172      REAL(dp) :: zPr, zSc, zRc              ! Prandtl, Scmidth and Richardson number  
     173      REAL(dp) :: zmob, zmols                ! Monin Obukov length, coriolis factor at T point 
     174      REAL(dp) :: zbuofdep, zhnu             ! Bouyancy length scale, sublayer tickness 
     175      REAL(dp) :: zhmax                      ! limitation of mol 
     176      REAL(dp) :: zetastar                   ! stability parameter 
     177      REAL(dp) :: zgmolet, zgmoles, zgturb   ! contribution of modelecular sublayer and turbulence  
     178      REAL(dp) :: zcoef                      ! temporary coef 
     179      REAL(dp) :: zdep 
     180      REAL(dp) :: zeps = 1.0e-20_wp     
     181      REAL(dp), PARAMETER :: zxsiN = 0.052_wp   ! dimensionless constant 
     182      REAL(dp), PARAMETER :: znu   = 1.95e-6_wp ! kinamatic viscosity of sea water (m2.s-1) 
     183      REAL(dp), DIMENSION(2) :: zts, zab 
     184      REAL(dp), DIMENSION(jpi,jpj) :: zustar    ! friction velocity 
    185185      !!--------------------------------------------------------------------- 
    186186      ! 
Note: See TracChangeset for help on using the changeset viewer.