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/isftbl.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/isftbl.F90

    r14986 r15540  
    4141      !! 
    4242      !!-------------------------- OUT ------------------------------------- 
    43       REAL(wp), DIMENSION(jpi,jpj)          , INTENT(  out) :: pvarout ! 2d average of pvarin 
     43      REAL(dp), DIMENSION(jpi,jpj)          , INTENT(  out) :: pvarout ! 2d average of pvarin 
    4444      !!-------------------------- IN  ------------------------------------- 
    4545      INTEGER                               , INTENT(in   ) :: Kmm           ! ocean time level index 
     
    4747      REAL(dp), DIMENSION(jpi,jpj,jpk)      , INTENT(in   ) :: pvarin        ! 3d variable to average over the tbl 
    4848      INTEGER,  DIMENSION(jpi,jpj)          , INTENT(in   ) :: ktop          ! top level 
    49       REAL(wp), DIMENSION(jpi,jpj)          , INTENT(in   ) :: phtbl         ! tbl thickness 
     49      REAL(dp), DIMENSION(jpi,jpj)          , INTENT(in   ) :: phtbl         ! tbl thickness 
    5050      !!-------------------------- IN OPTIONAL ----------------------------- 
    5151      INTEGER,  DIMENSION(jpi,jpj), OPTIONAL, INTENT(in   ) :: kbot          ! bottom level 
    52       REAL(wp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in   ) :: pfrac         ! fraction of bottom cell affected by tbl 
     52      REAL(dp), DIMENSION(jpi,jpj), OPTIONAL, INTENT(in   ) :: pfrac         ! fraction of bottom cell affected by tbl 
    5353      !!-------------------------------------------------------------------- 
    5454      INTEGER ::   ji, jj                     ! loop index 
    5555      INTEGER , DIMENSION(jpi,jpj) :: ikbot   ! bottom level of the tbl 
    56       REAL(wp), DIMENSION(jpi,jpj) :: zvarout ! 2d average of pvarin 
    57       REAL(wp), DIMENSION(jpi,jpj) :: zhtbl   ! thickness of the tbl 
    58       REAL(wp), DIMENSION(jpi,jpj) :: zfrac   ! thickness of the tbl 
     56      REAL(dp), DIMENSION(jpi,jpj) :: zvarout ! 2d average of pvarin 
     57      REAL(dp), DIMENSION(jpi,jpj) :: zhtbl   ! thickness of the tbl 
     58      REAL(dp), DIMENSION(jpi,jpj) :: zfrac   ! thickness of the tbl 
    5959      INTEGER :: jk                            ! loop index 
    60       REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze3t,ze3u,ze3v ! e3  
     60      REAL(dp), DIMENSION(jpi,jpj,jpk) :: ze3t,ze3u,ze3v ! e3  
    6161      !!-------------------------------------------------------------------- 
    6262      !  
     
    126126      !! 
    127127      !!-------------------------- OUT ------------------------------------- 
    128       REAL(wp), DIMENSION(jpi,jpj)    , INTENT(  out) :: pvarout      ! tbl property averaged over phtbl between level ktop and kbot 
     128      REAL(dp), DIMENSION(jpi,jpj)    , INTENT(  out) :: pvarout      ! tbl property averaged over phtbl between level ktop and kbot 
    129129      !!-------------------------- IN  ------------------------------------- 
    130130      INTEGER,  DIMENSION(jpi,jpj)    , INTENT(in   ) :: ktop, kbot   ! top and bottom level of the top boundary layer 
    131       REAL(wp), DIMENSION(jpi,jpj)    , INTENT(in   ) :: phtbl, pfrac ! fraction of bottom level to be affected by the tbl 
    132       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) :: pe3          ! vertical scale factor 
     131      REAL(dp), DIMENSION(jpi,jpj)    , INTENT(in   ) :: phtbl, pfrac ! fraction of bottom level to be affected by the tbl 
     132      REAL(dp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) :: pe3          ! vertical scale factor 
    133133      REAL(dp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) :: pvarin       ! tbl property to average between ktop, kbot over phtbl 
    134134      !!-------------------------------------------------------------------- 
     
    163163      !!-------------------------- OUT -------------------------------------- 
    164164      INTEGER,  DIMENSION(jpi,jpj)    , INTENT(  out) :: kbot   ! bottom level of the top boundary layer 
    165       REAL(wp), DIMENSION(jpi,jpj)    , INTENT(  out) :: pfrac  ! fraction of bottom level in the tbl 
     165      REAL(dp), DIMENSION(jpi,jpj)    , INTENT(  out) :: pfrac  ! fraction of bottom level in the tbl 
    166166      !!-------------------------- IN  -------------------------------------- 
    167167      INTEGER,  DIMENSION(jpi,jpj)    , INTENT(in   ) :: ktop   ! top level of the top boundary layer 
    168       REAL(wp), DIMENSION(jpi,jpj)    , INTENT(in   ) :: phw    ! water column thickness 
    169       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) :: pe3    ! vertical scale factor 
     168      REAL(dp), DIMENSION(jpi,jpj)    , INTENT(in   ) :: phw    ! water column thickness 
     169      REAL(dp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) :: pe3    ! vertical scale factor 
    170170      !!-------------------------- INOUT ------------------------------------ 
    171       REAL(wp), DIMENSION(jpi,jpj)    , INTENT(inout) :: phtbl  ! top boundary layer thickness 
     171      REAL(dp), DIMENSION(jpi,jpj)    , INTENT(inout) :: phtbl  ! top boundary layer thickness 
    172172      !!--------------------------------------------------------------------- 
    173173      INTEGER :: ji,jj,jk 
     
    214214      INTEGER,  DIMENSION(jpi,jpj)    , INTENT(  out) :: kbot   ! bottom level of the top boundary layer 
    215215      !!-------------------------- IN  ------------------------------------- 
    216       REAL(wp), DIMENSION(jpi,jpj)    , INTENT(in   ) :: phtbl  ! top boundary layer thickness 
     216      REAL(dp), DIMENSION(jpi,jpj)    , INTENT(in   ) :: phtbl  ! top boundary layer thickness 
    217217      INTEGER,  DIMENSION(jpi,jpj)    , INTENT(in   ) :: ktop   ! top level of the top boundary layer 
    218       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) :: pe3    ! vertical scale factor 
     218      REAL(dp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) :: pe3    ! vertical scale factor 
    219219      !!-------------------------------------------------------------------- 
    220220      INTEGER :: ji, jj 
     
    248248      INTEGER,  DIMENSION(jpi,jpj), INTENT(  out) :: ktop        ! top level affected by the ice shelf parametrisation 
    249249      !!-------------------------- IN  ------------------------------------- 
    250       REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: pdep        ! top depth of the parametrisation influence 
     250      REAL(dp), DIMENSION(jpi,jpj), INTENT(inout) :: pdep        ! top depth of the parametrisation influence 
    251251      !!-------------------------------------------------------------------- 
    252252      INTEGER :: ji,jj 
Note: See TracChangeset for help on using the changeset viewer.