Skip to content

Eren hf df 28 jun23#82

Open
ebilir wants to merge 33 commits into
mainfrom
Eren_HF_DF_28Jun23
Open

Eren hf df 28 jun23#82
ebilir wants to merge 33 commits into
mainfrom
Eren_HF_DF_28Jun23

Conversation

@ebilir

@ebilir ebilir commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

These updates address 4 issues:

  1. Alters thermal conductivity, hydraulic conductivity, and porosity to respond to frozen states;
  2. implements ice impedance for infiltration and inter-layer flow;
  3. implements cryosuction impacts on soil water potentials
  4. Enforces vertical temperature gradients using an EDC.

At the same time this branch also incorporates updates from others:
5) Adopts Anthony's correction allowing bi-directional flow to contribute to Fin, Fout
6) Adopts Renato's LIU_AN_ET version of the PAR_leaf, canopy scaling

Unique changes (1-4) described below:

  1. ../DALEC_ALL/HYDROLOGY_MODULES/CONVERTERS/HYDROFUN_MOI2PSI.c
  • lf and soil_temp are the 4th and 5th input arguments.
  • Added check (if (lf <= 1e-4) return -9999.0;) to prevent zero division.
  • Calculates effective_porosity and liq_sat_tv to derive moi_eff. Derives matric potential based on unfrozen pore space.
  • Clapeyron Cryosuction: Added Clapeyron equation to calculate cryosuction (psi_cryo) in MPa when LF < 1 and T < 273.15 K. Returns the minimum pressure between capillary potential and cryosuction using fmin.
  1. ../DALEC_ALL/HYDROLOGY_MODULES/CONVERTERS/HYDROFUN_PSI2LIQ.c
  • Renamed from PSI2MOI to PSI2LIQ. Returns liquid volume relative to ice-free space. Acts as a Soil Freezing Characteristic Curve (SFC).
  1. ../DALEC_ALL/HYDROLOGY_MODULES/CONVERTERS/HYDROFUN_MOI2CON.c
  • lf and soil_temp are the 4th and 5th input arguments.
  • Added check (if (lf <= 1e-4) return 0.0;) to output zero conductivity for ice.
  • Moved effective porosity and liquid saturation calculations inside MOI2CON.
  • Added exponential ice impedance factor (Swenson et al., 2012). Conductivity is scaled by pow(10, -6.0 * ice_sat_tv).
  1. ../DALEC_ALL/HYDROLOGY_MODULES/DRAINAGE.c
  • lf and soil_temp are the 4th and 5th input arguments.
  • Drains sm > 1.0 states before calculating potentials.
  • ice_sat_tv and effective_porosity set the volume limit of drainable water (delta_sm_liq).
  • Darcy flow pressure gradients use the updated matric potential, including cryosuction potentials when relevant.
  1. ../DALEC_MODELS/DALEC_1100/DALEC_1100.c
  • Moved SOIL_TEMP_AND_LIQUID_FRAC calls up in execution order. POOLS[S.D_LF_LYx] populates before POOLS[S.D_PSI_LYx].
  • Removed LF * DRAINAGE(...) multiplier.
  • Removed LF multiplier from Max_H2O_xfer calculation.
  • Removed LF multipliers from stomatal closure (beta) and hydraulic mortality (betaHMF) calculations.
  • Surface infiltration (max_infil) is scaled by the ice-impedance factor. Routes snowmelt to surface runoff (q_surf).

ebilir and others added 21 commits July 24, 2025 12:43
Issues:
- canopy_scale denominator: /(VegK) -> /(VegK*clumping)
  Beer's law integral requires 1/(k*Omega), not 1/k;
  de Pury & Farquhar (1997) PCE 20:537; Bonan (2019) Ch.14 Eq.14.6
- Introduce PAR_leaf = PAR*(1-refl)*k*Omega (leaf-level) replacing
  PAR *= (1-refl)*(1-exp(-k*Omega*L)) (canopy APAR);
  keeps a2 (RuBP-limited) at leaf level, consistent with a1 (Rubisco-limited)
- J uses PAR_leaf instead of canopy APAR; single canopy_scale applied at output

Documentation pass (no numerical changes):
- Physical constants (rho_air, Cp_air, eps_mol) extracted and named
- All magic numbers explained with units and references:
  1.6 (H2O/CO2 diffusivity ratio; Jones 1992),
  0.02405 (molar volume of air at 20 C; mol->m/s conversion),
  1.26 (Priestley-Taylor alpha; Priestley & Taylor 1972),
  kai1=0.9 / kai2=0.3 (FvCB curvature/quantum yield),
  12e-6 (g C per umol CO2), 86400 s/day, 209 mmol/mol O2
- Variable declarations annotated with units and physical meaning
- Section headers for FvCB, canopy scaling, Vcmax/Jmax, C3/C4, PM
- References: Farquhar et al. 1980, Bernacchi et al. 2001,
  Leuning 1997, Medlyn et al. 2011, Monteith 1965, Bonan 2019
@ebilir ebilir force-pushed the Eren_HF_DF_28Jun23 branch from 1623fe7 to e32f36e Compare April 25, 2026 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants