diff --git a/src/testprogs/ice_adjust/getdata_ice_adjust_mod.F90 b/src/testprogs/ice_adjust/getdata_ice_adjust_mod.F90 index 128c44912cc8b9e502bd8b4ac92bdc3593c8a633..5cad30115d5f646657533f3435032d7a3fddce52 100644 --- a/src/testprogs/ice_adjust/getdata_ice_adjust_mod.F90 +++ b/src/testprogs/ice_adjust/getdata_ice_adjust_mod.F90 @@ -23,62 +23,62 @@ INTEGER :: KDUM LOGICAL, INTENT(IN) :: LDVERBOSE -REAL, INTENT(OUT), ALLOCATABLE :: PRHODJ_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEXNREF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRHODREF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PPABSM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZICE_CLD_WGT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZSIGQSAT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSIGS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PMFCONV_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRC_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRI_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PCF_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDUM1_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDUM2_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDUM3_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDUM4_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDUM5_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRS_B (:,:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRS_OUT_B (:,:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSRCS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSRCS_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PCLDFR_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PCLDFR_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HRC_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HRC_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HCF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HCF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HRI_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HRI_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HCF_B (:,:,:,:) -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, INTENT(OUT), ALLOCATABLE :: PRHODJ_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEXNREF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRHODREF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PPABSM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZICE_CLD_WGT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZSIGQSAT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSIGS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PMFCONV_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRC_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRI_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PCF_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDUM1_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDUM2_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDUM3_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDUM4_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDUM5_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRS_B (:,:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRS_OUT_B (:,:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSRCS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSRCS_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PCLDFR_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PCLDFR_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HRC_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HRC_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HCF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HCF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HRI_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HRI_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HCF_B (:,:,:) +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 (:,:,:) INTEGER, INTENT(IN) :: NPROMA, NGPBLKS INTEGER :: NGPTOT @@ -100,40 +100,40 @@ CLOSE (IFILE) IF (NFLEVG < 0) NFLEVG = KLEV -ALLOCATE (ZSIGQSAT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZICE_CLD_WGT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PSRCS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PCLDFR_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLC_HRC_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLC_HCF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLI_HRI_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLI_HCF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRHODJ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEXNREF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRHODREF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PPABSM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTHT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PSIGS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PMFCONV_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRC_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRI_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PCF_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDUM1_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDUM2_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDUM3_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDUM4_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDUM5_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTHS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRS_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (PRS_OUT_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (PSRCS_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PCLDFR_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZRS_B (NPROMA,1,NFLEVG,0:KRR,NGPBLKS)) -ALLOCATE (ZZZ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLC_HRC_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLC_HCF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLI_HRI_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLI_HCF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) +ALLOCATE (ZSIGQSAT_B (NPROMA,NGPBLKS)) +ALLOCATE (ZICE_CLD_WGT_B (NPROMA,NGPBLKS)) +ALLOCATE (PSRCS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PCLDFR_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLC_HRC_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLC_HCF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLI_HRI_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLI_HCF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRHODJ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEXNREF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRHODREF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PPABSM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTHT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PSIGS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PMFCONV_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRC_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRI_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PCF_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDUM1_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDUM2_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDUM3_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDUM4_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDUM5_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTHS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRS_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (PRS_OUT_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (PSRCS_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PCLDFR_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZRS_B (NPROMA,NFLEVG,0:KRR,NGPBLKS)) +ALLOCATE (ZZZ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLC_HRC_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLC_HCF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLI_HRI_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLI_HCF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) CALL SET (ZSIGQSAT_B ) CALL SET (ZICE_CLD_WGT_B) @@ -189,53 +189,53 @@ DO WHILE(LLEXIST) READ (IFILE) KLON, KDUM, KLEV IF (IBL == 1) THEN - ALLOCATE (PRHODJ (NGPTOT,1,KLEV,1)) - ALLOCATE (PEXNREF (NGPTOT,1,KLEV,1)) - ALLOCATE (PRHODREF (NGPTOT,1,KLEV,1)) - ALLOCATE (PPABSM (NGPTOT,1,KLEV,1)) - ALLOCATE (PTHT (NGPTOT,1,KLEV,1)) - ALLOCATE (PSIGS (NGPTOT,1,KLEV,1)) - ALLOCATE (PMFCONV (NGPTOT,1,KLEV,1)) - ALLOCATE (PRC_MF (NGPTOT,1,KLEV,1)) - ALLOCATE (PRI_MF (NGPTOT,1,KLEV,1)) - ALLOCATE (PCF_MF (NGPTOT,1,KLEV,1)) - ALLOCATE (PTHS (NGPTOT,1,KLEV,1)) - ALLOCATE (PRS (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (PRS_OUT (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (PSRCS_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PCLDFR_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZRS (NGPTOT,1,KLEV,0:KRR,1)) - ALLOCATE (ZZZ (NGPTOT,1,KLEV,1)) - ALLOCATE (PHLC_HRC_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PHLC_HCF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PHLI_HRI_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PHLI_HCF_OUT (NGPTOT,1,KLEV,1)) + ALLOCATE (PRHODJ (NGPTOT,KLEV,1)) + ALLOCATE (PEXNREF (NGPTOT,KLEV,1)) + ALLOCATE (PRHODREF (NGPTOT,KLEV,1)) + ALLOCATE (PPABSM (NGPTOT,KLEV,1)) + ALLOCATE (PTHT (NGPTOT,KLEV,1)) + ALLOCATE (PSIGS (NGPTOT,KLEV,1)) + ALLOCATE (PMFCONV (NGPTOT,KLEV,1)) + ALLOCATE (PRC_MF (NGPTOT,KLEV,1)) + ALLOCATE (PRI_MF (NGPTOT,KLEV,1)) + ALLOCATE (PCF_MF (NGPTOT,KLEV,1)) + ALLOCATE (PTHS (NGPTOT,KLEV,1)) + ALLOCATE (PRS (NGPTOT,KLEV,KRR,1)) + ALLOCATE (PRS_OUT (NGPTOT,KLEV,KRR,1)) + ALLOCATE (PSRCS_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PCLDFR_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZRS (NGPTOT,KLEV,0:KRR,1)) + ALLOCATE (ZZZ (NGPTOT,KLEV,1)) + ALLOCATE (PHLC_HRC_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PHLC_HCF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PHLI_HRI_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PHLI_HCF_OUT (NGPTOT,KLEV,1)) ENDIF IF (IOFF+KLON > NGPTOT) THEN EXIT ENDIF - READ (IFILE) PRHODJ (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PEXNREF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRHODREF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PSIGS (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PMFCONV (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PPABSM (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) ZZZ (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PCF_MF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRC_MF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRI_MF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) ZRS (IOFF+1:IOFF+KLON,:,:,:,1) - READ (IFILE) PRS (IOFF+1:IOFF+KLON,:,:,:,1) - READ (IFILE) PTHS (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRS_OUT (IOFF+1:IOFF+KLON,:,:,:,1) - READ (IFILE) PSRCS_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PCLDFR_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PHLC_HRC_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PHLC_HCF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PHLI_HRI_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PHLI_HCF_OUT (IOFF+1:IOFF+KLON,:,:,1) + READ (IFILE) PRHODJ (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PEXNREF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRHODREF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PSIGS (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PMFCONV (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PPABSM (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) ZZZ (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PCF_MF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRC_MF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRI_MF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) ZRS (IOFF+1:IOFF+KLON,:,:,1) + READ (IFILE) PRS (IOFF+1:IOFF+KLON,:,:,1) + READ (IFILE) PTHS (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRS_OUT (IOFF+1:IOFF+KLON,:,:,1) + READ (IFILE) PSRCS_OUT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PCLDFR_OUT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PHLC_HRC_OUT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PHLC_HCF_OUT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PHLI_HRI_OUT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PHLI_HCF_OUT (IOFF+1:IOFF+KLON,:,1) CLOSE (IFILE) @@ -266,26 +266,26 @@ IF (NFLEVG /= KLEV) THEN CALL INTERPOLATE (NFLEVG, IOFF, PHLI_HCF_OUT) ENDIF -CALL REPLICATE (IOFF, PRHODJ (:, :, :, 1)) -CALL REPLICATE (IOFF, PEXNREF (:, :, :, 1)) -CALL REPLICATE (IOFF, PRHODREF (:, :, :, 1)) -CALL REPLICATE (IOFF, PSIGS (:, :, :, 1)) -CALL REPLICATE (IOFF, PMFCONV (:, :, :, 1)) -CALL REPLICATE (IOFF, PPABSM (:, :, :, 1)) -CALL REPLICATE (IOFF, ZZZ (:, :, :, 1)) -CALL REPLICATE (IOFF, PCF_MF (:, :, :, 1)) -CALL REPLICATE (IOFF, PRC_MF (:, :, :, 1)) -CALL REPLICATE (IOFF, PRI_MF (:, :, :, 1)) -CALL REPLICATE (IOFF, ZRS (:, :, :, :, 1)) -CALL REPLICATE (IOFF, PRS (:, :, :, :, 1)) -CALL REPLICATE (IOFF, PTHS (:, :, :, 1)) -CALL REPLICATE (IOFF, PRS_OUT (:, :, :, :, 1)) -CALL REPLICATE (IOFF, PSRCS_OUT (:, :, :, 1)) -CALL REPLICATE (IOFF, PCLDFR_OUT (:, :, :, 1)) -CALL REPLICATE (IOFF, PHLC_HRC_OUT (:, :, :, 1)) -CALL REPLICATE (IOFF, PHLC_HCF_OUT (:, :, :, 1)) -CALL REPLICATE (IOFF, PHLI_HRI_OUT (:, :, :, 1)) -CALL REPLICATE (IOFF, PHLI_HCF_OUT (:, :, :, 1)) +CALL REPLICATE (IOFF, PRHODJ (:, :, 1)) +CALL REPLICATE (IOFF, PEXNREF (:, :, 1)) +CALL REPLICATE (IOFF, PRHODREF (:, :, 1)) +CALL REPLICATE (IOFF, PSIGS (:, :, 1)) +CALL REPLICATE (IOFF, PMFCONV (:, :, 1)) +CALL REPLICATE (IOFF, PPABSM (:, :, 1)) +CALL REPLICATE (IOFF, ZZZ (:, :, 1)) +CALL REPLICATE (IOFF, PCF_MF (:, :, 1)) +CALL REPLICATE (IOFF, PRC_MF (:, :, 1)) +CALL REPLICATE (IOFF, PRI_MF (:, :, 1)) +CALL REPLICATE (IOFF, ZRS (:, :, :, 1)) +CALL REPLICATE (IOFF, PRS (:, :, :, 1)) +CALL REPLICATE (IOFF, PTHS (:, :, 1)) +CALL REPLICATE (IOFF, PRS_OUT (:, :, :, 1)) +CALL REPLICATE (IOFF, PSRCS_OUT (:, :, 1)) +CALL REPLICATE (IOFF, PCLDFR_OUT (:, :, 1)) +CALL REPLICATE (IOFF, PHLC_HRC_OUT (:, :, 1)) +CALL REPLICATE (IOFF, PHLC_HCF_OUT (:, :, 1)) +CALL REPLICATE (IOFF, PHLI_HRI_OUT (:, :, 1)) +CALL REPLICATE (IOFF, PHLI_HCF_OUT (:, :, 1)) CALL NPROMIZE (NPROMA, PRHODJ , PRHODJ_B ) CALL NPROMIZE (NPROMA, PEXNREF , PEXNREF_B ) diff --git a/src/testprogs/ice_adjust/main_ice_adjust.F90 b/src/testprogs/ice_adjust/main_ice_adjust.F90 index 20225eb60cb8a8622ac7a7f64216b8d6e26f1349..dca1e7d7160f6565c648cf8d08bc51b8c71a3d49 100644 --- a/src/testprogs/ice_adjust/main_ice_adjust.F90 +++ b/src/testprogs/ice_adjust/main_ice_adjust.F90 @@ -15,41 +15,41 @@ IMPLICIT NONE INTEGER :: KLEV INTEGER :: KRR -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 :: PSRCS (:,:,:,:) -REAL, ALLOCATABLE :: PCLDFR (:,:,:,:) -REAL, ALLOCATABLE :: PHLC_HRC (:,:,:,:) -REAL, ALLOCATABLE :: PHLC_HCF (:,:,:,:) -REAL, ALLOCATABLE :: PHLI_HRI (:,:,:,:) -REAL, ALLOCATABLE :: PHLI_HCF (:,:,:,:) -REAL, ALLOCATABLE :: ZRS (:,:,:,:,:) -REAL, ALLOCATABLE :: ZZZ (:,:,:,:) -REAL, ALLOCATABLE :: ZSIGQSAT (:,:,:) -REAL, ALLOCATABLE :: ZICE_CLD_WGT (:,:,:) -REAL, ALLOCATABLE :: ZDUM1 (:,:,:,:) -REAL, ALLOCATABLE :: ZDUM2 (:,:,:,:) -REAL, ALLOCATABLE :: ZDUM3 (:,:,:,:) -REAL, ALLOCATABLE :: ZDUM4 (:,:,:,:) -REAL, ALLOCATABLE :: ZDUM5 (:,:,:,:) - -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 :: 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 :: PSRCS (:,:,:) +REAL, ALLOCATABLE :: PCLDFR (:,:,:) +REAL, ALLOCATABLE :: PHLC_HRC (:,:,:) +REAL, ALLOCATABLE :: PHLC_HCF (:,:,:) +REAL, ALLOCATABLE :: PHLI_HRI (:,:,:) +REAL, ALLOCATABLE :: PHLI_HCF (:,:,:) +REAL, ALLOCATABLE :: ZRS (:,:,:,:) +REAL, ALLOCATABLE :: ZZZ (:,:,:) +REAL, ALLOCATABLE :: ZSIGQSAT (:,:) +REAL, ALLOCATABLE :: ZICE_CLD_WGT (:,:) +REAL, ALLOCATABLE :: ZDUM1 (:,:,:) +REAL, ALLOCATABLE :: ZDUM2 (:,:,:) +REAL, ALLOCATABLE :: ZDUM3 (:,:,:) +REAL, ALLOCATABLE :: ZDUM4 (:,:,:) +REAL, ALLOCATABLE :: ZDUM5 (:,:,:) + +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 (:,:,:) INTEGER :: NPROMA, NGPBLKS, NFLEVG INTEGER :: IBL, JLON, JLEV @@ -108,8 +108,8 @@ CALL GETDATA_ICE_ADJUST (NPROMA, NGPBLKS, NFLEVG, PRHODJ, PEXNREF, PRHODREF, PPA & PHLI_HRI, PHLI_HCF, ZRS, ZZZ, PRS_OUT, PSRCS_OUT, PCLDFR_OUT, PHLC_HRC_OUT, PHLC_HCF_OUT, & & PHLI_HRI_OUT, PHLI_HCF_OUT, LLVERBOSE) -KLEV = SIZE (PRS, 3) -KRR = SIZE (PRS, 4) +KLEV = SIZE (PRS, 2) +KRR = SIZE (PRS, 3) IF (LLVERBOSE) PRINT *, " KLEV = ", KLEV, " KRR = ", KRR @@ -206,22 +206,22 @@ JBLK2 = (NGPBLKS * (ITID+1)) / NTID CALL ICE_ADJUST (D, PHYEX%CST, PHYEX%RAIN_ICE_PARAMN, PHYEX%NEBN, PHYEX%TURBN, PHYEX%PARAM_ICEN, & & PHYEX%MISC%TBUCONF, PHYEX%MISC%KRR, PHYEX%MISC%HBUNAME, & - & PHYEX%MISC%PTSTEP, ZSIGQSAT (:, :, IBL), PRHODJ=PRHODJ (:, :, :, IBL), & - & PEXNREF=PEXNREF (:, :, :, IBL), & - & PRHODREF=PRHODREF (:, :, :, IBL), PSIGS=PSIGS (:, :, :, IBL), LMFCONV=PHYEX%MISC%LMFCONV, PMFCONV=PMFCONV (:, :, :, IBL), & - & PPABST=PPABSM (:, :, :, IBL), PZZ=ZZZ (:, :, :, IBL), PEXN=PEXNREF (:, :, :, IBL), PCF_MF=PCF_MF (:, :, :, IBL), & - & PRC_MF=PRC_MF (:, :, :, IBL), PRI_MF=PRI_MF (:, :, :, IBL), & - & PICLDFR=ZDUM1(:, :, :, IBL), PWCLDFR=ZDUM2(:, :, :, IBL), PSSIO=ZDUM3(:, :, :, IBL), & - & PSSIU=ZDUM4(:, :, :, IBL), PIFR=ZDUM5(:, :, :, IBL), & - & PRV=ZRS(:, :, :, 1, IBL), PRC=ZRS(:, :, :, 2, IBL), & - & PRVS=PRS(:, :, :, 1, IBL), PRCS=PRS(:, :, :, 2, IBL), PTH=ZRS(:, :, :, 0, IBL), PTHS=PTHS (:, :, :, IBL), & + & PHYEX%MISC%PTSTEP, ZSIGQSAT (:, IBL), PRHODJ=PRHODJ (:, :, IBL), & + & PEXNREF=PEXNREF (:, :, IBL), & + & PRHODREF=PRHODREF (:, :, IBL), PSIGS=PSIGS (:, :, IBL), LMFCONV=PHYEX%MISC%LMFCONV, PMFCONV=PMFCONV (:, :, IBL), & + & PPABST=PPABSM (:, :, IBL), PZZ=ZZZ (:, :, IBL), PEXN=PEXNREF (:, :, IBL), PCF_MF=PCF_MF (:, :, IBL), & + & PRC_MF=PRC_MF (:, :, IBL), PRI_MF=PRI_MF (:, :, IBL), & + & PICLDFR=ZDUM1(:, :, IBL), PWCLDFR=ZDUM2(:, :, IBL), PSSIO=ZDUM3(:, :, IBL), & + & PSSIU=ZDUM4(:, :, IBL), PIFR=ZDUM5(:, :, IBL), & + & PRV=ZRS(:, :, 1, IBL), PRC=ZRS(:, :, 2, IBL), & + & PRVS=PRS(:, :, 1, IBL), PRCS=PRS(:, :, 2, IBL), PTH=ZRS(:, :, 0, IBL), PTHS=PTHS (:, :, IBL), & & OCOMPUTE_SRC=PHYEX%MISC%OCOMPUTE_SRC, & - & PSRCS=PSRCS (:, :, :, IBL), PCLDFR=PCLDFR (:, :, :, IBL), PRR=ZRS(:, :, :, 3, IBL), PRI=ZRS(:, :, :, 4, IBL), & - & PRIS=PRS(:, :, :, 4, IBL), PRS=ZRS(:, :, :, 5, IBL), PRG=ZRS(:, :, :, 6, IBL), & + & PSRCS=PSRCS (:, :, IBL), PCLDFR=PCLDFR (:, :, IBL), PRR=ZRS(:, :, 3, IBL), PRI=ZRS(:, :, 4, IBL), & + & PRIS=PRS(:, :, 4, IBL), PRS=ZRS(:, :, 5, IBL), PRG=ZRS(:, :, 6, IBL), & & TBUDGETS=PHYEX%MISC%YLBUDGET, KBUDGETS=PHYEX%MISC%NBUDGET, & - & PICE_CLD_WGT=ZICE_CLD_WGT(:, :, IBL), & - & PHLC_HRC=PHLC_HRC(:, :, :, IBL), PHLC_HCF=PHLC_HCF(:, :, :, IBL), & - & PHLI_HRI=PHLI_HRI(:, :, :, IBL), PHLI_HCF=PHLI_HCF(:, :, :, IBL) & + & PICE_CLD_WGT=ZICE_CLD_WGT(:, IBL), & + & PHLC_HRC=PHLC_HRC(:, :, IBL), PHLC_HCF=PHLC_HCF(:, :, IBL), & + & PHLI_HRI=PHLI_HRI(:, :, IBL), PHLI_HCF=PHLI_HCF(:, :, IBL) & #ifdef USE_STACK & , YDSTACK=YLSTACK & #endif @@ -263,12 +263,12 @@ PRINT *, " ZTC = ", ZTC, ZTC / REAL (NPROMA*NGPBLKS*NTIME) IF (LLCHECK .OR. LLSTAT .OR. LLCHECKDIFF) THEN DO IBL = IBLOCK1, IBLOCK2 PRINT *, " IBL = ", IBL - CALL DIFF ("PSRCS", PSRCS_OUT (:,:,:,IBL), PSRCS (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PCLDFR", PCLDFR_OUT (:,:,:,IBL), PCLDFR (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PHLC_HRC", PHLC_HRC_OUT (:,:,:,IBL), PHLC_HRC (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PHLC_HCF", PHLC_HCF_OUT (:,:,:,IBL), PHLC_HCF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PHLI_HRI", PHLI_HRI_OUT (:,:,:,IBL), PHLI_HRI (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PHLI_HCF", PHLI_HCF_OUT (:,:,:,IBL), PHLI_HCF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PSRCS", PSRCS_OUT (:,:,IBL), PSRCS (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PCLDFR", PCLDFR_OUT (:,:,IBL), PCLDFR (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PHLC_HRC", PHLC_HRC_OUT (:,:,IBL), PHLC_HRC (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PHLC_HCF", PHLC_HCF_OUT (:,:,IBL), PHLC_HCF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PHLI_HRI", PHLI_HRI_OUT (:,:,IBL), PHLI_HRI (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PHLI_HCF", PHLI_HCF_OUT (:,:,IBL), PHLI_HCF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) ENDDO ENDIF diff --git a/src/testprogs/rain_ice/getdata_rain_ice_mod.F90 b/src/testprogs/rain_ice/getdata_rain_ice_mod.F90 index 337d9a7d07bfb29fa3852eb284885408bc04103c..5fd1e264240bfa5eca6df6aa3db1e7d0af4e17d9 100644 --- a/src/testprogs/rain_ice/getdata_rain_ice_mod.F90 +++ b/src/testprogs/rain_ice/getdata_rain_ice_mod.F90 @@ -22,75 +22,75 @@ INTEGER :: KDUM LOGICAL, INTENT(IN) :: LDVERBOSE -LOGICAL, INTENT(OUT), ALLOCATABLE:: LLMICRO_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEXNREF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDZZ_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRHODJ_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRHODREF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEXNREF2_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PPABSM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PCIT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PCLDFR_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HRC_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HCF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HRI_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HCF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRT_B (:,:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRS_B (:,:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSIGS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSEA_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTOWN_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PCIT_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRS_OUT_B (:,:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZINPRC_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZINPRC_OUT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PINPRR_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PINPRR_OUT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEVAP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEVAP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PINPRS_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PINPRS_OUT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PINPRG_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PINPRG_OUT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZINDEP_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZINDEP_OUT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZRAINFR_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZRAINFR_OUT_B (:,:,:,:) -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 (:,:,:,:,:) +LOGICAL, INTENT(OUT), ALLOCATABLE:: LLMICRO_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEXNREF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDZZ_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRHODJ_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRHODREF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEXNREF2_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PPABSM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PCIT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PCLDFR_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HRC_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLC_HCF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HRI_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHLI_HCF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRT_B (:,:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRS_B (:,:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSIGS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSEA_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTOWN_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PCIT_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRS_OUT_B (:,:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZINPRC_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZINPRC_OUT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PINPRR_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PINPRR_OUT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEVAP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEVAP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PINPRS_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PINPRS_OUT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PINPRG_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PINPRG_OUT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZINDEP_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZINDEP_OUT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZRAINFR_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZRAINFR_OUT_B (:,:,:) +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 (:,:,:,:) INTEGER :: IPROMA, ISIZE @@ -115,44 +115,44 @@ CLOSE (IFILE) IF (NFLEVG < 0) NFLEVG = KLEV -ALLOCATE (LLMICRO_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEXNREF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDZZ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRHODJ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRHODREF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEXNREF2_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PPABSM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PCIT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PCLDFR_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLC_HRC_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLC_HCF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLI_HRI_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHLI_HCF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTHT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRT_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (PTHS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRS_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (PSIGS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PSEA_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PTOWN_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PCIT_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRS_OUT_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (ZINPRC_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZINPRC_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PINPRR_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PINPRR_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PEVAP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEVAP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PINPRS_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PINPRS_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PINPRG_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PINPRG_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZINDEP_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZINDEP_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZRAINFR_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZRAINFR_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PFPR_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (PFPR_OUT_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (LLMICRO_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEXNREF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDZZ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRHODJ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRHODREF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEXNREF2_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PPABSM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PCIT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PCLDFR_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLC_HRC_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLC_HCF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLI_HRI_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHLI_HCF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTHT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRT_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (PTHS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRS_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (PSIGS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PSEA_B (NPROMA,NGPBLKS)) +ALLOCATE (PTOWN_B (NPROMA,NGPBLKS)) +ALLOCATE (PCIT_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRS_OUT_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (ZINPRC_B (NPROMA,NGPBLKS)) +ALLOCATE (ZINPRC_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (PINPRR_B (NPROMA,NGPBLKS)) +ALLOCATE (PINPRR_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (PEVAP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEVAP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PINPRS_B (NPROMA,NGPBLKS)) +ALLOCATE (PINPRS_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (PINPRG_B (NPROMA,NGPBLKS)) +ALLOCATE (PINPRG_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (ZINDEP_B (NPROMA,NGPBLKS)) +ALLOCATE (ZINDEP_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (ZRAINFR_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZRAINFR_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PFPR_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (PFPR_OUT_B (NPROMA,NFLEVG,KRR,NGPBLKS)) !CALL SET (LLMICRO_B ) @@ -206,72 +206,72 @@ DO WHILE(LLEXIST) READ (IFILE) KLON, KDUM, KLEV, KRR IF (IBL == 1) THEN - ALLOCATE (LLMICRO (NGPTOT,1,KLEV,1)) - ALLOCATE (PEXNREF (NGPTOT,1,KLEV,1)) - ALLOCATE (PDZZ (NGPTOT,1,KLEV,1)) - ALLOCATE (PRHODJ (NGPTOT,1,KLEV,1)) - ALLOCATE (PRHODREF (NGPTOT,1,KLEV,1)) - ALLOCATE (PEXNREF2 (NGPTOT,1,KLEV,1)) - ALLOCATE (PPABSM (NGPTOT,1,KLEV,1)) - ALLOCATE (PCIT (NGPTOT,1,KLEV,1)) - ALLOCATE (PCLDFR (NGPTOT,1,KLEV,1)) - ALLOCATE (PHLC_HRC (NGPTOT,1,KLEV,1)) - ALLOCATE (PHLC_HCF (NGPTOT,1,KLEV,1)) - ALLOCATE (PHLI_HRI (NGPTOT,1,KLEV,1)) - ALLOCATE (PHLI_HCF (NGPTOT,1,KLEV,1)) - ALLOCATE (PTHT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRT (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (PTHS (NGPTOT,1,KLEV,1)) - ALLOCATE (PRS (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (PSIGS (NGPTOT,1,KLEV,1)) - ALLOCATE (PSEA (NGPTOT,1,1)) - ALLOCATE (PTOWN (NGPTOT,1,1)) - ALLOCATE (PCIT_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRS_OUT (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (ZINPRC_OUT (NGPTOT,1,1)) - ALLOCATE (PINPRR_OUT (NGPTOT,1,1)) - ALLOCATE (PEVAP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PINPRS_OUT (NGPTOT,1,1)) - ALLOCATE (PINPRG_OUT (NGPTOT,1,1)) - ALLOCATE (ZINDEP_OUT (NGPTOT,1,1)) - ALLOCATE (ZRAINFR_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PFPR_OUT (NGPTOT,1,KLEV,KRR,1)) + ALLOCATE (LLMICRO (NGPTOT,KLEV,1)) + ALLOCATE (PEXNREF (NGPTOT,KLEV,1)) + ALLOCATE (PDZZ (NGPTOT,KLEV,1)) + ALLOCATE (PRHODJ (NGPTOT,KLEV,1)) + ALLOCATE (PRHODREF (NGPTOT,KLEV,1)) + ALLOCATE (PEXNREF2 (NGPTOT,KLEV,1)) + ALLOCATE (PPABSM (NGPTOT,KLEV,1)) + ALLOCATE (PCIT (NGPTOT,KLEV,1)) + ALLOCATE (PCLDFR (NGPTOT,KLEV,1)) + ALLOCATE (PHLC_HRC (NGPTOT,KLEV,1)) + ALLOCATE (PHLC_HCF (NGPTOT,KLEV,1)) + ALLOCATE (PHLI_HRI (NGPTOT,KLEV,1)) + ALLOCATE (PHLI_HCF (NGPTOT,KLEV,1)) + ALLOCATE (PTHT (NGPTOT,KLEV,1)) + ALLOCATE (PRT (NGPTOT,KLEV,KRR,1)) + ALLOCATE (PTHS (NGPTOT,KLEV,1)) + ALLOCATE (PRS (NGPTOT,KLEV,KRR,1)) + ALLOCATE (PSIGS (NGPTOT,KLEV,1)) + ALLOCATE (PSEA (NGPTOT,1)) + ALLOCATE (PTOWN (NGPTOT,1)) + ALLOCATE (PCIT_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRS_OUT (NGPTOT,KLEV,KRR,1)) + ALLOCATE (ZINPRC_OUT (NGPTOT,1)) + ALLOCATE (PINPRR_OUT (NGPTOT,1)) + ALLOCATE (PEVAP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PINPRS_OUT (NGPTOT,1)) + ALLOCATE (PINPRG_OUT (NGPTOT,1)) + ALLOCATE (ZINDEP_OUT (NGPTOT,1)) + ALLOCATE (ZRAINFR_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PFPR_OUT (NGPTOT,KLEV,KRR,1)) ENDIF IF (IOFF+KLON > NGPTOT) THEN EXIT ENDIF - READ (IFILE) LLMICRO (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PEXNREF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PDZZ (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRHODJ (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRHODREF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PEXNREF2 (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PPABSM (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PCIT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PCLDFR (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PHLC_HRC (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PHLC_HCF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PHLI_HRI (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PHLI_HCF (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PTHT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRT (IOFF+1:IOFF+KLON,:,:,:,1) - READ (IFILE) PTHS (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRS (IOFF+1:IOFF+KLON,:,:,:,1) - READ (IFILE) PSIGS (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PSEA (IOFF+1:IOFF+KLON,:,1) - READ (IFILE) PTOWN (IOFF+1:IOFF+KLON,:,1) - READ (IFILE) PCIT_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PRS_OUT (IOFF+1:IOFF+KLON,:,:,:,1) - READ (IFILE) ZINPRC_OUT (IOFF+1:IOFF+KLON,:,1) - READ (IFILE) PINPRR_OUT (IOFF+1:IOFF+KLON,:,1) - READ (IFILE) PEVAP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PINPRS_OUT (IOFF+1:IOFF+KLON,:,1) - READ (IFILE) PINPRG_OUT (IOFF+1:IOFF+KLON,:,1) - READ (IFILE) ZINDEP_OUT (IOFF+1:IOFF+KLON,:,1) - READ (IFILE) ZRAINFR_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ (IFILE) PFPR_OUT (IOFF+1:IOFF+KLON,:,:,:,1) + READ (IFILE) LLMICRO (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PEXNREF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PDZZ (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRHODJ (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRHODREF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PEXNREF2 (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PPABSM (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PCIT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PCLDFR (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PHLC_HRC (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PHLC_HCF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PHLI_HRI (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PHLI_HCF (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PTHT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRT (IOFF+1:IOFF+KLON,:,:,1) + READ (IFILE) PTHS (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRS (IOFF+1:IOFF+KLON,:,:,1) + READ (IFILE) PSIGS (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PSEA (IOFF+1:IOFF+KLON,1) + READ (IFILE) PTOWN (IOFF+1:IOFF+KLON,1) + READ (IFILE) PCIT_OUT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PRS_OUT (IOFF+1:IOFF+KLON,:,:,1) + READ (IFILE) ZINPRC_OUT (IOFF+1:IOFF+KLON,1) + READ (IFILE) PINPRR_OUT (IOFF+1:IOFF+KLON,1) + READ (IFILE) PEVAP_OUT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PINPRS_OUT (IOFF+1:IOFF+KLON,1) + READ (IFILE) PINPRG_OUT (IOFF+1:IOFF+KLON,1) + READ (IFILE) ZINDEP_OUT (IOFF+1:IOFF+KLON,1) + READ (IFILE) ZRAINFR_OUT (IOFF+1:IOFF+KLON,:,1) + READ (IFILE) PFPR_OUT (IOFF+1:IOFF+KLON,:,:,1) CLOSE (IFILE) @@ -313,36 +313,36 @@ IF (NFLEVG /= KLEV) THEN ENDIF -CALL REPLICATE (IOFF, LLMICRO (:, :, :, 1)) -CALL REPLICATE (IOFF, PEXNREF (:, :, :, 1)) -CALL REPLICATE (IOFF, PDZZ (:, :, :, 1)) -CALL REPLICATE (IOFF, PRHODJ (:, :, :, 1)) -CALL REPLICATE (IOFF, PRHODREF (:, :, :, 1)) -CALL REPLICATE (IOFF, PEXNREF2 (:, :, :, 1)) -CALL REPLICATE (IOFF, PPABSM (:, :, :, 1)) -CALL REPLICATE (IOFF, PCIT (:, :, :, 1)) -CALL REPLICATE (IOFF, PCLDFR (:, :, :, 1)) -CALL REPLICATE (IOFF, PHLC_HRC (:, :, :, 1)) -CALL REPLICATE (IOFF, PHLC_HCF (:, :, :, 1)) -CALL REPLICATE (IOFF, PHLI_HRI (:, :, :, 1)) -CALL REPLICATE (IOFF, PHLI_HCF (:, :, :, 1)) -CALL REPLICATE (IOFF, PTHT (:, :, :, 1)) -CALL REPLICATE (IOFF, PRT (:, :, :, :, 1)) -CALL REPLICATE (IOFF, PTHS (:, :, :, 1)) -CALL REPLICATE (IOFF, PRS (:, :, :, :, 1)) -CALL REPLICATE (IOFF, PSIGS (:, :, :, 1)) -CALL REPLICATE (IOFF, PSEA (:, :, 1)) -CALL REPLICATE (IOFF, PTOWN (:, :, 1)) -CALL REPLICATE (IOFF, PCIT_OUT (:, :, :, 1)) -CALL REPLICATE (IOFF, PRS_OUT (:, :, :, :, 1)) -CALL REPLICATE (IOFF, ZINPRC_OUT (:, :, 1)) -CALL REPLICATE (IOFF, PINPRR_OUT (:, :, 1)) -CALL REPLICATE (IOFF, PEVAP_OUT (:, :, :, 1)) -CALL REPLICATE (IOFF, PINPRS_OUT (:, :, 1)) -CALL REPLICATE (IOFF, PINPRG_OUT (:, :, 1)) -CALL REPLICATE (IOFF, ZINDEP_OUT (:, :, 1)) -CALL REPLICATE (IOFF, ZRAINFR_OUT (:, :, :, 1)) -CALL REPLICATE (IOFF, PFPR_OUT (:, :, :, :, 1)) +CALL REPLICATE (IOFF, LLMICRO (:, :, 1)) +CALL REPLICATE (IOFF, PEXNREF (:, :, 1)) +CALL REPLICATE (IOFF, PDZZ (:, :, 1)) +CALL REPLICATE (IOFF, PRHODJ (:, :, 1)) +CALL REPLICATE (IOFF, PRHODREF (:, :, 1)) +CALL REPLICATE (IOFF, PEXNREF2 (:, :, 1)) +CALL REPLICATE (IOFF, PPABSM (:, :, 1)) +CALL REPLICATE (IOFF, PCIT (:, :, 1)) +CALL REPLICATE (IOFF, PCLDFR (:, :, 1)) +CALL REPLICATE (IOFF, PHLC_HRC (:, :, 1)) +CALL REPLICATE (IOFF, PHLC_HCF (:, :, 1)) +CALL REPLICATE (IOFF, PHLI_HRI (:, :, 1)) +CALL REPLICATE (IOFF, PHLI_HCF (:, :, 1)) +CALL REPLICATE (IOFF, PTHT (:, :, 1)) +CALL REPLICATE (IOFF, PRT (:, :, :, 1)) +CALL REPLICATE (IOFF, PTHS (:, :, 1)) +CALL REPLICATE (IOFF, PRS (:, :, :, 1)) +CALL REPLICATE (IOFF, PSIGS (:, :, 1)) +CALL REPLICATE (IOFF, PSEA (:, 1)) +CALL REPLICATE (IOFF, PTOWN (:, 1)) +CALL REPLICATE (IOFF, PCIT_OUT (:, :, 1)) +CALL REPLICATE (IOFF, PRS_OUT (:, :, :, 1)) +CALL REPLICATE (IOFF, ZINPRC_OUT (:, 1)) +CALL REPLICATE (IOFF, PINPRR_OUT (:, 1)) +CALL REPLICATE (IOFF, PEVAP_OUT (:, :, 1)) +CALL REPLICATE (IOFF, PINPRS_OUT (:, 1)) +CALL REPLICATE (IOFF, PINPRG_OUT (:, 1)) +CALL REPLICATE (IOFF, ZINDEP_OUT (:, 1)) +CALL REPLICATE (IOFF, ZRAINFR_OUT (:, :, 1)) +CALL REPLICATE (IOFF, PFPR_OUT (:, :, :, 1)) CALL NPROMIZE (NPROMA, LLMICRO , LLMICRO_B ) diff --git a/src/testprogs/rain_ice/main_rain_ice.F90 b/src/testprogs/rain_ice/main_rain_ice.F90 index c8c007c6fe82275336c162082fa5d4863188ec1b..2dd27371f4979b6161503cf0b48cdb2ebbad37ef 100644 --- a/src/testprogs/rain_ice/main_rain_ice.F90 +++ b/src/testprogs/rain_ice/main_rain_ice.F90 @@ -15,34 +15,34 @@ IMPLICIT NONE INTEGER :: KLEV INTEGER :: KRR -REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: PRS, PRS_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: PFPR, PFPR_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: PRT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PDZZ -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PRHODJ -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PRHODREF -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PEXNREF -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PEXNREF2 -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PPABSM -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PHLC_HRC -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PHLC_HCF -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PHLI_HRI -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PHLI_HCF -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PTHT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PSIGS -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PCLDFR -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PTHS -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PEVAP, PEVAP_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PCIT, PCIT_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PSEA -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PTOWN -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PINPRR, PINPRR_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PINPRS, PINPRS_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PINPRG, PINPRG_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: ZINDEP, ZINDEP_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: ZRAINFR, ZRAINFR_OUT -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: ZINPRC, ZINPRC_OUT -LOGICAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: LLMICRO +REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PRS, PRS_OUT +REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PFPR, PFPR_OUT +REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: PRT +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PDZZ +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PRHODJ +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PRHODREF +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PEXNREF +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PEXNREF2 +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PPABSM +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PHLC_HRC +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PHLC_HCF +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PHLI_HRI +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PHLI_HCF +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PTHT +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PSIGS +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PCLDFR +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PTHS +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PEVAP, PEVAP_OUT +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: PCIT, PCIT_OUT +REAL, ALLOCATABLE, DIMENSION(:,:) :: PSEA +REAL, ALLOCATABLE, DIMENSION(:,:) :: PTOWN +REAL, ALLOCATABLE, DIMENSION(:,:) :: PINPRR, PINPRR_OUT +REAL, ALLOCATABLE, DIMENSION(:,:) :: PINPRS, PINPRS_OUT +REAL, ALLOCATABLE, DIMENSION(:,:) :: PINPRG, PINPRG_OUT +REAL, ALLOCATABLE, DIMENSION(:,:) :: ZINDEP, ZINDEP_OUT +REAL, ALLOCATABLE, DIMENSION(:,:,:) :: ZRAINFR, ZRAINFR_OUT +REAL, ALLOCATABLE, DIMENSION(:,:) :: ZINPRC, ZINPRC_OUT +LOGICAL, ALLOCATABLE, DIMENSION(:,:,:) :: LLMICRO INTEGER :: NPROMA, NGPBLKS, NFLEVG INTEGER :: IBL, JLON, JLEV @@ -102,8 +102,8 @@ CALL GETDATA_RAIN_ICE (NPROMA, NGPBLKS, NFLEVG, LLMICRO, PEXNREF, PDZZ, PRHODJ, &PRS, PSIGS, PSEA, PTOWN, PCIT_OUT, PRS_OUT, ZINPRC, ZINPRC_OUT, PINPRR, PINPRR_OUT, PEVAP, PEVAP_OUT, & &PINPRS, PINPRS_OUT, PINPRG, PINPRG_OUT, ZINDEP, ZINDEP_OUT, ZRAINFR, ZRAINFR_OUT, PFPR, PFPR_OUT, LLVERBOSE) -KLEV = SIZE (PRS, 3) -KRR = SIZE (PRS, 4) +KLEV = SIZE (PRS, 2) +KRR = SIZE (PRS, 3) IF (LLVERBOSE) PRINT *, " KLEV = ", KLEV, " KRR = ", KRR @@ -201,23 +201,23 @@ JBLK2 = (NGPBLKS * (ITID+1)) / NTID CALL RAIN_ICE (D, PHYEX%CST, PHYEX%PARAM_ICEN, PHYEX%RAIN_ICE_PARAMN, & & PHYEX%RAIN_ICE_DESCRN, PHYEX%MISC%TBUCONF, & & PTSTEP=PHYEX%MISC%PTSTEP, & - & KRR=PHYEX%MISC%KRR, PEXN=PEXNREF(:,:,:,IBL), & - & PDZZ=PDZZ(:,:,:,IBL), PRHODJ=PRHODJ(:,:,:,IBL), PRHODREF=PRHODREF(:,:,:,IBL),PEXNREF=PEXNREF2(:,:,:,IBL),& - & PPABST=PPABSM(:,:,:,IBL), PCIT=PCIT(:,:,:,IBL), PCLDFR=PCLDFR(:,:,:,IBL), & - & PHLC_HRC=PHLC_HRC(:,:,:,IBL), PHLC_HCF=PHLC_HCF(:,:,:,IBL), & - & PHLI_HRI=PHLI_HRI(:,:,:,IBL), PHLI_HCF=PHLI_HCF(:,:,:,IBL), & - & PTHT=PTHT(:,:,:,IBL),PRVT=PRT(:,:,:,1,IBL),PRCT=PRT(:,:,:,2,IBL), & - & PRRT=PRT(:,:,:,3,IBL), & - & PRIT=PRT(:,:,:,4,IBL), PRST=PRT(:,:,:,5,IBL), & - & PRGT=PRT(:,:,:,6,IBL), & - & PTHS=PTHS(:,:,:,IBL), PRVS=PRS(:,:,:,1,IBL),PRCS=PRS(:,:,:,2,IBL),& - & PRRS=PRS(:,:,:,3,IBL),& - & PRIS=PRS(:,:,:,4,IBL),PRSS= PRS(:,:,:,5,IBL),PRGS= PRS(:,:,:,6,IBL),& - & PINPRC=ZINPRC(:,:,IBL),PINPRR=PINPRR(:,:,IBL),PEVAP3D=PEVAP(:,:,:,IBL),& - & PINPRS=PINPRS(:,:,IBL), PINPRG=PINPRG(:,:,IBL), PINDEP=ZINDEP(:,:,IBL), PRAINFR=ZRAINFR(:,:,:,IBL), & - & PSIGS=PSIGS(:,:,:,IBL), & + & KRR=PHYEX%MISC%KRR, PEXN=PEXNREF(:,:,IBL), & + & PDZZ=PDZZ(:,:,IBL), PRHODJ=PRHODJ(:,:,IBL), PRHODREF=PRHODREF(:,:,IBL),PEXNREF=PEXNREF2(:,:,IBL),& + & PPABST=PPABSM(:,:,IBL), PCIT=PCIT(:,:,IBL), PCLDFR=PCLDFR(:,:,IBL), & + & PHLC_HRC=PHLC_HRC(:,:,IBL), PHLC_HCF=PHLC_HCF(:,:,IBL), & + & PHLI_HRI=PHLI_HRI(:,:,IBL), PHLI_HCF=PHLI_HCF(:,:,IBL), & + & PTHT=PTHT(:,:,IBL),PRVT=PRT(:,:,1,IBL),PRCT=PRT(:,:,2,IBL), & + & PRRT=PRT(:,:,3,IBL), & + & PRIT=PRT(:,:,4,IBL), PRST=PRT(:,:,5,IBL), & + & PRGT=PRT(:,:,6,IBL), & + & PTHS=PTHS(:,:,IBL), PRVS=PRS(:,:,1,IBL),PRCS=PRS(:,:,2,IBL),& + & PRRS=PRS(:,:,3,IBL),& + & PRIS=PRS(:,:,4,IBL),PRSS= PRS(:,:,5,IBL),PRGS= PRS(:,:,6,IBL),& + & PINPRC=ZINPRC(:,IBL),PINPRR=PINPRR(:,IBL),PEVAP3D=PEVAP(:,:,IBL),& + & PINPRS=PINPRS(:,IBL), PINPRG=PINPRG(:,IBL), PINDEP=ZINDEP(:,IBL), PRAINFR=ZRAINFR(:,:,IBL), & + & PSIGS=PSIGS(:,:,IBL), & & TBUDGETS=PHYEX%MISC%YLBUDGET, KBUDGETS=PHYEX%MISC%NBUDGET, & - & PSEA=PSEA(:,:,IBL), PTOWN=PTOWN(:,:,IBL), PFPR=PFPR(:,:,:,:,IBL)) + & PSEA=PSEA(:,IBL), PTOWN=PTOWN(:,IBL), PFPR=PFPR(:,:,:,IBL)) #ifdef _OPENACC ENDDO @@ -257,20 +257,20 @@ IF (LLCHECK .OR. LLSTAT .OR. LLCHECKDIFF) THEN PRINT *, " IBL = ", IBL DO JRR=1, KRR WRITE (CLTEXT, '("PRS JRR=",I3.3)') JRR - CALL DIFF (CLTEXT, PRS_OUT (:,:,:,JRR,IBL), PRS (:,:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF (CLTEXT, PRS_OUT (:,:,JRR,IBL), PRS (:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) IF(JRR>=2) THEN WRITE (CLTEXT, '("PFPR JRR=",I3.3)') JRR - CALL DIFF (CLTEXT, PFPR_OUT (:,:,:,JRR,IBL), PFPR (:,:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF (CLTEXT, PFPR_OUT (:,:,JRR,IBL), PFPR (:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) ENDIF ENDDO - CALL DIFF ("PCIT", PCIT_OUT (:,:,:,IBL), PCIT (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZINPRC", ZINPRC_OUT (:,:,IBL), ZINPRC (:,:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PINPRRRS", PINPRR_OUT (:,:,IBL), PINPRR (:,:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PEVAP", PEVAP_OUT (:,:,:,IBL), PEVAP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PINPRS", PINPRS_OUT (:,:,IBL), PINPRS (:,:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PINPRG", PINPRG_OUT (:,:,IBL), PINPRG (:,:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZINDEP", ZINDEP_OUT (:,:,IBL), ZINDEP (:,:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - !CALL DIFF ("ZRAINFR", ZRAINFR_OUT (:,:,:,IBL), ZRAINFR (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PCIT", PCIT_OUT (:,:,IBL), PCIT (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZINPRC", ZINPRC_OUT (:,IBL), ZINPRC (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PINPRRRS", PINPRR_OUT (:,IBL), PINPRR (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PEVAP", PEVAP_OUT (:,:,IBL), PEVAP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PINPRS", PINPRS_OUT (:,IBL), PINPRS (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PINPRG", PINPRG_OUT (:,IBL), PINPRG (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZINDEP", ZINDEP_OUT (:,IBL), ZINDEP (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + !CALL DIFF ("ZRAINFR", ZRAINFR_OUT (:,:,IBL), ZRAINFR (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) ENDDO ENDIF 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 edd1a6d36558c1afa249315fbff9df46887a4430..69536b52e89cb0bb1e8f5c3917680d7492283db3 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 @@ -155,9 +155,11 @@ SUBROUTINE GETDATA_RAIN_ICE_OLD(NPROMA, NBLOCKS, NFLEVG, KRR, & CLOSE (IFILE) - write(output_unit, *) 'klon: ', klon - write(output_unit, *) 'klev: ', klev - write(output_unit, *) 'krr: ', krr + IF(LDVERBOSE) THEN + WRITE(OUTPUT_UNIT, *) 'KLON: ', KLON + WRITE(OUTPUT_UNIT, *) 'KLEV: ', KLEV + WRITE(OUTPUT_UNIT, *) 'KRR: ', KRR + ENDIF IF (NFLEVG < 0) NFLEVG = KLEV diff --git a/src/testprogs/rain_ice_old/main_rain_ice_old.F90 b/src/testprogs/rain_ice_old/main_rain_ice_old.F90 index 5feee2d5a12da234ac62c4a1153c46e8c20a0f16..af96129e22f3315d9414a1a877f52ac8c8418ade 100644 --- a/src/testprogs/rain_ice_old/main_rain_ice_old.F90 +++ b/src/testprogs/rain_ice_old/main_rain_ice_old.F90 @@ -2,7 +2,7 @@ PROGRAM MAIN_RAIN_ICE_OLD USE XRD_GETOPTIONS, ONLY: INITOPTIONS, GETOPTION, CHECKOPTIONS USE GETDATA_RAIN_ICE_OLD_MOD, ONLY: GETDATA_RAIN_ICE_OLD - +USE COMPUTE_DIFF, ONLY: DIFF USE MODI_RAIN_ICE_OLD USE MODD_DIMPHYEX, ONLY: DIMPHYEX_t USE MODD_PHYEX, ONLY: PHYEX_t @@ -10,7 +10,7 @@ USE STACK_MOD USE OMP_LIB USE YOMHOOK, ONLY : LHOOK, DR_HOOK, JPHOOK -use iso_fortran_env, only: output_unit +USE ISO_FORTRAN_ENV, ONLY: OUTPUT_UNIT IMPLICIT NONE @@ -76,6 +76,7 @@ INTEGER :: ITIME, NTIME INTEGER :: IRANK, ISIZE LOGICAL :: LLVERBOSE, LLSTAT, LLBIND REAL (KIND=JPHOOK) :: ZHOOK_HANDLE +CHARACTER(LEN=32) :: CLTEXT INTEGER :: ISIZEMICRO INTEGER :: KKA @@ -91,19 +92,6 @@ CHARACTER(LEN=4) :: CSUBG_AUCV_RC LOGICAL :: OWARM REAL :: PTSTEP - integer :: j - - - - - - - - - - - - CALL INITOPTIONS() NGPBLKS = 150 CALL GETOPTION ("--blocks", NGPBLKS) @@ -134,10 +122,12 @@ IF (LLBIND) THEN CALL LINUX_BIND_DUMP (IRANK, ISIZE) ENDIF -WRITE(OUTPUT_UNIT, *) 'n_gp_blocks: ', NGPBLKS -WRITE(OUTPUT_UNIT, *) 'n_proma: ', NPROMA -WRITE(OUTPUT_UNIT, *) 'n_levels: ', NFLEVG -WRITE(OUTPUT_UNIT, *) 'total: ', NFLEVG*NPROMA*NGPBLKS +IF(LLVERBOSE) THEN + WRITE(OUTPUT_UNIT, *) 'N_GP_BLOCKS: ', NGPBLKS + WRITE(OUTPUT_UNIT, *) 'N_PROMA: ', NPROMA + WRITE(OUTPUT_UNIT, *) 'N_LEVELS: ', NFLEVG + WRITE(OUTPUT_UNIT, *) 'TOTAL: ', NFLEVG*NPROMA*NGPBLKS +ENDIF CALL GETDATA_RAIN_ICE_OLD(NPROMA, NGPBLKS, NFLEVG, KRR, & OSEDIC, OCND2, LKOGAN, LMODICEDEP, OWARM, & @@ -163,20 +153,22 @@ KLEV = SIZE (PRS, 2) IF (LLVERBOSE) PRINT *, " KLEV = ", KLEV, " KRR = ", KRR -WRITE(OUTPUT_UNIT, *) 'osedic: ', OSEDIC -WRITE(OUTPUT_UNIT, *) 'ocnd2: ', OCND2 -WRITE(OUTPUT_UNIT, *) 'lkogan: ', LKOGAN -WRITE(OUTPUT_UNIT, *) 'lmodicedep: ', LMODICEDEP -WRITE(OUTPUT_UNIT, *) 'owarm: ', OWARM -WRITE(OUTPUT_UNIT, *) 'kka: ', KKA -WRITE(OUTPUT_UNIT, *) 'kku: ', KKU -WRITE(OUTPUT_UNIT, *) 'kkl: ', KKL -WRITE(OUTPUT_UNIT, *) 'ksplitr: ', KSPLITR -WRITE(OUTPUT_UNIT, *) 'ptstep: ', PTSTEP -WRITE(OUTPUT_UNIT, *) 'c_sedim: ', C_SEDIM -WRITE(OUTPUT_UNIT, *) 'csubg_aucv_rc: ', CSUBG_AUCV_RC - -!PRINT *, " NPROMA = ", NPROMA, " KLEV = ", KLEV, " NGPBLKS = ", NGPBLKS +IF (LLVERBOSE) THEN + WRITE(OUTPUT_UNIT, *) 'OSEDIC: ', OSEDIC + WRITE(OUTPUT_UNIT, *) 'OCND2: ', OCND2 + WRITE(OUTPUT_UNIT, *) 'LKOGAN: ', LKOGAN + WRITE(OUTPUT_UNIT, *) 'LMODICEDEP: ', LMODICEDEP + WRITE(OUTPUT_UNIT, *) 'OWARM: ', OWARM + WRITE(OUTPUT_UNIT, *) 'KKA: ', KKA + WRITE(OUTPUT_UNIT, *) 'KKU: ', KKU + WRITE(OUTPUT_UNIT, *) 'KKL: ', KKL + WRITE(OUTPUT_UNIT, *) 'KSPLITR: ', KSPLITR + WRITE(OUTPUT_UNIT, *) 'PTSTEP: ', PTSTEP + WRITE(OUTPUT_UNIT, *) 'C_SEDIM: ', C_SEDIM + WRITE(OUTPUT_UNIT, *) 'CSUBG_AUCV_RC: ', CSUBG_AUCV_RC +ENDIF + +PRINT *, " NPROMA = ", NPROMA, " KLEV = ", KLEV, " NGPBLKS = ", NGPBLKS CALL INIT_PHYEX(KRR, PHYEX, OWARM, OSEDIC, OCND2, C_SEDIM, CSUBG_AUCV_RC, PTSTEP) @@ -326,94 +318,50 @@ IF (LHOOK) CALL DR_HOOK ('MAIN',1,ZHOOK_HANDLE) TE = OMP_GET_WTIME() -!WRITE (*,'(A,F8.2,A)') 'elapsed time : ',TE-TS,' s' -!WRITE (*,'(A,F8.4,A)') ' i.e. ',1000.*(TE-TS)/(NPROMA*NGPBLKS)/NTIME,' ms/gp' -! -!PRINT *, " ZTD = ", ZTD, ZTD / REAL (NPROMA*NGPBLKS*NTIME) -!PRINT *, " ZTC = ", ZTC, ZTC / REAL (NPROMA*NGPBLKS*NTIME) - - - CALL CPU_TIME(TIME_END_CPU) - CALL SYSTEM_CLOCK(COUNT=COUNTER, COUNT_RATE=C_RATE) - TIME_END_REAL = REAL(COUNTER,8)/C_RATE - - write(output_unit, *) - - write(output_unit, *) 'Total time: ', time_end_real - time_start_real - - write(output_unit, *) - - write(output_unit, *) 'PEVAP' - call print_diff_2(pevap(:,:,1), pevap_out(:,:,1)) - write(output_unit, *) - - write(output_unit, *) 'ZINPRC' - call print_diff_1(zinprc(:,1), zinprc_out(:,1)) - write(output_unit, *) - - write(output_unit, *) 'PINPRR' - call print_diff_1(pinprr(:,1), pinprr_out(:,1)) - write(output_unit, *) - - write(output_unit, *) 'PINPRS' - call print_diff_1(pinprs(:,1), pinprs_out(:,1)) - write(output_unit, *) - - write(output_unit, *) 'PINPRG' - call print_diff_1(pinprg(:,1), pinprg_out(:,1)) - write(output_unit, *) - - write(output_unit, *) 'PTHS' - call print_diff_2(pths(:,:,1), pths_out(:,:,1)) - write(output_unit, *) - - write(output_unit, *) 'PCIT' - call print_diff_2(pcit(:,:,1), pcit_out(:,:,1)) - write(output_unit, *) - - write(output_unit, *) 'PRVS' - call print_diff_2(prs(:,:,1,1), prs_out(:,:,1,1)) - write(output_unit, *) - - write(output_unit, *) 'PRCS' - call print_diff_2(prs(:,:,2,1), prs_out(:,:,2,1)) - write(output_unit, *) +WRITE (*,'(A,F8.2,A)') 'elapsed time : ',TE-TS,' s' +WRITE (*,'(A,F8.4,A)') ' i.e. ',1000.*(TE-TS)/(NPROMA*NGPBLKS)/NTIME,' ms/gp' - write(output_unit, *) 'PRRS' - call print_diff_2(prs(:,:,3,1), prs_out(:,:,3,1)) - write(output_unit, *) +PRINT *, " ZTD = ", ZTD, ZTD / REAL (NPROMA*NGPBLKS*NTIME) +PRINT *, " ZTC = ", ZTC, ZTC / REAL (NPROMA*NGPBLKS*NTIME) - write(output_unit, *) 'PRIS' - call print_diff_2(prs(:,:,4,1), prs_out(:,:,4,1)) - write(output_unit, *) - write(output_unit, *) 'PRSS' - call print_diff_2(prs(:,:,5,1), prs_out(:,:,5,1)) - write(output_unit, *) - - write(output_unit, *) 'PRGS' - call print_diff_2(prs(:,:,6,1), prs_out(:,:,6,1)) - write(output_unit, *) - - write(output_unit, *) 'PFPR 2' - call print_diff_2(pfpr(:,:,2,1), pfpr_out(:,:,2,1)) - write(output_unit, *) - - write(output_unit, *) 'PFPR 3' - call print_diff_2(pfpr(:,:,3,1), pfpr_out(:,:,3,1)) - write(output_unit, *) +CALL CPU_TIME(TIME_END_CPU) +CALL SYSTEM_CLOCK(COUNT=COUNTER, COUNT_RATE=C_RATE) +TIME_END_REAL = REAL(COUNTER,8)/C_RATE - write(output_unit, *) 'PFPR 4' - call print_diff_2(pfpr(:,:,4,1), pfpr_out(:,:,4,1)) - write(output_unit, *) +IF(LLVERBOSE) THEN + WRITE(OUTPUT_UNIT, *) + WRITE(OUTPUT_UNIT, *) 'TOTAL TIME: ', TIME_END_REAL - TIME_START_REAL +ENDIF - write(output_unit, *) 'PFPR 5' - call print_diff_2(pfpr(:,:,5,1), pfpr_out(:,:,5,1)) - write(output_unit, *) +IF (LLCHECK .OR. LLSTAT .OR. LLCHECKDIFF) THEN + DO IBL = IBLOCK1, IBLOCK2 + PRINT *, " IBL = ", IBL + DO JRR=1, KRR + WRITE (CLTEXT, '("PRS JRR=",I3.3)') JRR + CALL DIFF (CLTEXT, PRS_OUT (:,:,JRR,IBL), PRS (:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + IF(JRR>=2) THEN + WRITE (CLTEXT, '("PFPR JRR=",I3.3)') JRR + CALL DIFF (CLTEXT, PFPR_OUT (:,:,JRR,IBL), PFPR (:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + ENDIF + ENDDO + CALL DIFF ("PCIT", PCIT_OUT (:,:,IBL), PCIT (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZINPRC", ZINPRC_OUT (:,IBL), ZINPRC (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PINPRRRS", PINPRR_OUT (:,IBL), PINPRR (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PEVAP", PEVAP_OUT (:,:,IBL), PEVAP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PINPRS", PINPRS_OUT (:,IBL), PINPRS (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PINPRG", PINPRG_OUT (:,IBL), PINPRG (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PTHS", PTHS_OUT (:,:,IBL), PTHS (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + ENDDO +ENDIF - write(output_unit, *) 'PFPR 6' - call print_diff_2(pfpr(:,:,6,1), pfpr_out(:,:,6,1)) - write(output_unit, *) +IF (LLCHECKDIFF) THEN + IF (LLDIFF) THEN + PRINT*, "THERE ARE DIFF SOMEWHERE" + ELSE + PRINT*, "THERE IS NO DIFF AT ALL" + ENDIF +ENDIF STOP @@ -573,61 +521,5 @@ SUBROUTINE INIT_GMICRO(D, KRR, NGPBLKS, ODMICRO, PRT, PSSIO, OCND2) END SUBROUTINE INIT_GMICRO - -subroutine print_diff_1(array, ref) - - use iso_fortran_env, only: output_unit - - implicit none - - real, intent(in), dimension(:) :: array - real, intent(in), dimension(:) :: ref - - real, parameter :: threshold = 1.0e-12 - - integer :: i - - real :: absval - - do i = 1, size(array, 1) - absval = max(abs(array(i)), abs(ref(i))) - if (absval .gt. 0.) then - if (abs(array(i) - ref(i))/absval .gt. threshold) then - write(output_unit, '(1i4, 4e16.6)') i, array(i), ref(i), abs(array(i) - ref(i)), abs(array(i) - ref(i))/absval - endif - endif - enddo - -end subroutine print_diff_1 - - -subroutine print_diff_2(array, ref) - - use iso_fortran_env, only: output_unit - - implicit none - - real, intent(in), dimension(:,:) :: array - real, intent(in), dimension(:,:) :: ref - - real, parameter :: threshold = 1.0e-12 - - integer :: i, j - - real :: absval - - do j = 1, size(array, 2) - do i = 1, size(array, 1) - absval = max(abs(array(i,j)), abs(ref(i,j))) - if (absval .gt. 0.) then - if (abs(array(i,j) - ref(i,j))/absval .gt. threshold) then - write(output_unit, '(2i4, 4e22.14)') i, j, array(i,j), ref(i,j), abs(array(i,j) - ref(i,j)), abs(array(i,j) - ref(i,j))/absval - endif - endif - enddo - enddo - -end subroutine print_diff_2 - END PROGRAM diff --git a/src/testprogs/shallow/getdata_shallow_mod.F90 b/src/testprogs/shallow/getdata_shallow_mod.F90 index 689756df2e1580256c04b8e3c8adaac7de41ee1a..e54c186897ea7bd1b44c9cfeb61f2c09cacbf3b2 100644 --- a/src/testprogs/shallow/getdata_shallow_mod.F90 +++ b/src/testprogs/shallow/getdata_shallow_mod.F90 @@ -45,143 +45,143 @@ INTEGER :: KDUM LOGICAL, INTENT(IN) :: LDVERBOSE !IN and INOUTS -REAL, INTENT(OUT), ALLOCATABLE :: PDZZF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PZZ_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRHODJ_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRHODREF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PPABSM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEXNM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSFTH_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSFRV_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRM_B (:,:,:,:,:) !(KLON, 1, KLEV, KRR) -REAL, INTENT(OUT), ALLOCATABLE :: PUM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PVM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTKEM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSVM_B (:,:,:,:,:) !(KLON,1,KLEV,KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PTHL_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRT_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRV_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRC_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRI_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PU_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PV_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHV_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PW_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PFRAC_UP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEMF_B (:,:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDZZF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PZZ_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRHODJ_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRHODREF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PPABSM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEXNM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSFTH_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSFRV_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRM_B (:,:,:,:) !(KLON, 1, KLEV, KRR) +REAL, INTENT(OUT), ALLOCATABLE :: PUM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PVM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTKEM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSVM_B (:,:,:,:) !(KLON,1,KLEV,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PTHL_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRT_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRV_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRC_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRI_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PU_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PV_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHV_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PW_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PFRAC_UP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEMF_B (:,:,:) !OUT -REAL, INTENT(OUT), ALLOCATABLE :: PDUDT_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDVDT_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDTHLDT_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRTDT_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDSVDT_MF_B (:,:,:,:,:) !(KLON,1,KLEV,KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PSIGMF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRC_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRI_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PCF_MF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PFLXZTHVMF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZTHMF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZRMF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZUMF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZVMF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDETR_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZENTR_B (:,:,:,:) -INTEGER, INTENT(OUT), ALLOCATABLE:: IKLCL_B (:,:,:) -INTEGER, INTENT(OUT), ALLOCATABLE:: IKETL_B (:,:,:) -INTEGER, INTENT(OUT), ALLOCATABLE:: IKCTL_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDUDT_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDVDT_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDTHLDT_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRTDT_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDSVDT_MF_B (:,:,:,:) !(KLON,1,KLEV,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PSIGMF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRC_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRI_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PCF_MF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PFLXZTHVMF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZTHMF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZRMF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZUMF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZVMF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDETR_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZENTR_B (:,:,:) +INTEGER, INTENT(OUT), ALLOCATABLE:: IKLCL_B (:,:) +INTEGER, INTENT(OUT), ALLOCATABLE:: IKETL_B (:,:) +INTEGER, INTENT(OUT), ALLOCATABLE:: IKCTL_B (:,:) !Expected values -REAL, INTENT(OUT), ALLOCATABLE :: PDUDT_MF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDVDT_MF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDTHLDT_MF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRTDT_MF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDSVDT_MF_OUT_B (:,:,:,:,:) !(KLON,1,KLEV,KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PSIGMF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRC_MF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRI_MF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PCF_MF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PFLXZTHVMF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZTHMF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZRMF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZUMF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZVMF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHL_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRT_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRV_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRC_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRI_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PU_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PV_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHV_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PW_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PFRAC_UP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEMF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDETR_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZENTR_OUT_B (:,:,:,:) -INTEGER, INTENT(OUT), ALLOCATABLE:: IKLCL_OUT_B (:,:,:) -INTEGER, INTENT(OUT), ALLOCATABLE:: IKETL_OUT_B (:,:,:) -INTEGER, INTENT(OUT), ALLOCATABLE:: IKCTL_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDUDT_MF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDVDT_MF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDTHLDT_MF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRTDT_MF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDSVDT_MF_OUT_B (:,:,:,:) !(KLON,1,KLEV,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PSIGMF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRC_MF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRI_MF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PCF_MF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PFLXZTHVMF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZTHMF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZRMF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZUMF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZFLXZVMF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHL_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRT_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRV_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRC_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRI_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PU_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PV_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHV_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PW_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PFRAC_UP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEMF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDETR_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZENTR_OUT_B (:,:,:) +INTEGER, INTENT(OUT), ALLOCATABLE:: IKLCL_OUT_B (:,:) +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, 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 (:,:,:) !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 (:,:,:,:) -INTEGER, ALLOCATABLE:: IKLCL_OUT (:,:,:) -INTEGER, ALLOCATABLE:: IKETL_OUT (:,:,:) -INTEGER, ALLOCATABLE:: IKCTL_OUT (:,:,:) +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 (:,:,:) +INTEGER, ALLOCATABLE:: IKLCL_OUT (:,:) +INTEGER, ALLOCATABLE:: IKETL_OUT (:,:) +INTEGER, ALLOCATABLE:: IKCTL_OUT (:,:) INTEGER, INTENT(IN) :: NPROMA, NGPBLKS INTEGER :: NGPTOT @@ -206,160 +206,160 @@ CLOSE (IFILE) IF (NFLEVG < 0) NFLEVG = KLEV -ALLOCATE (PDZZF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PZZ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRHODJ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRHODREF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PPABSM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEXNM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PSFTH_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PSFRV_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PTHM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRM_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (PUM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PVM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTKEM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PSVM_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) -ALLOCATE (PTHL_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRT_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRV_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRC_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRI_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PU_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PV_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTHV_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PW_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PFRAC_UP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEMF_B (NPROMA,1,NFLEVG,NGPBLKS)) - -ALLOCATE (PDUDT_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDVDT_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDTHLDT_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRTDT_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDSVDT_MF_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) -ALLOCATE (PSIGMF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRC_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRI_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PCF_MF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PFLXZTHVMF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZFLXZTHMF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZFLXZRMF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZFLXZUMF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZFLXZVMF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDETR_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZENTR_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (IKLCL_B (NPROMA,1,NGPBLKS)) -ALLOCATE (IKETL_B (NPROMA,1,NGPBLKS)) -ALLOCATE (IKCTL_B (NPROMA,1,NGPBLKS)) - -ALLOCATE (PDUDT_MF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDVDT_MF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDTHLDT_MF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRTDT_MF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDSVDT_MF_OUT_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) -ALLOCATE (PSIGMF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRC_MF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRI_MF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PCF_MF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PFLXZTHVMF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZFLXZTHMF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZFLXZRMF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZFLXZUMF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZFLXZVMF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTHL_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRT_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRV_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRC_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRI_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PU_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PV_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTHV_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PW_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PFRAC_UP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEMF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDETR_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZENTR_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (IKLCL_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (IKETL_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (IKCTL_OUT_B (NPROMA,1,NGPBLKS)) - - -CALL SET (PDZZF_B ) -CALL SET (PZZ_B ) -CALL SET (PRHODJ_B ) -CALL SET (PRHODREF_B ) -CALL SET (PPABSM_B ) -CALL SET (PEXNM_B ) -CALL SET (PSFTH_B ) -CALL SET (PSFRV_B ) -CALL SET (PTHM_B ) -CALL SET (PRM_B ) -CALL SET (PUM_B ) -CALL SET (PVM_B ) -CALL SET (PTKEM_B ) -CALL SET (PSVM_B ) -CALL SET (PTHL_UP_B ) -CALL SET (PRT_UP_B ) -CALL SET (PRV_UP_B ) -CALL SET (PRC_UP_B ) -CALL SET (PRI_UP_B ) -CALL SET (PU_UP_B ) -CALL SET (PV_UP_B ) -CALL SET (PTHV_UP_B ) -CALL SET (PW_UP_B ) -CALL SET (PFRAC_UP_B ) -CALL SET (PEMF_B ) - -CALL SET (PDUDT_MF_B ) -CALL SET (PDVDT_MF_B ) -CALL SET (PDTHLDT_MF_B ) -CALL SET (PDRTDT_MF_B ) -CALL SET (PDSVDT_MF_B ) -CALL SET (PSIGMF_B ) -CALL SET (PRC_MF_B ) -CALL SET (PRI_MF_B ) -CALL SET (PCF_MF_B ) -CALL SET (PFLXZTHVMF_B ) -CALL SET (ZFLXZTHMF_B ) -CALL SET (ZFLXZRMF_B ) -CALL SET (ZFLXZUMF_B ) -CALL SET (ZFLXZVMF_B ) -CALL SET (ZDETR_B ) -CALL SET (ZENTR_B ) -CALL SET (IKLCL_B ) -CALL SET (IKETL_B ) -CALL SET (IKCTL_B ) - -CALL SET (PDUDT_MF_OUT_B ) -CALL SET (PDVDT_MF_OUT_B ) -CALL SET (PDTHLDT_MF_OUT_B ) -CALL SET (PDRTDT_MF_OUT_B ) -CALL SET (PDSVDT_MF_OUT_B ) -CALL SET (PSIGMF_OUT_B ) -CALL SET (PRC_MF_OUT_B ) -CALL SET (PRI_MF_OUT_B ) -CALL SET (PCF_MF_OUT_B ) -CALL SET (PFLXZTHVMF_OUT_B ) -CALL SET (ZFLXZTHMF_OUT_B ) -CALL SET (ZFLXZRMF_OUT_B ) -CALL SET (ZFLXZUMF_OUT_B ) -CALL SET (ZFLXZVMF_OUT_B ) -CALL SET (PTHL_UP_OUT_B ) -CALL SET (PRT_UP_OUT_B ) -CALL SET (PRV_UP_OUT_B ) -CALL SET (PRC_UP_OUT_B ) -CALL SET (PRI_UP_OUT_B ) -CALL SET (PU_UP_OUT_B ) -CALL SET (PV_UP_OUT_B ) -CALL SET (PTHV_UP_OUT_B ) -CALL SET (PW_UP_OUT_B ) -CALL SET (PFRAC_UP_OUT_B ) -CALL SET (PEMF_OUT_B ) -CALL SET (ZDETR_OUT_B ) -CALL SET (ZENTR_OUT_B ) -CALL SET (IKLCL_OUT_B ) -CALL SET (IKETL_OUT_B ) -CALL SET (IKCTL_OUT_B ) +ALLOCATE (PDZZF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PZZ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRHODJ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRHODREF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PPABSM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEXNM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PSFTH_B (NPROMA,NGPBLKS)) +ALLOCATE (PSFRV_B (NPROMA,NGPBLKS)) +ALLOCATE (PTHM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRM_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (PUM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PVM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTKEM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PSVM_B (NPROMA,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (PTHL_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRT_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRV_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRC_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRI_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PU_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PV_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTHV_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PW_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PFRAC_UP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEMF_B (NPROMA,NFLEVG,NGPBLKS)) + +ALLOCATE (PDUDT_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDVDT_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDTHLDT_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRTDT_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDSVDT_MF_B (NPROMA,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (PSIGMF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRC_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRI_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PCF_MF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PFLXZTHVMF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZFLXZTHMF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZFLXZRMF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZFLXZUMF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZFLXZVMF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDETR_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZENTR_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (IKLCL_B (NPROMA,NGPBLKS)) +ALLOCATE (IKETL_B (NPROMA,NGPBLKS)) +ALLOCATE (IKCTL_B (NPROMA,NGPBLKS)) + +ALLOCATE (PDUDT_MF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDVDT_MF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDTHLDT_MF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRTDT_MF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDSVDT_MF_OUT_B (NPROMA,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (PSIGMF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRC_MF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRI_MF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PCF_MF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PFLXZTHVMF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZFLXZTHMF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZFLXZRMF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZFLXZUMF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZFLXZVMF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTHL_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRT_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRV_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRC_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRI_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PU_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PV_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTHV_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PW_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PFRAC_UP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEMF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDETR_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZENTR_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (IKLCL_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (IKETL_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (IKCTL_OUT_B (NPROMA,NGPBLKS)) + + +CALL SET (PDZZF_B) +CALL SET (PZZ_B) +CALL SET (PRHODJ_B) +CALL SET (PRHODREF_B) +CALL SET (PPABSM_B) +CALL SET (PEXNM_B) +CALL SET (PSFTH_B) +CALL SET (PSFRV_B) +CALL SET (PTHM_B) +CALL SET (PRM_B) +CALL SET (PUM_B) +CALL SET (PVM_B) +CALL SET (PTKEM_B) +CALL SET (PSVM_B) +CALL SET (PTHL_UP_B) +CALL SET (PRT_UP_B) +CALL SET (PRV_UP_B) +CALL SET (PRC_UP_B) +CALL SET (PRI_UP_B) +CALL SET (PU_UP_B) +CALL SET (PV_UP_B) +CALL SET (PTHV_UP_B) +CALL SET (PW_UP_B) +CALL SET (PFRAC_UP_B) +CALL SET (PEMF_B) + +CALL SET (PDUDT_MF_B) +CALL SET (PDVDT_MF_B) +CALL SET (PDTHLDT_MF_B) +CALL SET (PDRTDT_MF_B) +CALL SET (PDSVDT_MF_B) +CALL SET (PSIGMF_B) +CALL SET (PRC_MF_B) +CALL SET (PRI_MF_B) +CALL SET (PCF_MF_B) +CALL SET (PFLXZTHVMF_B) +CALL SET (ZFLXZTHMF_B) +CALL SET (ZFLXZRMF_B) +CALL SET (ZFLXZUMF_B) +CALL SET (ZFLXZVMF_B) +CALL SET (ZDETR_B) +CALL SET (ZENTR_B) +CALL SET (IKLCL_B) +CALL SET (IKETL_B) +CALL SET (IKCTL_B) + +CALL SET (PDUDT_MF_OUT_B) +CALL SET (PDVDT_MF_OUT_B) +CALL SET (PDTHLDT_MF_OUT_B) +CALL SET (PDRTDT_MF_OUT_B) +CALL SET (PDSVDT_MF_OUT_B) +CALL SET (PSIGMF_OUT_B) +CALL SET (PRC_MF_OUT_B) +CALL SET (PRI_MF_OUT_B) +CALL SET (PCF_MF_OUT_B) +CALL SET (PFLXZTHVMF_OUT_B) +CALL SET (ZFLXZTHMF_OUT_B) +CALL SET (ZFLXZRMF_OUT_B) +CALL SET (ZFLXZUMF_OUT_B) +CALL SET (ZFLXZVMF_OUT_B) +CALL SET (PTHL_UP_OUT_B) +CALL SET (PRT_UP_OUT_B) +CALL SET (PRV_UP_OUT_B) +CALL SET (PRC_UP_OUT_B) +CALL SET (PRI_UP_OUT_B) +CALL SET (PU_UP_OUT_B) +CALL SET (PV_UP_OUT_B) +CALL SET (PTHV_UP_OUT_B) +CALL SET (PW_UP_OUT_B) +CALL SET (PFRAC_UP_OUT_B) +CALL SET (PEMF_OUT_B) +CALL SET (ZDETR_OUT_B) +CALL SET (ZENTR_OUT_B) +CALL SET (IKLCL_OUT_B) +CALL SET (IKETL_OUT_B) +CALL SET (IKCTL_OUT_B) IOFF = 0 IBL = 0 @@ -380,125 +380,125 @@ DO WHILE(LLEXIST) READ (IFILE) KLON, KLEV IF (IBL == 1) THEN - ALLOCATE (PDZZF (NGPTOT,1,KLEV,1)) - ALLOCATE (PZZ (NGPTOT,1,KLEV,1)) - ALLOCATE (PRHODJ (NGPTOT,1,KLEV,1)) - ALLOCATE (PRHODREF (NGPTOT,1,KLEV,1)) - ALLOCATE (PPABSM (NGPTOT,1,KLEV,1)) - ALLOCATE (PEXNM (NGPTOT,1,KLEV,1)) - ALLOCATE (PSFTH (NGPTOT,1,1)) - ALLOCATE (PSFRV (NGPTOT,1,1)) - ALLOCATE (PTHM (NGPTOT,1,KLEV,1)) - ALLOCATE (PRM (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (PUM (NGPTOT,1,KLEV,1)) - ALLOCATE (PVM (NGPTOT,1,KLEV,1)) - ALLOCATE (PTKEM (NGPTOT,1,KLEV,1)) - ALLOCATE (PSVM (NGPTOT,1,KLEV,KSV,1)) - ALLOCATE (PTHL_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PRT_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PRV_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PRC_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PRI_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PU_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PV_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PTHV_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PW_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PFRAC_UP (NGPTOT,1,KLEV,1)) - ALLOCATE (PEMF (NGPTOT,1,KLEV,1)) - - ALLOCATE (PDUDT_MF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PDVDT_MF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PDTHLDT_MF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PDRTDT_MF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PDSVDT_MF_OUT (NGPTOT,1,KLEV,KSV,1)) - ALLOCATE (PSIGMF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRC_MF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRI_MF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PCF_MF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PFLXZTHVMF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZFLXZTHMF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZFLXZRMF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZFLXZUMF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZFLXZVMF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PTHL_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRT_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRV_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRC_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRI_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PU_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PV_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PTHV_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PW_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PFRAC_UP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PEMF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZDETR_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZENTR_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (IKLCL_OUT (NGPTOT,1,1)) - ALLOCATE (IKETL_OUT (NGPTOT,1,1)) - ALLOCATE (IKCTL_OUT (NGPTOT,1,1)) + ALLOCATE (PDZZF (NGPTOT,KLEV,1)) + ALLOCATE (PZZ (NGPTOT,KLEV,1)) + ALLOCATE (PRHODJ (NGPTOT,KLEV,1)) + ALLOCATE (PRHODREF (NGPTOT,KLEV,1)) + ALLOCATE (PPABSM (NGPTOT,KLEV,1)) + ALLOCATE (PEXNM (NGPTOT,KLEV,1)) + ALLOCATE (PSFTH (NGPTOT,1)) + ALLOCATE (PSFRV (NGPTOT,1)) + ALLOCATE (PTHM (NGPTOT,KLEV,1)) + ALLOCATE (PRM (NGPTOT,KLEV,KRR,1)) + ALLOCATE (PUM (NGPTOT,KLEV,1)) + ALLOCATE (PVM (NGPTOT,KLEV,1)) + ALLOCATE (PTKEM (NGPTOT,KLEV,1)) + ALLOCATE (PSVM (NGPTOT,KLEV,KSV,1)) + ALLOCATE (PTHL_UP (NGPTOT,KLEV,1)) + ALLOCATE (PRT_UP (NGPTOT,KLEV,1)) + ALLOCATE (PRV_UP (NGPTOT,KLEV,1)) + ALLOCATE (PRC_UP (NGPTOT,KLEV,1)) + ALLOCATE (PRI_UP (NGPTOT,KLEV,1)) + ALLOCATE (PU_UP (NGPTOT,KLEV,1)) + ALLOCATE (PV_UP (NGPTOT,KLEV,1)) + ALLOCATE (PTHV_UP (NGPTOT,KLEV,1)) + ALLOCATE (PW_UP (NGPTOT,KLEV,1)) + ALLOCATE (PFRAC_UP (NGPTOT,KLEV,1)) + ALLOCATE (PEMF (NGPTOT,KLEV,1)) + + ALLOCATE (PDUDT_MF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PDVDT_MF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PDTHLDT_MF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PDRTDT_MF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PDSVDT_MF_OUT (NGPTOT,KLEV,KSV,1)) + ALLOCATE (PSIGMF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRC_MF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRI_MF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PCF_MF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PFLXZTHVMF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZFLXZTHMF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZFLXZRMF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZFLXZUMF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZFLXZVMF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PTHL_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRT_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRV_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRC_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRI_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PU_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PV_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PTHV_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PW_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PFRAC_UP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PEMF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZDETR_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZENTR_OUT (NGPTOT,KLEV,1)) + ALLOCATE (IKLCL_OUT (NGPTOT,1)) + ALLOCATE (IKETL_OUT (NGPTOT,1)) + ALLOCATE (IKCTL_OUT (NGPTOT,1)) ENDIF IF (IOFF+KLON > NGPTOT) THEN EXIT ENDIF - READ(IFILE) PDZZF (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PZZ (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRHODJ (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRHODREF (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PPABSM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PEXNM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PSFTH (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) PSFRV (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) PTHM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRM (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PUM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PVM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTKEM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PSVM (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PTHL_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRT_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRV_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRC_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRI_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PU_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PV_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTHV_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PW_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PFRAC_UP (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PEMF (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PDZZF (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PZZ (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRHODJ (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRHODREF (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PPABSM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PEXNM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PSFTH (IOFF+1:IOFF+KLON,1) + READ(IFILE) PSFRV (IOFF+1:IOFF+KLON,1) + READ(IFILE) PTHM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRM (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PUM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PVM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTKEM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PSVM (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PTHL_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRT_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRV_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRC_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRI_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PU_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PV_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTHV_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PW_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PFRAC_UP (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PEMF (IOFF+1:IOFF+KLON,:,1) READ(IFILE) - READ(IFILE) PDUDT_MF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PDVDT_MF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PDTHLDT_MF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PDRTDT_MF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PDSVDT_MF_OUT (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PSIGMF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRC_MF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRI_MF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PCF_MF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PFLXZTHVMF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZFLXZTHMF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZFLXZRMF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZFLXZUMF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZFLXZVMF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTHL_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRT_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRV_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRC_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRI_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PU_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PV_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTHV_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PW_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PFRAC_UP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PEMF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZDETR_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZENTR_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) IKLCL_OUT (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) IKETL_OUT (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) IKCTL_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDUDT_MF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDVDT_MF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDTHLDT_MF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDRTDT_MF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDSVDT_MF_OUT (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PSIGMF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRC_MF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRI_MF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PCF_MF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PFLXZTHVMF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZFLXZTHMF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZFLXZRMF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZFLXZUMF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZFLXZVMF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTHL_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRT_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRV_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRC_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRI_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PU_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PV_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTHV_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PW_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PFRAC_UP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PEMF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZDETR_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZENTR_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) IKLCL_OUT (IOFF+1:IOFF+KLON,1) + READ(IFILE) IKETL_OUT (IOFF+1:IOFF+KLON,1) + READ(IFILE) IKCTL_OUT (IOFF+1:IOFF+KLON,1) CLOSE (IFILE) @@ -507,178 +507,178 @@ DO WHILE(LLEXIST) ENDDO IF (NFLEVG /= KLEV) THEN - CALL INTERPOLATE (NFLEVG, IOFF, PDZZF ) - CALL INTERPOLATE (NFLEVG, IOFF, PZZ ) - CALL INTERPOLATE (NFLEVG, IOFF, PRHODJ ) - CALL INTERPOLATE (NFLEVG, IOFF, PRHODREF ) - CALL INTERPOLATE (NFLEVG, IOFF, PPABSM ) - CALL INTERPOLATE (NFLEVG, IOFF, PEXNM ) -! CALL INTERPOLATE (NFLEVG, IOFF, PSFTH_B ) -! CALL INTERPOLATE (NFLEVG, IOFF, PSFRV_B ) - CALL INTERPOLATE (NFLEVG, IOFF, PTHM ) - CALL INTERPOLATE (NFLEVG, IOFF, PRM ) - CALL INTERPOLATE (NFLEVG, IOFF, PUM ) - CALL INTERPOLATE (NFLEVG, IOFF, PVM ) - CALL INTERPOLATE (NFLEVG, IOFF, PTKEM ) - CALL INTERPOLATE (NFLEVG, IOFF, PSVM ) - CALL INTERPOLATE (NFLEVG, IOFF, PTHL_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PRT_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PRV_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PRC_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PRI_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PU_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PV_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PTHV_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PW_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PFRAC_UP ) - CALL INTERPOLATE (NFLEVG, IOFF, PEMF ) - - CALL INTERPOLATE (NFLEVG, IOFF, PDUDT_MF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PDVDT_MF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PDTHLDT_MF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PDRTDT_MF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PDSVDT_MF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PSIGMF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PRC_MF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PRI_MF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PCF_MF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PFLXZTHVMF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, ZFLXZTHMF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, ZFLXZRMF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, ZFLXZUMF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, ZFLXZVMF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PTHL_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PRT_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PRV_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PRC_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PRI_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PU_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PV_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PTHV_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PW_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PFRAC_UP_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, PEMF_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, ZDETR_OUT ) - CALL INTERPOLATE (NFLEVG, IOFF, ZENTR_OUT ) - !CALL INTERPOLATE (NFLEVG, IOFF, IKLCL_OUT ) - !CALL INTERPOLATE (NFLEVG, IOFF, IKETL_OUT ) - !CALL INTERPOLATE (NFLEVG, IOFF, IKCTL_OUT ) + CALL INTERPOLATE (NFLEVG, IOFF, PDZZF) + CALL INTERPOLATE (NFLEVG, IOFF, PZZ) + CALL INTERPOLATE (NFLEVG, IOFF, PRHODJ) + CALL INTERPOLATE (NFLEVG, IOFF, PRHODREF) + CALL INTERPOLATE (NFLEVG, IOFF, PPABSM) + CALL INTERPOLATE (NFLEVG, IOFF, PEXNM) +! CALL INTERPOLATE (NFLEVG, IOFF, PSFTH_B) +! CALL INTERPOLATE (NFLEVG, IOFF, PSFRV_B) + CALL INTERPOLATE (NFLEVG, IOFF, PTHM) + CALL INTERPOLATE (NFLEVG, IOFF, PRM) + CALL INTERPOLATE (NFLEVG, IOFF, PUM) + CALL INTERPOLATE (NFLEVG, IOFF, PVM) + CALL INTERPOLATE (NFLEVG, IOFF, PTKEM) + CALL INTERPOLATE (NFLEVG, IOFF, PSVM) + CALL INTERPOLATE (NFLEVG, IOFF, PTHL_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PRT_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PRV_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PRC_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PRI_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PU_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PV_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PTHV_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PW_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PFRAC_UP) + CALL INTERPOLATE (NFLEVG, IOFF, PEMF) + + CALL INTERPOLATE (NFLEVG, IOFF, PDUDT_MF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PDVDT_MF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PDTHLDT_MF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PDRTDT_MF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PDSVDT_MF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PSIGMF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PRC_MF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PRI_MF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PCF_MF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PFLXZTHVMF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, ZFLXZTHMF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, ZFLXZRMF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, ZFLXZUMF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, ZFLXZVMF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PTHL_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PRT_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PRV_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PRC_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PRI_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PU_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PV_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PTHV_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PW_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PFRAC_UP_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, PEMF_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, ZDETR_OUT) + CALL INTERPOLATE (NFLEVG, IOFF, ZENTR_OUT) + !CALL INTERPOLATE (NFLEVG, IOFF, IKLCL_OUT) + !CALL INTERPOLATE (NFLEVG, IOFF, IKETL_OUT) + !CALL INTERPOLATE (NFLEVG, IOFF, IKCTL_OUT) ENDIF -CALL REPLICATE (IOFF, PDZZF (:,:,:,1)) -CALL REPLICATE (IOFF, PZZ (:,:,:,1)) -CALL REPLICATE (IOFF, PRHODJ (:,:,:,1)) -CALL REPLICATE (IOFF, PRHODREF (:,:,:,1)) -CALL REPLICATE (IOFF, PPABSM (:,:,:,1)) -CALL REPLICATE (IOFF, PEXNM (:,:,:,1)) -CALL REPLICATE (IOFF, PSFTH (:,:,1)) -CALL REPLICATE (IOFF, PSFRV (:,:,1)) -CALL REPLICATE (IOFF, PTHM (:,:,:,1)) -CALL REPLICATE (IOFF, PRM (:,:,:,:,1)) -CALL REPLICATE (IOFF, PUM (:,:,:,1)) -CALL REPLICATE (IOFF, PVM (:,:,:,1)) -CALL REPLICATE (IOFF, PTKEM (:,:,:,1)) -CALL REPLICATE (IOFF, PSVM (:,:,:,:,1)) -CALL REPLICATE (IOFF, PTHL_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PRT_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PRV_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PRC_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PRI_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PU_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PV_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PTHV_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PW_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PFRAC_UP (:,:,:,1)) -CALL REPLICATE (IOFF, PEMF (:,:,:,1)) - -CALL REPLICATE (IOFF, PDUDT_MF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PDVDT_MF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PDTHLDT_MF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PDRTDT_MF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PDSVDT_MF_OUT (:,:,:,:,1)) -CALL REPLICATE (IOFF, PSIGMF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRC_MF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRI_MF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PCF_MF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PFLXZTHVMF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZFLXZTHMF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZFLXZRMF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZFLXZUMF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZFLXZVMF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PTHL_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRT_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRV_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRC_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRI_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PU_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PV_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PTHV_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PW_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PFRAC_UP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PEMF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZDETR_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZENTR_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, IKLCL_OUT (:,:,1)) -CALL REPLICATE (IOFF, IKETL_OUT (:,:,1)) -CALL REPLICATE (IOFF, IKCTL_OUT (:,:,1)) - -CALL NPROMIZE (NPROMA, PDZZF , PDZZF_B ) -CALL NPROMIZE (NPROMA, PZZ , PZZ_B ) -CALL NPROMIZE (NPROMA, PRHODJ , PRHODJ_B ) -CALL NPROMIZE (NPROMA, PRHODREF , PRHODREF_B ) -CALL NPROMIZE (NPROMA, PPABSM , PPABSM_B ) -CALL NPROMIZE (NPROMA, PEXNM , PEXNM_B ) -CALL NPROMIZE (NPROMA, PSFTH , PSFTH_B ) -CALL NPROMIZE (NPROMA, PSFRV , PSFRV_B ) -CALL NPROMIZE (NPROMA, PTHM , PTHM_B ) -CALL NPROMIZE (NPROMA, PRM , PRM_B ) -CALL NPROMIZE (NPROMA, PUM , PUM_B ) -CALL NPROMIZE (NPROMA, PVM , PVM_B ) -CALL NPROMIZE (NPROMA, PTKEM , PTKEM_B ) -CALL NPROMIZE (NPROMA, PSVM , PSVM_B ) -CALL NPROMIZE (NPROMA, PTHL_UP , PTHL_UP_B ) -CALL NPROMIZE (NPROMA, PRT_UP , PRT_UP_B ) -CALL NPROMIZE (NPROMA, PRV_UP , PRV_UP_B ) -CALL NPROMIZE (NPROMA, PRC_UP , PRC_UP_B ) -CALL NPROMIZE (NPROMA, PRI_UP , PRI_UP_B ) -CALL NPROMIZE (NPROMA, PU_UP , PU_UP_B ) -CALL NPROMIZE (NPROMA, PV_UP , PV_UP_B ) -CALL NPROMIZE (NPROMA, PTHV_UP , PTHV_UP_B ) -CALL NPROMIZE (NPROMA, PW_UP , PW_UP_B ) -CALL NPROMIZE (NPROMA, PFRAC_UP , PFRAC_UP_B ) -CALL NPROMIZE (NPROMA, PEMF , PEMF_B ) - -CALL NPROMIZE (NPROMA, PDUDT_MF_OUT , PDUDT_MF_OUT_B ) -CALL NPROMIZE (NPROMA, PDVDT_MF_OUT , PDVDT_MF_OUT_B ) -CALL NPROMIZE (NPROMA, PDTHLDT_MF_OUT , PDTHLDT_MF_OUT_B ) -CALL NPROMIZE (NPROMA, PDRTDT_MF_OUT , PDRTDT_MF_OUT_B ) -CALL NPROMIZE (NPROMA, PDSVDT_MF_OUT , PDSVDT_MF_OUT_B ) -CALL NPROMIZE (NPROMA, PSIGMF_OUT , PSIGMF_OUT_B ) -CALL NPROMIZE (NPROMA, PRC_MF_OUT , PRC_MF_OUT_B ) -CALL NPROMIZE (NPROMA, PRI_MF_OUT , PRI_MF_OUT_B ) -CALL NPROMIZE (NPROMA, PCF_MF_OUT , PCF_MF_OUT_B ) -CALL NPROMIZE (NPROMA, PFLXZTHVMF_OUT , PFLXZTHVMF_OUT_B ) -CALL NPROMIZE (NPROMA, ZFLXZTHMF_OUT , ZFLXZTHMF_OUT_B ) -CALL NPROMIZE (NPROMA, ZFLXZRMF_OUT , ZFLXZRMF_OUT_B ) -CALL NPROMIZE (NPROMA, ZFLXZUMF_OUT , ZFLXZUMF_OUT_B ) -CALL NPROMIZE (NPROMA, ZFLXZVMF_OUT , ZFLXZVMF_OUT_B ) -CALL NPROMIZE (NPROMA, PTHL_UP_OUT , PTHL_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PRT_UP_OUT , PRT_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PRV_UP_OUT , PRV_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PRC_UP_OUT , PRC_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PRI_UP_OUT , PRI_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PU_UP_OUT , PU_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PV_UP_OUT , PV_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PTHV_UP_OUT , PTHV_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PW_UP_OUT , PW_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PFRAC_UP_OUT , PFRAC_UP_OUT_B ) -CALL NPROMIZE (NPROMA, PEMF_OUT , PEMF_OUT_B ) -CALL NPROMIZE (NPROMA, ZDETR_OUT , ZDETR_OUT_B ) -CALL NPROMIZE (NPROMA, ZENTR_OUT , ZENTR_OUT_B ) -CALL NPROMIZE (NPROMA, IKLCL_OUT , IKLCL_OUT_B ) -CALL NPROMIZE (NPROMA, IKETL_OUT , IKETL_OUT_B ) -CALL NPROMIZE (NPROMA, IKCTL_OUT , IKCTL_OUT_B ) +CALL REPLICATE (IOFF, PDZZF (:,:,1)) +CALL REPLICATE (IOFF, PZZ (:,:,1)) +CALL REPLICATE (IOFF, PRHODJ (:,:,1)) +CALL REPLICATE (IOFF, PRHODREF (:,:,1)) +CALL REPLICATE (IOFF, PPABSM (:,:,1)) +CALL REPLICATE (IOFF, PEXNM (:,:,1)) +CALL REPLICATE (IOFF, PSFTH (:,1)) +CALL REPLICATE (IOFF, PSFRV (:,1)) +CALL REPLICATE (IOFF, PTHM (:,:,1)) +CALL REPLICATE (IOFF, PRM (:,:,:,1)) +CALL REPLICATE (IOFF, PUM (:,:,1)) +CALL REPLICATE (IOFF, PVM (:,:,1)) +CALL REPLICATE (IOFF, PTKEM (:,:,1)) +CALL REPLICATE (IOFF, PSVM (:,:,:,1)) +CALL REPLICATE (IOFF, PTHL_UP (:,:,1)) +CALL REPLICATE (IOFF, PRT_UP (:,:,1)) +CALL REPLICATE (IOFF, PRV_UP (:,:,1)) +CALL REPLICATE (IOFF, PRC_UP (:,:,1)) +CALL REPLICATE (IOFF, PRI_UP (:,:,1)) +CALL REPLICATE (IOFF, PU_UP (:,:,1)) +CALL REPLICATE (IOFF, PV_UP (:,:,1)) +CALL REPLICATE (IOFF, PTHV_UP (:,:,1)) +CALL REPLICATE (IOFF, PW_UP (:,:,1)) +CALL REPLICATE (IOFF, PFRAC_UP (:,:,1)) +CALL REPLICATE (IOFF, PEMF (:,:,1)) + +CALL REPLICATE (IOFF, PDUDT_MF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PDVDT_MF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PDTHLDT_MF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PDRTDT_MF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PDSVDT_MF_OUT (:,:,:,1)) +CALL REPLICATE (IOFF, PSIGMF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRC_MF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRI_MF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PCF_MF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PFLXZTHVMF_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZFLXZTHMF_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZFLXZRMF_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZFLXZUMF_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZFLXZVMF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PTHL_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRT_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRV_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRC_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRI_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PU_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PV_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PTHV_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PW_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PFRAC_UP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PEMF_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZDETR_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZENTR_OUT (:,:,1)) +CALL REPLICATE (IOFF, IKLCL_OUT (:,1)) +CALL REPLICATE (IOFF, IKETL_OUT (:,1)) +CALL REPLICATE (IOFF, IKCTL_OUT (:,1)) + +CALL NPROMIZE (NPROMA, PDZZF , PDZZF_B) +CALL NPROMIZE (NPROMA, PZZ , PZZ_B) +CALL NPROMIZE (NPROMA, PRHODJ , PRHODJ_B) +CALL NPROMIZE (NPROMA, PRHODREF , PRHODREF_B) +CALL NPROMIZE (NPROMA, PPABSM , PPABSM_B) +CALL NPROMIZE (NPROMA, PEXNM , PEXNM_B) +CALL NPROMIZE (NPROMA, PSFTH , PSFTH_B) +CALL NPROMIZE (NPROMA, PSFRV , PSFRV_B) +CALL NPROMIZE (NPROMA, PTHM , PTHM_B) +CALL NPROMIZE (NPROMA, PRM , PRM_B) +CALL NPROMIZE (NPROMA, PUM , PUM_B) +CALL NPROMIZE (NPROMA, PVM , PVM_B) +CALL NPROMIZE (NPROMA, PTKEM , PTKEM_B) +CALL NPROMIZE (NPROMA, PSVM , PSVM_B) +CALL NPROMIZE (NPROMA, PTHL_UP , PTHL_UP_B) +CALL NPROMIZE (NPROMA, PRT_UP , PRT_UP_B) +CALL NPROMIZE (NPROMA, PRV_UP , PRV_UP_B) +CALL NPROMIZE (NPROMA, PRC_UP , PRC_UP_B) +CALL NPROMIZE (NPROMA, PRI_UP , PRI_UP_B) +CALL NPROMIZE (NPROMA, PU_UP , PU_UP_B) +CALL NPROMIZE (NPROMA, PV_UP , PV_UP_B) +CALL NPROMIZE (NPROMA, PTHV_UP , PTHV_UP_B) +CALL NPROMIZE (NPROMA, PW_UP , PW_UP_B) +CALL NPROMIZE (NPROMA, PFRAC_UP , PFRAC_UP_B) +CALL NPROMIZE (NPROMA, PEMF , PEMF_B) + +CALL NPROMIZE (NPROMA, PDUDT_MF_OUT , PDUDT_MF_OUT_B) +CALL NPROMIZE (NPROMA, PDVDT_MF_OUT , PDVDT_MF_OUT_B) +CALL NPROMIZE (NPROMA, PDTHLDT_MF_OUT , PDTHLDT_MF_OUT_B) +CALL NPROMIZE (NPROMA, PDRTDT_MF_OUT , PDRTDT_MF_OUT_B) +CALL NPROMIZE (NPROMA, PDSVDT_MF_OUT , PDSVDT_MF_OUT_B) +CALL NPROMIZE (NPROMA, PSIGMF_OUT , PSIGMF_OUT_B) +CALL NPROMIZE (NPROMA, PRC_MF_OUT , PRC_MF_OUT_B) +CALL NPROMIZE (NPROMA, PRI_MF_OUT , PRI_MF_OUT_B) +CALL NPROMIZE (NPROMA, PCF_MF_OUT , PCF_MF_OUT_B) +CALL NPROMIZE (NPROMA, PFLXZTHVMF_OUT , PFLXZTHVMF_OUT_B) +CALL NPROMIZE (NPROMA, ZFLXZTHMF_OUT , ZFLXZTHMF_OUT_B) +CALL NPROMIZE (NPROMA, ZFLXZRMF_OUT , ZFLXZRMF_OUT_B) +CALL NPROMIZE (NPROMA, ZFLXZUMF_OUT , ZFLXZUMF_OUT_B) +CALL NPROMIZE (NPROMA, ZFLXZVMF_OUT , ZFLXZVMF_OUT_B) +CALL NPROMIZE (NPROMA, PTHL_UP_OUT , PTHL_UP_OUT_B) +CALL NPROMIZE (NPROMA, PRT_UP_OUT , PRT_UP_OUT_B) +CALL NPROMIZE (NPROMA, PRV_UP_OUT , PRV_UP_OUT_B) +CALL NPROMIZE (NPROMA, PRC_UP_OUT , PRC_UP_OUT_B) +CALL NPROMIZE (NPROMA, PRI_UP_OUT , PRI_UP_OUT_B) +CALL NPROMIZE (NPROMA, PU_UP_OUT , PU_UP_OUT_B) +CALL NPROMIZE (NPROMA, PV_UP_OUT , PV_UP_OUT_B) +CALL NPROMIZE (NPROMA, PTHV_UP_OUT , PTHV_UP_OUT_B) +CALL NPROMIZE (NPROMA, PW_UP_OUT , PW_UP_OUT_B) +CALL NPROMIZE (NPROMA, PFRAC_UP_OUT , PFRAC_UP_OUT_B) +CALL NPROMIZE (NPROMA, PEMF_OUT , PEMF_OUT_B) +CALL NPROMIZE (NPROMA, ZDETR_OUT , ZDETR_OUT_B) +CALL NPROMIZE (NPROMA, ZENTR_OUT , ZENTR_OUT_B) +CALL NPROMIZE (NPROMA, IKLCL_OUT , IKLCL_OUT_B) +CALL NPROMIZE (NPROMA, IKETL_OUT , IKETL_OUT_B) +CALL NPROMIZE (NPROMA, IKCTL_OUT , IKCTL_OUT_B) END SUBROUTINE diff --git a/src/testprogs/shallow/main_shallow.F90 b/src/testprogs/shallow/main_shallow.F90 index 29826ea4a5f3db52e1ad8b96b00aaa057a8dda1d..05281a7a0f05828e6bd0494f753b2edb64d134da 100644 --- a/src/testprogs/shallow/main_shallow.F90 +++ b/src/testprogs/shallow/main_shallow.F90 @@ -17,85 +17,85 @@ INTEGER :: KRR, KRRL, KRRI INTEGER :: KSV !IN and INOUTS -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, 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 (:,:,:) !OUT -REAL, ALLOCATABLE :: PDUDT_MF (:,:,:,:) -REAL, ALLOCATABLE :: PDVDT_MF (:,:,:,:) -REAL, ALLOCATABLE :: PDTHLDT_MF (:,:,:,:) -REAL, ALLOCATABLE :: PDRTDT_MF (:,:,:,:) -REAL, ALLOCATABLE :: PDSVDT_MF (:,:,:,:,:) !(KLON,1,KLEV,KSV) -REAL, ALLOCATABLE :: PSIGMF (:,:,:,:) -REAL, ALLOCATABLE :: PRC_MF (:,:,:,:) -REAL, ALLOCATABLE :: PRI_MF (:,:,:,:) -REAL, ALLOCATABLE :: PCF_MF (:,:,:,:) -REAL, ALLOCATABLE :: PFLXZTHVMF (:,:,:,:) -REAL, ALLOCATABLE :: ZFLXZTHMF (:,:,:,:) -REAL, ALLOCATABLE :: ZFLXZRMF (:,:,:,:) -REAL, ALLOCATABLE :: ZFLXZUMF (:,:,:,:) -REAL, ALLOCATABLE :: ZFLXZVMF (:,:,:,:) -REAL, ALLOCATABLE :: ZDETR (:,:,:,:) -REAL, ALLOCATABLE :: ZENTR (:,:,:,:) -INTEGER, ALLOCATABLE:: IKLCL (:,:,:) -INTEGER, ALLOCATABLE:: IKETL (:,:,:) -INTEGER, ALLOCATABLE:: IKCTL (:,:,:) +REAL, ALLOCATABLE :: PDUDT_MF (:,:,:) +REAL, ALLOCATABLE :: PDVDT_MF (:,:,:) +REAL, ALLOCATABLE :: PDTHLDT_MF (:,:,:) +REAL, ALLOCATABLE :: PDRTDT_MF (:,:,:) +REAL, ALLOCATABLE :: PDSVDT_MF (:,:,:,:) !(KLON,1,KLEV,KSV) +REAL, ALLOCATABLE :: PSIGMF (:,:,:) +REAL, ALLOCATABLE :: PRC_MF (:,:,:) +REAL, ALLOCATABLE :: PRI_MF (:,:,:) +REAL, ALLOCATABLE :: PCF_MF (:,:,:) +REAL, ALLOCATABLE :: PFLXZTHVMF (:,:,:) +REAL, ALLOCATABLE :: ZFLXZTHMF (:,:,:) +REAL, ALLOCATABLE :: ZFLXZRMF (:,:,:) +REAL, ALLOCATABLE :: ZFLXZUMF (:,:,:) +REAL, ALLOCATABLE :: ZFLXZVMF (:,:,:) +REAL, ALLOCATABLE :: ZDETR (:,:,:) +REAL, ALLOCATABLE :: ZENTR (:,:,:) +INTEGER, ALLOCATABLE:: IKLCL (:,:) +INTEGER, ALLOCATABLE:: IKETL (:,:) +INTEGER, ALLOCATABLE:: IKCTL (:,:) !Expected values -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 (:,:,:,:) -INTEGER, ALLOCATABLE:: IKLCL_OUT (:,:,:) -INTEGER, ALLOCATABLE:: IKETL_OUT (:,:,:) -INTEGER, ALLOCATABLE:: IKCTL_OUT (:,:,:) +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 (:,:,:) +INTEGER, ALLOCATABLE:: IKLCL_OUT (:,:) +INTEGER, ALLOCATABLE:: IKETL_OUT (:,:) +INTEGER, ALLOCATABLE:: IKCTL_OUT (:,:) INTEGER :: NPROMA, NGPBLKS, NFLEVG INTEGER :: IBL, JLON, JLEV @@ -278,22 +278,22 @@ JBLK2 = (NGPBLKS * (ITID+1)) / NTID &KRR=PHYEX%MISC%KRR, KRRL=PHYEX%MISC%KRRL, KRRI=PHYEX%MISC%KRRI, KSV=PHYEX%MISC%KSV, & &ONOMIXLG=PHYEX%MISC%ONOMIXLG,KSV_LGBEG=PHYEX%MISC%KSV_LGBEG,KSV_LGEND=PHYEX%MISC%KSV_LGEND, & &PTSTEP=PHYEX%MISC%PTSTEP, & - &PDZZ=PDZZF(:,:,:,IBL),PZZ=PZZ(:,:,:,IBL), & - &PRHODJ=PRHODJ(:,:,:,IBL),PRHODREF=PRHODREF(:,:,:,IBL), & - &PPABSM=PPABSM(:,:,:,IBL),PEXNM=PEXNM(:,:,:,IBL), & - &PSFTH=PSFTH(:,:,IBL),PSFRV=PSFRV(:,:,IBL), & - &PTHM=PTHM(:,:,:,IBL),PRM=PRM(:,:,:,:,IBL),PUM=PUM(:,:,:,IBL),PVM=PVM(:,:,:,IBL),& - &PTKEM=PTKEM(:,:,:,IBL),PSVM=PSVM(:,:,:,:,IBL), & - &PDUDT_MF=PDUDT_MF(:,:,:,IBL),PDVDT_MF=PDVDT_MF(:,:,:,IBL), & - &PDTHLDT_MF=PDTHLDT_MF(:,:,:,IBL),PDRTDT_MF=PDRTDT_MF(:,:,:,IBL),PDSVDT_MF=PDSVDT_MF(:,:,:,:,IBL), & - &PSIGMF=PSIGMF(:,:,:,IBL),PRC_MF=PRC_MF(:,:,:,IBL),PRI_MF=PRI_MF(:,:,:,IBL),PCF_MF=PCF_MF(:,:,:,IBL),& - &PFLXZTHVMF=PFLXZTHVMF(:,:,:,IBL), & - &PFLXZTHMF=ZFLXZTHMF(:,:,:,IBL),PFLXZRMF=ZFLXZRMF(:,:,:,IBL),PFLXZUMF=ZFLXZUMF(:,:,:,IBL),PFLXZVMF=ZFLXZVMF(:,:,:,IBL), & - &PTHL_UP=PTHL_UP(:,:,:,IBL),PRT_UP=PRT_UP(:,:,:,IBL),PRV_UP=PRV_UP(:,:,:,IBL),& - &PRC_UP=PRC_UP(:,:,:,IBL),PRI_UP=PRI_UP(:,:,:,IBL), & - &PU_UP=PU_UP(:,:,:,IBL), PV_UP=PV_UP(:,:,:,IBL), PTHV_UP=PTHV_UP(:,:,:,IBL), PW_UP=PW_UP(:,:,:,IBL), & - &PFRAC_UP=PFRAC_UP(:,:,:,IBL),PEMF=PEMF(:,:,:,IBL),PDETR=ZDETR(:,:,:,IBL),PENTR=ZENTR(:,:,:,IBL), & - &KKLCL=IKLCL(:,:,IBL),KKETL=IKETL(:,:,IBL),KKCTL=IKCTL(:,:,IBL),PDX=PHYEX%MISC%PDX,PDY=PHYEX%MISC%PDY,KBUDGETS=PHYEX%MISC%NBUDGET ) + &PDZZ=PDZZF(:,:,IBL),PZZ=PZZ(:,:,IBL), & + &PRHODJ=PRHODJ(:,:,IBL),PRHODREF=PRHODREF(:,:,IBL), & + &PPABSM=PPABSM(:,:,IBL),PEXNM=PEXNM(:,:,IBL), & + &PSFTH=PSFTH(:,IBL),PSFRV=PSFRV(:,IBL), & + &PTHM=PTHM(:,:,IBL),PRM=PRM(:,:,:,IBL),PUM=PUM(:,:,IBL),PVM=PVM(:,:,IBL),& + &PTKEM=PTKEM(:,:,IBL),PSVM=PSVM(:,:,:,IBL), & + &PDUDT_MF=PDUDT_MF(:,:,IBL),PDVDT_MF=PDVDT_MF(:,:,IBL), & + &PDTHLDT_MF=PDTHLDT_MF(:,:,IBL),PDRTDT_MF=PDRTDT_MF(:,:,IBL),PDSVDT_MF=PDSVDT_MF(:,:,:,IBL), & + &PSIGMF=PSIGMF(:,:,IBL),PRC_MF=PRC_MF(:,:,IBL),PRI_MF=PRI_MF(:,:,IBL),PCF_MF=PCF_MF(:,:,IBL),& + &PFLXZTHVMF=PFLXZTHVMF(:,:,IBL), & + &PFLXZTHMF=ZFLXZTHMF(:,:,IBL),PFLXZRMF=ZFLXZRMF(:,:,IBL),PFLXZUMF=ZFLXZUMF(:,:,IBL),PFLXZVMF=ZFLXZVMF(:,:,IBL), & + &PTHL_UP=PTHL_UP(:,:,IBL),PRT_UP=PRT_UP(:,:,IBL),PRV_UP=PRV_UP(:,:,IBL),& + &PRC_UP=PRC_UP(:,:,IBL),PRI_UP=PRI_UP(:,:,IBL), & + &PU_UP=PU_UP(:,:,IBL), PV_UP=PV_UP(:,:,IBL), PTHV_UP=PTHV_UP(:,:,IBL), PW_UP=PW_UP(:,:,IBL), & + &PFRAC_UP=PFRAC_UP(:,:,IBL),PEMF=PEMF(:,:,IBL),PDETR=ZDETR(:,:,IBL),PENTR=ZENTR(:,:,IBL), & + &KKLCL=IKLCL(:,IBL),KKETL=IKETL(:,IBL),KKCTL=IKCTL(:,IBL),PDX=PHYEX%MISC%PDX,PDY=PHYEX%MISC%PDY,KBUDGETS=PHYEX%MISC%NBUDGET ) #ifdef _OPENACC ENDDO @@ -331,35 +331,35 @@ PRINT *, " ZTC = ", ZTC, ZTC / REAL (NPROMA*NGPBLKS*NTIME) IF (LLCHECK .OR. LLSTAT .OR. LLCHECKDIFF) THEN DO IBL = IBLOCK1, IBLOCK2 PRINT *, " IBL = ", IBL - CALL DIFF ("PDUDT_MF ", PDUDT_MF_OUT (:,:,:,IBL), PDUDT_MF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PDVDT_MF ", PDVDT_MF_OUT (:,:,:,IBL), PDVDT_MF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PDTHLDT_MF ", PDTHLDT_MF_OUT (:,:,:,IBL), PDTHLDT_MF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PDRTDT_MF ", PDRTDT_MF_OUT (:,:,:,IBL), PDRTDT_MF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PSIGMF ", PSIGMF_OUT (:,:,:,IBL), PSIGMF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRC_MF ", PRC_MF_OUT (:,:,:,IBL), PRC_MF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRI_MF ", PRI_MF_OUT (:,:,:,IBL), PRI_MF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PCF_MF ", PCF_MF_OUT (:,:,:,IBL), PCF_MF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PFLXZTHVMF ", PFLXZTHVMF_OUT (:,:,:,IBL), PFLXZTHVMF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZFLXZTHMF ", ZFLXZTHMF_OUT (:,:,:,IBL), ZFLXZTHMF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZFLXZRMF ", ZFLXZRMF_OUT (:,:,:,IBL), ZFLXZRMF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZFLXZUMF ", ZFLXZUMF_OUT (:,:,:,IBL), ZFLXZUMF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZFLXZVMF ", ZFLXZVMF_OUT (:,:,:,IBL), ZFLXZVMF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PTHL_UP ", PTHL_UP_OUT (:,:,:,IBL), PTHL_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRT_UP ", PRT_UP_OUT (:,:,:,IBL), PRT_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRV_UP ", PRV_UP_OUT (:,:,:,IBL), PRV_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRC_UP ", PRC_UP_OUT (:,:,:,IBL), PRC_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRI_UP ", PRI_UP_OUT (:,:,:,IBL), PRI_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PU_UP ", PU_UP_OUT (:,:,:,IBL), PU_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PV_UP ", PV_UP_OUT (:,:,:,IBL), PV_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PTHV_UP ", PTHV_UP_OUT (:,:,:,IBL), PTHV_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PW_UP ", PW_UP_OUT (:,:,:,IBL), PW_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PFRAC_UP ", PFRAC_UP_OUT (:,:,:,IBL), PFRAC_UP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PEMF ", PEMF_OUT (:,:,:,IBL), PEMF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZDETR ", ZDETR_OUT (:,:,:,IBL), ZDETR (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZENTR ", ZENTR_OUT (:,:,:,IBL), ZENTR (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) -! CALL DIFF ("IKLCL ", IKLCL_OUT (:,:,IBL), IKLCL (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) -! CALL DIFF ("IKETL ", IKETL_OUT (:,:,IBL), IKETL (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) -! CALL DIFF ("IKCTL ", IKCTL_OUT (:,:,IBL), IKCTL (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDUDT_MF ", PDUDT_MF_OUT (:,:,IBL), PDUDT_MF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDVDT_MF ", PDVDT_MF_OUT (:,:,IBL), PDVDT_MF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDTHLDT_MF ", PDTHLDT_MF_OUT (:,:,IBL), PDTHLDT_MF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDRTDT_MF ", PDRTDT_MF_OUT (:,:,IBL), PDRTDT_MF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PSIGMF ", PSIGMF_OUT (:,:,IBL), PSIGMF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRC_MF ", PRC_MF_OUT (:,:,IBL), PRC_MF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRI_MF ", PRI_MF_OUT (:,:,IBL), PRI_MF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PCF_MF ", PCF_MF_OUT (:,:,IBL), PCF_MF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PFLXZTHVMF ", PFLXZTHVMF_OUT (:,:,IBL), PFLXZTHVMF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZFLXZTHMF ", ZFLXZTHMF_OUT (:,:,IBL), ZFLXZTHMF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZFLXZRMF ", ZFLXZRMF_OUT (:,:,IBL), ZFLXZRMF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZFLXZUMF ", ZFLXZUMF_OUT (:,:,IBL), ZFLXZUMF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZFLXZVMF ", ZFLXZVMF_OUT (:,:,IBL), ZFLXZVMF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PTHL_UP ", PTHL_UP_OUT (:,:,IBL), PTHL_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRT_UP ", PRT_UP_OUT (:,:,IBL), PRT_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRV_UP ", PRV_UP_OUT (:,:,IBL), PRV_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRC_UP ", PRC_UP_OUT (:,:,IBL), PRC_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRI_UP ", PRI_UP_OUT (:,:,IBL), PRI_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PU_UP ", PU_UP_OUT (:,:,IBL), PU_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PV_UP ", PV_UP_OUT (:,:,IBL), PV_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PTHV_UP ", PTHV_UP_OUT (:,:,IBL), PTHV_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PW_UP ", PW_UP_OUT (:,:,IBL), PW_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PFRAC_UP ", PFRAC_UP_OUT (:,:,IBL), PFRAC_UP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PEMF ", PEMF_OUT (:,:,IBL), PEMF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZDETR ", ZDETR_OUT (:,:,IBL), ZDETR (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZENTR ", ZENTR_OUT (:,:,IBL), ZENTR (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) +! CALL DIFF ("IKLCL ", IKLCL_OUT (:,IBL), IKLCL (:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) +! CALL DIFF ("IKETL ", IKETL_OUT (:,IBL), IKETL (:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) +! CALL DIFF ("IKCTL ", IKCTL_OUT (:,IBL), IKCTL (:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) ENDDO ENDIF diff --git a/src/testprogs/support/arrays_manip.F90 b/src/testprogs/support/arrays_manip.F90 index a78681551a1a6de14e39d89d40c092690068679b..d50341bfdfb3b0be6b141f58b281487d3e723c96 100644 --- a/src/testprogs/support/arrays_manip.F90 +++ b/src/testprogs/support/arrays_manip.F90 @@ -4,32 +4,32 @@ USE OMP_LIB USE IEEE_ARITHMETIC, ONLY : IEEE_SIGNALING_NAN, IEEE_VALUE INTERFACE REPLICATE + MODULE PROCEDURE REPLICATER1 MODULE PROCEDURE REPLICATER2 MODULE PROCEDURE REPLICATER3 - MODULE PROCEDURE REPLICATER4 - MODULE PROCEDURE REPLICATEL3 MODULE PROCEDURE REPLICATEL2 + MODULE PROCEDURE REPLICATEL1 END INTERFACE INTERFACE NPROMIZE + MODULE PROCEDURE NPROMIZER2 MODULE PROCEDURE NPROMIZER3 MODULE PROCEDURE NPROMIZER4 - MODULE PROCEDURE NPROMIZER5 - MODULE PROCEDURE NPROMIZEL4 - MODULE PROCEDURE NPROMIZEI3 + MODULE PROCEDURE NPROMIZEL3 + MODULE PROCEDURE NPROMIZEI2 END INTERFACE INTERFACE INTERPOLATE + MODULE PROCEDURE INTERPOLATER3 MODULE PROCEDURE INTERPOLATER4 - MODULE PROCEDURE INTERPOLATER5 - MODULE PROCEDURE INTERPOLATEL4 + MODULE PROCEDURE INTERPOLATEL3 END INTERFACE INTERFACE SET + MODULE PROCEDURE SETR2 MODULE PROCEDURE SETR3 MODULE PROCEDURE SETR4 - MODULE PROCEDURE SETR5 - MODULE PROCEDURE SETI3 + MODULE PROCEDURE SETI2 END INTERFACE REAL, SAVE :: XINVALID @@ -43,91 +43,91 @@ SUBROUTINE SETUP() NINVALID = HUGE(1) END SUBROUTINE SETUP -SUBROUTINE REPLICATER4 (KOFF, P) +SUBROUTINE REPLICATER3 (KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KOFF -REAL, INTENT(INOUT) :: P (:,:,:,:) +REAL, INTENT(INOUT) :: P (:,:,:) INTEGER :: I, J DO I = KOFF+1, SIZE (P, 1) J = 1 + MODULO (I - 1, KOFF) - P (I, :, :, :) = P (J, :, :, :) + P (I, :, :) = P (J, :, :) ENDDO END SUBROUTINE -SUBROUTINE REPLICATER3 (KOFF, P) +SUBROUTINE REPLICATER2 (KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KOFF -REAL, INTENT(INOUT) :: P (:,:,:) +REAL, INTENT(INOUT) :: P (:,:) INTEGER :: I, J DO I = KOFF+1, SIZE (P, 1) J = 1 + MODULO (I - 1, KOFF) - P (I, :, :) = P (J, :, :) + P (I, :) = P (J, :) ENDDO END SUBROUTINE -SUBROUTINE REPLICATEL2 (KOFF, K) +SUBROUTINE REPLICATEL1 (KOFF, K) IMPLICIT NONE INTEGER, INTENT(IN) :: KOFF -INTEGER, INTENT(INOUT) :: K (:,:) +INTEGER, INTENT(INOUT) :: K (:) INTEGER :: I, J DO I = KOFF+1, SIZE (K, 1) J = 1 + MODULO (I - 1, KOFF) - K (I, :) = K (J, :) + K (I) = K (J) ENDDO END SUBROUTINE -SUBROUTINE REPLICATER2 (KOFF, P) +SUBROUTINE REPLICATER1 (KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KOFF -REAL, INTENT(INOUT) :: P (:,:) +REAL, INTENT(INOUT) :: P (:) INTEGER :: I, J DO I = KOFF+1, SIZE (P, 1) J = 1 + MODULO (I - 1, KOFF) - P (I, :) = P (J, :) + P (I) = P (J) ENDDO END SUBROUTINE -SUBROUTINE REPLICATEL3 (KOFF, L) +SUBROUTINE REPLICATEL2 (KOFF, L) IMPLICIT NONE INTEGER, INTENT(IN) :: KOFF -LOGICAL, INTENT(INOUT) :: L (:,:,:) +LOGICAL, INTENT(INOUT) :: L (:,:) INTEGER :: I, J DO I = KOFF+1, SIZE (L, 1) J = 1 + MODULO (I - 1, KOFF) - L (I, :, :) = L (J, :, :) + L (I, :) = L (J, :) ENDDO END SUBROUTINE -SUBROUTINE NPROMIZEI3 (KPROMA, KI, KO) +SUBROUTINE NPROMIZEI2 (KPROMA, KI, KO) IMPLICIT NONE INTEGER, INTENT(IN) :: KPROMA -INTEGER, INTENT (IN) :: KI (:,:,:) -INTEGER, INTENT (OUT) :: KO (:,:,:) +INTEGER, INTENT (IN) :: KI (:,:) +INTEGER, INTENT (OUT) :: KO (:,:) INTEGER :: I, J, IGPBLK, IGPTOT, IGP, JLON, JIDIA, JFDIA, IBL -IF (SIZE (KI, 3) /= 1) STOP 1 +IF (SIZE (KI, 2) /= 1) STOP 1 IGPTOT = SIZE (KI, 1) IGPBLK = 1 + (IGPTOT-1) / KPROMA @@ -138,27 +138,27 @@ DO IGP = 1, IGPTOT, KPROMA JFDIA = MIN (KPROMA, IGPTOT - (IBL - 1) * KPROMA) DO JLON = JIDIA, JFDIA - KO (JLON, :, IBL) = KI (IGP + (JLON - 1), :, 1) + KO (JLON, IBL) = KI (IGP + (JLON - 1), 1) ENDDO DO JLON = JFDIA+1, KPROMA - KO (JLON, :, IBL) = KO (JFDIA, :, IBL) + KO (JLON, IBL) = KO (JFDIA, IBL) ENDDO ENDDO END SUBROUTINE -SUBROUTINE NPROMIZER3 (KPROMA, PI, PO) +SUBROUTINE NPROMIZER2 (KPROMA, PI, PO) IMPLICIT NONE INTEGER, INTENT(IN) :: KPROMA -REAL, INTENT (IN) :: PI (:,:,:) -REAL, INTENT (OUT) :: PO (:,:,:) +REAL, INTENT (IN) :: PI (:,:) +REAL, INTENT (OUT) :: PO (:,:) INTEGER :: I, J, IGPBLK, IGPTOT, IGP, JLON, JIDIA, JFDIA, IBL -IF (SIZE (PI, 3) /= 1) STOP 1 +IF (SIZE (PI, 2) /= 1) STOP 1 IGPTOT = SIZE (PI, 1) IGPBLK = 1 + (IGPTOT-1) / KPROMA @@ -169,27 +169,27 @@ DO IGP = 1, IGPTOT, KPROMA JFDIA = MIN (KPROMA, IGPTOT - (IBL - 1) * KPROMA) DO JLON = JIDIA, JFDIA - PO (JLON, :, IBL) = PI (IGP + (JLON - 1), :, 1) + PO (JLON, IBL) = PI (IGP + (JLON - 1), 1) ENDDO DO JLON = JFDIA+1, KPROMA - PO (JLON, :, IBL) = PO (JFDIA, :, IBL) + PO (JLON, IBL) = PO (JFDIA, IBL) ENDDO ENDDO END SUBROUTINE -SUBROUTINE NPROMIZER4 (KPROMA, PI, PO) +SUBROUTINE NPROMIZER3 (KPROMA, PI, PO) IMPLICIT NONE INTEGER, INTENT(IN) :: KPROMA -REAL, INTENT (IN) :: PI (:,:,:,:) -REAL, INTENT (OUT) :: PO (:,:,:,:) +REAL, INTENT (IN) :: PI (:,:,:) +REAL, INTENT (OUT) :: PO (:,:,:) INTEGER :: I, J, IGPBLK, IGPTOT, IGP, JLON, JIDIA, JFDIA, IBL -IF (SIZE (PI, 4) /= 1) STOP 1 +IF (SIZE (PI, 3) /= 1) STOP 1 IGPTOT = SIZE (PI, 1) IGPBLK = 1 + (IGPTOT-1) / KPROMA @@ -200,27 +200,27 @@ DO IGP = 1, IGPTOT, KPROMA JFDIA = MIN (KPROMA, IGPTOT - (IBL - 1) * KPROMA) DO JLON = JIDIA, JFDIA - PO (JLON, :, :, IBL) = PI (IGP + (JLON - 1), :, :, 1) + PO (JLON, :, IBL) = PI (IGP + (JLON - 1), :, 1) ENDDO DO JLON = JFDIA+1, KPROMA - PO (JLON, :, :, IBL) = PO (JFDIA, :, :, IBL) + PO (JLON, :, IBL) = PO (JFDIA, :, IBL) ENDDO ENDDO END SUBROUTINE -SUBROUTINE NPROMIZER5 (KPROMA, PI, PO) +SUBROUTINE NPROMIZER4 (KPROMA, PI, PO) IMPLICIT NONE INTEGER, INTENT(IN) :: KPROMA -REAL, INTENT (IN) :: PI (:,:,:,:,:) -REAL, INTENT (OUT) :: PO (:,:,:,:,:) +REAL, INTENT (IN) :: PI (:,:,:,:) +REAL, INTENT (OUT) :: PO (:,:,:,:) INTEGER :: I, J, IGPBLK, IGPTOT, IGP, JLON, JIDIA, JFDIA, IBL -IF (SIZE (PI, 5) /= 1) STOP 1 +IF (SIZE (PI, 4) /= 1) STOP 1 IGPTOT = SIZE (PI, 1) IGPBLK = 1 + (IGPTOT-1) / KPROMA @@ -231,27 +231,27 @@ DO IGP = 1, IGPTOT, KPROMA JFDIA = MIN (KPROMA, IGPTOT - (IBL - 1) * KPROMA) DO JLON = JIDIA, JFDIA - PO (JLON, :, :, :, IBL) = PI (IGP + (JLON - 1), :, :, :, 1) + PO (JLON, :, :, IBL) = PI (IGP + (JLON - 1), :, :, 1) ENDDO DO JLON = JFDIA+1, KPROMA - PO (JLON, :, :, :, IBL) = PI (JFDIA, :, :, :, IBL) + PO (JLON, :, :, IBL) = PI (JFDIA, :, :, IBL) ENDDO ENDDO END SUBROUTINE -SUBROUTINE NPROMIZEL4 (KPROMA, LI, LO) +SUBROUTINE NPROMIZEL3 (KPROMA, LI, LO) IMPLICIT NONE INTEGER, INTENT(IN) :: KPROMA -LOGICAL, INTENT (IN) :: LI (:,:,:,:) -LOGICAL, INTENT (OUT) :: LO (:,:,:,:) +LOGICAL, INTENT (IN) :: LI (:,:,:) +LOGICAL, INTENT (OUT) :: LO (:,:,:) INTEGER :: I, J, IGPBLK, IGPTOT, IGP, JLON, JIDIA, JFDIA, IBL -IF (SIZE (LI, 4) /= 1) STOP 1 +IF (SIZE (LI, 3) /= 1) STOP 1 IGPTOT = SIZE (LI, 1) IGPBLK = 1 + (IGPTOT-1) / KPROMA @@ -262,40 +262,38 @@ DO IGP = 1, IGPTOT, KPROMA JFDIA = MIN (KPROMA, IGPTOT - (IBL - 1) * KPROMA) DO JLON = JIDIA, JFDIA - LO (JLON, :, :, IBL) = LI (IGP + (JLON - 1), :, :, 1) + LO (JLON, :, IBL) = LI (IGP + (JLON - 1), :, 1) ENDDO DO JLON = JFDIA+1, KPROMA - LO (JLON, :, :, IBL) = LI (JFDIA, :, :, IBL) + LO (JLON, :, IBL) = LI (JFDIA, :, IBL) ENDDO ENDDO END SUBROUTINE -SUBROUTINE INTERPOLATER4 (KFLEVG, KOFF, P) +SUBROUTINE INTERPOLATER3 (KFLEVG, KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KFLEVG, KOFF -REAL, INTENT(INOUT), ALLOCATABLE :: P (:,:,:,:) +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)) + & LBOUND (P, 3):UBOUND (P, 3)) INTEGER :: ILEV1A, ILEV1B, ILEV2, NLEV1, NLEV2 REAL :: ZWA, ZWB, ZLEV1, ZLEV2 Z = P -NLEV1 = SIZE (P, 3) +NLEV1 = SIZE (P, 2) NLEV2 = KFLEVG DEALLOCATE (P) ALLOCATE (P (LBOUND (Z, 1):UBOUND (Z, 1), & - & LBOUND (Z, 2):UBOUND (Z, 2), & & KFLEVG, & - & LBOUND (Z, 4):UBOUND (Z, 4))) + & LBOUND (Z, 3):UBOUND (Z, 3))) DO ILEV2 = 1, NLEV2 ZLEV2 = REAL (ILEV2 - 1) / REAL (NLEV2 -1) @@ -314,36 +312,34 @@ DO ILEV2 = 1, NLEV2 ! WRITE (*, '(" ZLEV2 = ",E12.5," ZLEV1 = ",E12.5," ILEV2 = ",I4," ILEV1A = ",I4," ZWA = ",E12.5," ILEV1B = ",I4," ZWB = ",E12.5)') & ! & ZLEV2, ZLEV1, ILEV2, ILEV1A, ZWA, ILEV1B, ZWB - P (1:KOFF, :, ILEV2, :) = ZWA * Z (1:KOFF, :, ILEV1A, :) + ZWB * Z (1:KOFF, :, ILEV1B, :) + P (1:KOFF, ILEV2, :) = ZWA * Z (1:KOFF, ILEV1A, :) + ZWB * Z (1:KOFF, ILEV1B, :) ENDDO END SUBROUTINE -SUBROUTINE INTERPOLATER5 (KFLEVG, KOFF, P) +SUBROUTINE INTERPOLATER4 (KFLEVG, KOFF, P) IMPLICIT NONE INTEGER, INTENT(IN) :: KFLEVG, KOFF -REAL, INTENT(INOUT), ALLOCATABLE :: P (:,:,:,:,:) +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), & - & LBOUND (P, 5):UBOUND (P, 5)) + & LBOUND (P, 4):UBOUND (P, 4)) INTEGER :: ILEV1A, ILEV1B, ILEV2, NLEV1, NLEV2 REAL :: ZWA, ZWB, ZLEV1, ZLEV2 Z = P -NLEV1 = SIZE (P, 3) +NLEV1 = SIZE (P, 2) NLEV2 = KFLEVG DEALLOCATE (P) ALLOCATE (P (LBOUND (Z, 1):UBOUND (Z, 1), & - & LBOUND (Z, 2):UBOUND (Z, 2), & & KFLEVG, & - & LBOUND (Z, 4):UBOUND (Z, 4), & - & LBOUND (Z, 5):UBOUND (Z, 5))) + & LBOUND (Z, 3):UBOUND (Z, 3), & + & LBOUND (Z, 4):UBOUND (Z, 4))) DO ILEV2 = 1, NLEV2 ZLEV2 = REAL (ILEV2 - 1) / REAL (NLEV2 -1) @@ -362,34 +358,32 @@ DO ILEV2 = 1, NLEV2 ! WRITE (*, '(" ZLEV2 = ",E12.5," ZLEV1 = ",E12.5," ILEV2 = ",I4," ILEV1A = ",I4," ZWA = ",E12.5," ILEV1B = ",I4," ZWB = ",E12.5)') & ! & ZLEV2, ZLEV1, ILEV2, ILEV1A, ZWA, ILEV1B, ZWB - P (1:KOFF, :, ILEV2, :, :) = ZWA * Z (1:KOFF, :, ILEV1A, :, :) + ZWB * Z (1:KOFF, :, ILEV1B, :, :) + P (1:KOFF, ILEV2, :, :) = ZWA * Z (1:KOFF, ILEV1A, :, :) + ZWB * Z (1:KOFF, ILEV1B, :, :) ENDDO END SUBROUTINE -SUBROUTINE INTERPOLATEL4 (KFLEVG, KOFF, L) +SUBROUTINE INTERPOLATEL3 (KFLEVG, KOFF, L) IMPLICIT NONE INTEGER, INTENT(IN) :: KFLEVG, KOFF -LOGICAL, INTENT(INOUT), ALLOCATABLE :: L (:,:,:,:) +LOGICAL, INTENT(INOUT), ALLOCATABLE :: L (:,:,:) LOGICAL :: Z (LBOUND (L, 1):UBOUND (L, 1), & & LBOUND (L, 2):UBOUND (L, 2), & - & LBOUND (L, 3):UBOUND (L, 3), & - & LBOUND (L, 4):UBOUND (L, 4)) + & LBOUND (L, 3):UBOUND (L, 3)) INTEGER :: ILEV1A, ILEV1B, ILEV2, NLEV1, NLEV2 REAL :: ZWA, ZWB, ZLEV1, ZLEV2 Z = L -NLEV1 = SIZE (L, 3) +NLEV1 = SIZE (L, 2) NLEV2 = KFLEVG DEALLOCATE (L) ALLOCATE (L (LBOUND (Z, 1):UBOUND (Z, 1), & - & LBOUND (Z, 2):UBOUND (Z, 2), & & KFLEVG, & - & LBOUND (Z, 4):UBOUND (Z, 4))) + & LBOUND (Z, 3):UBOUND (Z, 3))) DO ILEV2 = 1, NLEV2 ZLEV2 = REAL (ILEV2 - 1) / REAL (NLEV2 -1) @@ -408,21 +402,21 @@ DO ILEV2 = 1, NLEV2 ! WRITE (*, '(" ZLEV2 = ",E12.5," ZLEV1 = ",E12.5," ILEV2 = ",I4," ILEV1A = ",I4," ZWA = ",E12.5," ILEV1B = ",I4," ZWB = ",E12.5)') & ! & ZLEV2, ZLEV1, ILEV2, ILEV1A, ZWA, ILEV1B, ZWB - L (1:KOFF, :, ILEV2, :) = ZWA * MERGE(1., 0., Z (1:KOFF, :, ILEV1A, :)) + ZWB * MERGE(1., 0., Z (1:KOFF, :, ILEV1B, :)) >= 0.5 + L (1:KOFF, ILEV2, :) = ZWA * MERGE(1., 0., Z (1:KOFF, ILEV1A, :)) + ZWB * MERGE(1., 0., Z (1:KOFF, ILEV1B, :)) >= 0.5 ENDDO END SUBROUTINE -SUBROUTINE SETI3 (K) +SUBROUTINE SETI2 (K) IMPLICIT NONE -INTEGER, INTENT(OUT) :: K (:,:,:) +INTEGER, INTENT(OUT) :: K (:,:) INTEGER :: IBL, IGPBLKS INTEGER :: NTID, ITID, JBLK1, JBLK2 -IGPBLKS = SIZE (K, 3) +IGPBLKS = SIZE (K, 2) !$OMP PARALLEL PRIVATE (ITID, JBLK1, JBLK2, NTID) NTID = OMP_GET_MAX_THREADS () @@ -431,22 +425,22 @@ JBLK1 = 1 + (IGPBLKS * (ITID+0)) / NTID JBLK2 = (IGPBLKS * (ITID+1)) / NTID DO IBL = JBLK1, JBLK2 - K (:,:,IBL) = NINVALID + K (:,IBL) = NINVALID ENDDO !$OMP END PARALLEL END SUBROUTINE -SUBROUTINE SETR3 (P) +SUBROUTINE SETR2 (P) IMPLICIT NONE -REAL, INTENT(INOUT) :: P (:,:,:) +REAL, INTENT(INOUT) :: P (:,:) INTEGER :: IBL, IGPBLKS INTEGER :: NTID, ITID, JBLK1, JBLK2 -IGPBLKS = SIZE (P, 3) +IGPBLKS = SIZE (P, 2) !$OMP PARALLEL PRIVATE (ITID, JBLK1, JBLK2, NTID) NTID = OMP_GET_MAX_THREADS () @@ -455,21 +449,21 @@ JBLK1 = 1 + (IGPBLKS * (ITID+0)) / NTID JBLK2 = (IGPBLKS * (ITID+1)) / NTID DO IBL = JBLK1, JBLK2 - P (:,:,IBL) = XINVALID + P (:,IBL) = XINVALID ENDDO !$OMP END PARALLEL END SUBROUTINE -SUBROUTINE SETR4 (P) +SUBROUTINE SETR3 (P) IMPLICIT NONE -REAL, INTENT(INOUT) :: P (:,:,:,:) +REAL, INTENT(INOUT) :: P (:,:,:) INTEGER :: IBL, IGPBLKS INTEGER :: NTID, ITID, JBLK1, JBLK2 -IGPBLKS = SIZE (P, 4) +IGPBLKS = SIZE (P, 3) !$OMP PARALLEL PRIVATE (ITID, JBLK1, JBLK2, NTID) NTID = OMP_GET_MAX_THREADS () @@ -478,21 +472,21 @@ JBLK1 = 1 + (IGPBLKS * (ITID+0)) / NTID JBLK2 = (IGPBLKS * (ITID+1)) / NTID DO IBL = JBLK1, JBLK2 - P (:,:,:,IBL) = XINVALID + P (:,:,IBL) = XINVALID ENDDO !$OMP END PARALLEL END SUBROUTINE -SUBROUTINE SETR5 (P) +SUBROUTINE SETR4 (P) IMPLICIT NONE -REAL, INTENT(INOUT) :: P (:,:,:,:,:) +REAL, INTENT(INOUT) :: P (:,:,:,:) INTEGER :: IBL, IGPBLKS INTEGER :: NTID, ITID, JBLK1, JBLK2 -IGPBLKS = SIZE (P, 5) +IGPBLKS = SIZE (P, 4) !$OMP PARALLEL PRIVATE (ITID, JBLK1, JBLK2, NTID) NTID = OMP_GET_MAX_THREADS () @@ -501,7 +495,7 @@ JBLK1 = 1 + (IGPBLKS * (ITID+0)) / NTID JBLK2 = (IGPBLKS * (ITID+1)) / NTID DO IBL = JBLK1, JBLK2 - P (:,:,:,:,IBL) = XINVALID + P (:,:,:,IBL) = XINVALID ENDDO !$OMP END PARALLEL diff --git a/src/testprogs/support/compute_diff.F90 b/src/testprogs/support/compute_diff.F90 index 312cd6616eee62bc8f792a0744654fa065bfaab3..3b7784e6692583bc71c35dac410f5c50da0007e3 100644 --- a/src/testprogs/support/compute_diff.F90 +++ b/src/testprogs/support/compute_diff.F90 @@ -1,25 +1,25 @@ MODULE COMPUTE_DIFF INTERFACE DIFF - MODULE PROCEDURE DIFF3 MODULE PROCEDURE DIFF2 + MODULE PROCEDURE DIFF1 END INTERFACE DIFF CONTAINS -SUBROUTINE DIFF3 (CDNAME, PREF, POUT, LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) +SUBROUTINE DIFF2 (CDNAME, PREF, POUT, LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) IMPLICIT NONE CHARACTER (LEN=*), INTENT(IN) :: CDNAME -REAL, INTENT(IN) :: PREF (:,:,:) -REAL, INTENT(IN) :: POUT (:,:,:) +REAL, INTENT(IN) :: PREF (:,:) +REAL, INTENT(IN) :: POUT (:,:) LOGICAL, INTENT(IN) :: LLSTAT, LLCHECK, LLCHECKDIFF INTEGER, INTENT(IN) :: NPROMA LOGICAL, INTENT(OUT) :: LLDIFF INTEGER :: JLON, JLEV, KLEV -KLEV=SIZE(PREF, 3) +KLEV=SIZE(PREF, 2) PRINT *, CDNAME IF (LLSTAT) THEN @@ -37,13 +37,13 @@ IF (LLCHECK) THEN DO JLEV = 1, KLEV WRITE (*, '(I4)', ADVANCE='NO') JLEV DO JLON = 1, NPROMA - IF (ABS (PREF (JLON, 1, JLEV)) + ABS (POUT (JLON, 1, JLEV)) == 0.) THEN + IF (ABS (PREF (JLON, JLEV)) + ABS (POUT (JLON, JLEV)) == 0.) THEN WRITE (*, '("|",A12,"..",A12)', ADVANCE='NO') "", "" ELSE - IF(ABS(POUT (JLON, 1, JLEV)-PREF (JLON, 1, JLEV))>0.001 * ABS(PREF (JLON, 1, JLEV))) THEN - WRITE (*, '("|",E12.5,"!=",E12.5)', ADVANCE='NO') PREF (JLON, 1, JLEV), POUT (JLON, 1, JLEV) + IF(ABS(POUT (JLON, JLEV)-PREF (JLON, JLEV))>0.001 * ABS(PREF (JLON, JLEV))) THEN + WRITE (*, '("|",E12.5,"!=",E12.5)', ADVANCE='NO') PREF (JLON, JLEV), POUT (JLON, JLEV) ELSE - WRITE (*, '("|",E12.5,"~=",E12.5)', ADVANCE='NO') PREF (JLON, 1, JLEV), POUT (JLON, 1, JLEV) + WRITE (*, '("|",E12.5,"~=",E12.5)', ADVANCE='NO') PREF (JLON, JLEV), POUT (JLON, JLEV) ENDIF ENDIF ENDDO @@ -63,12 +63,12 @@ ENDIF END SUBROUTINE -SUBROUTINE DIFF2 (CDNAME, PREF, POUT, LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) +SUBROUTINE DIFF1 (CDNAME, PREF, POUT, LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) IMPLICIT NONE CHARACTER (LEN=*), INTENT(IN) :: CDNAME -REAL, INTENT(IN) :: PREF (:,:) -REAL, INTENT(IN) :: POUT (:,:) +REAL, INTENT(IN) :: PREF (:) +REAL, INTENT(IN) :: POUT (:) LOGICAL, INTENT(IN) :: LLSTAT, LLCHECK, LLCHECKDIFF INTEGER, INTENT(IN) :: NPROMA LOGICAL, INTENT(OUT) :: LLDIFF @@ -90,10 +90,10 @@ IF (LLCHECK) THEN WRITE (*, '("|")') WRITE (*, '(I4)', ADVANCE='NO') 0 DO JLON = 1, NPROMA - IF (ABS (PREF (JLON, 1)) + ABS (POUT (JLON, 1)) == 0.) THEN + IF (ABS (PREF (JLON)) + ABS (POUT (JLON)) == 0.) THEN WRITE (*, '("|",2A12)', ADVANCE='NO') "", "" ELSE - WRITE (*, '("|",2E12.5)', ADVANCE='NO') PREF (JLON, 1), POUT (JLON, 1) + WRITE (*, '("|",2E12.5)', ADVANCE='NO') PREF (JLON), POUT (JLON) ENDIF ENDDO WRITE (*, '("|")') diff --git a/src/testprogs/turb_mnh/getdata_turb_mod.F90 b/src/testprogs/turb_mnh/getdata_turb_mod.F90 index bc5598fd84f71d17b00442c60ead2f50ae241557..7dce09991f655f2dc6eb8d9e5a7aa19cff0a0c99 100644 --- a/src/testprogs/turb_mnh/getdata_turb_mod.F90 +++ b/src/testprogs/turb_mnh/getdata_turb_mod.F90 @@ -49,164 +49,164 @@ INTEGER :: KDUM LOGICAL, INTENT(IN) :: LDVERBOSE !IN and INOUTS -REAL, INTENT(OUT), ALLOCATABLE :: ZDXX_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDYY_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDZZ_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDZX_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDZY_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZZZ_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDIRCOSXW_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDIRCOSYW_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDIRCOSZW_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZCOSSLOPE_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZSINSLOPE_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRHODJ_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHVREF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSFTH_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSFRV_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSFU_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSFV_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSFSV_B (:,:,:,:) !(KLON, 1, KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PPABSM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PUM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PVM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PWM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTKEM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZSVM_B (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PSRCM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PLENGTHM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PLENGTHH_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: MFMOIST_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZBL_DEPTH_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZSBL_DEPTH_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZCEI_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHM_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZRM_B (:,:,:,:,:) !(KLON,1,KLEV+2,KRR) -REAL, INTENT(OUT), ALLOCATABLE :: PRUS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRVS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRWS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRTHS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZRRS_B (:,:,:,:,:) !(KLON,1,KLEV+2,KRR) -REAL, INTENT(OUT), ALLOCATABLE :: ZRSVS_B (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PRTKES_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PFLXZTHVMF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PHGRAD_B (:,:,:,:,:) !(KLON,1,KLEV+2,KGRADIENTS) -REAL, INTENT(OUT), ALLOCATABLE :: PZS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDXX_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDYY_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDZZ_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDZX_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDZY_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZZZ_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDIRCOSXW_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDIRCOSYW_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDIRCOSZW_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZCOSSLOPE_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZSINSLOPE_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRHODJ_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHVREF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSFTH_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSFRV_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSFU_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSFV_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSFSV_B (:,:,:) !(KLON, 1, KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PPABSM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PUM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PVM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PWM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTKEM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZSVM_B (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PSRCM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PLENGTHM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PLENGTHH_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: MFMOIST_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZBL_DEPTH_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZSBL_DEPTH_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZCEI_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHM_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZRM_B (:,:,:,:) !(KLON,1,KLEV+2,KRR) +REAL, INTENT(OUT), ALLOCATABLE :: PRUS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRVS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRWS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRTHS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZRRS_B (:,:,:,:) !(KLON,1,KLEV+2,KRR) +REAL, INTENT(OUT), ALLOCATABLE :: ZRSVS_B (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PRTKES_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PFLXZTHVMF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PHGRAD_B (:,:,:,:) !(KLON,1,KLEV+2,KGRADIENTS) +REAL, INTENT(OUT), ALLOCATABLE :: PZS_B (:,:) !OUT -REAL, INTENT(OUT), ALLOCATABLE :: PSIGS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZWTH_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZWRC_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZWSV_B (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PDP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTP_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTDIFF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTDISS_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEDR_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTPMF_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRUS_TURB_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRVS_TURB_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRTHLS_TURB_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRRTS_TURB_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDRSVS_TURB_B (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PSIGS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZWTH_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZWRC_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZWSV_B (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PDP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTP_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTDIFF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTDISS_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEDR_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTPMF_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRUS_TURB_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRVS_TURB_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRTHLS_TURB_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRRTS_TURB_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZDRSVS_TURB_B (:,:,:,:) !(KLON,1,KLEV+2,KSV) !Expected values -REAL, INTENT(OUT), ALLOCATABLE :: ZBL_DEPTH_OUT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZSBL_DEPTH_OUT_B (:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTHM_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZRM_OUT_B (:,:,:,:,:) !(KLON,1,KLEV+2,KRR) -REAL, INTENT(OUT), ALLOCATABLE :: PRUS_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRVS_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRWS_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PRTHS_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZRRS_OUT_B (:,:,:,:,:) !(KLON,1,KLEV+2,KRR) -REAL, INTENT(OUT), ALLOCATABLE :: ZRSVS_OUT_B (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PRTKES_OUT_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PSIGS_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZWTH_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZWRC_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZWSV_OUT_B (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, INTENT(OUT), ALLOCATABLE :: PDP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTP_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTDIFF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTDISS_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PEDR_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PTPMF_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRUS_TURB_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRVS_TURB_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRTHLS_TURB_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: PDRRTS_TURB_OUT_B (:,:,:,:) -REAL, INTENT(OUT), ALLOCATABLE :: ZDRSVS_TURB_OUT_B (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: ZBL_DEPTH_OUT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZSBL_DEPTH_OUT_B (:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTHM_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZRM_OUT_B (:,:,:,:) !(KLON,1,KLEV+2,KRR) +REAL, INTENT(OUT), ALLOCATABLE :: PRUS_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRVS_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRWS_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PRTHS_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZRRS_OUT_B (:,:,:,:) !(KLON,1,KLEV+2,KRR) +REAL, INTENT(OUT), ALLOCATABLE :: ZRSVS_OUT_B (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PRTKES_OUT_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PSIGS_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZWTH_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZWRC_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: ZWSV_OUT_B (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, INTENT(OUT), ALLOCATABLE :: PDP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTP_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTDIFF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTDISS_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PEDR_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PTPMF_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRUS_TURB_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRVS_TURB_OUT_B (:,:,:) +REAL, INTENT(OUT), ALLOCATABLE :: PDRTHLS_TURB_OUT_B (:,:,:) +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, 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 (:,:,:) !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, 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) INTEGER, INTENT(IN) :: NPROMA, NGPBLKS INTEGER :: NGPTOT @@ -228,92 +228,92 @@ CLOSE (IFILE) IF (NFLEVG < 0) NFLEVG = KLEV -ALLOCATE (ZDXX_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDYY_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDZZ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDZX_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDZY_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZZZ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDIRCOSXW_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZDIRCOSYW_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZDIRCOSZW_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZCOSSLOPE_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZSINSLOPE_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PRHODJ_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTHVREF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PSFTH_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PSFRV_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PSFU_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PSFV_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PSFSV_B (NPROMA,1,KSV,NGPBLKS)) -ALLOCATE (PPABSM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PUM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PVM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PWM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTKEM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZSVM_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) -ALLOCATE (PSRCM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PLENGTHM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PLENGTHH_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (MFMOIST_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZBL_DEPTH_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZSBL_DEPTH_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZCEI_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTHM_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZRM_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (PRUS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRVS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRWS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRTHS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZRRS_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (ZRSVS_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) -ALLOCATE (PRTKES_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PFLXZTHVMF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PHGRAD_B (NPROMA,1,NFLEVG,0,NGPBLKS)) -ALLOCATE (PZS_B (NPROMA,1,NGPBLKS)) - -ALLOCATE (PSIGS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZWTH_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZWRC_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZWSV_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) -ALLOCATE (PDP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTP_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTDIFF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTDISS_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEDR_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTPMF_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRUS_TURB_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRVS_TURB_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRTHLS_TURB_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRRTS_TURB_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDRSVS_TURB_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) - -ALLOCATE (ZBL_DEPTH_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (ZSBL_DEPTH_OUT_B (NPROMA,1,NGPBLKS)) -ALLOCATE (PTHM_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZRM_OUT_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (PRUS_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRVS_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRWS_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PRTHS_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZRRS_OUT_B (NPROMA,1,NFLEVG,KRR,NGPBLKS)) -ALLOCATE (ZRSVS_OUT_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) -ALLOCATE (PRTKES_OUT_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PSIGS_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZWTH_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZWRC_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZWSV_OUT_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) -ALLOCATE (PDP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTP_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTDIFF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTDISS_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PEDR_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PTPMF_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRUS_TURB_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRVS_TURB_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRTHLS_TURB_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (PDRRTS_TURB_OUT_B (NPROMA,1,NFLEVG,NGPBLKS)) -ALLOCATE (ZDRSVS_TURB_OUT_B (NPROMA,1,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (ZDXX_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDYY_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDZZ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDZX_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDZY_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZZZ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDIRCOSXW_B (NPROMA,NGPBLKS)) +ALLOCATE (ZDIRCOSYW_B (NPROMA,NGPBLKS)) +ALLOCATE (ZDIRCOSZW_B (NPROMA,NGPBLKS)) +ALLOCATE (ZCOSSLOPE_B (NPROMA,NGPBLKS)) +ALLOCATE (ZSINSLOPE_B (NPROMA,NGPBLKS)) +ALLOCATE (PRHODJ_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTHVREF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PSFTH_B (NPROMA,NGPBLKS)) +ALLOCATE (PSFRV_B (NPROMA,NGPBLKS)) +ALLOCATE (PSFU_B (NPROMA,NGPBLKS)) +ALLOCATE (PSFV_B (NPROMA,NGPBLKS)) +ALLOCATE (PSFSV_B (NPROMA,KSV,NGPBLKS)) +ALLOCATE (PPABSM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PUM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PVM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PWM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTKEM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZSVM_B (NPROMA,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (PSRCM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PLENGTHM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PLENGTHH_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (MFMOIST_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZBL_DEPTH_B (NPROMA,NGPBLKS)) +ALLOCATE (ZSBL_DEPTH_B (NPROMA,NGPBLKS)) +ALLOCATE (ZCEI_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTHM_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZRM_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (PRUS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRVS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRWS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRTHS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZRRS_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (ZRSVS_B (NPROMA,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (PRTKES_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PFLXZTHVMF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PHGRAD_B (NPROMA,NFLEVG,0,NGPBLKS)) +ALLOCATE (PZS_B (NPROMA,NGPBLKS)) + +ALLOCATE (PSIGS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZWTH_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZWRC_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZWSV_B (NPROMA,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (PDP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTP_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTDIFF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTDISS_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEDR_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTPMF_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRUS_TURB_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRVS_TURB_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRTHLS_TURB_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRRTS_TURB_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDRSVS_TURB_B (NPROMA,NFLEVG,KSV,NGPBLKS)) + +ALLOCATE (ZBL_DEPTH_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (ZSBL_DEPTH_OUT_B (NPROMA,NGPBLKS)) +ALLOCATE (PTHM_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZRM_OUT_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (PRUS_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRVS_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRWS_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PRTHS_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZRRS_OUT_B (NPROMA,NFLEVG,KRR,NGPBLKS)) +ALLOCATE (ZRSVS_OUT_B (NPROMA,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (PRTKES_OUT_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PSIGS_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZWTH_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZWRC_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZWSV_OUT_B (NPROMA,NFLEVG,KSV,NGPBLKS)) +ALLOCATE (PDP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTP_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTDIFF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTDISS_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PEDR_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PTPMF_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRUS_TURB_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRVS_TURB_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRTHLS_TURB_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (PDRRTS_TURB_OUT_B (NPROMA,NFLEVG,NGPBLKS)) +ALLOCATE (ZDRSVS_TURB_OUT_B (NPROMA,NFLEVG,KSV,NGPBLKS)) CALL SET (ZDXX_B ) CALL SET (ZDYY_B ) @@ -422,148 +422,148 @@ DO WHILE(LLEXIST) READ (IFILE) KRR, KRRL, KRRI, KSV IF (IBL == 1) THEN - ALLOCATE (ZDXX (NGPTOT,1,KLEV,1)) - ALLOCATE (ZDYY (NGPTOT,1,KLEV,1)) - ALLOCATE (ZDZZ (NGPTOT,1,KLEV,1)) - ALLOCATE (ZDZX (NGPTOT,1,KLEV,1)) - ALLOCATE (ZDZY (NGPTOT,1,KLEV,1)) - ALLOCATE (ZZZ (NGPTOT,1,KLEV,1)) - ALLOCATE (ZDIRCOSXW (NGPTOT,1,1)) - ALLOCATE (ZDIRCOSYW (NGPTOT,1,1)) - ALLOCATE (ZDIRCOSZW (NGPTOT,1,1)) - ALLOCATE (ZCOSSLOPE (NGPTOT,1,1)) - ALLOCATE (ZSINSLOPE (NGPTOT,1,1)) - ALLOCATE (PRHODJ (NGPTOT,1,KLEV,1)) - ALLOCATE (PTHVREF (NGPTOT,1,KLEV,1)) - ALLOCATE (PSFTH (NGPTOT,1,1)) - ALLOCATE (PSFRV (NGPTOT,1,1)) - ALLOCATE (PSFU (NGPTOT,1,1)) - ALLOCATE (PSFV (NGPTOT,1,1)) - ALLOCATE (PSFSV (NGPTOT,1,KSV,1)) - ALLOCATE (PPABSM (NGPTOT,1,KLEV,1)) - ALLOCATE (PUM (NGPTOT,1,KLEV,1)) - ALLOCATE (PVM (NGPTOT,1,KLEV,1)) - ALLOCATE (PWM (NGPTOT,1,KLEV,1)) - ALLOCATE (PTKEM (NGPTOT,1,KLEV,1)) - ALLOCATE (ZSVM (NGPTOT,1,KLEV,KSV,1)) - ALLOCATE (PSRCM (NGPTOT,1,KLEV,1)) - ALLOCATE (PLENGTHM (NGPTOT,1,KLEV,1)) - ALLOCATE (PLENGTHH (NGPTOT,1,KLEV,1)) - ALLOCATE (MFMOIST (NGPTOT,1,KLEV,1)) - ALLOCATE (ZBL_DEPTH (NGPTOT,1,1)) - ALLOCATE (ZSBL_DEPTH (NGPTOT,1,1)) - ALLOCATE (ZCEI (NGPTOT,1,KLEV,1)) - ALLOCATE (PTHM (NGPTOT,1,KLEV,1)) - ALLOCATE (ZRM (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (PRUS (NGPTOT,1,KLEV,1)) - ALLOCATE (PRVS (NGPTOT,1,KLEV,1)) - ALLOCATE (PRWS (NGPTOT,1,KLEV,1)) - ALLOCATE (PRTHS (NGPTOT,1,KLEV,1)) - ALLOCATE (ZRRS (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (ZRSVS (NGPTOT,1,KLEV,KSV,1)) - ALLOCATE (PRTKES_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PFLXZTHVMF (NGPTOT,1,KLEV,1)) - - ALLOCATE (ZBL_DEPTH_OUT (NGPTOT,1,1)) - ALLOCATE (ZSBL_DEPTH_OUT (NGPTOT,1,1)) - ALLOCATE (PTHM_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZRM_OUT (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (PRUS_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRVS_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRWS_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PRTHS_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZRRS_OUT (NGPTOT,1,KLEV,KRR,1)) - ALLOCATE (ZRSVS_OUT (NGPTOT,1,KLEV,KSV,1)) - ALLOCATE (PRTKES_OUT_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PSIGS_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZWTH_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZWRC_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZWSV_OUT (NGPTOT,1,KLEV,KSV,1)) - ALLOCATE (PDP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PTP_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PTDIFF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PTDISS_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PEDR_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PTPMF_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PDRUS_TURB_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PDRVS_TURB_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PDRTHLS_TURB_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (PDRRTS_TURB_OUT (NGPTOT,1,KLEV,1)) - ALLOCATE (ZDRSVS_TURB_OUT (NGPTOT,1,KLEV,KSV,1)) + ALLOCATE (ZDXX (NGPTOT,KLEV,1)) + ALLOCATE (ZDYY (NGPTOT,KLEV,1)) + ALLOCATE (ZDZZ (NGPTOT,KLEV,1)) + ALLOCATE (ZDZX (NGPTOT,KLEV,1)) + ALLOCATE (ZDZY (NGPTOT,KLEV,1)) + ALLOCATE (ZZZ (NGPTOT,KLEV,1)) + ALLOCATE (ZDIRCOSXW (NGPTOT,1)) + ALLOCATE (ZDIRCOSYW (NGPTOT,1)) + ALLOCATE (ZDIRCOSZW (NGPTOT,1)) + ALLOCATE (ZCOSSLOPE (NGPTOT,1)) + ALLOCATE (ZSINSLOPE (NGPTOT,1)) + ALLOCATE (PRHODJ (NGPTOT,KLEV,1)) + ALLOCATE (PTHVREF (NGPTOT,KLEV,1)) + ALLOCATE (PSFTH (NGPTOT,1)) + ALLOCATE (PSFRV (NGPTOT,1)) + ALLOCATE (PSFU (NGPTOT,1)) + ALLOCATE (PSFV (NGPTOT,1)) + ALLOCATE (PSFSV (NGPTOT,KSV,1)) + ALLOCATE (PPABSM (NGPTOT,KLEV,1)) + ALLOCATE (PUM (NGPTOT,KLEV,1)) + ALLOCATE (PVM (NGPTOT,KLEV,1)) + ALLOCATE (PWM (NGPTOT,KLEV,1)) + ALLOCATE (PTKEM (NGPTOT,KLEV,1)) + ALLOCATE (ZSVM (NGPTOT,KLEV,KSV,1)) + ALLOCATE (PSRCM (NGPTOT,KLEV,1)) + ALLOCATE (PLENGTHM (NGPTOT,KLEV,1)) + ALLOCATE (PLENGTHH (NGPTOT,KLEV,1)) + ALLOCATE (MFMOIST (NGPTOT,KLEV,1)) + ALLOCATE (ZBL_DEPTH (NGPTOT,1)) + ALLOCATE (ZSBL_DEPTH (NGPTOT,1)) + ALLOCATE (ZCEI (NGPTOT,KLEV,1)) + ALLOCATE (PTHM (NGPTOT,KLEV,1)) + ALLOCATE (ZRM (NGPTOT,KLEV,KRR,1)) + ALLOCATE (PRUS (NGPTOT,KLEV,1)) + ALLOCATE (PRVS (NGPTOT,KLEV,1)) + ALLOCATE (PRWS (NGPTOT,KLEV,1)) + ALLOCATE (PRTHS (NGPTOT,KLEV,1)) + ALLOCATE (ZRRS (NGPTOT,KLEV,KRR,1)) + ALLOCATE (ZRSVS (NGPTOT,KLEV,KSV,1)) + ALLOCATE (PRTKES_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PFLXZTHVMF (NGPTOT,KLEV,1)) + + ALLOCATE (ZBL_DEPTH_OUT (NGPTOT,1)) + ALLOCATE (ZSBL_DEPTH_OUT (NGPTOT,1)) + ALLOCATE (PTHM_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZRM_OUT (NGPTOT,KLEV,KRR,1)) + ALLOCATE (PRUS_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRVS_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRWS_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PRTHS_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZRRS_OUT (NGPTOT,KLEV,KRR,1)) + ALLOCATE (ZRSVS_OUT (NGPTOT,KLEV,KSV,1)) + ALLOCATE (PRTKES_OUT_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PSIGS_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZWTH_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZWRC_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZWSV_OUT (NGPTOT,KLEV,KSV,1)) + ALLOCATE (PDP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PTP_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PTDIFF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PTDISS_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PEDR_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PTPMF_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PDRUS_TURB_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PDRVS_TURB_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PDRTHLS_TURB_OUT (NGPTOT,KLEV,1)) + ALLOCATE (PDRRTS_TURB_OUT (NGPTOT,KLEV,1)) + ALLOCATE (ZDRSVS_TURB_OUT (NGPTOT,KLEV,KSV,1)) ENDIF IF (IOFF+KLON > NGPTOT) THEN EXIT ENDIF - READ(IFILE) ZDXX (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZDYY (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZDZZ (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZDZX (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZDZY (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZZZ (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZDIRCOSXW (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) ZDIRCOSYW (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) ZDIRCOSZW (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) ZCOSSLOPE (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) ZSINSLOPE (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) PRHODJ (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTHVREF (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PSFTH (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) PSFRV (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) PSFU (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) PSFV (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) PSFSV (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PPABSM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PUM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PVM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PWM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTKEM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZSVM (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PSRCM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PLENGTHM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PLENGTHH (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) MFMOIST (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZBL_DEPTH (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) ZSBL_DEPTH (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) ZCEI (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTHM (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZRM (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PRUS (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRVS (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRWS (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRTHS (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZRRS (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) ZRSVS (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PRTKES_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PFLXZTHVMF (IOFF+1:IOFF+KLON,:,:,1) - - READ(IFILE) ZBL_DEPTH_OUT (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) ZSBL_DEPTH_OUT (IOFF+1:IOFF+KLON,:,1) - READ(IFILE) PTHM_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZRM_OUT (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PRUS_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRVS_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRWS_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PRTHS_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZRRS_OUT (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) ZRSVS_OUT (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PRTKES_OUT_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PSIGS_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZWTH_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZWRC_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZWSV_OUT (IOFF+1:IOFF+KLON,:,:,:,1) - READ(IFILE) PDP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTP_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTDIFF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTDISS_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PEDR_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PTPMF_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PDRUS_TURB_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PDRVS_TURB_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PDRTHLS_TURB_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) PDRRTS_TURB_OUT (IOFF+1:IOFF+KLON,:,:,1) - READ(IFILE) ZDRSVS_TURB_OUT (IOFF+1:IOFF+KLON,:,:,:,1) + READ(IFILE) ZDXX (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZDYY (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZDZZ (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZDZX (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZDZY (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZZZ (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZDIRCOSXW (IOFF+1:IOFF+KLON,1) + READ(IFILE) ZDIRCOSYW (IOFF+1:IOFF+KLON,1) + READ(IFILE) ZDIRCOSZW (IOFF+1:IOFF+KLON,1) + READ(IFILE) ZCOSSLOPE (IOFF+1:IOFF+KLON,1) + READ(IFILE) ZSINSLOPE (IOFF+1:IOFF+KLON,1) + READ(IFILE) PRHODJ (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTHVREF (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PSFTH (IOFF+1:IOFF+KLON,1) + READ(IFILE) PSFRV (IOFF+1:IOFF+KLON,1) + READ(IFILE) PSFU (IOFF+1:IOFF+KLON,1) + READ(IFILE) PSFV (IOFF+1:IOFF+KLON,1) + READ(IFILE) PSFSV (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PPABSM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PUM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PVM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PWM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTKEM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZSVM (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PSRCM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PLENGTHM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PLENGTHH (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) MFMOIST (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZBL_DEPTH (IOFF+1:IOFF+KLON,1) + READ(IFILE) ZSBL_DEPTH (IOFF+1:IOFF+KLON,1) + READ(IFILE) ZCEI (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTHM (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZRM (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PRUS (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRVS (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRWS (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRTHS (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZRRS (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) ZRSVS (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PRTKES_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PFLXZTHVMF (IOFF+1:IOFF+KLON,:,1) + + READ(IFILE) ZBL_DEPTH_OUT (IOFF+1:IOFF+KLON,1) + READ(IFILE) ZSBL_DEPTH_OUT (IOFF+1:IOFF+KLON,1) + READ(IFILE) PTHM_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZRM_OUT (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PRUS_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRVS_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRWS_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PRTHS_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZRRS_OUT (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) ZRSVS_OUT (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PRTKES_OUT_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PSIGS_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZWTH_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZWRC_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZWSV_OUT (IOFF+1:IOFF+KLON,:,:,1) + READ(IFILE) PDP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTP_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTDIFF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTDISS_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PEDR_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PTPMF_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDRUS_TURB_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDRVS_TURB_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDRTHLS_TURB_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) PDRRTS_TURB_OUT (IOFF+1:IOFF+KLON,:,1) + READ(IFILE) ZDRSVS_TURB_OUT (IOFF+1:IOFF+KLON,:,:,1) CLOSE (IFILE) @@ -643,74 +643,74 @@ IF (NFLEVG /= KLEV) THEN ENDIF -CALL REPLICATE (IOFF, ZDXX (:,:,:,1)) -CALL REPLICATE (IOFF, ZDYY (:,:,:,1)) -CALL REPLICATE (IOFF, ZDZZ (:,:,:,1)) -CALL REPLICATE (IOFF, ZDZX (:,:,:,1)) -CALL REPLICATE (IOFF, ZDZY (:,:,:,1)) -CALL REPLICATE (IOFF, ZZZ (:,:,:,1)) -CALL REPLICATE (IOFF, ZDIRCOSXW (:,:,1)) -CALL REPLICATE (IOFF, ZDIRCOSYW (:,:,1)) -CALL REPLICATE (IOFF, ZDIRCOSZW (:,:,1)) -CALL REPLICATE (IOFF, ZCOSSLOPE (:,:,1)) -CALL REPLICATE (IOFF, ZSINSLOPE (:,:,1)) -CALL REPLICATE (IOFF, PRHODJ (:,:,:,1)) -CALL REPLICATE (IOFF, PTHVREF (:,:,:,1)) -CALL REPLICATE (IOFF, PSFTH (:,:,1)) -CALL REPLICATE (IOFF, PSFRV (:,:,1)) -CALL REPLICATE (IOFF, PSFU (:,:,1)) -CALL REPLICATE (IOFF, PSFV (:,:,1)) -CALL REPLICATE (IOFF, PSFSV (:,:,:,1)) -CALL REPLICATE (IOFF, PPABSM (:,:,:,1)) -CALL REPLICATE (IOFF, PUM (:,:,:,1)) -CALL REPLICATE (IOFF, PVM (:,:,:,1)) -CALL REPLICATE (IOFF, PWM (:,:,:,1)) -CALL REPLICATE (IOFF, PTKEM (:,:,:,1)) -CALL REPLICATE (IOFF, ZSVM (:,:,:,:,1)) -CALL REPLICATE (IOFF, PSRCM (:,:,:,1)) -CALL REPLICATE (IOFF, PLENGTHM (:,:,:,1)) -CALL REPLICATE (IOFF, PLENGTHH (:,:,:,1)) -CALL REPLICATE (IOFF, MFMOIST (:,:,:,1)) -CALL REPLICATE (IOFF, ZBL_DEPTH (:,:,1)) -CALL REPLICATE (IOFF, ZSBL_DEPTH (:,:,1)) -CALL REPLICATE (IOFF, ZCEI (:,:,:,1)) -CALL REPLICATE (IOFF, PTHM (:,:,:,1)) -CALL REPLICATE (IOFF, ZRM (:,:,:,:,1)) -CALL REPLICATE (IOFF, PRUS (:,:,:,1)) -CALL REPLICATE (IOFF, PRVS (:,:,:,1)) -CALL REPLICATE (IOFF, PRWS (:,:,:,1)) -CALL REPLICATE (IOFF, PRTHS (:,:,:,1)) -CALL REPLICATE (IOFF, ZRRS (:,:,:,:,1)) -CALL REPLICATE (IOFF, ZRSVS (:,:,:,:,1)) -CALL REPLICATE (IOFF, PRTKES_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PFLXZTHVMF (:,:,:,1)) - -CALL REPLICATE (IOFF, ZBL_DEPTH_OUT (:,:,1)) -CALL REPLICATE (IOFF, ZSBL_DEPTH_OUT (:,:,1)) -CALL REPLICATE (IOFF, PTHM_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZRM_OUT (:,:,:,:,1)) -CALL REPLICATE (IOFF, PRUS_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRVS_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRWS_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PRTHS_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZRRS_OUT (:,:,:,:,1)) -CALL REPLICATE (IOFF, ZRSVS_OUT (:,:,:,:,1)) -CALL REPLICATE (IOFF, PRTKES_OUT_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PSIGS_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZWTH_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZWRC_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZWSV_OUT (:,:,:,:,1)) -CALL REPLICATE (IOFF, PDP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PTP_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PTDIFF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PTDISS_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PEDR_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PTPMF_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PDRUS_TURB_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PDRVS_TURB_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PDRTHLS_TURB_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, PDRRTS_TURB_OUT (:,:,:,1)) -CALL REPLICATE (IOFF, ZDRSVS_TURB_OUT (:,:,:,:,1)) +CALL REPLICATE (IOFF, ZDXX (:,:,1)) +CALL REPLICATE (IOFF, ZDYY (:,:,1)) +CALL REPLICATE (IOFF, ZDZZ (:,:,1)) +CALL REPLICATE (IOFF, ZDZX (:,:,1)) +CALL REPLICATE (IOFF, ZDZY (:,:,1)) +CALL REPLICATE (IOFF, ZZZ (:,:,1)) +CALL REPLICATE (IOFF, ZDIRCOSXW (:,1)) +CALL REPLICATE (IOFF, ZDIRCOSYW (:,1)) +CALL REPLICATE (IOFF, ZDIRCOSZW (:,1)) +CALL REPLICATE (IOFF, ZCOSSLOPE (:,1)) +CALL REPLICATE (IOFF, ZSINSLOPE (:,1)) +CALL REPLICATE (IOFF, PRHODJ (:,:,1)) +CALL REPLICATE (IOFF, PTHVREF (:,:,1)) +CALL REPLICATE (IOFF, PSFTH (:,1)) +CALL REPLICATE (IOFF, PSFRV (:,1)) +CALL REPLICATE (IOFF, PSFU (:,1)) +CALL REPLICATE (IOFF, PSFV (:,1)) +CALL REPLICATE (IOFF, PSFSV (:,:,1)) +CALL REPLICATE (IOFF, PPABSM (:,:,1)) +CALL REPLICATE (IOFF, PUM (:,:,1)) +CALL REPLICATE (IOFF, PVM (:,:,1)) +CALL REPLICATE (IOFF, PWM (:,:,1)) +CALL REPLICATE (IOFF, PTKEM (:,:,1)) +CALL REPLICATE (IOFF, ZSVM (:,:,:,1)) +CALL REPLICATE (IOFF, PSRCM (:,:,1)) +CALL REPLICATE (IOFF, PLENGTHM (:,:,1)) +CALL REPLICATE (IOFF, PLENGTHH (:,:,1)) +CALL REPLICATE (IOFF, MFMOIST (:,:,1)) +CALL REPLICATE (IOFF, ZBL_DEPTH (:,1)) +CALL REPLICATE (IOFF, ZSBL_DEPTH (:,1)) +CALL REPLICATE (IOFF, ZCEI (:,:,1)) +CALL REPLICATE (IOFF, PTHM (:,:,1)) +CALL REPLICATE (IOFF, ZRM (:,:,:,1)) +CALL REPLICATE (IOFF, PRUS (:,:,1)) +CALL REPLICATE (IOFF, PRVS (:,:,1)) +CALL REPLICATE (IOFF, PRWS (:,:,1)) +CALL REPLICATE (IOFF, PRTHS (:,:,1)) +CALL REPLICATE (IOFF, ZRRS (:,:,:,1)) +CALL REPLICATE (IOFF, ZRSVS (:,:,:,1)) +CALL REPLICATE (IOFF, PRTKES_OUT (:,:,1)) +CALL REPLICATE (IOFF, PFLXZTHVMF (:,:,1)) + +CALL REPLICATE (IOFF, ZBL_DEPTH_OUT (:,1)) +CALL REPLICATE (IOFF, ZSBL_DEPTH_OUT (:,1)) +CALL REPLICATE (IOFF, PTHM_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZRM_OUT (:,:,:,1)) +CALL REPLICATE (IOFF, PRUS_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRVS_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRWS_OUT (:,:,1)) +CALL REPLICATE (IOFF, PRTHS_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZRRS_OUT (:,:,:,1)) +CALL REPLICATE (IOFF, ZRSVS_OUT (:,:,:,1)) +CALL REPLICATE (IOFF, PRTKES_OUT_OUT (:,:,1)) +CALL REPLICATE (IOFF, PSIGS_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZWTH_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZWRC_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZWSV_OUT (:,:,:,1)) +CALL REPLICATE (IOFF, PDP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PTP_OUT (:,:,1)) +CALL REPLICATE (IOFF, PTDIFF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PTDISS_OUT (:,:,1)) +CALL REPLICATE (IOFF, PEDR_OUT (:,:,1)) +CALL REPLICATE (IOFF, PTPMF_OUT (:,:,1)) +CALL REPLICATE (IOFF, PDRUS_TURB_OUT (:,:,1)) +CALL REPLICATE (IOFF, PDRVS_TURB_OUT (:,:,1)) +CALL REPLICATE (IOFF, PDRTHLS_TURB_OUT (:,:,1)) +CALL REPLICATE (IOFF, PDRRTS_TURB_OUT (:,:,1)) +CALL REPLICATE (IOFF, ZDRSVS_TURB_OUT (:,:,:,1)) CALL NPROMIZE (NPROMA, ZDXX , ZDXX_B ) CALL NPROMIZE (NPROMA, ZDYY , ZDYY_B ) diff --git a/src/testprogs/turb_mnh/main_turb.F90 b/src/testprogs/turb_mnh/main_turb.F90 index b0a7f5c5f3503c078f58d171f3512242f8f013a0..578d65520c061639dd03b4e951f3981525ad54c7 100644 --- a/src/testprogs/turb_mnh/main_turb.F90 +++ b/src/testprogs/turb_mnh/main_turb.F90 @@ -18,94 +18,94 @@ INTEGER :: KRR, KRRL, KRRI INTEGER :: KSV !IN and INOUTS -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, ALLOCATABLE :: PHGRAD (:,:,:,:,:) !(KLON,1,KLEV+2,KGRADIENTS) -REAL, ALLOCATABLE :: PZS (:,:,:) +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, ALLOCATABLE :: PHGRAD (:,:,:,:) !(KLON,1,KLEV+2,KGRADIENTS) +REAL, ALLOCATABLE :: PZS (:,:) !OUT -REAL, ALLOCATABLE :: PSIGS (:,:,:,:) -REAL, ALLOCATABLE :: ZWTH (:,:,:,:) -REAL, ALLOCATABLE :: ZWRC (:,:,:,:) -REAL, ALLOCATABLE :: ZWSV (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) -REAL, ALLOCATABLE :: PDP (:,:,:,:) -REAL, ALLOCATABLE :: PTP (:,:,:,:) -REAL, ALLOCATABLE :: PTDIFF (:,:,:,:) -REAL, ALLOCATABLE :: PTDISS (:,:,:,:) -REAL, ALLOCATABLE :: PEDR (:,:,:,:) -REAL, ALLOCATABLE :: PTPMF (:,:,:,:) -REAL, ALLOCATABLE :: PDRUS_TURB (:,:,:,:) -REAL, ALLOCATABLE :: PDRVS_TURB (:,:,:,:) -REAL, ALLOCATABLE :: PDRTHLS_TURB (:,:,:,:) -REAL, ALLOCATABLE :: PDRRTS_TURB (:,:,:,:) -REAL, ALLOCATABLE :: ZDRSVS_TURB (:,:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, ALLOCATABLE :: PSIGS (:,:,:) +REAL, ALLOCATABLE :: ZWTH (:,:,:) +REAL, ALLOCATABLE :: ZWRC (:,:,:) +REAL, ALLOCATABLE :: ZWSV (:,:,:,:) !(KLON,1,KLEV+2,KSV) +REAL, ALLOCATABLE :: PDP (:,:,:) +REAL, ALLOCATABLE :: PTP (:,:,:) +REAL, ALLOCATABLE :: PTDIFF (:,:,:) +REAL, ALLOCATABLE :: PTDISS (:,:,:) +REAL, ALLOCATABLE :: PEDR (:,:,:) +REAL, ALLOCATABLE :: PTPMF (:,:,:) +REAL, ALLOCATABLE :: PDRUS_TURB (:,:,:) +REAL, ALLOCATABLE :: PDRVS_TURB (:,:,:) +REAL, ALLOCATABLE :: PDRTHLS_TURB (:,:,:) +REAL, ALLOCATABLE :: PDRRTS_TURB (:,:,:) +REAL, ALLOCATABLE :: ZDRSVS_TURB (:,:,:,:) !(KLON,1,KLEV+2,KSV) !Expected values -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, 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) INTEGER :: NPROMA, NGPBLKS, NFLEVG INTEGER :: IBL, JLON, JLEV @@ -299,21 +299,21 @@ CALL TURB(PHYEX%CST, PHYEX%CSTURB, PHYEX%MISC%TBUCONF, PHYEX%TURBN, PHYEX%NEBN, & PHYEX%MISC%OOCEAN, PHYEX%MISC%ODEEPOC, PHYEX%MISC%ODIAG_IN_RUN, & & PHYEX%TURBN%CTURBLEN_CLOUD,PHYEX%MISC%CMICRO, & & PHYEX%MISC%PTSTEP,PHYEX%MISC%ZTFILE, & - & ZDXX(:,:,:,IBL),ZDYY(:,:,:,IBL),ZDZZ(:,:,:,IBL),ZDZX(:,:,:,IBL),ZDZY(:,:,:,IBL),ZZZ(:,:,:,IBL), & + & ZDXX(:,:,IBL),ZDYY(:,:,IBL),ZDZZ(:,:,IBL),ZDZX(:,:,IBL),ZDZY(:,:,IBL),ZZZ(:,:,IBL), & & ZDIRCOSXW,ZDIRCOSYW,ZDIRCOSZW,ZCOSSLOPE,ZSINSLOPE, & - & PRHODJ(:,:,:,IBL),PTHVREF(:,:,:,IBL), PHGRAD, PZS, & - & PSFTH(:,:,IBL),PSFRV(:,:,IBL),PSFSV(:,:,:,IBL),PSFU(:,:,IBL),PSFV(:,:,IBL), & - & PPABSM(:,:,:,IBL),PUM(:,:,:,IBL),PVM(:,:,:,IBL),PWM(:,:,:,IBL),PTKEM(:,:,:,IBL),ZSVM(:,:,:,:,IBL),PSRCM(:,:,:,IBL), & - & PLENGTHM(:,:,:,IBL),PLENGTHH(:,:,:,IBL),MFMOIST(:,:,:,IBL), & - & ZBL_DEPTH(:,:,IBL),ZSBL_DEPTH(:,:,IBL), & - & ZCEI(:,:,:,IBL),PHYEX%TURBN%XCEI_MIN,PHYEX%TURBN%XCEI_MAX,PHYEX%TURBN%XCOEF_AMPL_SAT, & - & PTHM(:,:,:,IBL),ZRM(:,:,:,:,IBL), & - & PRUS(:,:,:,IBL),PRVS(:,:,:,IBL),PRWS(:,:,:,IBL),PRTHS(:,:,:,IBL),ZRRS(:,:,:,:,IBL),ZRSVS(:,:,:,:,IBL),PRTKES_OUT(:,:,:,IBL), & - & PSIGS(:,:,:,IBL), & - & PFLXZTHVMF(:,:,:,IBL),ZWTH(:,:,:,IBL),ZWRC(:,:,:,IBL),ZWSV(:,:,:,:,IBL),PDP(:,:,:,IBL),PTP(:,:,:,IBL),PTDIFF(:,:,:,IBL),PTDISS(:,:,:,IBL),& - & PHYEX%MISC%YLBUDGET, KBUDGETS=PHYEX%MISC%NBUDGET,PEDR=PEDR(:,:,:,IBL),PTPMF=PTPMF(:,:,:,IBL),& - & PDRUS_TURB=PDRUS_TURB(:,:,:,IBL),PDRVS_TURB=PDRVS_TURB(:,:,:,IBL), & - & PDRTHLS_TURB=PDRTHLS_TURB(:,:,:,IBL),PDRRTS_TURB=PDRRTS_TURB(:,:,:,IBL),PDRSVS_TURB=ZDRSVS_TURB(:,:,:,:,IBL)) + & PRHODJ(:,:,IBL),PTHVREF(:,:,IBL), PHGRAD, PZS, & + & PSFTH(:,IBL),PSFRV(:,IBL),PSFSV(:,:,IBL),PSFU(:,IBL),PSFV(:,IBL), & + & PPABSM(:,:,IBL),PUM(:,:,IBL),PVM(:,:,IBL),PWM(:,:,IBL),PTKEM(:,:,IBL),ZSVM(:,:,:,IBL),PSRCM(:,:,IBL), & + & PLENGTHM(:,:,IBL),PLENGTHH(:,:,IBL),MFMOIST(:,:,IBL), & + & ZBL_DEPTH(:,IBL),ZSBL_DEPTH(:,IBL), & + & ZCEI(:,:,IBL),PHYEX%TURBN%XCEI_MIN,PHYEX%TURBN%XCEI_MAX,PHYEX%TURBN%XCOEF_AMPL_SAT, & + & PTHM(:,:,IBL),ZRM(:,:,:,IBL), & + & PRUS(:,:,IBL),PRVS(:,:,IBL),PRWS(:,:,IBL),PRTHS(:,:,IBL),ZRRS(:,:,:,IBL),ZRSVS(:,:,:,IBL),PRTKES_OUT(:,:,IBL), & + & PSIGS(:,:,IBL), & + & PFLXZTHVMF(:,:,IBL),ZWTH(:,:,IBL),ZWRC(:,:,IBL),ZWSV(:,:,:,IBL),PDP(:,:,IBL),PTP(:,:,IBL),PTDIFF(:,:,IBL),PTDISS(:,:,IBL),& + & PHYEX%MISC%YLBUDGET, KBUDGETS=PHYEX%MISC%NBUDGET,PEDR=PEDR(:,:,IBL),PTPMF=PTPMF(:,:,IBL),& + & PDRUS_TURB=PDRUS_TURB(:,:,IBL),PDRVS_TURB=PDRVS_TURB(:,:,IBL), & + & PDRTHLS_TURB=PDRTHLS_TURB(:,:,IBL),PDRRTS_TURB=PDRRTS_TURB(:,:,IBL),PDRSVS_TURB=ZDRSVS_TURB(:,:,:,IBL)) #ifdef _OPENACC ENDDO @@ -353,31 +353,31 @@ IF (LLCHECK .OR. LLSTAT .OR. LLCHECKDIFF) THEN PRINT *, " IBL = ", IBL DO JRR=1, KRR WRITE (CLTEXT, '("ZRM JRR=",I3.3)') JRR - CALL DIFF (CLTEXT, ZRM_OUT (:,:,:,JRR,IBL), ZRM (:,:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF (CLTEXT, ZRM_OUT (:,:,JRR,IBL), ZRM (:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) WRITE (CLTEXT, '("ZRRS JRR=",I3.3)') JRR - CALL DIFF (CLTEXT, ZRRS_OUT (:,:,:,JRR,IBL), ZRRS (:,:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF (CLTEXT, ZRRS_OUT (:,:,JRR,IBL), ZRRS (:,:,JRR,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) ENDDO - CALL DIFF ("ZBL_DEPTH ", ZBL_DEPTH_OUT (:,:,IBL) , ZBL_DEPTH (:,:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZSBL_DEPTH ", ZSBL_DEPTH_OUT (:,:,IBL) , ZSBL_DEPTH (:,:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PTHM ", PTHM_OUT (:,:,:,IBL), PTHM (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRUS ", PRUS_OUT (:,:,:,IBL), PRUS (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRVS ", PRVS_OUT (:,:,:,IBL), PRVS (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRWS ", PRWS_OUT (:,:,:,IBL), PRWS (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRTHS ", PRTHS_OUT (:,:,:,IBL), PRTHS (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PRTKES_OUT ", PRTKES_OUT_OUT (:,:,:,IBL), PRTKES_OUT (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PSIGS ", PSIGS_OUT (:,:,:,IBL), PSIGS (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZWTH ", ZWTH_OUT (:,:,:,IBL), ZWTH (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("ZWRC ", ZWRC_OUT (:,:,:,IBL), ZWRC (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PDP ", PDP_OUT (:,:,:,IBL), PDP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PTP ", PTP_OUT (:,:,:,IBL), PTP (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PTDIFF ", PTDIFF_OUT (:,:,:,IBL), PTDIFF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PTDISS ", PTDISS_OUT (:,:,:,IBL), PTDISS (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PEDR ", PEDR_OUT (:,:,:,IBL), PEDR (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PTPMF ", PTPMF_OUT (:,:,:,IBL), PTPMF (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PDRUS_TURB ", PDRUS_TURB_OUT (:,:,:,IBL), PDRUS_TURB (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PDRVS_TURB ", PDRVS_TURB_OUT (:,:,:,IBL), PDRVS_TURB (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PDRTHLS_TURB", PDRTHLS_TURB_OUT (:,:,:,IBL), PDRTHLS_TURB(:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) - CALL DIFF ("PDRRTS_TURB ", PDRRTS_TURB_OUT (:,:,:,IBL), PDRRTS_TURB (:,:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZBL_DEPTH ", ZBL_DEPTH_OUT (:,IBL) , ZBL_DEPTH (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZSBL_DEPTH ", ZSBL_DEPTH_OUT (:,IBL) , ZSBL_DEPTH (:,IBL) , LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PTHM ", PTHM_OUT (:,:,IBL), PTHM (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRUS ", PRUS_OUT (:,:,IBL), PRUS (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRVS ", PRVS_OUT (:,:,IBL), PRVS (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRWS ", PRWS_OUT (:,:,IBL), PRWS (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRTHS ", PRTHS_OUT (:,:,IBL), PRTHS (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PRTKES_OUT ", PRTKES_OUT_OUT (:,:,IBL), PRTKES_OUT (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PSIGS ", PSIGS_OUT (:,:,IBL), PSIGS (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZWTH ", ZWTH_OUT (:,:,IBL), ZWTH (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("ZWRC ", ZWRC_OUT (:,:,IBL), ZWRC (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDP ", PDP_OUT (:,:,IBL), PDP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PTP ", PTP_OUT (:,:,IBL), PTP (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PTDIFF ", PTDIFF_OUT (:,:,IBL), PTDIFF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PTDISS ", PTDISS_OUT (:,:,IBL), PTDISS (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PEDR ", PEDR_OUT (:,:,IBL), PEDR (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PTPMF ", PTPMF_OUT (:,:,IBL), PTPMF (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDRUS_TURB ", PDRUS_TURB_OUT (:,:,IBL), PDRUS_TURB (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDRVS_TURB ", PDRVS_TURB_OUT (:,:,IBL), PDRVS_TURB (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDRTHLS_TURB", PDRTHLS_TURB_OUT (:,:,IBL), PDRTHLS_TURB(:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) + CALL DIFF ("PDRRTS_TURB ", PDRRTS_TURB_OUT (:,:,IBL), PDRRTS_TURB (:,:,IBL), LLSTAT, LLCHECK, NPROMA, LLCHECKDIFF, LLDIFF) ENDDO ENDIF