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/OBS/obs_prep.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/OBS/obs_prep.F90

    r14986 r15540  
    154154         &                 surfdata%mi,   surfdata%mj,   &  
    155155         &                 surfdata%rlam, surfdata%rphi, & 
    156          &                 CASTWP(glamt),        CASTWP(gphit),        & 
     156         &                 glamt,        gphit,        & 
    157157         &                 tmask(:,:,1), surfdata%nqc,  & 
    158158         &                 iosdsobs,     ilansobs,     & 
     
    279279      INTEGER, DIMENSION(imaxavtypes), OPTIONAL :: & 
    280280         & kdailyavtypes                          ! Types for daily averages 
    281       REAL(wp), INTENT(IN), DIMENSION(kpi,kpj,kpk,profdata%nvar) :: & 
     281      REAL(dp), INTENT(IN), DIMENSION(kpi,kpj,kpk,profdata%nvar) :: & 
    282282         & zmask 
    283       REAL(wp), INTENT(IN), DIMENSION(kpi,kpj,profdata%nvar) :: & 
     283      REAL(dp), INTENT(IN), DIMENSION(kpi,kpj,profdata%nvar) :: & 
    284284         & pglam, & 
    285285         & pgphi 
     
    609609      INTEGER :: iskip 
    610610      INTEGER :: idaystp 
    611       REAL(KIND=wp) :: zminstp 
    612       REAL(KIND=wp) :: zhoustp 
    613       REAL(KIND=wp) :: zobsstp  
     611      REAL(KIND=dp) :: zminstp 
     612      REAL(KIND=dp) :: zhoustp 
     613      REAL(KIND=dp) :: zobsstp  
    614614      INTEGER, DIMENSION(12) ::   imonth_len    !: length in days of the months of the current year 
    615615  
     
    887887      INTEGER , INTENT(in   )                     ::   kpi    , kpj      ! Number of grid points in (i,j) 
    888888      INTEGER , INTENT(in   ), DIMENSION(kobsno)  ::   kobsi  , kobsj    ! Observation (i,j) coordinates 
    889       REAL(wp), INTENT(in   ), DIMENSION(kobsno)  ::   pobslam, pobsphi  ! Observation (lon,lat) coordinates 
    890       REAL(wp), INTENT(in   ), DIMENSION(kpi,kpj) ::   plam   , pphi     ! Model (lon,lat) coordinates 
    891       REAL(wp), INTENT(in   ), DIMENSION(kpi,kpj) ::   pmask             ! Land mask array 
     889      REAL(dp), INTENT(in   ), DIMENSION(kobsno)  ::   pobslam, pobsphi  ! Observation (lon,lat) coordinates 
     890      REAL(dp), INTENT(in   ), DIMENSION(kpi,kpj) ::   plam   , pphi     ! Model (lon,lat) coordinates 
     891      REAL(dp), INTENT(in   ), DIMENSION(kpi,kpj) ::   pmask             ! Land mask array 
    892892      INTEGER , INTENT(inout), DIMENSION(kobsno)  ::   kobsqc            ! Observation quality control 
    893893      INTEGER , INTENT(inout)                     ::   kosdobs           ! Observations outside space domain 
     
    899899      INTEGER , INTENT(in   )                     ::   kqc_cutoff        ! Cutoff QC value 
    900900      ! 
    901       REAL(KIND=wp), DIMENSION(2,2,kobsno) ::   zgmsk          ! Grid mask 
    902       REAL(KIND=wp), DIMENSION(2,2,kobsno) ::   zbmsk          ! Boundary mask 
    903       REAL(KIND=wp), DIMENSION(jpi,jpj)    ::   zbdymask 
    904       REAL(KIND=wp), DIMENSION(2,2,kobsno) ::   zglam, zgphi   ! Model Lon/lat at grid points 
     901      REAL(KIND=dp), DIMENSION(2,2,kobsno) ::   zgmsk          ! Grid mask 
     902      REAL(KIND=dp), DIMENSION(2,2,kobsno) ::   zbmsk          ! Boundary mask 
     903      REAL(KIND=dp), DIMENSION(jpi,jpj)    ::   zbdymask 
     904      REAL(KIND=dp), DIMENSION(2,2,kobsno) ::   zglam, zgphi   ! Model Lon/lat at grid points 
    905905      INTEGER      , DIMENSION(2,2,kobsno) ::   igrdi, igrdj   ! Grid i,j 
    906906      LOGICAL ::   lgridobs           ! Is observation on a model grid point. 
     
    10961096      INTEGER, DIMENSION(kobsno), INTENT(IN) :: & 
    10971097         & kobsk              ! Observation k coordinate 
    1098       REAL(KIND=wp), DIMENSION(kprofno), INTENT(IN) :: & 
     1098      REAL(KIND=dp), DIMENSION(kprofno), INTENT(IN) :: & 
    10991099         & pobslam, &         ! Observation (lon,lat) coordinates 
    11001100         & pobsphi 
    1101       REAL(KIND=wp), DIMENSION(kobsno), INTENT(INOUT) :: & 
     1101      REAL(KIND=dp), DIMENSION(kobsno), INTENT(INOUT) :: & 
    11021102         & pobsdep            ! Observation depths   
    1103       REAL(KIND=wp), DIMENSION(kpi,kpj), INTENT(IN) :: & 
     1103      REAL(KIND=dp), DIMENSION(kpi,kpj), INTENT(IN) :: & 
    11041104         & plam, pphi         ! Model (lon,lat) coordinates 
    1105       REAL(KIND=wp), DIMENSION(kpk), INTENT(IN) :: & 
     1105      REAL(KIND=dp), DIMENSION(kpk), INTENT(IN) :: & 
    11061106         & pdep               ! Model depth coordinates 
    1107       REAL(KIND=wp), DIMENSION(kpi,kpj,kpk), INTENT(IN) :: & 
     1107      REAL(KIND=dp), DIMENSION(kpi,kpj,kpk), INTENT(IN) :: & 
    11081108         & pmask              ! Land mask array 
    11091109      INTEGER, DIMENSION(kprofno), INTENT(INOUT) :: & 
     
    11211121 
    11221122      !! * Local declarations 
    1123       REAL(KIND=wp), DIMENSION(2,2,kpk,kprofno) :: & 
     1123      REAL(KIND=dp), DIMENSION(2,2,kpk,kprofno) :: & 
    11241124         & zgmsk              ! Grid mask 
    1125       REAL(KIND=wp), DIMENSION(2,2,kprofno) :: & 
     1125      REAL(KIND=dp), DIMENSION(2,2,kprofno) :: & 
    11261126         & zbmsk              ! Boundary mask 
    1127       REAL(KIND=wp), DIMENSION(jpi,jpj) :: zbdymask 
    1128       REAL(KIND=wp), DIMENSION(2,2,kpk,kprofno) :: & 
     1127      REAL(KIND=dp), DIMENSION(jpi,jpj) :: zbdymask 
     1128      REAL(KIND=dp), DIMENSION(2,2,kpk,kprofno) :: & 
    11291129         & zgdepw 
    1130       REAL(KIND=wp), DIMENSION(2,2,kprofno) :: & 
     1130      REAL(KIND=dp), DIMENSION(2,2,kprofno) :: & 
    11311131         & zglam, &           ! Model longitude at grid points 
    11321132         & zgphi              ! Model latitude at grid points 
    1133       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zdepw 
     1133      REAL(dp), DIMENSION(jpi,jpj,jpk) :: zdepw 
    11341134      INTEGER, DIMENSION(2,2,kprofno) :: & 
    11351135         & igrdi, &           ! Grid i,j 
Note: See TracChangeset for help on using the changeset viewer.