Skip to content

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 14 Jul 14:15
  • The SCOPF Julia wire conversion is structural (#252): every struct reaching
    the wire classifies its fields (index, renamed, value) through an exhaustive
    destructure, so a new field fails to compile until classified and a value
    field reusing an index name is never renumbered. Wire output is unchanged.
  • GOC3 parses once per read (#250): the reader hands its parsed document
    forward as Parsed::document, and the package boundary derives the
    operating point series from it instead of reparsing the retained text.
  • DcOpfInstance carries the constant cost term c0 (generator and nodal
    data), and the DC OPF bundle writes c0.mtx/c0_gen.mtx (bundle schema
    0.3.0).
  • Balanced formats harvest and emit coordinates (#183): PowerWorld aux
    Latitude:1/Longitude:1, pandapower bus geo Point strings, PyPSA
    buses.csv x/y, each in both directions. Writers with no geometry concept
    warn that locations were dropped.
  • The standalone geographic document (#184): GeoLayer/ElementKey with
    tolerant reads (headerless buscoords CSV, aliased CSV/JSON records, GeoJSON)
    and canonical GeoJSON writes (.geo.json, the powerio_geo foreign
    member); DisplayFormat::GeoJson/DisplayData::Geo;
    Network::geo_layer()/apply_geo_layer() with multiconductor equivalents
    in powerio-pkg; Branch.route/DistLine.route polyline routing (payload
    schemas 1.2.0); .pwd promotion (geo_layer_from_pwd,
    apply_substation_points, pwd_mercator_to_lonlat); and
    powerio geo extract | apply | convert in the CLI.
  • C ABI and Python bindings for the new surfaces (#249, #185), all additive
    (PIO_ABI_VERSION stays 4): pio_acopf_from_network / pio_acopf_to_json
    / pio_acopf_instance_free, pio_geo_parse / pio_geo_extract /
    pio_geo_apply, and pio_dist_geo_extract / pio_dist_geo_apply. Python
    gains parse_geo, Network.geo_layer()/apply_geo_layer()/acopf_instance(),
    and the distribution equivalents.
  • DeepMind OPFData reader (#258): SourceFormat::DeepMindOpfDataJson reads
    one raw OPFData JSON document as a solved snapshot, echoes the same format
    byte for byte, and converts through the standard surface (CLI, C ABI,
    Python).

What's Changed

  • Type the SCOPF wire renumbering and parse GOC3 once per read by @samtalki in #254
  • Add the geographic document and balanced coordinate harvest by @samtalki in #255
  • Bind the AC OPF instance and geographic layer over C and Python by @samtalki in #256
  • Fix main CI: regenerate schemas, run PR workflows on stacked PRs by @samtalki in #259
  • Add DeepMind OPFData JSON reader and conversion support by @cameronkhanpour in #258

Full Changelog: v0.7.0...v0.7.1