Changeset 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/OBS/obsinter_h2d.h90
- 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/obsinter_h2d.h90
r10353 r15540 86 86 ! = 3 bilinear (quadrilateral grid) 87 87 ! = 4 polynomial (quadrilateral grid) 88 REAL(KIND= wp), INTENT(INOUT) :: &88 REAL(KIND=dp), INTENT(INOUT) :: & 89 89 & plam, & 90 90 & pphi ! Geographical (lat,lon) coordinates of 91 91 ! observation 92 REAL(KIND= wp), DIMENSION(2,2), INTENT(IN) :: &92 REAL(KIND=dp), DIMENSION(2,2), INTENT(IN) :: & 93 93 & pglam, & ! Model variable lat 94 94 & pgphi ! Model variable lon 95 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(IN) :: &95 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(IN) :: & 96 96 & pmask ! Model variable mask 97 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(OUT) :: &97 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(OUT) :: & 98 98 & pweig ! Weights for interpolation 99 REAL(KIND= wp), DIMENSION(kpk2), INTENT(OUT) :: &99 REAL(KIND=dp), DIMENSION(kpk2), INTENT(OUT) :: & 100 100 & pobsmask ! Vertical mask for observations 101 101 INTEGER, INTENT(IN), OPTIONAL :: & … … 110 110 & iamb1, & 111 111 & iamb2 112 REAL(KIND= wp) :: &112 REAL(KIND=dp) :: & 113 113 & zphimm, & 114 114 & zphimp, & … … 123 123 & zlammin, & 124 124 & zlammax 125 REAL(KIND= wp), DIMENSION(kpk2) :: &125 REAL(KIND=dp), DIMENSION(kpk2) :: & 126 126 & z2dmm, & 127 127 & z2dmp, & … … 390 390 & kpk, & ! Parameter values for automatic arrays 391 391 & kpk2 392 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(IN) :: &392 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(IN) :: & 393 393 & pweig ! Interpolation weights 394 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(IN) :: &394 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(IN) :: & 395 395 & pmod ! Model variable to interpolate 396 REAL(KIND= wp), DIMENSION(kpk2), INTENT(OUT) :: &396 REAL(KIND=dp), DIMENSION(kpk2), INTENT(OUT) :: & 397 397 & pobsk ! Model profile interpolated to obs (i,j) pt 398 398 … … 402 402 INTEGER :: & 403 403 & ikmax 404 REAL(KIND= wp) :: &404 REAL(KIND=dp) :: & 405 405 & zsum 406 406 !------------------------------------------------------------------------ … … 462 462 & kpk2, & ! Parameter values for automatic arrays 463 463 & kmax 464 REAL(KIND= wp), INTENT(IN) :: &464 REAL(KIND=dp), INTENT(IN) :: & 465 465 & pphi, & ! Geographical location of observation 466 466 & plam, & … … 473 473 & plampm, & 474 474 & plampp 475 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(IN) :: &475 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(IN) :: & 476 476 & pmask ! Model variable mask 477 REAL(KIND= wp), DIMENSION(kpk2), INTENT(OUT) :: &477 REAL(KIND=dp), DIMENSION(kpk2), INTENT(OUT) :: & 478 478 & p2dmm, & ! Interpolation weights 479 479 & p2dmp, & … … 484 484 INTEGER :: & 485 485 & jk 486 REAL(KIND= wp) :: &486 REAL(KIND=dp) :: & 487 487 & zphi2, & 488 488 & zlam2, & … … 611 611 & kpk2, & ! Parameter values for automatic arrays 612 612 & kmax 613 REAL(KIND= wp), INTENT(IN) :: &613 REAL(KIND=dp), INTENT(IN) :: & 614 614 & pphi, & ! Geographical location of observation 615 615 & plam, & … … 622 622 & plampm, & 623 623 & plampp 624 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(IN) :: &624 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(IN) :: & 625 625 & pmask ! Model variable mask 626 REAL(KIND= wp), DIMENSION(kpk2), INTENT(OUT) :: &626 REAL(KIND=dp), DIMENSION(kpk2), INTENT(OUT) :: & 627 627 & p2dmm, & ! Interpolation weights 628 628 & p2dmp, & … … 633 633 INTEGER :: & 634 634 & jk 635 REAL(KIND= wp) :: &635 REAL(KIND=dp) :: & 636 636 & zcosp, & 637 637 & zdlmm, & … … 709 709 & kpk2, & ! Parameter values for automatic arrays 710 710 & kmax 711 REAL(KIND= wp), INTENT(IN) :: &711 REAL(KIND=dp), INTENT(IN) :: & 712 712 & pphi, & ! Geographical location of observation 713 713 & plam, & … … 716 716 & plammp, & 717 717 & plampp 718 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(IN) :: &718 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(IN) :: & 719 719 & pmask ! Model variable mask 720 REAL(KIND= wp), DIMENSION(kpk2), INTENT(OUT) :: &720 REAL(KIND=dp), DIMENSION(kpk2), INTENT(OUT) :: & 721 721 & p2dmm, & ! Interpolation weights 722 722 & p2dmp, & … … 727 727 INTEGER :: & 728 728 & jk 729 REAL(KIND= wp) :: &729 REAL(KIND=dp) :: & 730 730 & zdlmp, & 731 731 & zdppm, & … … 776 776 & kpk2, & ! Parameter values for automatic arrays 777 777 & kmax 778 REAL(KIND= wp), INTENT(IN) :: &778 REAL(KIND=dp), INTENT(IN) :: & 779 779 & pphi, & ! Geographical location of observation 780 780 & plam, & … … 787 787 & plampm, & 788 788 & plampp 789 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(IN) :: &789 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(IN) :: & 790 790 & pmask ! Model variable mask 791 REAL(KIND= wp), DIMENSION(kpk2), INTENT(OUT) :: &791 REAL(KIND=dp), DIMENSION(kpk2), INTENT(OUT) :: & 792 792 & p2dmm, & ! Interpolation weights 793 793 & p2dmp, & … … 799 799 INTEGER :: & 800 800 & jk 801 REAL(KIND= wp) :: &801 REAL(KIND=dp) :: & 802 802 & zbiwmm, & 803 803 & zbiwmp, & … … 858 858 & kpk2, & ! Parameter values for automatic arrays 859 859 & kmax 860 REAL(KIND= wp), INTENT(IN) :: &860 REAL(KIND=dp), INTENT(IN) :: & 861 861 & pphi, & ! Geographical location of observation 862 862 & plam, & … … 869 869 & plampm, & 870 870 & plampp 871 REAL(KIND= wp), DIMENSION(2,2,kpk2), INTENT(IN) :: &871 REAL(KIND=dp), DIMENSION(2,2,kpk2), INTENT(IN) :: & 872 872 & pmask ! Model variable mask 873 REAL(KIND= wp), DIMENSION(kpk2), INTENT(OUT) :: &873 REAL(KIND=dp), DIMENSION(kpk2), INTENT(OUT) :: & 874 874 & p2dmm, & ! Interpolation weights 875 875 & p2dmp, & … … 880 880 INTEGER :: & 881 881 & jk 882 REAL(KIND= wp) :: &882 REAL(KIND=dp) :: & 883 883 & zplp 884 REAL(KIND= wp), DIMENSION(4,4) :: &884 REAL(KIND=dp), DIMENSION(4,4) :: & 885 885 & zmat, & 886 886 & zmati … … 960 960 961 961 !! * Arguments 962 REAL(KIND= wp), INTENT(IN) :: &962 REAL(KIND=dp), INTENT(IN) :: & 963 963 & pphi, & ! Geographical location of observation 964 964 & plam, & … … 971 971 & plampm, & 972 972 & plampp 973 REAL(KIND= wp), INTENT(OUT) :: &973 REAL(KIND=dp), INTENT(OUT) :: & 974 974 & pbiwmm, & ! Interpolation weights 975 975 & pbiwmp, & … … 984 984 INTEGER :: & 985 985 & itermax 986 REAL(KIND= wp) :: &986 REAL(KIND=dp) :: & 987 987 & zphi, & ! Geographical location of observation 988 988 & zlam, & … … 1161 1161 INTEGER, INTENT(IN) :: & 1162 1162 & kdim ! Array dimension 1163 REAL(KIND= wp), DIMENSION(kdim,kdim), INTENT(IN) :: &1163 REAL(KIND=dp), DIMENSION(kdim,kdim), INTENT(IN) :: & 1164 1164 & pmatin 1165 REAL(KIND= wp), DIMENSION(kdim,kdim), INTENT(OUT) :: &1165 REAL(KIND=dp), DIMENSION(kdim,kdim), INTENT(OUT) :: & 1166 1166 & pmatou 1167 1167 … … 1172 1172 INTEGER, DIMENSION(kdim) :: & 1173 1173 & indx 1174 REAL(KIND= wp), DIMENSION(kdim,kdim) :: &1174 REAL(KIND=dp), DIMENSION(kdim,kdim) :: & 1175 1175 & zmat 1176 REAL(KIND= wp) :: &1176 REAL(KIND=dp) :: & 1177 1177 & zd 1178 1178 … … 1217 1217 INTEGER, DIMENSION(kdim1), INTENT(OUT) :: & 1218 1218 & kindex 1219 REAL(KIND= wp), INTENT(OUT) :: &1219 REAL(KIND=dp), INTENT(OUT) :: & 1220 1220 & pflt 1221 REAL(KIND= wp), DIMENSION(kdim2,kdim2), INTENT(INOUT) :: &1221 REAL(KIND=dp), DIMENSION(kdim2,kdim2), INTENT(INOUT) :: & 1222 1222 & pmatin 1223 1223 … … 1225 1225 INTEGER, PARAMETER :: & 1226 1226 & jpmax = 100 1227 REAL(KIND= wp), PARAMETER :: &1227 REAL(KIND=dp), PARAMETER :: & 1228 1228 & pptiny = 1.0e-20_wp 1229 REAL(KIND= wp), DIMENSION(jpmax) :: &1229 REAL(KIND=dp), DIMENSION(jpmax) :: & 1230 1230 & zvv 1231 1231 INTEGER :: & … … 1235 1235 INTEGER :: & 1236 1236 & imax 1237 REAL(KIND= wp) :: &1237 REAL(KIND=dp) :: & 1238 1238 & zsum, & 1239 1239 & zdum, & … … 1320 1320 INTEGER, DIMENSION(kdim1), INTENT(IN) :: & 1321 1321 & kindex 1322 REAL(KIND= wp), DIMENSION(kdim1), INTENT(INOUT) :: &1322 REAL(KIND=dp), DIMENSION(kdim1), INTENT(INOUT) :: & 1323 1323 & pvect 1324 REAL(KIND= wp), DIMENSION(kdim2,kdim2), INTENT(IN) :: &1324 REAL(KIND=dp), DIMENSION(kdim2,kdim2), INTENT(IN) :: & 1325 1325 & pmat 1326 1326 … … 1331 1331 & jj, & 1332 1332 & jll 1333 REAL(KIND= wp) :: &1333 REAL(KIND=dp) :: & 1334 1334 & zsum 1335 1335
Note: See TracChangeset
for help on using the changeset viewer.