diff --git a/src/MNH/condensation.f90 b/src/MNH/condensation.f90 index b86c5b1af9b4aef2ab08735dfe4d4fa5dab5ca07..13c9bdcd2dcfc3702f2c8b216e7682add5bf0ed0 100644 --- a/src/MNH/condensation.f90 +++ b/src/MNH/condensation.f90 @@ -103,6 +103,10 @@ END MODULE MODI_CONDENSATION !! modified : 21.3.2002 !! S.Malardel : 05.2006 : Correction sur le calcul de la fonction de !! Bougeault F2 +!! W. de Rooy: 06-06-2010: Modification in the statistical cloud scheme +!! more specifically adding a variance term +!! following ideas of Lenderink & Siebesma 2002 +!! and adding a height dependence !! S. Riette, 18 May 2010 : PSIGQSAT is added !! S. Riette, 11 Oct 2011 : MIN function in PDF for continuity !! modification of minimum value for Rc+Ri to create cloud and minimum value for sigma @@ -111,6 +115,7 @@ END MODULE MODI_CONDENSATION !! Set ZCOND to zero if PCLDFR==0 !! Safety limitation to .99*Pressure for saturation vapour pressure !! 2012-02 Y. Seity, add possibility to run with reversed vertical levels +!! 2015 C.Lac Change min value of ZSIGMA to be in agreement with AROME !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -316,7 +321,8 @@ DO JK=IKTB,IKTE ZA*ZA*ZDRW*ZDRW - 2.*ZA*ZB*ZDRW*ZDTL + ZB*ZB*ZDTL*ZDTL) + & ZSIG_CONV * ZSIG_CONV ) ) END IF - ZSIGMA= MAX( 1.E-10, ZSIGMA ) +! ZSIGMA= MAX( 1.E-10, ZSIGMA ) + ZSIGMA= MAX( 1.E-12, ZSIGMA ) ! normalized saturation deficit ZQ1 = ZSBAR/ZSIGMA diff --git a/src/MNH/ini_rain_ice.f90 b/src/MNH/ini_rain_ice.f90 index d9c05a01b6189909f43660d78aa03ea1cef22bb2..6987cf57c4de21c42926eeecb0e500940b659997 100644 --- a/src/MNH/ini_rain_ice.f90 +++ b/src/MNH/ini_rain_ice.f90 @@ -571,9 +571,11 @@ XEX1DEPH = XCXH-0.5*(XDH+3.0) ! XTIMAUTI = 1.E-3 ! Time constant at T=T_t XTEXAUTI = 0.015 ! Temperature factor of the I+I collection efficiency -!!XCRIAUTI = 0.25E-3 ! Critical ice content for the autoconversion to occur XCRIAUTI = 0.2E-4 ! Critical ice content for the autoconversion to occur - ! Revised value by Chaboureau et al. (2001) + ! Revised value by Chaboureau and Pinty (2006) +XACRIAUTI = 0.06 +XBCRIAUTI = -3.5 +XT0CRIAUTI= (LOG10(XCRIAUTI)-XBCRIAUTI)/0.06 ! GFLAG = .TRUE. IF (GFLAG) THEN @@ -581,6 +583,10 @@ IF (GFLAG) THEN WRITE(UNIT=KLUOUT,FMT='(" Time constant XTIMAUTI=",E13.6)') XTIMAUTI WRITE(UNIT=KLUOUT,FMT='(" Temp. factor XTEXAUTI=",E13.6)') XTEXAUTI WRITE(UNIT=KLUOUT,FMT='(" Crit. ice cont. XCRIAUTI=",E13.6)') XCRIAUTI + WRITE(UNIT=KLUOUT,FMT='(" A Coef. for cirrus law XACRIAUTI=",E13.6)') XACRIAUTI + WRITE(UNIT=KLUOUT,FMT='(" B Coef. for cirrus law XBCRIAUTI=",E13.6)') XBCRIAUTI + WRITE(UNIT=KLUOUT,FMT='(" Temp degC at which cirrus law starts to be & + used=",E13.6)') XT0CRIAUTI END IF ! ! diff --git a/src/MNH/modd_rain_ice_param.f90 b/src/MNH/modd_rain_ice_param.f90 index 3609414cbf40e75cf27afaf8248fdd6787f4bd37..e2bbaac43620fd353db2b5efe0ee8b78cbe8f953 100644 --- a/src/MNH/modd_rain_ice_param.f90 +++ b/src/MNH/modd_rain_ice_param.f90 @@ -64,8 +64,8 @@ REAL,SAVE :: XSCFAC, & ! Constants for raindrop X0DEPS,X1DEPS,XEX0DEPS,XEX1DEPS, & ! on S and X0DEPG,X1DEPG,XEX0DEPG,XEX1DEPG ! on G ! -REAL,SAVE :: XTIMAUTI,XTEXAUTI, & ! Constants for pristine ice - XCRIAUTI ! autoconversion : AUT +REAL,SAVE :: XTIMAUTI,XTEXAUTI,XCRIAUTI, & ! Constants for pristine ice + XT0CRIAUTI,XACRIAUTI,XBCRIAUTI ! autoconversion : AUT ! REAL,SAVE :: XCOLIS,XCOLEXIS, & ! Constants for snow XFIAGGS, & ! aggregation : AGG diff --git a/src/MNH/rain_ice.f90 b/src/MNH/rain_ice.f90 index b746dd739640bfd81989d50f27a5d897ec98ddce..a93ff52d24b9b63614d4f55dd70e0fec81ca462f 100644 --- a/src/MNH/rain_ice.f90 +++ b/src/MNH/rain_ice.f90 @@ -150,7 +150,7 @@ END MODULE MODI_RAIN_ICE !! XCI ! Ci (solid) !! XTT ! Triple point temperature !! XLVTT ! Vaporization heat constant -!! XALPW,XBETAW,XGAMW ! Constants for saturation vapor pressure +!! XALPW,XBETAW,XGAMW ! Constants for saturation vapor pressure/home/cnrm_other/ge/mrmh/riette/pack/20151118_phasage_MNH/src/main/mpa/micro/internals/rain_ice.F90 !! function over liquid water !! XALPI,XBETAI,XGAMI ! Constants for saturation vapor pressure !! function over solid ice @@ -241,6 +241,7 @@ END MODULE MODI_RAIN_ICE !! reproducibility !! (S. Riette) Oct 2010 Better vectorisation of RAIN_ICE_SEDIMENTATION_STAT !! (Y. Seity), 02-2012 add possibility to run with reversed vertical levels +!! (S. Riette) Nov 2013 Protection against null sigma !! Juan 24/09/2012: for BUG Pgi rewrite PACK function on mode_pack_pgi !! (C. Lac) FIT temporal scheme : instant M removed !! (JP Pinty), 01-2014 : ICE4 : partial reconversion of hail to graupel @@ -541,7 +542,7 @@ IF( IMICRO >= 0 ) THEN IF ( KRR == 7 ) ZRHT(JL) = PRHT(I1(JL),I2(JL),I3(JL)) ZCIT(JL) = PCIT(I1(JL),I2(JL),I3(JL)) IF ( HSUBG_AUCV == 'SIGM') THEN - ZSIGMA_RC(JL) = PSIGS(I1(JL),I2(JL),I3(JL)) * 2. + ZSIGMA_RC(JL) = MAX(PSIGS(I1(JL),I2(JL),I3(JL)) * 2., 1.E-12) ELSE IF ( HSUBG_AUCV == 'CLFR') THEN ZCF(JL) = PCLDFR(I1(JL),I2(JL),I3(JL)) END IF @@ -2012,7 +2013,7 @@ IMPLICIT NONE !* 3.4.5 compute the autoconversion of r_i for r_s production: RIAUTS ! ALLOCATE(ZCRIAUTI(IMICRO)) - ZCRIAUTI(:)=MIN(XCRIAUTI,10**(0.06*(ZZT(:)-XTT)-3.5)) + ZCRIAUTI(:)=MIN(XCRIAUTI,10**(XACRIAUTI*(ZZT(:)-XTT)+XBCRIAUTI)) ZZW(:) = 0.0 WHERE ( (ZRIT(:)>XRTMIN(4)) .AND. (ZRIS(:)>0.0) ) ZZW(:) = MIN( ZRIS(:),XTIMAUTI * EXP( XTEXAUTI*(ZZT(:)-XTT) ) &