Hi all,
I am using observation data for model verification. The HadISD stations has 2-m dew point temperature but CLM does not output this variable now.
Maybe I could modify the code in HumanIndexMod.F90 to output it. The idea is that HumanIndexMod.F90,
real(r8) :: alpha = 17.67_r8 ! Constant to calculate vapour pressure
real(r8) :: beta = 243.5_r8 ! Constant to calculate vapour pressure
real(r8) :: epsilon = 0.6220_r8 ! Conversion between pressure/mixing ratio
real(r8) :: p0 = 1000._r8 ! surface pressure (mb)
real(r8) :: es_C = 6.112_r8 ! Vapor Pressure at Freezing STD (mb)
real(r8), intent(in) :: T_k ! temperature (K)
es_mb = es_C*exp(alpha*(T_k - Cf)/(tcfbdiff)) ! vapor presure
es = epsilon * es_mb / (p0 - epsilon * es_mb)
T_d = (beta * LOG(es / es_C)) / (alpha - LOG(es / es_C)) ! dew point temperature
Does it make sense? Thanks for the comments.
Best,
Yuan
I am using observation data for model verification. The HadISD stations has 2-m dew point temperature but CLM does not output this variable now.
Maybe I could modify the code in HumanIndexMod.F90 to output it. The idea is that HumanIndexMod.F90,
real(r8) :: alpha = 17.67_r8 ! Constant to calculate vapour pressure
real(r8) :: beta = 243.5_r8 ! Constant to calculate vapour pressure
real(r8) :: epsilon = 0.6220_r8 ! Conversion between pressure/mixing ratio
real(r8) :: p0 = 1000._r8 ! surface pressure (mb)
real(r8) :: es_C = 6.112_r8 ! Vapor Pressure at Freezing STD (mb)
real(r8), intent(in) :: T_k ! temperature (K)
es_mb = es_C*exp(alpha*(T_k - Cf)/(tcfbdiff)) ! vapor presure
es = epsilon * es_mb / (p0 - epsilon * es_mb)
T_d = (beta * LOG(es / es_C)) / (alpha - LOG(es / es_C)) ! dew point temperature
Does it make sense? Thanks for the comments.
Best,
Yuan