3.1.5
-
Agent-friendly UX:
validate_methodsinvalid-method errors now list valid options (e.g.Invalid zmethod: 'NOSUCH'. Valid options: ['DAK', 'HY', 'WYW', 'BNS', 'BUR']). Newvalidate_choicehelper used by allnodalpublic entry points (fbhp,outflow_curve,ipr_curve,operating_point) to validatewell_type.simtools.zip_check_sim_deckandsimtools.ix_extract_problem_cellsaccept anon_interactive=Truekwarg that raises aValueErrorinstead of prompting oninput(). Safe for scripts and agents without stdin.simtools.make_vfpinj/make_vfpprodBHP-failure warnings now usewarnings.warninstead ofprint.DeclineResult,ForecastResult,RatioResult__repr__now summarise array fields asndarray(shape=..., dtype=...)so printing a result doesn't flood agent transcripts.nodalunit-validation errors (Reservoir.__init__,WellSegment.__init__) echo the user's original value and unit (e.g.got -1 m) rather than the post-conversion internal number.
-
Release-blocking numerical fixes:
- Garcia CO2-brine density: Algebraic reformulation of Eq 18 (
brine.garciaDensityandSoreideWhitson._calc_properties) removes thexCO2 → 1singularity. Finite rho atxCO2 = 1equalsMwG / vPhi. Mathematically identical to the old formula forxCO2 < 1(regression: 1e-12). oil.Rs_velardeat atmosphericpb: Now returns0.0whenpb <= pscinstead of emitting NaN from a0/0division.oil.sg_evolved_gassilent NaN: Now callsvalidate_pe_inputsat entry; zero pressure or zerosg_spraisesValueErrorinstead of returning NaN.
- Garcia CO2-brine density: Algebraic reformulation of Eq 18 (
-
696 validation tests (up from 691 in 3.1.4).