PageRenderTime 44ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/CIM14/IEC61970/Generation/Production/__init__.py

https://github.com/rwl/PyCIM
Python | 145 lines | 67 code | 19 blank | 59 comment | 0 complexity | f4df7e40bba59d0152b1754ccd71bd93 MD5 | raw file
  1. # Copyright (C) 2010-2011 Richard Lincoln
  2. #
  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:
  9. #
  10. # The above copyright notice and this permission notice shall be included in
  11. # all copies or substantial portions of the Software.
  12. #
  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
  19. # IN THE SOFTWARE.
  20. """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.
  21. """
  22. from CIM14.IEC61970.Generation.Production.LevelVsVolumeCurve import LevelVsVolumeCurve
  23. from CIM14.IEC61970.Generation.Production.FossilFuel import FossilFuel
  24. from CIM14.IEC61970.Generation.Production.SteamSendoutSchedule import SteamSendoutSchedule
  25. from CIM14.IEC61970.Generation.Production.EmissionCurve import EmissionCurve
  26. from CIM14.IEC61970.Generation.Production.CombinedCyclePlant import CombinedCyclePlant
  27. from CIM14.IEC61970.Generation.Production.StartIgnFuelCurve import StartIgnFuelCurve
  28. from CIM14.IEC61970.Generation.Production.HydroGeneratingEfficiencyCurve import HydroGeneratingEfficiencyCurve
  29. from CIM14.IEC61970.Generation.Production.StartRampCurve import StartRampCurve
  30. from CIM14.IEC61970.Generation.Production.GeneratingUnit import GeneratingUnit
  31. from CIM14.IEC61970.Generation.Production.NuclearGeneratingUnit import NuclearGeneratingUnit
  32. from CIM14.IEC61970.Generation.Production.WindGeneratingUnit import WindGeneratingUnit
  33. from CIM14.IEC61970.Generation.Production.StartMainFuelCurve import StartMainFuelCurve
  34. from CIM14.IEC61970.Generation.Production.StartupModel import StartupModel
  35. from CIM14.IEC61970.Generation.Production.AirCompressor import AirCompressor
  36. from CIM14.IEC61970.Generation.Production.HeatInputCurve import HeatInputCurve
  37. from CIM14.IEC61970.Generation.Production.CogenerationPlant import CogenerationPlant
  38. from CIM14.IEC61970.Generation.Production.ShutdownCurve import ShutdownCurve
  39. from CIM14.IEC61970.Generation.Production.InflowForecast import InflowForecast
  40. from CIM14.IEC61970.Generation.Production.HydroGeneratingUnit import HydroGeneratingUnit
  41. from CIM14.IEC61970.Generation.Production.TargetLevelSchedule import TargetLevelSchedule
  42. from CIM14.IEC61970.Generation.Production.EmissionAccount import EmissionAccount
  43. from CIM14.IEC61970.Generation.Production.GrossToNetActivePowerCurve import GrossToNetActivePowerCurve
  44. from CIM14.IEC61970.Generation.Production.HydroPumpOpSchedule import HydroPumpOpSchedule
  45. from CIM14.IEC61970.Generation.Production.Reservoir import Reservoir
  46. from CIM14.IEC61970.Generation.Production.CAESPlant import CAESPlant
  47. from CIM14.IEC61970.Generation.Production.GenUnitOpCostCurve import GenUnitOpCostCurve
  48. from CIM14.IEC61970.Generation.Production.PenstockLossCurve import PenstockLossCurve
  49. from CIM14.IEC61970.Generation.Production.HydroPump import HydroPump
  50. from CIM14.IEC61970.Generation.Production.GenUnitOpSchedule import GenUnitOpSchedule
  51. from CIM14.IEC61970.Generation.Production.FuelAllocationSchedule import FuelAllocationSchedule
  52. from CIM14.IEC61970.Generation.Production.HeatRateCurve import HeatRateCurve
  53. from CIM14.IEC61970.Generation.Production.IncrementalHeatRateCurve import IncrementalHeatRateCurve
  54. from CIM14.IEC61970.Generation.Production.ThermalGeneratingUnit import ThermalGeneratingUnit
  55. from CIM14.IEC61970.Generation.Production.TailbayLossCurve import TailbayLossCurve
  56. from CIM14.IEC61970.Generation.Production.HydroPowerPlant import HydroPowerPlant
  57. nsURI = "http://iec.ch/TC57/2009/CIM-schema-cim14#Production"
  58. nsPrefix = "cimProduction"
  59. class HydroPlantType(str):
  60. """The type of hydro power plant.
  61. Values are: runOfRiver, minorStorage, majorStorage, pumpedStorage
  62. """
  63. pass
  64. class EmissionValueSource(str):
  65. """The source of the emission value.
  66. Values are: measured, calculated
  67. """
  68. pass
  69. class GeneratorControlMode(str):
  70. """Unit control modes.
  71. Values are: setpoint, pulse
  72. """
  73. pass
  74. class FuelType(str):
  75. """Type of fuel.
  76. Values are: lignite, coal, oil, gas
  77. """
  78. pass
  79. class GeneratorControlSource(str):
  80. """The source of controls for a generating unit.
  81. Values are: unavailable, onAGC, plantControl, offAGC
  82. """
  83. pass
  84. class HydroEnergyConversionKind(str):
  85. """Specifies the capability of the hydro generating unit to convert energy as a generator or pump.
  86. Values are: generator, pumpAndGenerator
  87. """
  88. pass
  89. class SpillwayGateType(str):
  90. """Type of spillway gate.
  91. """
  92. pass
  93. class SurgeTankCode(str):
  94. """Type (or absence) of surge tank that is associated with the hydro power plant.
  95. """
  96. pass
  97. class EmissionType(str):
  98. """The type of emission
  99. Values are: chlorine, carbonDioxide, hydrogenSulfide, nitrogenOxide, sulfurDioxide, carbonDisulfide
  100. """
  101. pass
  102. class GeneratorOperatingMode(str):
  103. """Operating mode for secondary generator control.
  104. Values are: fixed, EDC, manual, off, MRN, LFC, AGC, REG
  105. """
  106. pass
  107. class PenstockType(str):
  108. """Type of hydro plant penstock.
  109. """
  110. pass
  111. class Emission(float):
  112. """Quantity of emission per fuel heat content
  113. """
  114. pass
  115. class HeatRate(float):
  116. """Heat generated, in energy pertime unit of elapsed time
  117. """
  118. pass
  119. class Classification(int):
  120. """1..n, with 1 the most detailed, highest priority, etc.
  121. """
  122. pass
  123. class CostPerHeatUnit(float):
  124. """Cost, in units of currency, per quantity of heat generated
  125. """
  126. pass