Skip to content

3.1.5

Choose a tag to compare

@mwburgoyne mwburgoyne released this 31 May 04:03
· 14 commits to main since this release
  • Agent-friendly UX:

    • validate_methods invalid-method errors now list valid options (e.g. Invalid zmethod: 'NOSUCH'. Valid options: ['DAK', 'HY', 'WYW', 'BNS', 'BUR']). New validate_choice helper used by all nodal public entry points (fbhp, outflow_curve, ipr_curve, operating_point) to validate well_type.
    • simtools.zip_check_sim_deck and simtools.ix_extract_problem_cells accept a non_interactive=True kwarg that raises a ValueError instead of prompting on input(). Safe for scripts and agents without stdin.
    • simtools.make_vfpinj/make_vfpprod BHP-failure warnings now use warnings.warn instead of print.
    • DeclineResult, ForecastResult, RatioResult __repr__ now summarise array fields as ndarray(shape=..., dtype=...) so printing a result doesn't flood agent transcripts.
    • nodal unit-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.garciaDensity and SoreideWhitson._calc_properties) removes the xCO2 → 1 singularity. Finite rho at xCO2 = 1 equals MwG / vPhi. Mathematically identical to the old formula for xCO2 < 1 (regression: 1e-12).
    • oil.Rs_velarde at atmospheric pb: Now returns 0.0 when pb <= psc instead of emitting NaN from a 0/0 division.
    • oil.sg_evolved_gas silent NaN: Now calls validate_pe_inputs at entry; zero pressure or zero sg_sp raises ValueError instead of returning NaN.
  • 696 validation tests (up from 691 in 3.1.4).