Closed ekluzek closed 5 years ago
Erik Kluzek < erik > - 2011-01-04 16:15:43 -0700
The same problem is in:
BalanceCheckMod BioPhysics1Mod BioPhysicsLakeMod
as well.
Erik Kluzek < erik > - 2011-01-04 16:24:09 -0700
Also in UrbanMod and BareGroundFluxesMod.
Erik Kluzek < erik > - 2011-01-04 17:42:44 -0700
Comment from Keith...
Yes, looks like the comment(s) is wrong. The comment in clm_atmlnd.F90 is also wrong: real(r8), pointer :: qflx_evap_tot(:)!qflx_evap(_soi + _veg) + qflx_tran_veg The long_name(s) for QFLX_EVAP_TOT in histFldsMod.F90 is wrong as well.
qflx_evap_veg is the sum of evaporation of canopy intercepted water (qflx_evap_can) and transpiration (qflx_tran_veg).
So, could change it to:
qflx_evap_tot = qflx_evap_soi + qflx_evap_can + qflx_tran_veg
or:
qflx_evap_tot = qflx_evap_soi + qflx_evap_veg
I would prefer the first definition.
Keith
Erik Kluzek < erik > - 2011-01-07 16:48:23 -0700
OK, so here are the changes in the documentation for qflx_evap_tot to go in...
[yong:lnd/clm/src] erik% svn diff
Index: main/clm_atmlnd.F90
===================================================================
--- main/clm_atmlnd.F90 (revision 26281)
+++ main/clm_atmlnd.F90 (working copy)
@@ -74,7 +74,7 @@
real(r8), pointer :: eflx_lh_tot(:) !total latent HF (W/m**2) [+ to atm]
real(r8), pointer :: eflx_sh_tot(:) !total sensible HF (W/m**2) [+ to atm]
real(r8), pointer :: eflx_lwrad_out(:) !IR (longwave) radiation (W/m**2)
- real(r8), pointer :: qflx_evap_tot(:)!qflx_evap(_soi + _veg) + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:)!qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: fsa(:) !solar rad absorbed (total) (W/m**2)
real(r8), pointer :: nee(:) !net CO2 flux (kg CO2/m**2/s) [+ to atm]
real(r8), pointer :: ram1(:) !aerodynamical resistance (s/m)
Index: main/clmtype.F90
===================================================================
--- main/clmtype.F90 (revision 26281)
+++ main/clmtype.F90 (working copy)
@@ -669,7 +669,7 @@
real(r8), pointer :: qflx_tran_veg(:) !vegetation transpiration (mm H2O/s) (+ = to atm)
real(r8), pointer :: qflx_evap_can(:) !evaporation from leaves and stems
real(r8), pointer :: qflx_evap_soi(:) !soil evaporation (mm H2O/s) (+ = to atm)
- real(r8), pointer :: qflx_evap_tot(:) !qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) !qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: qflx_evap_grnd(:) !ground surface evaporation rate (mm H2O/s) [+]
real(r8), pointer :: qflx_dew_grnd(:) !ground surface dew formation (mm H2O /s) [+]
real(r8), pointer :: qflx_sub_snow(:) !sublimation rate from snow pack (mm H2O /s) [+]
Index: main/histFldsMod.F90
===================================================================
--- main/histFldsMod.F90 (revision 26281)
+++ main/histFldsMod.F90 (working copy)
@@ -4416,7 +4416,7 @@
ptr_pft=clm3%g%l%c%p%pwf%qflx_evap_veg, default='inactive')
call hist_addfld1d (fname='QFLX_EVAP_TOT', units='mm H2O/s', &
- avgflag='A', long_name='qflx_evap_soi + qflx_evap_veg + qflx_tran_veg', &
+ avgflag='A', long_name='qflx_evap_soi + qflx_evap_can + qflx_tran_veg', &
ptr_pft=clm3%g%l%c%p%pwf%qflx_evap_tot, default='inactive', c2l_scale_type='urbanf')
call hist_addfld1d (fname='QFLX_DEW_GRND', units='mm H2O/s', &
Index: biogeophys/BalanceCheckMod.F90
===================================================================
--- biogeophys/BalanceCheckMod.F90 (revision 26281)
+++ biogeophys/BalanceCheckMod.F90 (working copy)
@@ -218,7 +218,7 @@
real(r8), pointer :: eflx_dynbal(:) ! energy conversion flux due to dynamic land cover change(W/m**2) [+ to atm]
real(r8), pointer :: eflx_lh_tot(:) ! total latent heat flux (W/m8*2) [+ to atm]
real(r8), pointer :: eflx_soil_grnd(:) ! soil heat flux (W/m**2) [+ = into soil]
- real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: qflx_irrig(:) ! irrigation flux (mm H2O /s)
real(r8), pointer :: qflx_surf(:) ! surface runoff (mm H2O /s)
real(r8), pointer :: qflx_qrgwl(:) ! qflx_surf at glaciers, wetlands, lakes
Index: biogeophys/Biogeophysics1Mod.F90
===================================================================
--- biogeophys/Biogeophysics1Mod.F90 (revision 26281)
+++ biogeophys/Biogeophysics1Mod.F90 (working copy)
@@ -174,7 +174,7 @@
real(r8), pointer :: eflx_lh_tot_u(:) !urban total latent heat flux (W/m**2) [+ to atm]
real(r8), pointer :: eflx_lh_tot_r(:) !rural total latent heat flux (W/m**2) [+ to atm]
real(r8), pointer :: eflx_sh_veg(:) !sensible heat flux from leaves (W/m**2) [+ to atm]
- real(r8), pointer :: qflx_evap_tot(:) !qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) !qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: qflx_evap_veg(:) !vegetation evaporation (mm H2O/s) (+ = to atm)
real(r8), pointer :: qflx_tran_veg(:) !vegetation transpiration (mm H2O/s) (+ = to atm)
real(r8), pointer :: cgrnd(:) !deriv. of soil energy flux wrt to soil temp [w/m2/k]
Index: biogeophys/Biogeophysics2Mod.F90
===================================================================
--- biogeophys/Biogeophysics2Mod.F90 (revision 26281)
+++ biogeophys/Biogeophysics2Mod.F90 (working copy)
@@ -158,7 +158,7 @@
real(r8), pointer :: eflx_sh_tot(:) ! total sensible heat flux (W/m**2) [+ to atm]
real(r8), pointer :: eflx_sh_tot_u(:) ! urban total sensible heat flux (W/m**2) [+ to atm]
real(r8), pointer :: eflx_sh_tot_r(:) ! rural total sensible heat flux (W/m**2) [+ to atm]
- real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: eflx_lh_tot(:) ! total latent heat flux (W/m**2) [+ to atm]
real(r8), pointer :: eflx_lh_tot_u(:) ! urban total latent heat flux (W/m**2) [+ to atm]
real(r8), pointer :: eflx_lh_tot_r(:) ! rural total latent heat flux (W/m**2) [+ to atm]
Index: biogeophys/Hydrology2Mod.F90
===================================================================
--- biogeophys/Hydrology2Mod.F90 (revision 26281)
+++ biogeophys/Hydrology2Mod.F90 (working copy)
@@ -114,7 +114,7 @@
real(r8), pointer :: forc_rain(:) ! rain rate [mm/s]
real(r8), pointer :: forc_snow(:) ! snow rate [mm/s]
real(r8), pointer :: begwb(:) ! water mass begining of the time step
- real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: bsw2(:,:) ! Clapp and Hornberger "b" for CN code
real(r8), pointer :: psisat(:,:) ! soil water potential at saturation for CN code (MPa)
real(r8), pointer :: vwcsat(:,:) ! volumetric water content at saturation for CN code (m3/m3)
Index: biogeophys/BiogeophysicsLakeMod.F90
===================================================================
--- biogeophys/BiogeophysicsLakeMod.F90 (revision 26281)
+++ biogeophys/BiogeophysicsLakeMod.F90 (working copy)
@@ -138,7 +138,7 @@
!
real(r8), pointer :: qflx_prec_grnd(:) ! water onto ground including canopy runoff [kg/(m2 s)]
real(r8), pointer :: qflx_evap_soi(:) ! soil evaporation (mm H2O/s) (+ = to atm)
- real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: qflx_snwcp_liq(:) ! excess rainfall due to snow capping (mm H2O /s) [+]`
real(r8), pointer :: qflx_snwcp_ice(:) ! excess snowfall due to snow capping (mm H2O /s) [+]`
real(r8), pointer :: eflx_sh_grnd(:) ! sensible heat flux from ground (W/m**2) [+ to atm]
Index: biogeophys/UrbanMod.F90
===================================================================
--- biogeophys/UrbanMod.F90 (revision 26281)
+++ biogeophys/UrbanMod.F90 (working copy)
@@ -2620,7 +2620,7 @@
real(r8), pointer :: qflx_evap_soi(:) ! soil evaporation (mm H2O/s) (+ = to atm)
real(r8), pointer :: qflx_tran_veg(:) ! vegetation transpiration (mm H2O/s) (+ = to atm)
real(r8), pointer :: qflx_evap_veg(:) ! vegetation evaporation (mm H2O/s) (+ = to atm)
- real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: t_ref2m(:) ! 2 m height surface air temperature (K)
real(r8), pointer :: q_ref2m(:) ! 2 m height surface specific humidity (kg/kg)
real(r8), pointer :: t_ref2m_u(:) ! Urban 2 m height surface air temperature (K)
Index: biogeophys/HydrologyLakeMod.F90
===================================================================
--- biogeophys/HydrologyLakeMod.F90 (revision 26281)
+++ biogeophys/HydrologyLakeMod.F90 (working copy)
@@ -71,7 +71,7 @@
real(r8), pointer :: t_grnd(:) !ground temperature (Kelvin)
real(r8), pointer :: qmelt(:) !snow melt [mm/s]
real(r8), pointer :: qflx_evap_soi(:) !soil evaporation (mm H2O/s) (+ = to atm)
- real(r8), pointer :: qflx_evap_tot(:) !qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) !qflx_evap_soi + qflx_evap_can + qflx_tran_veg
!
! local pointers to implicit inout arrays
!
Index: biogeophys/BareGroundFluxesMod.F90
===================================================================
--- biogeophys/BareGroundFluxesMod.F90 (revision 26281)
+++ biogeophys/BareGroundFluxesMod.F90 (working copy)
@@ -126,7 +126,7 @@
real(r8), pointer :: eflx_sh_grnd(:) ! sensible heat flux from ground (W/m**2) [+ to atm]
real(r8), pointer :: eflx_sh_tot(:) ! total sensible heat flux (W/m**2) [+ to atm]
real(r8), pointer :: qflx_evap_soi(:) ! soil evaporation (mm H2O/s) (+ = to atm)
- real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_veg + qflx_tran_veg
+ real(r8), pointer :: qflx_evap_tot(:) ! qflx_evap_soi + qflx_evap_can + qflx_tran_veg
real(r8), pointer :: t_ref2m(:) ! 2 m height surface air temperature (Kelvin)
real(r8), pointer :: q_ref2m(:) ! 2 m height surface specific humidity (kg/kg)
real(r8), pointer :: t_ref2m_r(:) ! Rural 2 m height surface air temperature (Kelvin)
Erik Kluzek < erik > - 2011-01-11 11:52:39 -0700
Fixed in clm4_0_20
Gautam Bisht < gbisht > - 2015-06-26 00:25:34 -0600
Erik,
It appears that there still remains one instance of the incorrect comment in clm4_5_1_r111 at line no. 127 of components/clm/src/biogeophys/SoilFluxesMod.F90. It seems that this incorrect comment was introduced in clm4_5_1_r081 when models/lnd/clm/src/biogeophys/SoilFluxesMod.F90 was added to repository.
-Gautam.
This is still an issue in SoilFluxes
Erik Kluzek < erik > - 2011-01-04 16:14:23 -0700 Bugzilla Id: 1264 Bugzilla CC: gbisht, oleson, rfisher, sacks,
Hello Erik,
While trying to understanding the CLM code for some of my work, I came across a comment in the CLM, which I believe is incorrect. The incorrect comment is present in clm4_0_16 tag. Forrest Hoffmann suggested, I should contact you regarding it.
For the data structure 'pft_wflux_type', the variable qflx_evap_tot(:) has a comment that qflx_evap_tot = qflx_evap_soi + qflx_evap_veg + qflx_tran_veg;
though it is only qflx_evap_tot = qflx_evap_soi + qflx_evap_veg (in biogeophys/Biogeophysics2Mod.F90 line 394)
The incorrect comment appears in a couple of files. Since this is a comment only, it isn't that a big issue; but the correction would help in documenting what the variable qflx_evap_tot actually stores.
cheers, Gautam.