use crate::core::{PolygonSet, Surface};
use crate::foundation::{Provenance, Uncertain};
pub struct ModelInputs {
pub summary: SummaryInputs,
pub spatial: SpatialInputs,
}
pub struct SummaryInputs {
pub reservoir_area_acres: Uncertain,
pub net_pay_ft: Uncertain,
pub porosity_frac: Uncertain,
pub water_saturation_frac: Uncertain,
pub net_to_gross_frac: Uncertain,
pub owc_ft: Option<Uncertain>,
pub goc_ft: Option<Uncertain>,
}
pub struct SpatialInputs {
pub boundary: Option<PolygonSet>,
pub horizons: Vec<HorizonInput>,
pub well_curves: Vec<WellCurveInput>,
}
pub struct HorizonInput {
pub name: String,
pub surface: Surface,
pub provenance: Provenance,
}
pub struct WellCurveInput {
pub well_id: String,
pub mnemonic: String,
pub md: Vec<f64>,
pub values: Vec<f64>,
pub xyz: Vec<[f64; 3]>,
pub provenance: Provenance,
}