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
ScenarioResultBatchResults
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
ContingencyContingencyAnalysisContingencyOptionsContingencyStudyCorrectiveActionPreparedCorrectiveDispatchStudyRemedialActionVoltageStressBusVoltageStressOptionsVoltageStressResultanalyze_branch_eensapply_rascompute_voltage_stressgenerate_breaker_contingenciesn1_branch_studyn1_generator_studyn2_branch_studyprepare_corrective_dispatch_studyrank_contingenciessolve_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') -> Noneload_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) -> PreparedDcStudycompute_ptdf(network, request: PtdfRequest | None = None) -> PtdfResultcompute_lodf(network, request: LodfRequest | None = None) -> LodfResultcompute_lodf_matrix(network, request: LodfMatrixRequest | None = None) -> LodfMatrixResultcompute_otdf(network, request: OtdfRequest) -> OtdfResultcompute_n2_lodf(network, request: N2LodfRequest) -> N2LodfResultcompute_n2_lodf_batch(network, request: N2LodfBatchRequest) -> N2LodfBatchResultrun_analysis(network, request: DcAnalysisRequest) -> DcAnalysisResult
Classes
BranchKeySlackPolicyPtdfRequestOtdfRequestLodfRequestLodfMatrixRequestN2LodfRequestN2LodfBatchRequestDcAnalysisRequestDcAnalysisResultPreparedDcStudy
Re-Exports
DcPfOptionsDcPfResultLodfMatrixResultLodfResultN2LodfBatchResultN2LodfResultOtdfResultPtdfResult
surge.dispatch
Functions
read_tamu_activsg_time_series(network: Network, root: str | PathLike[str], case: str = '2000') -> ActivsgTimeSeriessolve_dispatch(network: Network, request: Mapping[str, Any] | str | None = None, *, lp_solver: str | None = None) -> DispatchResult
Classes
ActivsgTimeSeries
Re-Exports
DispatchResultNetwork
surge.io
Functions
loads(content: str, format: Format | str) -> Networkdumps(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
AcPfResultLsfResult
surge.market
Re-Exports
AcReconcileConfigBendersConfigCommitmentTransitionRulesDispatchRequestDispatchRequestBuilderDispatchableLoadOfferScheduleDispatchableLoadSpecEnergyWindowRulesFlowgateRulesGeneratorOfferScheduleGeneratorReserveOfferScheduleLoadArchetypeLogStreamLossFactorRulesMarketConfigMarketProblemMarketWorkflowNON_SPINNINGNetworkRulesPRODUCT_BY_IDPenaltyConfigPenaltyCurvePenaltyCurveSegmentRAMP_DOWN_OFFRAMP_DOWN_ONRAMP_UP_OFFRAMP_UP_ONREACTIVE_DOWNREACTIVE_UPREG_DOWNREG_UPRampRulesReserveProductDefRunReportSPINNINGSTANDARD_ACTIVE_PRODUCTSSTANDARD_ALL_PRODUCTSSolveLoggerThermalLimitRulesTopologyControlRulesViolationReportWorkflowContextWorkflowResultWorkflowRunnerWorkflowStageWorkflowStageResultWorkflowStageRoleZonalRequirementassess_dispatch_violations_nativeassess_violationsbuild_all_committed_schedulebuild_decommit_feedbackbuild_dispatch_stagebuild_dispatchable_load_blocksbuild_reserve_products_dictbuild_warm_start_schedulecost_blocks_to_segmentsextract_fixed_commitmentextract_storage_end_socidentify_resources_at_pmininterrupt_penaltylinear_curtailmentpiecewise_linear_offerpiecewise_linear_utilitypin_dispatch_boundsquadratic_utilityredispatch_with_acrequestreserve_offerreserve_offer_schedulerun_market_solvethermal_slack_summarywrite_run_report
surge.market.go_c3
Functions
load(path: str | Path) -> GoC3Problembuild_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
MarketPolicyGoC3Problem
surge.opf
Functions
solve_dc_opf(network, options: DcOpfOptions | None = None, runtime: DcOpfRuntime | None = None) -> DcOpfResultsolve_ac_opf(network, options: AcOpfOptions | None = None, runtime: AcOpfRuntime | None = None) -> AcOpfResultsolve_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
DcOpfResultAcOpfResultScopfResult
Re-Exports
AcAngleWarmStartModeAcOpfOptionsAcOpfRuntimeConstraintScreeningDcCostModelDcLossModelDcOpfOptionsDcOpfRuntimeDiscreteModeGeneratorLimitModeHvdcModeScopfFormulationScopfModeScopfOptionsScopfRuntimeScopfScreeningPolicyThermalRating
surge.powerflow
Functions
solve_dc_pf(network: Any, options: Optional[DcPfOptions] = None, /) -> DcPfResultsolve_ac_pf(network: Any, options: Optional[AcPfOptions] = None, /) -> AcPfResultsolve_fdpf(network: Any, options: Optional[FdpfOptions] = None, /) -> AcPfResult
Re-Exports
AcPfOptionsAcPfResultDcPfOptionsDcPfResultFdpfOptionsJacobianResultPreparedAcPfYBusResult
surge.subsystem
Classes
Subsystem
surge.transfer
Re-Exports
AcAtcResultAfcResultAtcOptionsBldfResultFlowgateGsfResultInjectionCapabilityResultMultiTransferResultNercAtcResultTransferPathTransferStudycompute_ac_atccompute_afccompute_bldfcompute_gsfcompute_injection_capabilitycompute_multi_transfercompute_nerc_atcprepare_transfer_study
surge.units
Functions
ohm_to_pu(ohm: float, base_kv: float, base_mva: float = 100.0) -> float