Skip to content

eCLM frozen soil coupling - #14

Open
kvrigor wants to merge 23 commits into
eclm-frozen-soil-couplingfrom
dev-frozen-soil-coupling
Open

kvrigor wants to merge 23 commits into
eclm-frozen-soil-couplingfrom
dev-frozen-soil-coupling

Conversation

@kvrigor

@kvrigor kvrigor commented Oct 13, 2026

Copy link
Copy Markdown
Member

FYI @s-poll : this PR is a dry-run of the potential merge of your developments to the upstream Parflow branch. I thought an internal review with @skollet would be good before proceeding with the upstream Parflow pull request. This preparatory PR is also a chance to do final cleanups.

Note that the target branch (eclm-frozen-soil-coupling) is based from the 8-Oct-2026 tip of Parflow master. This is set up so that either eclm-frozen-soil-coupling or dev-frozen-soil-coupling could be merged to Parflow master, depending on the how the fixes go in this preparatory PR.

kvrigor and others added 23 commits April 6, 2023 11:07
Subsurface layer thickness should be dz*dz_mult
- Set initial ice impedance values to 1.0
- solver_richards.c: ice_impedance in wrong arg position when calling NonlinSolverInvoke
- parflow_proto.h: Make eCLM-related fields easier to track by moving arg position of ice_impedance right next to evap_trans
- Receive ECLM_EFFPOROSITY from eCLM; keep ParFlow's porosity at uncoupled grid points
- Update the received porosity after each converged step, capped so saturation stays <= 1 and floored at 0.01
- Include in storage term with separate porosity at both time levels and a freeze term (ice_liq_delta) for the liquid eCLM phase change
- Receive PFL_ICE_IMPEDANCE next to PFL_EFFPOROSITY
- Store ice impedance in ProblemData and use it as flow barriers in NlFunctionEval and RichardsJacobianEval under HAVE_ECLM; no solver signature changes
- Add NetCDF.WriteIceImpedance output
- Send h2osoi_liq with dz*dz_mult (no change for DZ = 1.0)
- Remove PFL_ICE_IMPEDANCE; derive icefrac = 1 - porosity_recv/static_porosity
- Impedance 10^(-e_ice*icefrac) per cell face in x, y and z; multiplies the flow barriers
- New key Solver.ECLM.IceImpedanceFactor (default 6.0 = eCLM e_ice, 0 = off); add IceImpedance (z-face) as possible output
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