1 # Copyright (C) 2010-2011 Richard Lincoln
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
4 # of this software and associated documentation files (the "Software"), to
5 # deal in the Software without restriction, including without limitation the
6 # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 # sell copies of the Software, and to permit persons to whom the Software is
8 # furnished to do so, subject to the following conditions:
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 """The production package is responsible for classes which describe various kinds of generators. These classes also provide production costing information which is used to economically allocate demand among committed units and calculate reserve quantities.
24 from CIM14
.IEC61970
.Generation
.Production
.LevelVsVolumeCurve
import LevelVsVolumeCurve
25 from CIM14
.IEC61970
.Generation
.Production
.FossilFuel
import FossilFuel
26 from CIM14
.IEC61970
.Generation
.Production
.SteamSendoutSchedule
import SteamSendoutSchedule
27 from CIM14
.IEC61970
.Generation
.Production
.EmissionCurve
import EmissionCurve
28 from CIM14
.IEC61970
.Generation
.Production
.CombinedCyclePlant
import CombinedCyclePlant
29 from CIM14
.IEC61970
.Generation
.Production
.StartIgnFuelCurve
import StartIgnFuelCurve
30 from CIM14
.IEC61970
.Generation
.Production
.HydroGeneratingEfficiencyCurve
import HydroGeneratingEfficiencyCurve
31 from CIM14
.IEC61970
.Generation
.Production
.StartRampCurve
import StartRampCurve
32 from CIM14
.IEC61970
.Generation
.Production
.GeneratingUnit
import GeneratingUnit
33 from CIM14
.IEC61970
.Generation
.Production
.NuclearGeneratingUnit
import NuclearGeneratingUnit
34 from CIM14
.IEC61970
.Generation
.Production
.WindGeneratingUnit
import WindGeneratingUnit
35 from CIM14
.IEC61970
.Generation
.Production
.StartMainFuelCurve
import StartMainFuelCurve
36 from CIM14
.IEC61970
.Generation
.Production
.StartupModel
import StartupModel
37 from CIM14
.IEC61970
.Generation
.Production
.AirCompressor
import AirCompressor
38 from CIM14
.IEC61970
.Generation
.Production
.HeatInputCurve
import HeatInputCurve
39 from CIM14
.IEC61970
.Generation
.Production
.CogenerationPlant
import CogenerationPlant
40 from CIM14
.IEC61970
.Generation
.Production
.ShutdownCurve
import ShutdownCurve
41 from CIM14
.IEC61970
.Generation
.Production
.InflowForecast
import InflowForecast
42 from CIM14
.IEC61970
.Generation
.Production
.HydroGeneratingUnit
import HydroGeneratingUnit
43 from CIM14
.IEC61970
.Generation
.Production
.TargetLevelSchedule
import TargetLevelSchedule
44 from CIM14
.IEC61970
.Generation
.Production
.EmissionAccount
import EmissionAccount
45 from CIM14
.IEC61970
.Generation
.Production
.GrossToNetActivePowerCurve
import GrossToNetActivePowerCurve
46 from CIM14
.IEC61970
.Generation
.Production
.HydroPumpOpSchedule
import HydroPumpOpSchedule
47 from CIM14
.IEC61970
.Generation
.Production
.Reservoir
import Reservoir
48 from CIM14
.IEC61970
.Generation
.Production
.CAESPlant
import CAESPlant
49 from CIM14
.IEC61970
.Generation
.Production
.GenUnitOpCostCurve
import GenUnitOpCostCurve
50 from CIM14
.IEC61970
.Generation
.Production
.PenstockLossCurve
import PenstockLossCurve
51 from CIM14
.IEC61970
.Generation
.Production
.HydroPump
import HydroPump
52 from CIM14
.IEC61970
.Generation
.Production
.GenUnitOpSchedule
import GenUnitOpSchedule
53 from CIM14
.IEC61970
.Generation
.Production
.FuelAllocationSchedule
import FuelAllocationSchedule
54 from CIM14
.IEC61970
.Generation
.Production
.HeatRateCurve
import HeatRateCurve
55 from CIM14
.IEC61970
.Generation
.Production
.IncrementalHeatRateCurve
import IncrementalHeatRateCurve
56 from CIM14
.IEC61970
.Generation
.Production
.ThermalGeneratingUnit
import ThermalGeneratingUnit
57 from CIM14
.IEC61970
.Generation
.Production
.TailbayLossCurve
import TailbayLossCurve
58 from CIM14
.IEC61970
.Generation
.Production
.HydroPowerPlant
import HydroPowerPlant
60 nsURI
= "http://iec.ch/TC57/2009/CIM-schema-cim14#Production"
61 nsPrefix
= "cimProduction"
64 class HydroPlantType(str):
65 """The type of hydro power plant.
66 Values are: runOfRiver, minorStorage, majorStorage, pumpedStorage
70 class EmissionValueSource(str):
71 """The source of the emission value.
72 Values are: measured, calculated
76 class GeneratorControlMode(str):
77 """Unit control modes.
78 Values are: setpoint, pulse
84 Values are: lignite, coal, oil, gas
88 class GeneratorControlSource(str):
89 """The source of controls for a generating unit.
90 Values are: unavailable, onAGC, plantControl, offAGC
94 class HydroEnergyConversionKind(str):
95 """Specifies the capability of the hydro generating unit to convert energy as a generator or pump.
96 Values are: generator, pumpAndGenerator
100 class SpillwayGateType(str):
101 """Type of spillway gate.
105 class SurgeTankCode(str):
106 """Type (or absence) of surge tank that is associated with the hydro power plant.
110 class EmissionType(str):
111 """The type of emission
112 Values are: chlorine, carbonDioxide, hydrogenSulfide, nitrogenOxide, sulfurDioxide, carbonDisulfide
116 class GeneratorOperatingMode(str):
117 """Operating mode for secondary generator control.
118 Values are: fixed, EDC, manual, off, MRN, LFC, AGC, REG
122 class PenstockType(str):
123 """Type of hydro plant penstock.
127 class Emission(float):
128 """Quantity of emission per fuel heat content
132 class HeatRate(float):
133 """Heat generated, in energy pertime unit of elapsed time
137 class Classification(int):
138 """1..n, with 1 the most detailed, highest priority, etc.
142 class CostPerHeatUnit(float):
143 """Cost, in units of currency, per quantity of heat generated