Skip to main content

powerio_tnd/formats/sincal/
mod.rs

1//! Native SINCAL acquisition and explicitly selected electrical profiles.
2mod balanced;
3#[allow(dead_code)]
4mod multiconductor;
5#[doc(hidden)]
6pub mod storage;
7#[cfg(test)]
8mod testkit;
9pub use balanced::source::parse as parse_balanced;
10pub use balanced::source::{
11    SincalBalancedReadOptions, parse_with_options as parse_sincal_balanced_with_options,
12};
13#[doc(hidden)]
14pub use balanced::{
15    ExperimentalBalancedOutput, read_balanced_snapshot as __read_sincal_balanced_snapshot,
16    read_balanced_snapshot_at as __read_sincal_balanced_snapshot_at,
17    write_experimental_balanced as __write_sincal_balanced_experimental,
18};
19pub use multiconductor::public::{SincalReadOptions, parse_sincal};
20
21/// Internal SINCAL validation entry point; callers must explicitly choose the
22/// conductor-resolved profile. Unsupported inputs reject the whole network.
23///
24/// # Errors
25/// Unverified schema, unsupported electrical modes or inconsistent inputs.
26#[doc(hidden)]
27pub fn __read_sincal_multiconductor_snapshot(
28    snapshot: storage::DatabaseSnapshot,
29) -> powerio_dist::Result<powerio_dist::MulticonductorNetwork> {
30    multiconductor::read_snapshot(snapshot)
31}
32
33/// Internal component audit. A successful report is not a parsed network.
34///
35/// # Errors
36/// Unsupported schema or inability to establish the common mapping context.
37#[doc(hidden)]
38pub fn __audit_sincal_multiconductor_snapshot(
39    snapshot: storage::DatabaseSnapshot,
40) -> powerio_dist::Result<String> {
41    multiconductor::audit_snapshot(snapshot)
42}
43
44/// Internal SINCAL snapshot selection in hours for verified daily load profiles.
45///
46/// # Errors
47/// Unsupported profiles or components, invalid time, or inconsistent inputs.
48#[doc(hidden)]
49pub fn __read_sincal_multiconductor_at(
50    snapshot: storage::DatabaseSnapshot,
51    hours: f64,
52) -> powerio_dist::Result<powerio_dist::MulticonductorNetwork> {
53    multiconductor::read_snapshot_at(snapshot, hours)
54}
55
56/// Internal component audit at an explicit daily-profile time; not a partial network.
57///
58/// # Errors
59/// Unsupported common context or invalid snapshot time.
60#[doc(hidden)]
61pub fn __audit_sincal_multiconductor_at(
62    snapshot: storage::DatabaseSnapshot,
63    hours: f64,
64) -> powerio_dist::Result<String> {
65    multiconductor::audit_snapshot_at(snapshot, hours)
66}
67
68#[doc(hidden)]
69pub use multiconductor::{
70    ExperimentalMulticonductorOptions, ExperimentalMulticonductorOutput,
71    write_experimental_multiconductor as __write_sincal_multiconductor_experimental,
72};