klick_domain/values/
emission_influencing_values.rs1use crate::units::*;
2
3#[derive(Debug, Clone)]
4#[cfg_attr(test, derive(Copy))]
5pub struct EmissionInfluencingValues {
6 pub population_equivalent: f64,
7 pub wastewater: Qubicmeters,
8 pub influent_average: AnnualAverageInfluent,
9 pub effluent_average: AnnualAverageEffluent,
10 pub energy_consumption: EnergyConsumption,
11 pub sewage_sludge_treatment: SewageSludgeTreatment,
12 pub side_stream_treatment: SideStreamTreatment,
13 pub operating_materials: OperatingMaterials,
14 pub emission_factors: EmissionFactors,
15 pub energy_emission_factors: EnergyEmissionFactors,
16}
17
18#[derive(Debug, Clone)]
19#[cfg_attr(test, derive(Copy))]
20pub struct AnnualAverageInfluent {
21 pub nitrogen: MilligramsPerLiter,
22 pub chemical_oxygen_demand: MilligramsPerLiter,
23 pub total_organic_carbohydrates: MilligramsPerLiter,
24}
25
26#[derive(Debug, Clone)]
27#[cfg_attr(test, derive(Copy))]
28pub struct AnnualAverageEffluent {
29 pub nitrogen: MilligramsPerLiter,
30 pub chemical_oxygen_demand: MilligramsPerLiter,
31}
32
33#[derive(Debug, Clone)]
34#[cfg_attr(test, derive(Copy))]
35pub struct EnergyConsumption {
36 pub sewage_gas_produced: Qubicmeters,
37 pub methane_fraction: Percent,
38 pub total_power_consumption: Kilowatthours,
39 pub on_site_power_generation: Kilowatthours,
40 pub emission_factor_electricity_mix: GramsPerKilowatthour,
41 pub heating_oil: Liters,
42 pub gas_supply: Qubicmeters,
43 pub purchase_of_biogas: bool,
44}
45
46#[derive(Debug, Clone)]
47#[cfg_attr(test, derive(Copy))]
48pub struct SideStreamTreatment {
49 pub total_nitrogen: Tons,
50 pub side_stream_cover_is_open: bool,
51}
52
53#[derive(Debug, Clone)]
54#[cfg_attr(test, derive(Copy))]
55pub struct SewageSludgeTreatment {
56 pub sludge_bags_are_open: bool,
57 pub sludge_bags_factor: Option<QubicmetersPerHour>,
58 pub sludge_storage_containers_are_open: bool,
59 pub sludge_storage_containers_factor: Option<Percent>,
60 pub sewage_sludge_for_disposal: Tons,
61 pub transport_distance: Kilometers,
62 pub digester_count: Option<u64>,
63}
64
65#[derive(Debug, Clone)]
66#[cfg_attr(test, derive(Copy))]
67pub struct OperatingMaterials {
68 pub fecl3: Tons,
69 pub feclso4: Tons,
70 pub caoh2: Tons,
71 pub synthetic_polymers: Tons,
72}
73
74#[derive(Debug, Clone, Copy, PartialEq)]
75pub struct EmissionFactors {
76 pub n2o_side_stream: Factor,
77 pub co2_fossil: Factor,
78}
79
80#[derive(Debug, Clone)]
81#[cfg_attr(test, derive(Copy))]
82pub struct EnergyEmissionFactors {
83 pub process_energy_savings: Percent,
84 pub fossil_energy_savings: Percent,
85 pub district_heating: Kilowatthours,
86 pub photovoltaic_energy_expansion: Kilowatthours,
87 pub estimated_self_photovoltaic_usage: Percent,
88 pub wind_energy_expansion: Kilowatthours,
89 pub estimated_self_wind_energy_usage: Percent,
90 pub water_energy_expansion: Kilowatthours,
91 pub estimated_self_water_energy_usage: Percent,
92}