diff --git a/src/MNH/deallocate_model1.f90 b/src/MNH/deallocate_model1.f90 index 3a3ca61530705ca3c607776b9f4153c6326f9379..f5c246beeab6c388fd4eb01ca5f0496d975e947c 100644 --- a/src/MNH/deallocate_model1.f90 +++ b/src/MNH/deallocate_model1.f90 @@ -5,7 +5,7 @@ !----------------------------------------------------------------- !--------------- special set of characters for RCS information !----------------------------------------------------------------- -! $Source$ $Revision$ +! $Source: /srv/cvsroot/MNH-VX-Y-Z/src/MNH/deallocate_model1.f90,v $ $Revision: 1.2.2.2.2.2.2.1.10.2.2.3 $ ! MASDEV4_7 spawn 2007/01/12 14:12:39 !----------------------------------------------------------------- !############################ @@ -69,6 +69,7 @@ END MODULE MODI_DEALLOCATE_MODEL1 !! 08/03/01 D.Gazen add chemical emission field !! 01/2004 V. Masson surface externalization !! 06/2012 M.Tomasini add 2D nesting ADVFRC +!! 10/2016 M.Mazoyer New KHKO output fields !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -90,7 +91,8 @@ USE MODD_PRECIP_n USE MODD_ELEC_n USE MODD_PASPOL_n USE MODD_RAIN_ICE_PARAM -USE MODD_RAIN_ICE_DESCR, ONLY : XRTMIN_ICE=>XRTMIN +USE MODD_RAIN_ICE_DESCR +USE MODD_PARAM_n , ONLY : CCLOUD USE MODE_MODELN_HANDLER ! ! Modif 2D @@ -104,11 +106,6 @@ USE MODD_RELFRC_n USE MODD_ADV_n USE MODD_PAST_FIELD_n USE MODD_TURB_n -! LIMA -!USE MODD_PARAM_LIMA_WARM -!USE MODD_LIMA_PRECIP_SCAVENGING_n -!USE MODD_PARAM_LIMA -!USE MODD_PARAM_LIMA_MIXED IMPLICIT NONE ! !* 0.1 declarations of arguments @@ -201,6 +198,12 @@ IF ( KCALL == 1 ) THEN DEALLOCATE(XRSVS_CLD) END IF ! +IF (CCLOUD == 'KHKO') THEN + DEALLOCATE(XSUPSAT) + DEALLOCATE(XNACT) + DEALLOCATE(XNPRO) + DEALLOCATE(XSSPRO) +END IF ! IF (ASSOCIATED(XDUMMY_GR_FIELDS) .AND. KCALL==3 ) THEN DEALLOCATE(XDUMMY_GR_FIELDS) @@ -517,8 +520,8 @@ END IF ! !* 14. Modules RAIN_ICE_DESCR and MODD_RAIN_ICE_PARAM ! -IF ( ALLOCATED(XRTMIN_ICE) .AND. KCALL == 4 ) THEN - DEALLOCATE( XRTMIN_ICE ) +IF ( ALLOCATED(XRTMIN) .AND. KCALL == 4 ) THEN + DEALLOCATE( XRTMIN ) DEALLOCATE( XGAMINC_RIM1 ) DEALLOCATE( XGAMINC_RIM2 ) DEALLOCATE( XKER_RACCSS ) @@ -543,52 +546,6 @@ IF ( KCALL==3 ) THEN IF (ASSOCIATED(XDISS)) DEALLOCATE(XDISS) IF (ASSOCIATED(XLEM)) DEALLOCATE(XLEM) END IF -! -!* 17. Module LIMA -! -!IF ( KCALL == 4 ) THEN -! IF (ALLOCATED(XHYPF12)) DEALLOCATE(XHYPF12 ) -! IF (ALLOCATED(XHYPF32)) DEALLOCATE(XHYPF32 ) -! IF (ALLOCATED(XAHENG)) DEALLOCATE(XAHENG ) -! IF (ALLOCATED(XPSI1)) DEALLOCATE(XPSI1 ) -! IF (ALLOCATED(XPSI3)) DEALLOCATE(XPSI3 ) -! IF (ALLOCATED(XAHENF)) DEALLOCATE(XAHENF ) -! IF (ALLOCATED(XAHENY)) DEALLOCATE(XAHENY ) -! IF (ALLOCATED(XCONCC_INI)) DEALLOCATE( XCONCC_INI) -! IF (ALLOCATED(XCONCR_PARAM_INI)) DEALLOCATE(XCONCR_PARAM_INI ) -! IF (ASSOCIATED(XINPAP)) DEALLOCATE(XINPAP) -! IF (ASSOCIATED(XACPAP)) DEALLOCATE(XACPAP) -! IF (ALLOCATED(NIMM)) DEALLOCATE( NIMM) -! IF (ALLOCATED(NINDICE_CCN_IMM)) DEALLOCATE(NINDICE_CCN_IMM ) -! IF (ALLOCATED(NSPECIE)) DEALLOCATE(NSPECIE ) -! IF (ALLOCATED(XMDIAM_IFN)) DEALLOCATE(XMDIAM_IFN ) -! IF (ALLOCATED(XSIGMA_IFN)) DEALLOCATE( XSIGMA_IFN) -! IF (ALLOCATED(XRHO_IFN)) DEALLOCATE(XRHO_IFN ) -! IF (ALLOCATED(XFRAC)) DEALLOCATE(XFRAC ) -! IF (ALLOCATED(XFRAC_REF)) DEALLOCATE(XFRAC_REF ) -! IF (ALLOCATED(XABSCISS)) DEALLOCATE(XABSCISS ) -! IF (ALLOCATED(XWEIGHT)) DEALLOCATE(XWEIGHT ) -! IF (ALLOCATED(XR_MEAN_CCN)) DEALLOCATE(XR_MEAN_CCN ) -! IF (ALLOCATED(XLOGSIG_CCN)) DEALLOCATE(XLOGSIG_CCN ) -! IF (ALLOCATED(XRHO_CCN)) DEALLOCATE(XRHO_CCN ) -! IF (ALLOCATED(XKHEN_MULTI)) DEALLOCATE(XKHEN_MULTI ) -! IF (ALLOCATED(XMUHEN_MULTI)) DEALLOCATE(XMUHEN_MULTI ) -! IF (ALLOCATED(XBETAHEN_MULTI)) DEALLOCATE(XBETAHEN_MULTI ) -! IF (ALLOCATED(XCONC_CCN_TOT)) DEALLOCATE(XCONC_CCN_TOT ) -! IF (ALLOCATED(XLIMIT_FACTOR)) DEALLOCATE(XLIMIT_FACTOR ) -! IF (ALLOCATED(XRTMIN)) DEALLOCATE(XRTMIN ) -! IF (ALLOCATED(XCTMIN)) DEALLOCATE(XCTMIN ) -! IF (ALLOCATED(XGAMINC_RIM1)) DEALLOCATE(XGAMINC_RIM1 ) -! IF (ALLOCATED(XGAMINC_RIM2)) DEALLOCATE( XGAMINC_RIM2) -! IF (ALLOCATED(XGAMINC_HMC)) DEALLOCATE(XGAMINC_HMC ) -! IF (ALLOCATED(XKER_RACCSS)) DEALLOCATE(XKER_RACCSS ) -! IF (ALLOCATED(XKER_RACCS)) DEALLOCATE(XKER_RACCS ) -! IF (ALLOCATED(XKER_SACCRG)) DEALLOCATE(XKER_SACCRG ) -! IF (ALLOCATED(XKER_SDRYG)) DEALLOCATE(XKER_SDRYG ) -! IF (ALLOCATED(XKER_RDRYG)) DEALLOCATE(XKER_RDRYG ) -! IF (ALLOCATED(XKER_SWETH)) DEALLOCATE(XKER_SWETH ) -! IF (ALLOCATED(XKER_GWETH)) DEALLOCATE(XKER_GWETH ) -!ENDIF !------------------------------------------------------------------------------- ! CALL GOTO_MODEL(IMI) diff --git a/src/MNH/khko_notadjust.f90 b/src/MNH/khko_notadjust.f90 index ce3bddcccceb8ed609f4bb9246148069f91faae5..d4b667566b0361547633198cf8745855678d0e8d 100644 --- a/src/MNH/khko_notadjust.f90 +++ b/src/MNH/khko_notadjust.f90 @@ -5,7 +5,8 @@ !----------------------------------------------------------------- !--------------- special set of characters for RCS information !----------------------------------------------------------------- -! $Source$ $Revision$ +! $Source: /home/cvsroot/MNH-VX-Y-Z/src/MNH/Attic/khko_notadjust.f90,v $ $Revision: 1.1.2.1.2.1 $ +! MASDEV4_7 microph 2007/03/23 11:52:41 !----------------------------------------------------------------- ! ########################## MODULE MODI_KHKO_NOTADJUST @@ -17,7 +18,7 @@ INTERFACE PTSTEP, PRHODJ, PPABSM, PPABST, PRHODREF, PZZ, & PTHT,PRVT,PRCT,PRRT, & PTHS, PRVS, PRCS, PRRS, PCCS, PCNUCS, PSAT, & - PCLDFR, PSRCS ) + PCLDFR, PSRCS, PNPRO,PSSPRO ) ! INTEGER, INTENT(IN) :: KRR ! Number of moist variables @@ -49,6 +50,8 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PRRS ! Rain water m.r. source ! the nucleation param. REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCCS ! Cloud water conc. source REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCNUCS ! Nucl. aero. conc. source +REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PNPRO ! Nucl. aero. conc. source +REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSSPRO ! Nucl. aero. conc. source REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSAT ! Super saturation source REAL, DIMENSION(:,:,:), INTENT(OUT) :: PSRCS ! Second-order flux ! s'rc'/2Sigma_s2 at time t+1 @@ -67,7 +70,7 @@ END MODULE MODI_KHKO_NOTADJUST PTSTEP, PRHODJ, PPABSM, PPABST, PRHODREF, PZZ, & PTHT,PRVT,PRCT,PRRT, & PTHS, PRVS, PRCS, PRRS, PCCS, PCNUCS, PSAT, & - PCLDFR, PSRCS ) + PCLDFR, PSRCS, PNPRO,PSSPRO ) ! ################################################################################ ! !!**** * - compute pseudo-prognostic of supersaturation according to Thouron @@ -92,6 +95,8 @@ END MODULE MODI_KHKO_NOTADJUST !! MODIFICATIONS !! ------------- !! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 +!! M.Mazoyer : 04/16 : New dummy arguments +!! M.Mazoyer : 10/2016 New KHKO output fields !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -144,6 +149,8 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PRRS ! Rain water m.r. source ! the nucleation param. REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCCS ! Cloud water conc. source REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCNUCS ! Nucl. aero. conc. source +REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PNPRO ! Nucl. aero. conc. source +REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSSPRO ! Nucl. aero. conc. source REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSAT ! pseudo-prognostic S REAL, DIMENSION(:,:,:), INTENT(OUT) :: PSRCS ! Second-order flux ! s'rc'/2Sigma_s2 at time t+1 @@ -377,6 +384,11 @@ END IF IF ( HRAD /= 'NONE' ) THEN PCLDFR(:,:,:) = ZW1(:,:,:) END IF +! + PSSPRO(:,:,:) = 0.0 + PSSPRO(:,:,:) = ZWORK(:,:,:) + PNPRO(:,:,:) = 0.0 + PNPRO(:,:,:) = ZACT(:,:,:) ! IF ( OCLOSE_OUT ) THEN ILENCH=LEN(YCOMMENT) diff --git a/src/MNH/modd_fieldn.f90 b/src/MNH/modd_fieldn.f90 index fb2ab36a8452bf79e2e8cf187807455cc1b12c36..1af0368756c539a2b8aed9f11f38a2b686634de5 100644 --- a/src/MNH/modd_fieldn.f90 +++ b/src/MNH/modd_fieldn.f90 @@ -5,7 +5,7 @@ !----------------------------------------------------------------- !--------------- special set of characters for RCS information !----------------------------------------------------------------- -! $Source$ $Revision$ +! $Source: /home/cvsroot/MNH-VX-Y-Z/src/MNH/modd_fieldn.f90,v $ $Revision: 1.2.4.1.18.2 $ ! MASDEV4_7 modd 2006/06/27 14:17:24 !----------------------------------------------------------------- ! ################### @@ -52,6 +52,7 @@ !! add pressure contribution to the tendencies for !! momentum (noted _PRES) + microphysics contrib !! for Theta and r (noted _CLD) +!! 04/16 (M.Mazoyer) New supersaturation fields !! !------------------------------------------------------------------------------- ! @@ -70,6 +71,14 @@ TYPE FIELD_t REAL, DIMENSION(:,:,:), POINTER :: XTHT=>NULL() ! (rho theta) at time t REAL, DIMENSION(:,:,:), POINTER :: XRTHS=>NULL() ! Source of (rho theta) REAL, DIMENSION(:,:,:), POINTER :: XRTHS_CLD=>NULL() ! Source of (rho theta) from resolved_cloud + REAL, DIMENSION(:,:,:), POINTER :: XSUPSAT=>NULL() ! Sursat + ! at time t + REAL, DIMENSION(:,:,:), POINTER :: XNACT=>NULL() ! Sursat + ! at time t + REAL, DIMENSION(:,:,:), POINTER :: XNPRO=>NULL() ! Sursat + ! at time t + REAL, DIMENSION(:,:,:), POINTER :: XSSPRO=>NULL() ! Sursat + ! at time t REAL, DIMENSION(:,:,:), POINTER :: XTKET=>NULL() ! Kinetic energy ! at time t REAL, DIMENSION(:,:,:), POINTER :: XRTKES=>NULL() ! Source of kinetic energy @@ -109,6 +118,10 @@ REAL, DIMENSION(:,:,:), POINTER :: XRUS_PRES=>NULL(),XRVS_PRES=>NULL(),XRWS_PRES REAL, DIMENSION(:,:,:), POINTER :: XTHT=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XRTHS=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XRTHS_CLD=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XSUPSAT=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XNACT=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XNPRO=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XSSPRO=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XTKET=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XRTKES=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XPABST=>NULL() @@ -147,6 +160,10 @@ FIELD_MODEL(KFROM)%XRWS_PRES=>XRWS_PRES FIELD_MODEL(KFROM)%XTHT=>XTHT FIELD_MODEL(KFROM)%XRTHS=>XRTHS FIELD_MODEL(KFROM)%XRTHS_CLD=>XRTHS_CLD +FIELD_MODEL(KFROM)%XSUPSAT=>XSUPSAT +FIELD_MODEL(KFROM)%XNACT=>XNACT +FIELD_MODEL(KFROM)%XNPRO=>XNPRO +FIELD_MODEL(KFROM)%XSSPRO=>XSSPRO FIELD_MODEL(KFROM)%XTKET=>XTKET FIELD_MODEL(KFROM)%XRTKES=>XRTKES FIELD_MODEL(KFROM)%XPABST=>XPABST @@ -178,6 +195,10 @@ XRWS_PRES=>FIELD_MODEL(KTO)%XRWS_PRES XTHT=>FIELD_MODEL(KTO)%XTHT XRTHS=>FIELD_MODEL(KTO)%XRTHS XRTHS_CLD=>FIELD_MODEL(KTO)%XRTHS_CLD +XSUPSAT=>FIELD_MODEL(KTO)%XSUPSAT +XNACT=>FIELD_MODEL(KTO)%XNACT +XSSPRO=>FIELD_MODEL(KTO)%XSSPRO +XNPRO=>FIELD_MODEL(KTO)%XNPRO XTKET=>FIELD_MODEL(KTO)%XTKET XRTKES=>FIELD_MODEL(KTO)%XRTKES XPABST=>FIELD_MODEL(KTO)%XPABST diff --git a/src/MNH/write_lfin.f90 b/src/MNH/write_lfin.f90 index 584b5d51a057f385e81aa60f11032009a43c6e05..b982a8a35b2f5b37382b6e388b64a1a6787a6f1d 100644 --- a/src/MNH/write_lfin.f90 +++ b/src/MNH/write_lfin.f90 @@ -163,6 +163,7 @@ END MODULE MODI_WRITE_LFIFM_n !! P. Tulet & M. Leriche Nov 2015 add mean pH value in the rain at the surface !! J.escobar 04/08/2015 suit Pb with writ_lfin JSA increment , modif in ini_nsv to have good order initialization !! Modification 01/2016 (JP Pinty) Add LIMA +!! M.Mazoyer 04/16 : Add supersaturation fields !! !------------------------------------------------------------------------------- ! @@ -221,7 +222,7 @@ USE MODD_FOREFIRE USE MODD_CONDSAMP USE MODD_CH_AEROSOL USE MODD_PAST_FIELD_n -USE MODD_ADV_n, ONLY: CUVW_ADV_SCHEME,XRTKEMS +USE MODD_ADV_n, ONLY: CUVW_ADV_SCHEME,XRTKEMS,CTEMP_SCHEME USE MODD_ELEC_FLASH ! USE MODD_PARAM_LIMA , ONLY: NMOD_CCN, LSCAV, LAERO_MASS, & @@ -260,6 +261,7 @@ USE MODD_2D_FRC ! Ajout PP USE MODD_ADVFRC_n ! Modif PP ADV FRC USE MODD_RELFRC_n ! +USE MODD_PARAM_C2R2 ! IMPLICIT NONE ! @@ -689,7 +691,7 @@ CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XTHT,IGRID,ILENCH,YCOMMENT,IRESP) ! !* 1.4.2 Time t-dt: -IF ( CUVW_ADV_SCHEME == 'CEN4TH' ) THEN +IF ( (CUVW_ADV_SCHEME == 'CEN4TH') .AND. (CTEMP_SCHEME == 'LEFR') ) THEN YRECFM='UM' YCOMMENT='X_Y_Z_U component of wind (m/s)' IGRID=2 @@ -740,12 +742,18 @@ IF (MEAN_COUNT /= 0) THEN CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! YRECFM='U2ME' - YCOMMENT='X_Y_Z_U component of mean wind (m/s)' + YCOMMENT='X_Y_Z_U component of mean wind variance(m2/s2)' IGRID=2 ILENCH=LEN(YCOMMENT) ZWORK3D = XU2_MEAN/MEAN_COUNT-XUM_MEAN**2/MEAN_COUNT**2 CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! + YRECFM='UMMA' + YCOMMENT='X_Y_Z_U component of max wind (m/s)' + IGRID=2 + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XUM_MAX,IGRID,ILENCH,YCOMMENT,IRESP) +! YRECFM='VMME' YCOMMENT='X_Y_Z_V component of mean wind (m/s)' IGRID=3 @@ -754,12 +762,18 @@ IF (MEAN_COUNT /= 0) THEN CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! YRECFM='V2ME' - YCOMMENT='X_Y_Z_V component of mean wind (m/s)' + YCOMMENT='X_Y_Z_V component of mean wind variance (m2/s2)' IGRID=3 ILENCH=LEN(YCOMMENT) ZWORK3D = XV2_MEAN/MEAN_COUNT-XVM_MEAN**2/MEAN_COUNT**2 CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! + YRECFM='VMMA' + YCOMMENT='X_Y_Z_V component of max wind (m/s)' + IGRID=3 + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XVM_MAX,IGRID,ILENCH,YCOMMENT,IRESP) +! YRECFM='WMME' YCOMMENT='X_Y_Z_vertical mean wind (m/s)' IGRID=4 @@ -768,12 +782,18 @@ IF (MEAN_COUNT /= 0) THEN CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! YRECFM='W2ME' - YCOMMENT='X_Y_Z_vertical mean wind (m/s)' + YCOMMENT='X_Y_Z_vertical mean wind variance(m2/s2)' IGRID=4 ILENCH=LEN(YCOMMENT) ZWORK3D = XW2_MEAN/MEAN_COUNT-XWM_MEAN**2/MEAN_COUNT**2 CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! + YRECFM='WMMA' + YCOMMENT='X_Y_Z_vertical max wind (m/s)' + IGRID=4 + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XWM_MAX,IGRID,ILENCH,YCOMMENT,IRESP) + ! YRECFM='THMME' YCOMMENT='X_Y_Z_mean potential temperature (K)' IGRID=1 @@ -782,26 +802,38 @@ IF (MEAN_COUNT /= 0) THEN CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! YRECFM='TH2ME' - YCOMMENT='X_Y_Z_mean potential temperature (K)' + YCOMMENT='X_Y_Z_mean potential temperature variance (K2)' IGRID=1 ILENCH=LEN(YCOMMENT) ZWORK3D = XTH2_MEAN/MEAN_COUNT-XTHM_MEAN**2/MEAN_COUNT**2 CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! + YRECFM='THMMA' + YCOMMENT='X_Y_Z_max potential temperature (K)' + IGRID=1 + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XTHM_MAX,IGRID,ILENCH,YCOMMENT,IRESP) + ! YRECFM='TEMPMME' - YCOMMENT='X_Y_Z_mean potential temperature (K)' + YCOMMENT='X_Y_Z_mean temperature (K)' IGRID=1 ILENCH=LEN(YCOMMENT) ZWORK3D= XTEMPM_MEAN/MEAN_COUNT CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! YRECFM='TEMP2ME' - YCOMMENT='X_Y_Z_mean potential temperature (K)' + YCOMMENT='X_Y_Z_mean temperature variance (K2)' IGRID=1 ILENCH=LEN(YCOMMENT) ZWORK3D = XTEMP2_MEAN/MEAN_COUNT-XTEMPM_MEAN**2/MEAN_COUNT**2 CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! + YRECFM='TEMPMMA' + YCOMMENT='X_Y_Z_max temperature (K)' + IGRID=1 + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XTEMPM_MAX,IGRID,ILENCH,YCOMMENT,IRESP) + ! YRECFM='PABSMME' YCOMMENT='X_Y_Z_mean ABSolute Pressure (Pa)' IGRID=1 @@ -810,18 +842,32 @@ IF (MEAN_COUNT /= 0) THEN CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! YRECFM='PABS2ME' - YCOMMENT='X_Y_Z_mean ABSolute Pressure (Pa)' + YCOMMENT='X_Y_Z_mean ABSolute Pressure variance(Pa2)' IGRID=1 ILENCH=LEN(YCOMMENT) ZWORK3D = XPABS2_MEAN/MEAN_COUNT-XPABSM_MEAN**2/MEAN_COUNT**2 CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) ! - YRECFM='TKEMME' - YCOMMENT='X_Y_Z_mean ABSolute Pressure (Pa)' + YRECFM='PABSMMA' + YCOMMENT='X_Y_Z_max ABSolute Pressure (Pa)' IGRID=1 ILENCH=LEN(YCOMMENT) - ZWORK3D= XTKEM_MEAN/MEAN_COUNT - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XPABSM_MAX,IGRID,ILENCH,YCOMMENT,IRESP) +! + IF (CTURB /= 'NONE') THEN + YRECFM='TKEMME' + YCOMMENT='X_Y_Z_mean kinetic energy (m2/s2)' + IGRID=1 + ILENCH=LEN(YCOMMENT) + ZWORK3D= XTKEM_MEAN/MEAN_COUNT + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,ZWORK3D,IGRID,ILENCH,YCOMMENT,IRESP) +! + YRECFM='TKEMMA' + YCOMMENT='X_Y_Z_max kinetic energy (m2/s2)' + IGRID=1 + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XTKEM_MAX,IGRID,ILENCH,YCOMMENT,IRESP) + END IF ! END IF ! @@ -1204,6 +1250,34 @@ IF (NSV >=1) THEN JSA=JSA+1 END DO END IF +! + IF ( ((CCLOUD == 'KHKO') .OR.(CCLOUD == 'C2R2')) .AND. (.NOT. LSUPSAT)) THEN + YRECFM= 'SUPSATMAX' + YCOMMENT='X_Y_Z_Supersaturation' + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XSUPSAT(:,:,:),IGRID,ILENCH, & + YCOMMENT,IRESP) +! + YRECFM= 'NACT' + YCOMMENT='X_Y_Z_Nact' + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XNACT(:,:,:),IGRID,ILENCH, & + YCOMMENT,IRESP) + END IF + IF ( ((CCLOUD == 'KHKO') .OR.(CCLOUD == 'C2R2')) .AND. LSUPSAT) THEN + YRECFM= 'SSPRO' + YCOMMENT='X_Y_Z_Supersaturation' + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XSSPRO(:,:,:),IGRID,ILENCH, & + YCOMMENT,IRESP) +! + YRECFM= 'NPRO' + YCOMMENT='X_Y_Z_Nact' + ILENCH=LEN(YCOMMENT) + CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XNPRO(:,:,:),IGRID,ILENCH, & + YCOMMENT,IRESP) + END IF +! #ifdef MNH_FOREFIRE ! ForeFire scalar variables IF ( LFOREFIRE ) THEN