Generated Python Namespace Surface

April 26, 2026 ยท View on GitHub

Generated by scripts/render_public_surface.py. Do not edit directly.

surge.audit

Functions

  • audit_model(network: Network) -> list[ModelIssue]
  • audit_dataframe(network: Network)

Classes

  • ModelIssue

surge.batch

Functions

  • batch_solve(cases: list[str | Path | Any], solver: str = 'acpf', parallel: bool = True, max_workers: int | None = None, **solver_kwargs: Any) -> BatchResults

Classes

  • ScenarioResult
  • BatchResults

surge.compose

Functions

  • merge_networks(net1: Network, net2: Network, tie_buses: list[tuple[int, int]] | None = None) -> Network

surge.construction

Functions

  • from_dataframes(buses: 'pd.DataFrame', branches: 'pd.DataFrame', generators: 'pd.DataFrame', *, base_mva: float = 100.0, name: str = '') -> 'Network'

surge.contingency

Re-Exports

  • Contingency
  • ContingencyAnalysis
  • ContingencyOptions
  • ContingencyStudy
  • CorrectiveAction
  • PreparedCorrectiveDispatchStudy
  • RemedialAction
  • VoltageStressBus
  • VoltageStressOptions
  • VoltageStressResult
  • analyze_branch_eens
  • apply_ras
  • compute_voltage_stress
  • generate_breaker_contingencies
  • n1_branch_study
  • n1_generator_study
  • n2_branch_study
  • prepare_corrective_dispatch_study
  • rank_contingencies
  • solve_corrective_dispatch

surge.contingency_io

Functions

  • generate_n1_branch(network: Network) -> list[Contingency]
  • generate_n1_generator(network: Network) -> list[Contingency]
  • generate_n1_all(network: Network) -> list[Contingency]
  • save_contingencies(contingencies: list[Contingency], path: str | Path, format: str = 'yaml') -> None
  • load_contingencies(path: str | Path, network: Network | None = None) -> list[Contingency]
  • import_psse_con(path: str | Path, network: Network | None = None) -> list[Contingency]

surge.dc

Functions

  • prepare_study(network) -> PreparedDcStudy
  • compute_ptdf(network, request: PtdfRequest | None = None) -> PtdfResult
  • compute_lodf(network, request: LodfRequest | None = None) -> LodfResult
  • compute_lodf_matrix(network, request: LodfMatrixRequest | None = None) -> LodfMatrixResult
  • compute_otdf(network, request: OtdfRequest) -> OtdfResult
  • compute_n2_lodf(network, request: N2LodfRequest) -> N2LodfResult
  • compute_n2_lodf_batch(network, request: N2LodfBatchRequest) -> N2LodfBatchResult
  • run_analysis(network, request: DcAnalysisRequest) -> DcAnalysisResult

Classes

  • BranchKey
  • SlackPolicy
  • PtdfRequest
  • OtdfRequest
  • LodfRequest
  • LodfMatrixRequest
  • N2LodfRequest
  • N2LodfBatchRequest
  • DcAnalysisRequest
  • DcAnalysisResult
  • PreparedDcStudy

Re-Exports

  • DcPfOptions
  • DcPfResult
  • LodfMatrixResult
  • LodfResult
  • N2LodfBatchResult
  • N2LodfResult
  • OtdfResult
  • PtdfResult

surge.dispatch

Functions

  • read_tamu_activsg_time_series(network: Network, root: str | PathLike[str], case: str = '2000') -> ActivsgTimeSeries
  • solve_dispatch(network: Network, request: Mapping[str, Any] | str | None = None, *, lp_solver: str | None = None) -> DispatchResult

Classes

  • ActivsgTimeSeries

Re-Exports

  • DispatchResult
  • Network

surge.io

Functions

  • loads(content: str, format: Format | str) -> Network
  • dumps(network: Network, format: Format | str, *, version: int | None = None) -> str

Classes

  • Format

surge.losses

Functions

  • compute_loss_factors(network: Network, solution: AcPfResult | None = None) -> LsfResult

Re-Exports

  • AcPfResult
  • LsfResult

surge.market

