Changeset 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/OBS/obs_oper.F90
- Timestamp:
- 2021-11-26T12:27:56+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/OBS/obs_oper.F90
r14219 r15540 108 108 INTEGER , INTENT(in ) :: kdaystp ! Number of time steps per day 109 109 INTEGER , INTENT(in ) :: kvar ! Number of variables in prodatqc 110 REAL(KIND= wp) , INTENT(in ), DIMENSION(kpi,kpj,kpk) :: pvar ! Model field111 REAL(KIND= wp) , INTENT(in ), DIMENSION(kpi,kpj,kpk) :: pmask ! Land-sea mask112 REAL(KIND= wp) , INTENT(in ), DIMENSION(kpi,kpj) :: plam ! Model longitude113 REAL(KIND= wp) , INTENT(in ), DIMENSION(kpi,kpj) :: pphi ! Model latitudes114 REAL(KIND= wp) , INTENT(in ), DIMENSION(kpi,kpj,kpk) :: pgdept, pgdepw ! depth of T and W levels110 REAL(KIND=dp) , INTENT(in ), DIMENSION(kpi,kpj,kpk) :: pvar ! Model field 111 REAL(KIND=dp) , INTENT(in ), DIMENSION(kpi,kpj,kpk) :: pmask ! Land-sea mask 112 REAL(KIND=dp) , INTENT(in ), DIMENSION(kpi,kpj) :: plam ! Model longitude 113 REAL(KIND=dp) , INTENT(in ), DIMENSION(kpi,kpj) :: pphi ! Model latitudes 114 REAL(KIND=dp) , INTENT(in ), DIMENSION(kpi,kpj,kpk) :: pgdept, pgdepw ! depth of T and W levels 115 115 INTEGER, DIMENSION(imaxavtypes), OPTIONAL :: kdailyavtypes ! Types for daily averages 116 116 … … 135 135 INTEGER, ALLOCATABLE, DIMENSION(:) :: iv_indic 136 136 137 REAL(KIND= wp) :: zlam138 REAL(KIND= wp) :: zphi139 REAL(KIND= wp) :: zdaystp140 REAL(KIND= wp), DIMENSION(kpk) :: &137 REAL(KIND=dp) :: zlam 138 REAL(KIND=dp) :: zphi 139 REAL(KIND=dp) :: zdaystp 140 REAL(KIND=dp), DIMENSION(kpk) :: & 141 141 & zobsk, & 142 142 & zobs2k 143 REAL(KIND= wp), DIMENSION(2,2,1) :: &143 REAL(KIND=dp), DIMENSION(2,2,1) :: & 144 144 & zweig1, & 145 145 & zweig 146 REAL( wp), DIMENSION(:,:,:,:), ALLOCATABLE :: &146 REAL(dp), DIMENSION(:,:,:,:), ALLOCATABLE :: & 147 147 & zmask, & 148 148 & zint, & … … 150 150 & zgdept, & 151 151 & zgdepw 152 REAL( wp), DIMENSION(:,:,:), ALLOCATABLE :: &152 REAL(dp), DIMENSION(:,:,:), ALLOCATABLE :: & 153 153 & zglam, & 154 154 & zgphi 155 REAL(KIND= wp), DIMENSION(1) :: zmsk156 REAL(KIND= wp), DIMENSION(:,:,:), ALLOCATABLE :: interp_corner155 REAL(KIND=dp), DIMENSION(1) :: zmsk 156 REAL(KIND=dp), DIMENSION(:,:,:), ALLOCATABLE :: interp_corner 157 157 158 158 LOGICAL :: ld_dailyav … … 492 492 INTEGER, INTENT(IN) :: kdaystp ! Number of time steps per day 493 493 INTEGER, INTENT(IN) :: k2dint ! Horizontal interpolation type (see header) 494 REAL( wp), INTENT(IN), DIMENSION(kpi,kpj) :: &494 REAL(dp), INTENT(IN), DIMENSION(kpi,kpj) :: & 495 495 & psurf, & ! Model surface field 496 496 & psurfmask ! Land-sea mask 497 497 LOGICAL, INTENT(IN) :: ldnightav ! Logical for averaging night-time data 498 REAL(KIND= wp), INTENT(IN) :: &498 REAL(KIND=dp), INTENT(IN) :: & 499 499 & plamscl, & ! Diameter in metres of obs footprint in E/W, N/S directions 500 500 & pphiscl ! This is the full width (rather than half-width) … … 520 520 & icount_night, & 521 521 & imask_night 522 REAL( wp) :: zlam523 REAL( wp) :: zphi524 REAL( wp), DIMENSION(1) :: zext, zobsmask525 REAL( wp) :: zdaystp526 REAL( wp), DIMENSION(:,:,:), ALLOCATABLE :: &522 REAL(dp) :: zlam 523 REAL(dp) :: zphi 524 REAL(dp), DIMENSION(1) :: zext, zobsmask 525 REAL(dp) :: zdaystp 526 REAL(dp), DIMENSION(:,:,:), ALLOCATABLE :: & 527 527 & zweig, & 528 528 & zmask, & … … 535 535 & zgphif 536 536 537 REAL( wp), DIMENSION(:,:), SAVE, ALLOCATABLE :: &537 REAL(dp), DIMENSION(:,:), SAVE, ALLOCATABLE :: & 538 538 & zintmp, & 539 539 & zouttmp, & … … 655 655 656 656 CALL obs_int_comm_2d( imaxifp, imaxjfp, isurf, kpi, kpj, & 657 & igrdi, igrdj, CASTWP(glamt), zglam )657 & igrdi, igrdj, glamt, zglam ) 658 658 CALL obs_int_comm_2d( imaxifp, imaxjfp, isurf, kpi, kpj, & 659 & igrdi, igrdj, CASTWP(gphit), zgphi )659 & igrdi, igrdj, gphit, zgphi ) 660 660 CALL obs_int_comm_2d( imaxifp, imaxjfp, isurf, kpi, kpj, & 661 661 & igrdi, igrdj, psurfmask, zmask ) … … 663 663 & igrdi, igrdj, psurf, zsurf ) 664 664 CALL obs_int_comm_2d( imaxifp+1, imaxjfp+1, isurf, kpi, kpj, & 665 & igrdip1, igrdjp1, CASTWP(glamf), zglamf )665 & igrdip1, igrdjp1, glamf, zglamf ) 666 666 CALL obs_int_comm_2d( imaxifp+1, imaxjfp+1, isurf, kpi, kpj, & 667 & igrdip1, igrdjp1, CASTWP(gphif), zgphif )667 & igrdip1, igrdjp1, gphif, zgphif ) 668 668 669 669 ! At the end of the day get interpolated means
Note: See TracChangeset
for help on using the changeset viewer.