Skip to content

Commit c88cbac

Browse files
sunt05claude
andcommitted
Fix gravimetric unit conversion comment
The formula is numerically correct but the dimensional analysis comment was misleading. Clarified that division by ρ_water (1 g/cm³) is implicit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 82129c1 commit c88cbac

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/supy/util/_forcing.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,9 @@ def _convert_xsmd_series(
152152
"""Convert volumetric/gravimetric xsmd measurements to a soil moisture deficit.
153153
154154
Dimensional analysis:
155-
- SMDMethod=1 (volumetric): [fraction] × [mm] × [fraction] = [mm]
156-
- SMDMethod=2 (gravimetric): [g/g] × [g/cm³] × [mm] × [fraction] = [mm]
155+
- SMDMethod=1 (volumetric): [m³/m³] × [mm] × [-] = [mm]
156+
- SMDMethod=2 (gravimetric): [g/g] × [g/cm³] / [g/cm³] × [mm] × [-] = [mm]
157+
(division by ρ_water=1 g/cm³ is implicit in the formula)
157158
"""
158159

159160
values = xsmd.to_numpy(dtype=float, copy=True)
@@ -169,7 +170,8 @@ def _convert_xsmd_series(
169170
clipped = np.clip(clipped, 0.0, meta.smcap)
170171
deficit = (meta.smcap - clipped) * meta.depth_mm * meta.soil_not_rocks
171172
elif smd_method == 2:
172-
# Gravimetric: deficit [mm] = (w_max - w_obs) [g/g] × ρ_soil [g/cm³] × depth [mm] × soil_fraction
173+
# Gravimetric: deficit = (w_max - w_obs) × (ρ_soil / ρ_water) × depth × soil_fraction
174+
# Since ρ_water = 1 g/cm³, formula simplifies to: (w_max - w_obs) × ρ_soil × depth × soil_fraction
173175
clipped = np.clip(clipped, 0.0, meta.smcap)
174176
deficit = (
175177
(meta.smcap - clipped)

0 commit comments

Comments
 (0)