From 210159a24c088dda90367fab5241e09bf3172a59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Riette?= <sebastien.riette@meteo.fr> Date: Wed, 13 Dec 2023 13:27:06 +0100 Subject: [PATCH] S. Riette 13 Dec 2023: enable simple precision for testprogs --- .../ice_adjust/getdata_ice_adjust_mod.F90 | 43 +++--- .../rain_ice/getdata_rain_ice_mod.F90 | 59 ++++---- .../rain_ice_old/getdata_rain_ice_old_mod.F90 | 57 ++++---- src/testprogs/shallow/getdata_shallow_mod.F90 | 105 +++++++------- src/testprogs/support/arrays_manip.F90 | 31 ++-- src/testprogs/turb_mnh/getdata_turb_mod.F90 | 135 +++++++++--------- 6 files changed, 218 insertions(+), 212 deletions(-) diff --git a/src/testprogs/ice_adjust/getdata_ice_adjust_mod.F90 b/src/testprogs/ice_adjust/getdata_ice_adjust_mod.F90 index 5cad30115..4554d32df 100644 --- a/src/testprogs/ice_adjust/getdata_ice_adjust_mod.F90 +++ b/src/testprogs/ice_adjust/getdata_ice_adjust_mod.F90 @@ -2,6 +2,7 @@ MODULE GETDATA_ICE_ADJUST_MOD USE OMP_LIB USE ARRAYS_MANIP, ONLY: SETUP, REPLICATE, NPROMIZE, INTERPOLATE, SET +USE PARKIND1, ONLY: JPRD CONTAINS @@ -58,27 +59,27 @@ REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HCF_OUT_B (:,:,:) REAL, INTENT(OUT), ALLOCATABLE :: ZRS_B (:,:,:,:) REAL, INTENT(OUT), ALLOCATABLE :: ZZZ_B (:,:,:) -REAL, ALLOCATABLE :: PRHODJ (:,:,:) -REAL, ALLOCATABLE :: PEXNREF (:,:,:) -REAL, ALLOCATABLE :: PRHODREF (:,:,:) -REAL, ALLOCATABLE :: PPABSM (:,:,:) -REAL, ALLOCATABLE :: PTHT (:,:,:) -REAL, ALLOCATABLE :: PSIGS (:,:,:) -REAL, ALLOCATABLE :: PMFCONV (:,:,:) -REAL, ALLOCATABLE :: PRC_MF (:,:,:) -REAL, ALLOCATABLE :: PRI_MF (:,:,:) -REAL, ALLOCATABLE :: PCF_MF (:,:,:) -REAL, ALLOCATABLE :: PTHS (:,:,:) -REAL, ALLOCATABLE :: PRS (:,:,:,:) -REAL, ALLOCATABLE :: PRS_OUT (:,:,:,:) -REAL, ALLOCATABLE :: PSRCS_OUT (:,:,:) -REAL, ALLOCATABLE :: PCLDFR_OUT (:,:,:) -REAL, ALLOCATABLE :: PHLC_HRC_OUT (:,:,:) -REAL, ALLOCATABLE :: PHLC_HCF_OUT (:,:,:) -REAL, ALLOCATABLE :: PHLI_HRI_OUT (:,:,:) -REAL, ALLOCATABLE :: PHLI_HCF_OUT (:,:,:) -REAL, ALLOCATABLE :: ZRS (:,:,:,:) -REAL, ALLOCATABLE :: ZZZ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRHODJ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PEXNREF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRHODREF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PPABSM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSIGS (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PMFCONV (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRC_MF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRI_MF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PCF_MF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHS (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRS (:,:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRS_OUT (:,:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSRCS_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PCLDFR_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PHLC_HRC_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PHLC_HCF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PHLI_HRI_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PHLI_HCF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZRS (:,:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZZZ (:,:,:) INTEGER, INTENT(IN) :: NPROMA, NGPBLKS INTEGER :: NGPTOT diff --git a/src/testprogs/rain_ice/getdata_rain_ice_mod.F90 b/src/testprogs/rain_ice/getdata_rain_ice_mod.F90 index 5fd1e2642..eef252b68 100644 --- a/src/testprogs/rain_ice/getdata_rain_ice_mod.F90 +++ b/src/testprogs/rain_ice/getdata_rain_ice_mod.F90 @@ -1,6 +1,7 @@ MODULE GETDATA_RAIN_ICE_MOD USE ARRAYS_MANIP, ONLY: SETUP, REPLICATE, NPROMIZE, INTERPOLATE, SET +USE PARKIND1, ONLY: JPRD CONTAINS @@ -62,35 +63,35 @@ REAL, INTENT(OUT), ALLOCATABLE :: PFPR_B (:,:,:,:) REAL, INTENT(OUT), ALLOCATABLE :: PFPR_OUT_B (:,:,:,:) LOGICAL, ALLOCATABLE :: LLMICRO (:,:,:) -REAL, ALLOCATABLE :: PEXNREF (:,:,:) -REAL, ALLOCATABLE :: PDZZ (:,:,:) -REAL, ALLOCATABLE :: PRHODJ (:,:,:) -REAL, ALLOCATABLE :: PRHODREF (:,:,:) -REAL, ALLOCATABLE :: PEXNREF2 (:,:,:) -REAL, ALLOCATABLE :: PPABSM (:,:,:) -REAL, ALLOCATABLE :: PCIT (:,:,:) -REAL, ALLOCATABLE :: PCLDFR (:,:,:) -REAL, ALLOCATABLE :: PHLC_HRC (:,:,:) -REAL, ALLOCATABLE :: PHLC_HCF (:,:,:) -REAL, ALLOCATABLE :: PHLI_HRI (:,:,:) -REAL, ALLOCATABLE :: PHLI_HCF (:,:,:) -REAL, ALLOCATABLE :: PTHT (:,:,:) -REAL, ALLOCATABLE :: PRT (:,:,:,:) -REAL, ALLOCATABLE :: PTHS (:,:,:) -REAL, ALLOCATABLE :: PRS (:,:,:,:) -REAL, ALLOCATABLE :: PSIGS (:,:,:) -REAL, ALLOCATABLE :: PSEA (:,:) -REAL, ALLOCATABLE :: PTOWN (:,:) -REAL, ALLOCATABLE :: PCIT_OUT (:,:,:) -REAL, ALLOCATABLE :: PRS_OUT (:,:,:,:) -REAL, ALLOCATABLE :: ZINPRC_OUT (:,:) -REAL, ALLOCATABLE :: PINPRR_OUT (:,:) -REAL, ALLOCATABLE :: PEVAP_OUT (:,:,:) -REAL, ALLOCATABLE :: PINPRS_OUT (:,:) -REAL, ALLOCATABLE :: PINPRG_OUT (:,:) -REAL, ALLOCATABLE :: ZINDEP_OUT (:,:) -REAL, ALLOCATABLE :: ZRAINFR_OUT (:,:,:) -REAL, ALLOCATABLE :: PFPR_OUT (:,:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PEXNREF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDZZ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRHODJ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRHODREF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PEXNREF2 (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PPABSM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PCIT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PCLDFR (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PHLC_HRC (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PHLC_HCF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PHLI_HRI (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PHLI_HCF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRT (:,:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHS (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRS (:,:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSIGS (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSEA (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTOWN (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PCIT_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRS_OUT (:,:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZINPRC_OUT (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PINPRR_OUT (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PEVAP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PINPRS_OUT (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PINPRG_OUT (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZINDEP_OUT (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZRAINFR_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PFPR_OUT (:,:,:,:) INTEGER :: IPROMA, ISIZE diff --git a/src/testprogs/rain_ice_old/getdata_rain_ice_old_mod.F90 b/src/testprogs/rain_ice_old/getdata_rain_ice_old_mod.F90 index e327f692a..b4a0254d0 100644 --- a/src/testprogs/rain_ice_old/getdata_rain_ice_old_mod.F90 +++ b/src/testprogs/rain_ice_old/getdata_rain_ice_old_mod.F90 @@ -2,6 +2,7 @@ MODULE GETDATA_RAIN_ICE_OLD_MOD USE OMP_LIB USE ARRAYS_MANIP, ONLY: SETUP, REPLICATE, NPROMIZE, INTERPOLATE, SET +USE PARKIND1, ONLY: JPRD USE ISO_FORTRAN_ENV, ONLY: OUTPUT_UNIT CONTAINS @@ -85,41 +86,41 @@ REAL, ALLOCATABLE, DIMENSION(:,:,:,:), INTENT(OUT) :: PFPR_B, PFPR_OUT_B LOGICAL, ALLOCATABLE, DIMENSION(:,:,:), INTENT(OUT) :: ODMICRO -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PDZZ -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PRHODJ -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PRHODREF -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PEXNREF -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PPABSM -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PCIT, PCIT_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PCLDFR +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PDZZ +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PRHODJ +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PRHODREF +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PEXNREF +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PPABSM +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PCIT, PCIT_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PCLDFR -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PICLDFR -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PSSIO -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PSSIU -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PIFR +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PICLDFR +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PSSIO +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PSSIU +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PIFR -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PTHT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PRT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PTHS, PTHS_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PRS, PRS_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PTHT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:,:) :: PRT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PTHS, PTHS_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:,:) :: PRS, PRS_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PSIGS -REAL, ALLOCATABLE, DIMENSION(:,:) :: PSEA -REAL, ALLOCATABLE, DIMENSION(:,:) :: PTOWN +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PSIGS +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PSEA +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PTOWN -REAL, ALLOCATABLE, DIMENSION(:,:) :: PICENU -REAL, ALLOCATABLE, DIMENSION(:,:) :: PKGN_ACON -REAL, ALLOCATABLE, DIMENSION(:,:) :: PKGN_SBGR +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PICENU +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PKGN_ACON +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PKGN_SBGR -REAL, ALLOCATABLE, DIMENSION(:,:) :: ZINPRC_OUT -REAL, ALLOCATABLE, DIMENSION(:,:) :: PINPRR_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PEVAP_OUT -REAL, ALLOCATABLE, DIMENSION(:,:) :: PINPRS_OUT -REAL, ALLOCATABLE, DIMENSION(:,:) :: PINPRG_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: ZINPRC_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PINPRR_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:) :: PEVAP_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PINPRS_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PINPRG_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PFPR_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:,:,:) :: PFPR_OUT -REAL, ALLOCATABLE, DIMENSION(:,:) :: PINPRH_OUT +REAL(KIND=JPRD), ALLOCATABLE, DIMENSION(:,:) :: PINPRH_OUT INTEGER :: NGPTOT diff --git a/src/testprogs/shallow/getdata_shallow_mod.F90 b/src/testprogs/shallow/getdata_shallow_mod.F90 index e54c18689..4d01ff6fb 100644 --- a/src/testprogs/shallow/getdata_shallow_mod.F90 +++ b/src/testprogs/shallow/getdata_shallow_mod.F90 @@ -1,6 +1,7 @@ MODULE GETDATA_SHALLOW_MOD USE ARRAYS_MANIP, ONLY: SETUP, REPLICATE, NPROMIZE, INTERPOLATE, SET +USE PARKIND1, ONLY: JPRD CONTAINS @@ -126,59 +127,59 @@ INTEGER, INTENT(OUT), ALLOCATABLE:: IKETL_OUT_B (:,:) INTEGER, INTENT(OUT), ALLOCATABLE:: IKCTL_OUT_B (:,:) !Inputs to read -REAL, ALLOCATABLE :: PDZZF (:,:,:) -REAL, ALLOCATABLE :: PZZ (:,:,:) -REAL, ALLOCATABLE :: PRHODJ (:,:,:) -REAL, ALLOCATABLE :: PRHODREF (:,:,:) -REAL, ALLOCATABLE :: PPABSM (:,:,:) -REAL, ALLOCATABLE :: PEXNM (:,:,:) -REAL, ALLOCATABLE :: PSFTH (:,:) -REAL, ALLOCATABLE :: PSFRV (:,:) -REAL, ALLOCATABLE :: PTHM (:,:,:) -REAL, ALLOCATABLE :: PRM (:,:,:,:) !(KLON, 1, KLEV, KRR) -REAL, ALLOCATABLE :: PUM (:,:,:) -REAL, ALLOCATABLE :: PVM (:,:,:) -REAL, ALLOCATABLE :: PTKEM (:,:,:) -REAL, ALLOCATABLE :: PSVM (:,:,:,:) !(KLON,1,KLEV,KSV) -REAL, ALLOCATABLE :: PTHL_UP (:,:,:) -REAL, ALLOCATABLE :: PRT_UP (:,:,:) -REAL, ALLOCATABLE :: PRV_UP (:,:,:) -REAL, ALLOCATABLE :: PRC_UP (:,:,:) -REAL, ALLOCATABLE :: PRI_UP (:,:,:) -REAL, ALLOCATABLE :: PU_UP (:,:,:) -REAL, ALLOCATABLE :: PV_UP (:,:,:) -REAL, ALLOCATABLE :: PTHV_UP (:,:,:) -REAL, ALLOCATABLE :: PW_UP (:,:,:) -REAL, ALLOCATABLE :: PFRAC_UP (:,:,:) -REAL, ALLOCATABLE :: PEMF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDZZF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PZZ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRHODJ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRHODREF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PPABSM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PEXNM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSFTH (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSFRV (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRM (:,:,:,:) !(KLON, 1, KLEV, KRR) +REAL(KIND=JPRD), ALLOCATABLE :: PUM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PVM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTKEM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSVM (:,:,:,:) !(KLON,1,KLEV,KSV) +REAL(KIND=JPRD), ALLOCATABLE :: PTHL_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRT_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRV_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRC_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRI_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PU_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PV_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHV_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PW_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PFRAC_UP (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PEMF (:,:,:) !Expected values to read -REAL, ALLOCATABLE :: PDUDT_MF_OUT (:,:,:) -REAL, ALLOCATABLE :: PDVDT_MF_OUT (:,:,:) -REAL, ALLOCATABLE :: PDTHLDT_MF_OUT (:,:,:) -REAL, ALLOCATABLE :: PDRTDT_MF_OUT (:,:,:) -REAL, ALLOCATABLE :: PDSVDT_MF_OUT (:,:,:,:) !(KLON,1,KLEV,KSV) -REAL, ALLOCATABLE :: PSIGMF_OUT (:,:,:) -REAL, ALLOCATABLE :: PRC_MF_OUT (:,:,:) -REAL, ALLOCATABLE :: PRI_MF_OUT (:,:,:) -REAL, ALLOCATABLE :: PCF_MF_OUT (:,:,:) -REAL, ALLOCATABLE :: PFLXZTHVMF_OUT (:,:,:) -REAL, ALLOCATABLE :: ZFLXZTHMF_OUT (:,:,:) -REAL, ALLOCATABLE :: ZFLXZRMF_OUT (:,:,:) -REAL, ALLOCATABLE :: ZFLXZUMF_OUT (:,:,:) -REAL, ALLOCATABLE :: ZFLXZVMF_OUT (:,:,:) -REAL, ALLOCATABLE :: PTHL_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PRT_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PRV_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PRC_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PRI_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PU_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PV_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PTHV_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PW_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PFRAC_UP_OUT (:,:,:) -REAL, ALLOCATABLE :: PEMF_OUT (:,:,:) -REAL, ALLOCATABLE :: ZDETR_OUT (:,:,:) -REAL, ALLOCATABLE :: ZENTR_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDUDT_MF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDVDT_MF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDTHLDT_MF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDRTDT_MF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDSVDT_MF_OUT (:,:,:,:) !(KLON,1,KLEV,KSV) +REAL(KIND=JPRD), ALLOCATABLE :: PSIGMF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRC_MF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRI_MF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PCF_MF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PFLXZTHVMF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZFLXZTHMF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZFLXZRMF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZFLXZUMF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZFLXZVMF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHL_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRT_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRV_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRC_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRI_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PU_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PV_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHV_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PW_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PFRAC_UP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PEMF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDETR_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZENTR_OUT (:,:,:) INTEGER, ALLOCATABLE:: IKLCL_OUT (:,:) INTEGER, ALLOCATABLE:: IKETL_OUT (:,:) INTEGER, ALLOCATABLE:: IKCTL_OUT (:,:) diff --git a/src/testprogs/support/arrays_manip.F90 b/src/testprogs/support/arrays_manip.F90 index d50341bfd..bdafafd8a 100644 --- a/src/testprogs/support/arrays_manip.F90 +++ b/src/testprogs/support/arrays_manip.F90 @@ -2,6 +2,7 @@ MODULE ARRAYS_MANIP USE OMP_LIB USE IEEE_ARITHMETIC, ONLY : IEEE_SIGNALING_NAN, IEEE_VALUE +USE PARKIND1, ONLY: JPRD INTERFACE REPLICATE MODULE PROCEDURE REPLICATER1 @@ -47,7 +48,7 @@ SUBROUTINE REPLICATER3 (KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KOFF -REAL, INTENT(INOUT) :: P (:,:,:) +REAL(KIND=JPRD), INTENT(INOUT) :: P (:,:,:) INTEGER :: I, J @@ -62,7 +63,7 @@ SUBROUTINE REPLICATER2 (KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KOFF -REAL, INTENT(INOUT) :: P (:,:) +REAL(KIND=JPRD), INTENT(INOUT) :: P (:,:) INTEGER :: I, J @@ -92,7 +93,7 @@ SUBROUTINE REPLICATER1 (KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KOFF -REAL, INTENT(INOUT) :: P (:) +REAL(KIND=JPRD), INTENT(INOUT) :: P (:) INTEGER :: I, J @@ -153,7 +154,7 @@ SUBROUTINE NPROMIZER2 (KPROMA, PI, PO) IMPLICIT NONE INTEGER, INTENT(IN) :: KPROMA -REAL, INTENT (IN) :: PI (:,:) +REAL(KIND=JPRD), INTENT (IN) :: PI (:,:) REAL, INTENT (OUT) :: PO (:,:) INTEGER :: I, J, IGPBLK, IGPTOT, IGP, JLON, JIDIA, JFDIA, IBL @@ -184,7 +185,7 @@ SUBROUTINE NPROMIZER3 (KPROMA, PI, PO) IMPLICIT NONE INTEGER, INTENT(IN) :: KPROMA -REAL, INTENT (IN) :: PI (:,:,:) +REAL(KIND=JPRD), INTENT (IN) :: PI (:,:,:) REAL, INTENT (OUT) :: PO (:,:,:) INTEGER :: I, J, IGPBLK, IGPTOT, IGP, JLON, JIDIA, JFDIA, IBL @@ -215,7 +216,7 @@ SUBROUTINE NPROMIZER4 (KPROMA, PI, PO) IMPLICIT NONE INTEGER, INTENT(IN) :: KPROMA -REAL, INTENT (IN) :: PI (:,:,:,:) +REAL(KIND=JPRD), INTENT (IN) :: PI (:,:,:,:) REAL, INTENT (OUT) :: PO (:,:,:,:) INTEGER :: I, J, IGPBLK, IGPTOT, IGP, JLON, JIDIA, JFDIA, IBL @@ -277,10 +278,10 @@ SUBROUTINE INTERPOLATER3 (KFLEVG, KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KFLEVG, KOFF -REAL, INTENT(INOUT), ALLOCATABLE :: P (:,:,:) -REAL :: Z (LBOUND (P, 1):UBOUND (P, 1), & - & LBOUND (P, 2):UBOUND (P, 2), & - & LBOUND (P, 3):UBOUND (P, 3)) +REAL(KIND=JPRD), INTENT(INOUT), ALLOCATABLE :: P (:,:,:) +REAL(KIND=JPRD) :: Z (LBOUND (P, 1):UBOUND (P, 1), & + & LBOUND (P, 2):UBOUND (P, 2), & + & LBOUND (P, 3):UBOUND (P, 3)) INTEGER :: ILEV1A, ILEV1B, ILEV2, NLEV1, NLEV2 REAL :: ZWA, ZWB, ZLEV1, ZLEV2 @@ -321,11 +322,11 @@ SUBROUTINE INTERPOLATER4 (KFLEVG, KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KFLEVG, KOFF -REAL, INTENT(INOUT), ALLOCATABLE :: P (:,:,:,:) -REAL :: Z (LBOUND (P, 1):UBOUND (P, 1), & - & LBOUND (P, 2):UBOUND (P, 2), & - & LBOUND (P, 3):UBOUND (P, 3), & - & LBOUND (P, 4):UBOUND (P, 4)) +REAL(KIND=JPRD), INTENT(INOUT), ALLOCATABLE :: P (:,:,:,:) +REAL(KIND=JPRD) :: Z (LBOUND (P, 1):UBOUND (P, 1), & + & LBOUND (P, 2):UBOUND (P, 2), & + & LBOUND (P, 3):UBOUND (P, 3), & + & LBOUND (P, 4):UBOUND (P, 4)) INTEGER :: ILEV1A, ILEV1B, ILEV2, NLEV1, NLEV2 REAL :: ZWA, ZWB, ZLEV1, ZLEV2 diff --git a/src/testprogs/turb_mnh/getdata_turb_mod.F90 b/src/testprogs/turb_mnh/getdata_turb_mod.F90 index 7dce09991..984af87df 100644 --- a/src/testprogs/turb_mnh/getdata_turb_mod.F90 +++ b/src/testprogs/turb_mnh/getdata_turb_mod.F90 @@ -1,6 +1,7 @@ MODULE GETDATA_TURB_MOD USE ARRAYS_MANIP, ONLY: SETUP, REPLICATE, NPROMIZE, INTERPOLATE, SET +USE PARKIND1, ONLY: JPRD CONTAINS @@ -139,74 +140,74 @@ REAL, INTENT(OUT), ALLOCATABLE :: PDRRTS_TURB_OUT_B (:,:,:) REAL, INTENT(OUT), ALLOCATABLE :: ZDRSVS_TURB_OUT_B (:,:,:,:) !(KLON,1,KLEV+2,KSV) !Inputs to read -REAL, ALLOCATABLE :: ZDXX (:,:,:) -REAL, ALLOCATABLE :: ZDYY (:,:,:) -REAL, ALLOCATABLE :: ZDZZ (:,:,:) -REAL, ALLOCATABLE :: ZDZX (:,:,:) -REAL, ALLOCATABLE :: ZDZY (:,:,:) -REAL, ALLOCATABLE :: ZZZ (:,:,:) -REAL, ALLOCATABLE :: ZDIRCOSXW (:,:) -REAL, ALLOCATABLE :: ZDIRCOSYW (:,:) -REAL, ALLOCATABLE :: ZDIRCOSZW (:,:) -REAL, ALLOCATABLE :: ZCOSSLOPE (:,:) -REAL, ALLOCATABLE :: ZSINSLOPE (:,:) -REAL, ALLOCATABLE :: PRHODJ (:,:,:) -REAL, ALLOCATABLE :: PTHVREF (:,:,:) -REAL, ALLOCATABLE :: PSFTH (:,:) -REAL, ALLOCATABLE :: PSFRV (:,:) -REAL, ALLOCATABLE :: PSFU (:,:) -REAL, ALLOCATABLE :: PSFV (:,:) -REAL, ALLOCATABLE :: PSFSV (:,:,:) !(KLON, 1, KSV) -REAL, ALLOCATABLE :: PPABSM (:,:,:) -REAL, ALLOCATABLE :: PUM (:,:,:) -REAL, ALLOCATABLE :: PVM (:,:,:) -REAL, ALLOCATABLE :: PWM (:,:,:) -REAL, ALLOCATABLE :: PTKEM (:,:,:) -REAL, ALLOCATABLE :: ZSVM (:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, ALLOCATABLE :: PSRCM (:,:,:) -REAL, ALLOCATABLE :: PLENGTHM (:,:,:) -REAL, ALLOCATABLE :: PLENGTHH (:,:,:) -REAL, ALLOCATABLE :: MFMOIST (:,:,:) -REAL, ALLOCATABLE :: ZBL_DEPTH (:,:) -REAL, ALLOCATABLE :: ZSBL_DEPTH (:,:) -REAL, ALLOCATABLE :: ZCEI (:,:,:) -REAL, ALLOCATABLE :: PTHM (:,:,:) -REAL, ALLOCATABLE :: ZRM (:,:,:,:) !(KLON,1,KLEV+2,KRR) -REAL, ALLOCATABLE :: PRUS (:,:,:) -REAL, ALLOCATABLE :: PRVS (:,:,:) -REAL, ALLOCATABLE :: PRWS (:,:,:) -REAL, ALLOCATABLE :: PRTHS (:,:,:) -REAL, ALLOCATABLE :: ZRRS (:,:,:,:) !(KLON,1,KLEV+2,KRR) -REAL, ALLOCATABLE :: ZRSVS (:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, ALLOCATABLE :: PRTKES_OUT (:,:,:) -REAL, ALLOCATABLE :: PFLXZTHVMF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDXX (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDYY (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDZZ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDZX (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDZY (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZZZ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDIRCOSXW (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDIRCOSYW (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDIRCOSZW (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZCOSSLOPE (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZSINSLOPE (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRHODJ (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHVREF (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSFTH (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSFRV (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSFU (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSFV (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSFSV (:,:,:) !(KLON, 1, KSV) +REAL(KIND=JPRD), ALLOCATABLE :: PPABSM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PUM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PVM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PWM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTKEM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZSVM (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL(KIND=JPRD), ALLOCATABLE :: PSRCM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PLENGTHM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PLENGTHH (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: MFMOIST (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZBL_DEPTH (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZSBL_DEPTH (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZCEI (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHM (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZRM (:,:,:,:) !(KLON,1,KLEV+2,KRR) +REAL(KIND=JPRD), ALLOCATABLE :: PRUS (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRVS (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRWS (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRTHS (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZRRS (:,:,:,:) !(KLON,1,KLEV+2,KRR) +REAL(KIND=JPRD), ALLOCATABLE :: ZRSVS (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL(KIND=JPRD), ALLOCATABLE :: PRTKES_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PFLXZTHVMF (:,:,:) !Expected values to read -REAL, ALLOCATABLE :: ZBL_DEPTH_OUT (:,:) -REAL, ALLOCATABLE :: ZSBL_DEPTH_OUT (:,:) -REAL, ALLOCATABLE :: PTHM_OUT (:,:,:) -REAL, ALLOCATABLE :: ZRM_OUT (:,:,:,:) !(KLON,1,KLEV+2,KRR) -REAL, ALLOCATABLE :: PRUS_OUT (:,:,:) -REAL, ALLOCATABLE :: PRVS_OUT (:,:,:) -REAL, ALLOCATABLE :: PRWS_OUT (:,:,:) -REAL, ALLOCATABLE :: PRTHS_OUT (:,:,:) -REAL, ALLOCATABLE :: ZRRS_OUT (:,:,:,:) !(KLON,1,KLEV+2,KRR) -REAL, ALLOCATABLE :: ZRSVS_OUT (:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, ALLOCATABLE :: PRTKES_OUT_OUT (:,:,:) -REAL, ALLOCATABLE :: PSIGS_OUT (:,:,:) -REAL, ALLOCATABLE :: ZWTH_OUT (:,:,:) -REAL, ALLOCATABLE :: ZWRC_OUT (:,:,:) -REAL, ALLOCATABLE :: ZWSV_OUT (:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, ALLOCATABLE :: PDP_OUT (:,:,:) -REAL, ALLOCATABLE :: PTP_OUT (:,:,:) -REAL, ALLOCATABLE :: PTDIFF_OUT (:,:,:) -REAL, ALLOCATABLE :: PTDISS_OUT (:,:,:) -REAL, ALLOCATABLE :: PEDR_OUT (:,:,:) -REAL, ALLOCATABLE :: PTPMF_OUT (:,:,:) -REAL, ALLOCATABLE :: PDRUS_TURB_OUT (:,:,:) -REAL, ALLOCATABLE :: PDRVS_TURB_OUT (:,:,:) -REAL, ALLOCATABLE :: PDRTHLS_TURB_OUT (:,:,:) -REAL, ALLOCATABLE :: PDRRTS_TURB_OUT (:,:,:) -REAL, ALLOCATABLE :: ZDRSVS_TURB_OUT (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL(KIND=JPRD), ALLOCATABLE :: ZBL_DEPTH_OUT (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZSBL_DEPTH_OUT (:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTHM_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZRM_OUT (:,:,:,:) !(KLON,1,KLEV+2,KRR) +REAL(KIND=JPRD), ALLOCATABLE :: PRUS_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRVS_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRWS_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PRTHS_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZRRS_OUT (:,:,:,:) !(KLON,1,KLEV+2,KRR) +REAL(KIND=JPRD), ALLOCATABLE :: ZRSVS_OUT (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL(KIND=JPRD), ALLOCATABLE :: PRTKES_OUT_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PSIGS_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZWTH_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZWRC_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZWSV_OUT (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL(KIND=JPRD), ALLOCATABLE :: PDP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTP_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTDIFF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTDISS_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PEDR_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PTPMF_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDRUS_TURB_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDRVS_TURB_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDRTHLS_TURB_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: PDRRTS_TURB_OUT (:,:,:) +REAL(KIND=JPRD), ALLOCATABLE :: ZDRSVS_TURB_OUT (:,:,:,:) !(KLON,1,KLEV+2,KSV) INTEGER, INTENT(IN) :: NPROMA, NGPBLKS INTEGER :: NGPTOT -- GitLab