Re-Exports

  • AcReconcileConfig
  • BendersConfig
  • CommitmentTransitionRules
  • DispatchRequest
  • DispatchRequestBuilder
  • DispatchableLoadOfferSchedule
  • DispatchableLoadSpec
  • EnergyWindowRules
  • FlowgateRules
  • GeneratorOfferSchedule
  • GeneratorReserveOfferSchedule
  • LoadArchetype
  • LogStream
  • LossFactorRules
  • MarketConfig
  • MarketProblem
  • MarketWorkflow
  • NON_SPINNING
  • NetworkRules
  • PRODUCT_BY_ID
  • PenaltyConfig
  • PenaltyCurve
  • PenaltyCurveSegment
  • RAMP_DOWN_OFF
  • RAMP_DOWN_ON
  • RAMP_UP_OFF
  • RAMP_UP_ON
  • REACTIVE_DOWN
  • REACTIVE_UP
  • REG_DOWN
  • REG_UP
  • RampRules
  • ReserveProductDef
  • RunReport
  • SPINNING
  • STANDARD_ACTIVE_PRODUCTS
  • STANDARD_ALL_PRODUCTS
  • SolveLogger
  • ThermalLimitRules
  • TopologyControlRules
  • ViolationReport
  • WorkflowContext
  • WorkflowResult
  • WorkflowRunner
  • WorkflowStage
  • WorkflowStageResult
  • WorkflowStageRole
  • ZonalRequirement
  • assess_dispatch_violations_native
  • assess_violations
  • build_all_committed_schedule
  • build_decommit_feedback
  • build_dispatch_stage
  • build_dispatchable_load_blocks
  • build_reserve_products_dict
  • build_warm_start_schedule
  • cost_blocks_to_segments
  • extract_fixed_commitment
  • extract_storage_end_soc
  • identify_resources_at_pmin
  • interrupt_penalty
  • linear_curtailment
  • piecewise_linear_offer
  • piecewise_linear_utility
  • pin_dispatch_bounds
  • quadratic_utility
  • redispatch_with_ac
  • request
  • reserve_offer
  • reserve_offer_schedule
  • run_market_solve
  • thermal_slack_summary
  • write_run_report

surge.market.go_c3

Functions

  • load(path: str | Path) -> GoC3Problem
  • build_network(problem: GoC3Problem, policy: MarketPolicy | dict[str, Any]) -> tuple[Any, dict[str, Any]]
  • build_request(problem: GoC3Problem, policy: MarketPolicy | dict[str, Any]) -> dict[str, Any]
  • build_workflow(problem: GoC3Problem, policy: MarketPolicy | dict[str, Any])
  • solve_workflow(workflow, *, lp_solver: str | None = None, nlp_solver: str | None = None, stop_after_stage: str | None = None) -> dict[str, Any]
  • export(problem: GoC3Problem, dispatch_result, *, dc_reserve_source = None, allow_consumer_reserve_shedding: bool = True) -> dict[str, Any]
  • save(solution: dict[str, Any], path: str | Path) -> None

Classes

  • MarketPolicy
  • GoC3Problem

surge.opf

Functions

  • solve_dc_opf(network, options: DcOpfOptions | None = None, runtime: DcOpfRuntime | None = None) -> DcOpfResult
  • solve_ac_opf(network, options: AcOpfOptions | None = None, runtime: AcOpfRuntime | None = None) -> AcOpfResult
  • solve_ac_opf_subproblem(network, fixed_p_mw: dict[str, float], *, tolerance: float = 1e-08, max_iterations: int = 0, exact_hessian: bool = True, nlp_solver: str | None = None, print_level: int = 0, enforce_thermal_limits: bool = True, thermal_limit_slack_penalty_per_mva: float = 10000.0, bus_active_power_balance_slack_penalty_per_mw: float = 10000.0, bus_reactive_power_balance_slack_penalty_per_mvar: float = 10000.0, min_rate_a: float = 1.0, enforce_angle_limits: bool = False, enforce_capability_curves: bool = True, include_hvdc: bool | None = None, dt_hours: float = 1.0)
  • solve_scopf(network, options: ScopfOptions | None = None, runtime: ScopfRuntime | None = None) -> ScopfResult

Classes

  • DcOpfResult
  • AcOpfResult
  • ScopfResult

Re-Exports

  • AcAngleWarmStartMode
  • AcOpfOptions
  • AcOpfRuntime
  • ConstraintScreening
  • DcCostModel
  • DcLossModel
  • DcOpfOptions
  • DcOpfRuntime
  • DiscreteMode
  • GeneratorLimitMode
  • HvdcMode
  • ScopfFormulation
  • ScopfMode
  • ScopfOptions
  • ScopfRuntime
  • ScopfScreeningPolicy
  • ThermalRating

surge.powerflow

Functions

  • solve_dc_pf(network: Any, options: Optional[DcPfOptions] = None, /) -> DcPfResult
  • solve_ac_pf(network: Any, options: Optional[AcPfOptions] = None, /) -> AcPfResult
  • solve_fdpf(network: Any, options: Optional[FdpfOptions] = None, /) -> AcPfResult

Re-Exports

  • AcPfOptions
  • AcPfResult
  • DcPfOptions
  • DcPfResult
  • FdpfOptions
  • JacobianResult
  • PreparedAcPf
  • YBusResult

surge.subsystem

Classes

  • Subsystem

surge.transfer

Re-Exports

  • AcAtcResult
  • AfcResult
  • AtcOptions
  • BldfResult
  • Flowgate
  • GsfResult
  • InjectionCapabilityResult
  • MultiTransferResult
  • NercAtcResult
  • TransferPath
  • TransferStudy
  • compute_ac_atc
  • compute_afc
  • compute_bldf
  • compute_gsf
  • compute_injection_capability
  • compute_multi_transfer
  • compute_nerc_atc
  • prepare_transfer_study

surge.units

Functions

  • ohm_to_pu(ohm: float, base_kv: float, base_mva: float = 100.0) -> float