diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..36167b2 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +gridappsd-python diff --git a/docs/requirements.txt b/docs/requirements.txt index ae1be01..b0e1e78 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,4 +1,3 @@ -javasphinx sphinx sphinx-autobuild sphinx-rtd-theme diff --git a/docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM-GldNode.rst b/docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM-GldNode.bak similarity index 100% rename from docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM-GldNode.rst rename to docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM-GldNode.bak diff --git a/docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM-SpacingCount.rst b/docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM-SpacingCount.bak similarity index 100% rename from docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM-SpacingCount.rst rename to docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM-SpacingCount.bak diff --git a/docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM.rst b/docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM.bak similarity index 100% rename from docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM.rst rename to docs/source/api_docs/gov/pnnl/gridlabd/cim/CDPSM_to_GLM.bak diff --git a/docs/source/api_docs/gov/pnnl/gridlabd/cim/SPARQLcimTest.rst b/docs/source/api_docs/gov/pnnl/gridlabd/cim/SPARQLcimTest.bak similarity index 100% rename from docs/source/api_docs/gov/pnnl/gridlabd/cim/SPARQLcimTest.rst rename to docs/source/api_docs/gov/pnnl/gridlabd/cim/SPARQLcimTest.bak diff --git a/docs/source/api_docs/gridlabd-cim.rst b/docs/source/api_docs/gridlabd-cim.bak similarity index 100% rename from docs/source/api_docs/gridlabd-cim.rst rename to docs/source/api_docs/gridlabd-cim.bak diff --git a/docs/source/api_docs/index.rst b/docs/source/api_docs/index.rst index 23f8aaa..1f7783d 100644 --- a/docs/source/api_docs/index.rst +++ b/docs/source/api_docs/index.rst @@ -28,6 +28,6 @@ GridLAB-D GridLAB-D is the distribution grid simulator within the platform; its overall design is described in [CIT8]_. -.. include:: gridlabd-cim.rst +gridlabd-cim.rst is not included, until we have a replacement for Javasphinx diff --git a/docs/source/conf.py b/docs/source/conf.py index 92293af..45cee59 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -36,7 +36,6 @@ # ones. extensions = [ 'sphinx.ext.autodoc', - 'javasphinx', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.coverage', @@ -52,9 +51,6 @@ from recommonmark.parser import CommonMarkParser # The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -# -# source_suffix = ['.rst', '.md'] source_suffix = ['.rst', '.md'] source_parsers = { @@ -66,7 +62,7 @@ # General information about the project. project = 'GridAPPS-D' -copyright = '2017-2018, Battelle Memorial Institute All rights reserved.' +copyright = '2017-2021, Battelle Memorial Institute All rights reserved.' author = 'The GridAPPS-D Team and Community' # The version info for the project you're documenting, acts as replacement for @@ -258,7 +254,7 @@ def setup(app): def build_gridappsd_python_api(app): - repo_path = os.path.abspath('./griappsd-python') + repo_path = os.path.abspath('./gridappsd-python') from git import Repo import subprocess url = "https://github.com/gridappsd/gridappsd-python" diff --git a/docs/source/developer_resources/CDPSM.rst b/docs/source/developer_resources/CDPSM.rst index 843993f..307b6c3 100755 --- a/docs/source/developer_resources/CDPSM.rst +++ b/docs/source/developer_resources/CDPSM.rst @@ -1,7 +1,9 @@ .. _cdpsm: .. toctree:: - :maxdepth: 2 + :maxdepth: 3 + +.. role:: red This section summarizes the use of a reduced-order CIM [1]_ to support feeder modeling for the North American circuits and use cases considered @@ -11,16 +13,14 @@ approximately 100 such entities, mapped onto 100+ tables in SQL. Subsequent versions of GridAPPS-D use a triple-store database, which is better suited for CIM [ref]. -The CIM subset described here is based on -iec61970cim17v23a_iec61968cim13v11, which formed the basis of a release -candidate for CIM100. This candidate CIM100 already includes changes +The CIM subset described here is based on CIM100_501-20v1_302CDV20v26_457-20v22, +which includes new modeling for DER compliant to IEEE 1547-2018, and other changes proposed from the GridAPPS-D project. - Class Diagrams for the Profile ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Figure 1 through Figure 17 present the UML class diagrams generated from +Figure 1 through Figure 20 present the UML class diagrams generated from Enterprise Architect [2]_. These diagrams provide an essential roadmap for understanding: @@ -63,6 +63,9 @@ described in the object diagram section. Usually, the end with 0..1 multiplicity is implemented instead of the end with 0..* or 1..* multiplicity. +Network Models in GridAPPS-D +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Nearly every CIM class inherits from IdentifiedObject, from which we use two attributes: @@ -130,7 +133,7 @@ PhaseImpedanceData.) Figure 3: The EnergySource is balanced three-phase, balanced two-phase or single-phase Thevenin source. GridAPPS-D use a three-phase EnergySource -to represent the transmission system. See Figures 13-14 for DER modeling. +to represent the transmission system. See Figures 13-18 for DER modeling. The EnergyConsumer is a ZIP load, possibly unbalanced, with an associated LoadResponse instance defining the ZIP coefficients. For three-phase delta loads, the phaseConnection is D and the three reverse-associated @@ -204,35 +207,20 @@ AssetInfo mechanism, described with Figure 8. The RegulationControl.mode must be voltage. (Note: RegulationSchedule, RatioTapChangerTable and PhaseTapChanger are not used.) -|imgcim7| - -Figure 8: Many distribution software packages use the concept of catalog -data, aka library data, especially for lines and transformers. We use the -AssetInfo package to implement this in CIM. Here, the TapChangerInfo -class includes the CT rating, CT ratio and PT ratio parameters needed for -line drop compensator settings in voltage regulators. Catalog data is a -one-to-many relationship. In this case, many TapChangers can share the -same TapChangerInfo data, which saves space and provides consistency. -Older versions of CIM had many-to-many catalog relationships, but now only -one AssetDataSheet may be associated per Equipment. (Note: many datasheet -attributes are not shown here and not yet used in GridAPPS-D). - |imgcim8| -Figure 9: The catalog mechanism for transformers will associate a -TransformerTank (Figure 6) with TransformerTankInfo (here), via the -AssetDataSheet mechanism described in Figure 8. The PowerTransformerInfo -collects TransformerTankInfo by reverse association, but it does not link -with PowerTransformer. In other words, the physical tanks are cataloged -because transformer testing is done on tanks. One possible use for -PowerTransformerInfo is to help organize the catalog. It’s important -that TransformerEndInfo:endNumber (here) properly match the -TransformerEnd:endNumber (Figure 6). The shunt admittances are defined by -NoLoadTest on a winding / end, usually just one such test. The impedances -are defined by a set of ShortCircuitTests; one winding / end will be -energized, and one or more of the others will be grounded in these tests. -(OpenCircuitTest is not used, nor are the current, power and voltage -attributes of ShortCircuitTest). +Figure 9: Many distribution software packages use the concept of catalog +data, aka library data, especially for lines and transformers. The +catalog mechanism for transformers will associate a TransformerTank +(Figure 6) with TransformerTankInfo (here). Many TransformerTanks can +share the same TransformerTankInfo data, which saves space and provides +consistency.It’s important that TransformerEndInfo:endNumber (here) +properly match the TransformerEnd:endNumber (Figure 6). The shunt +admittances are defined by NoLoadTest on a winding / end, usually just one +such test. The impedances are defined by a set of ShortCircuitTests; one +winding / end will be energized, and one or more of the others will be +grounded in these tests. (OpenCircuitTest is not used, nor are the +current, power and voltage attributes of ShortCircuitTest). |imgcim9| @@ -318,19 +306,65 @@ distinguish between those types. If the SynchronousMachine regulates voltage, then the RegulatingControl (with attribute values) and Terminal associations need to be provided. -|imgcim1547| - -Figure 15: The IEEE1547Info class describes nameplate information, -including ratings, which shall be available for DER that complies -with IEEE Std. 1547-2018. Both inverters (Figure 13) and rotating -machines (Figure 14) can reference this class for nameplate information -in the network model. Preliminary values for these attributes would be -available from an application to interconnect DER, and then updated as -the project moves through commissioning to operational status. +DER Models from IEEE 1547-2018 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +|imgcim302der| + +Figure 15: The DERIEEEType1 class has been added to IEC 61970-302, 2nd +edition, for describing the dynamics of DER that complies with IEEE Std. +1547-2018. This data is used to describe smart inverter functions and +other DER behavior during time-series power flow in GridAPPS-D. See IEEE +1547-2018, IEEE 1547.1-2020, and IEEE P1547.2/D6.2 (Annex F) for +descriptions of the classes and attributes. The 302 classes and +attributes generally map to the interoperability tables in the IEEE +standards, the main difference being the use of capital letters and +underscores in the IEEE tables. Both inverters (Figure 13) and rotating +machines (Figure 14) can associate to DERIEEEType1 for supplemental +nameplate and rating information in the network model. Preliminary values +for these attributes would be available from an application to +interconnect DER, and then updated as the project moves through +commissioning to operational status. :red:`To be determined whether +DERDynamics can have cardinality 0..* as shown, or 0..1 like other dynamic +functions in 302.` + +|imgcim302vq| + +Figure 16: DER compliant with IEEE Std. 1547-2018 shall support at least three +control modes for voltage and reactive power. In addition, Category B DER shall +support a fourth mode, WattVar, and an active power control mode, VoltWatt. The +reactive power control modes are mutually exclusive, so only one of those shown +should be enabled, i.e., the unused modes can either be left out of the model, +or disabled. + +|imgcim302misc| + +Figure 17: The other settings in IEEE Std. 1547-2018 cover tripping or momentary +cessation during voltage and frequency disturbances, response to frequency +variations (droop), and power limiting. The parameters in ServiceSettings define +the voltage and frequency range within which the DER is allowed to connect, or to +reconnect after tripping. The settings and modes in this figure are not mutually +exclusive, but there are ranges of adjustability specified in IEEE Std. 1547-2018. + +|imgcim302signal| + +Figure 18: Many DER will respond to voltage and frequency and the point of connection, +which would be a Terminal associated to the PowerElectronicsConnection, +SynchronousMachine, or AsynchronousMachine shown at the top of Figure 15. Where this +is not the case, e.g., the DER responds to voltage and frequency on the other +side of a PowerTransformer, the RemoteInputSignal mechanism can be used as shown +in this figure. In GridAPPS-D, only the voltage signal is relevant. IEEE Std. 1547-2018 +states that voltage functions are based on the average, minimum, or maximum of all applicable +voltages. The applicable voltages depend on how the connection appears to the grid, +as conveyed in the attributes of DERIEEEType1. Hence, the RemoteInputSignal.phase +attribute is not used. Instead, use all applicable voltages from the associated Terminal. + +Extensions for Houses and Faults +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |imghouses| -Figure 16: Houses are used to create 2nd-order thermal models of the +Figure 19: Houses are used to create 2nd-order thermal models of the building envelope, with internal ThermostatController and heating/cooling systems. The purpose is to introduce realistic load stochastic behaviors that are independent from and faster-moving than data typically available @@ -349,7 +383,7 @@ this will be harmonized with CIM market structures in the 62235 package. |imgfaults| -Figure 17: Faults include open conductors and short circuits (optionally +Figure 20: Faults include open conductors and short circuits (optionally including ground) on any combination of phases. In GridAPPS-D, every Fault will be an EquipmentFault associated to a Terminal (i.e., we are not using LineFault, which requires a lengthFromTerminal1 attribute). The @@ -363,7 +397,7 @@ Typical Queries These queries focus on requirements of the first volt-var application. -1. Capacitors (Figure 5, Figure 18, Figure 19, Figure 20) +1. Capacitors (Figure 5, Figure 21, Figure 22, Figure 23) a. Create a list of capacitors with bus name (Connectivity Node in Figure 1), kVAR per phase, control mode, target value and target @@ -372,7 +406,7 @@ These queries focus on requirements of the first volt-var application. b. For a selected capacitor, update the control mode, target value, and target deadband -2. Regulators (Figure 7, Figure 8, Figure 18, Figure 35) +2. Regulators (Figure 7, Figure 8, Figure 21, Figure 38) a. List all transformers that have a tap changer attached, along with their bus names and kVA sizes @@ -385,12 +419,12 @@ These queries focus on requirements of the first volt-var application. 3. Transformers (Figure 6, Figure 9) a. Given a bus name or load (Figure 3), find the transformer serving - it (Figure 22, Figure 25) + it (Figure 25, Figure 28) b. Find the substation transformer, defined as the largest transformer (by kVA size and or highest voltage rating) - c. List the transformer catalog (Figure 9, Figure 26) with name, + c. List the transformer catalog (Figure 9, Figure 29) with name, highest ratedS, list of winding ratedU in descending order, vector group (https://en.wikipedia.org/wiki/Vector\_group used with connectionKind and phaseAngleClock), and percent impedance @@ -400,33 +434,33 @@ These queries focus on requirements of the first volt-var application. transformer can be defined in three ways i. Without tanks, for three-phase, multi-winding, balanced - transformers (Figure 22 and Figure 23). + transformers (Figure 25 and Figure 26). ii. With tanks along with TransformerTankInfo (Figure 9) from a catalog of “transformer codes”, which may describe balanced - or unbalanced transformers. See Figure 25 and Figure 26. + or unbalanced transformers. See Figure 28 and Figure 29. iii. With tanks for unbalanced transformers, and - TransformerTankInfo created on-the-fly. See Figure 25 and - Figure 26. + TransformerTankInfo created on-the-fly. See Figure 28 and + Figure 29. e. Given a transformer (Figure 6), update it to use a different catalog entry (TransformerTankInfo in Figure 9) -4. Lines (Figure 2, Figure 10, Figure 18) +4. Lines (Figure 2, Figure 10, Figure 21) a. List the line and cable catalog entries that meet a minimum ratedCurrent and specific WireUsageKind. For cables, be able to specify tape shield vs. concentric neutral, the - WireInsulationKind, and a minimum insulationThickness. (Figure 33) + WireInsulationKind, and a minimum insulationThickness. (Figure 36) b. Given a line segment (Figure 2) update to use a different linecode - (Figure 10, Figure 32) + (Figure 10, Figure 35) c. Given a bus name, list the ACLineSegments connected to the bus, along with the length, total r, total x, and phases used. There are four cases as noted in the caption of Figure 2, and see Figure - 29 through Figure 32. + 32 through Figure 35. d. Given a bus name, list the set of ACLineSegments (or PowerTransformers and Switches) completing a path from it back to @@ -437,24 +471,24 @@ These queries focus on requirements of the first volt-var application. 5. Voltage and other measurements (Figure 1, Figure 11) a. Given a bus, attach a voltage solution point (SvVoltage, Figure - 36) + 39) b. List all voltage solution points and their buses, and for each bus, list the phases actually present - c. For tap changer position (SvTapStep, Figure 37), attach and list + c. For tap changer position (SvTapStep, Figure 40), attach and list values as in items a and b d. For capacitor switch status (SvShuntCompensatorSections, Figure - 38), attach and list values as in items a and b + 41), attach and list values as in items a and b -6. Loads (Figure 3, Figure 34) +6. Loads (Figure 3, Figure 37) a. Given a bus name, list and total all of the loads connected by phase, showing the total p and q, and the composite ZIP coefficients -7. Switching (Figure 4, Figure 28) +7. Switching (Figure 4, Figure 31) a. Given a bus name, trace back to the EnergySource and list the switches encountered, grouped by type (i.e. the leaf class in @@ -465,14 +499,14 @@ These queries focus on requirements of the first volt-var application. b. Given switch, toggle its open/close status. Object Diagrams for Queries -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +~~~~~~~~~~~~~~~~~~~~~~~~~~~ This section contains UML object diagrams for the purpose of illustrating how to perform typical queries and updates. For those unfamiliar with UML object diagrams: 1. Each object will be an instance of a class, and more than one - instance of a class can appear on the diagram. For example, Figure 18 + instance of a class can appear on the diagram. For example, Figure 21 shows two ConnectivityNode instances, one for each end of a ConductingEquipment. @@ -492,7 +526,7 @@ unfamiliar with UML object diagrams: difference is that only one way of navigating a particular association will be defined in the profile. For example, the lower left corner of Figure 1 shows a two-way link between Terminal - and ConnectivityNode in the UML class diagram. However, Figure 18 + and ConnectivityNode in the UML class diagram. However, Figure 21 shows that only one direction has been defined in the profile. Each Terminal has a direct reference to its corresponding ConnectivityNode. In order to navigate the reverse direction from @@ -519,7 +553,7 @@ at a bus, more than one load, more than one line, etc. |imgcim11| -Figure 18: In order to traverse buses and components, begin with a +Figure 21: In order to traverse buses and components, begin with a ConnectivityNode (left). Collect all terminals referencing that ConnectivityNode; each Terminal will have one-to-one association with ConductingEquipment, of which there are many subclasses. In this example, @@ -535,7 +569,7 @@ ConductingEquipment, but we traverse connectivity via transformer ends (aka windings). This is illustrated later. In order to find capacitors (or anything else) associated with a -particular “feeder”, Figure 19 shows that you would query for objects +particular “feeder”, Figure 22 shows that you would query for objects having EquipmentContainer reference to the Feeder object. In GridAPPS-D, we only use Feeder for equipment container in CIM, and this would correspond to one entire GridLAB-D model. There is also a BaseVoltage @@ -549,7 +583,7 @@ few exceptions like percent and kW values on transformer test sheets |imgcim12| -Figure 19: All conducting equipment lies within an EquipmentContainer, +Figure 22: All conducting equipment lies within an EquipmentContainer, which in GridAPPS-D, will be a Feeder object named after the feeder. It also has reference to a BaseVoltage, which is typically one of the ANSI preferred system voltages. Power transformers are a little different, in @@ -560,12 +594,12 @@ equipment has a Location, which contains XY coordinates (see Figure 1). The Location is useful for visualization, but is not essential for a power flow model. -Completing the discussion of capacitors, Figure 20 provides two examples +Completing the discussion of capacitors, Figure 23 provides two examples for single-phase, and three-phase with local voltage control. As shunt elements, capacitors have only one Terminal instance. Loads and sources have one terminal, lines and switches have two terminals, and transformers have two or more terminals. Examples of all those are shown -later. In Figure 20, the capacitor’s kVAR rating will be based on its +later. In Figure 23, the capacitor’s kVAR rating will be based on its nameplate ratedU, not the system’s nominalVoltage. Often, the question will arise “what phases exist at this bus?”.There @@ -574,9 +608,9 @@ use the Terminal phases attribute in preference to the "wires phase model" classes. For example, thephases at a line segment terminal can always be obtained from the ACLineSegmentPhase instances. To answer the question about bus phasing, we’d have to query for all ConductingEquipment -instances having Terminals connected to that bus, as in Figure 18. The +instances having Terminals connected to that bus, as in Figure 21. The types of ConductingEquipment that may have individual phases include -LinearShuntCompensators (Figure 20), ACLineSegments, PowerTransformers +LinearShuntCompensators (Figure 23), ACLineSegments, PowerTransformers (via TransformerEnds), EnergyConsumers, EnergySources, PowerElectronicsConnections, and descendants of Switch. If the ConductingEquipment has such individual phases, then add those phases to @@ -584,14 +618,14 @@ list of phases existing at the bus. If there are no individual phases, then ABC all exist at the bus. Note this doesn’t guarantee that all wiring to the bus is correct; for example, you could still have a three-phase load served by only a two-phase line, which would be a -modeling error. In Figure 20, we’d find phase C at Bus611 and phases +modeling error. In Figure 23, we’d find phase C at Bus611 and phases ABC at Bus675. Elsewhere in the model, there should be ACLineSegments, PowerTransformers or Switch descendants delivering phase C to Bus611, all three phases ABC to Bus675. |imgcim13| -Figure 20: Capacitors are called LinearShuntCompensator in CIM. On the +Figure 23: Capacitors are called LinearShuntCompensator in CIM. On the left, a 100 kVAR, 2400 V single-phase bank is shown on phase C at bus 611. bPerSection = 100e3 / 2400^2 [S], and the bPerSection on LinearShuntCompensatorPhase predominates; these values can differ among @@ -609,8 +643,8 @@ Terminal could be used. The control delay is called aVRDelay in CIM, and it’s an attribute of the LinearShuntCompensator instead of the RegulatingControl. It corresponds to “dwell time” in GridLAB-D. -Figure 21 through Figure 26 illustrate the transformer query tasks, plus -Figure 35 for attached voltage regulators. The autotransformer example is +Figure 24 through Figure 30 illustrate the transformer query tasks, plus +Figure 38 for attached voltage regulators. The autotransformer example is rated 500/345/13.8 kV and 500/500/50 MVA, for a transmission system. The short circuit test values are Z\ :sub:`HL`\ =10%, Z\ :sub:`HT`\ =25% and Z\ :sub:`LT`\ =30%. The no-load test values are 0.05% exciting current @@ -624,7 +658,7 @@ test reports. |imgcim14| -Figure 21: Autotransformer with delta tertiary winding acts like a +Figure 24: Autotransformer with delta tertiary winding acts like a wye-wye transformer with smaller delta tertiary. The vector group would be Yynd1 or Yyd1. For analyses other than power flow, it can be represented more accurately as the physical series (n1) – common (n2) @@ -633,7 +667,7 @@ three-winding transformer. |imgcim15| -Figure 22: A three-winding autotransformer is represented in CIM as a +Figure 25: A three-winding autotransformer is represented in CIM as a PowerTransformer with three PowerTransformerEnds, because it’s balanced and three-phase. The three Terminals have direct ConductingEquipment references to the PowerTransformer, so you can find it from bus1, busX or @@ -647,8 +681,8 @@ and endNumber establishes that end’s place in the vectorGroup. |imgcim16| -Figure 23: Power transformer impedances correspond to the three-winding -autotransformer example of Figure 15 and Figure 16. There are three +Figure 26: Power transformer impedances correspond to the three-winding +autotransformer example of Figure 24 and Figure 25. There are three instances of TransformerMeshImpedance connected pair-wise between the three windings / ends. The x and r values are in Ohms referred to the end with highest ratedU in that pair. There is just one @@ -658,7 +692,7 @@ ratedU. |imgcim17| -Figure 24: Open wye - open delta transformer banks are used to provide +Figure 27: Open wye - open delta transformer banks are used to provide inexpensive three-phase service to loads, by using only two single-phase transformers. This is an unbalanced transformer, and as such it requires tank modeling in CIM. Physically, the two transformers would be in @@ -668,25 +702,19 @@ secondary would include s1 and s2 instead of A and B. |imgcim18| -Figure 25: Unbalanced PowerTransformer instances comprise one or more +Figure 28: Unbalanced PowerTransformer instances comprise one or more TransformerTanks, which own the TransformerTankEnds. Through the ends, wdgHi collects phases ABN and busLo collects phases ABCN. Typically, phase C will also exist at wdgHi, but this transformer doesn’t require it. We still assign vectorGroup Yd1 to the supervising PowerTransformer, as this is the typical case. The modeler should determine that. By -comparison to Figure 24, there is a possible ambiguity in how endA3 -represents the polarity dot at the neutral end of Wdg A3. An earlier CIM -proposal would have assigned phaseAngleClock = 6 on wdgA3, but the -attribute was removed from TransformerTankEnd. It may not be possible to -infer the correct winding polarities from the vectorGroup in all cases. -There is a phaseAngleClock attribute on TransformerTankEndInfo, but that -represents a shelf state of the tank, not necessarily connections in the -field. Therefore, it may be necessary to propose the phaseAngleClock -attribute for TransformerTankEnd. +comparison to Figure 27, there is a possible ambiguity in how endA3 +represents the polarity dot at the neutral end of Wdg A3. This is the +purpose of TransformerTankEnd.reversed, which should be True for wdgA3. |imgcim19| -Figure 26: This Asset catalog example defines the impedances for Tank B of +Figure 29: This Asset catalog example defines the impedances for Tank B of the open wye – open delta bank. This is a 50 kVA, 7200 / 240 V single-phase transformer. It has 1% exciting current and 0.4 kW loss in the no-load test, plus 2.1% reactance and 0.5 kW loss in the short-circuit @@ -696,29 +724,29 @@ linked with an AssetDataSheet association shown to the left. Furthermore, endNumber on the TransformerEndInfo has to match endNumber on the TransformerTankEnd instances associated to Tank B. Instead of catalog information, we could have used mesh impedance and core admittance as in -Figure 18, but we’d have to convert the test sheets to SI units and we +Figure 21, but we’d have to convert the test sheets to SI units and we could not share data with other TransformerTank instances, both of which are inconvenient. -Figure 27 through Figure 33 illustrate the query tasks for +Figure 30 through Figure 36 illustrate the query tasks for ACLineSegments and Switches, which will define most of the circuit’s connectivity. The example sequence impedances were based on Z\ :sub:`1` = 0.1 + j0.8 Ω/mile and Z\ :sub:`0` = 0.5 + j2.0 Ω /mile. For distribution systems, use of the shared catalog data is more common, -either pre-calculated matrix (Figure 31) or spacing and conductor -(Figure 32 and Figure 33). In both cases, impedance calculation is +either pre-calculated matrix (Figure 34) or spacing and conductor +(Figure 35 and Figure 36). In both cases, impedance calculation is outside the scope of CIM (e.g. GridLAB-D internally calculates line impedance from spacing and conductor data). |imgcim20| -Figure 27: An ACLineSegment with two phases, A and C. If there are no +Figure 30: An ACLineSegment with two phases, A and C. If there are no ACLineSegmentPhase instances that associate to it, assume it’s a three-phase ACLineSegment. This adds phases AC to bus671 and bus684. |imgcim21| -Figure 28: This 50-Amp load break switch connects phases AC between +Figure 31: This 50-Amp load break switch connects phases AC between busLeft and busRight. Without associated SwitchPhase instances, it would be a three-phase switch. This switch also transposes the phases; A on side 1 connects with C on side 2, while C on side 1 connects with A on @@ -731,14 +759,14 @@ be toggled appropriately. See Figure 4 for other types of switch. |imgcim22| -Figure 29: This is a balanced three-phase ACLineSegment between bus632 +Figure 32: This is a balanced three-phase ACLineSegment between bus632 and bus671, 2000 feet or 609.6 m long. Sequence impedances are specified in ohms, as attributes on the ACLineSegment. This is a typical pattern for transmission lines, but not distribution lines. |imgcim23| -Figure 30: The impedances from Figure 24 were divided by 609.6 m, to +Figure 33: The impedances from Figure 27 were divided by 609.6 m, to obtain ohms per meter for seqCat1. Utilities often call this a “line code”, and other ACLineSegment instances can share the same PerLengthImpedance. A model imported into the CIM could have many line @@ -748,11 +776,11 @@ PerLengthImpedance. |imgcim24| -Figure 31: This is a two-phase line segment from bus671 to bus684 using a +Figure 34: This is a two-phase line segment from bus671 to bus684 using a line code, which has been specified using a 2x2 symmetric matrix of phase impedances per meter, instead of sequence impedances per meter. This is -more common for distribution than either Figure 29 or Figure 30. It’s -distinguished from Figure 30 by the fact that PerLengthImpedance +more common for distribution than either Figure 32 or Figure 33. It’s +distinguished from Figure 33 by the fact that PerLengthImpedance references an instance of PerLengthPhaseImpedance, not PerLengthSequenceImpedance. The conductorCount attribute tells us it’s a 2x2 matrix, which will have two unique diagonal elements and one @@ -766,7 +794,7 @@ here, mtx604 can apply to phasing AB, BC or AC. |imgcim25| -Figure 32: The two-phase ACLineSegment impedance defined by sharing wire +Figure 35: The two-phase ACLineSegment impedance defined by sharing wire and spacing data from a catalog. Each ACLineSegmentPhase links to an OverheadWireInfo instance via the AssetDataSheet association. If the neutral (N) is present, we have to specify its wire information for a @@ -777,8 +805,8 @@ AssetDataSheet assocation. |imgcim26| -Figure 33: The upper five instances define catalog attributes for Figure -27. The WirePosition xCoord and yCoord units are meters, not feet, and +Figure 36: The upper five instances define catalog attributes for Figure +30. The WirePosition xCoord and yCoord units are meters, not feet, and they include sequenceNumber assignments to match ACLineSegmentPhase sequenceNumbers. The phaseWireSpacing and phaseWireCount attributes are for sub-conductor bundling on EHV and UHV transmission lines; bundling is @@ -798,24 +826,24 @@ you can use insulationThickness as a proxy for voltage rating in queries. Here, 5.588 mm corresponds to 220 mils, which is a common size for distribution. -Figure 34 illustrates the loads, which are called EnergyConsumer in CIM. +Figure 37 illustrates the loads, which are called EnergyConsumer in CIM. The houses and appliances from GridLAB-D are not supported in CIM. Only ZIP loads can be represented. Further, any load schedules would have to be defined outside of CIM. Assume that the CIM loads are peak values. -Figure 35 illustrates the voltage regulator function. Note that +Figure 38 illustrates the voltage regulator function. Note that GridLAB-D combines the regulator and transformer functions, while CIM separates them. Also, the CIM provides voltage and current transducer ratios for tap changer controls, but not for capacitor controls. -Figure 36 through Figure 38 illustrate how solved values can be attached +Figure 39 through Figure 41 illustrate how solved values can be attached to buses or other components. |imgcim27| -Figure 34: The three-phase load (aka EnergyConsumer) on bus671 is balanced +Figure 37: The three-phase load (aka EnergyConsumer) on bus671 is balanced and connected in delta. It has no ratedU attribute, so use the referenced -BaseVoltage (Figure 19) if a voltage level is required. On the right, a +BaseVoltage (Figure 22) if a voltage level is required. On the right, a three-phase wye-connected unbalanced load on bus675 is indicated by the presence of three EnergyConsumerPhase instances referencing UnbalancedLoad. For consistency in searches and visualization, @@ -831,12 +859,12 @@ determine the denominator for normalization). |imgcim28| -Figure 35: In CIM, the voltage regulator function is separated from the +Figure 38: In CIM, the voltage regulator function is separated from the tap-changing transformer. The IEEE 13-bus system has a bank of three independent single-phase regulators at busRG60, and this example shows a RatioTapChanger attached to the regulator on phase A, represented by the -TransformerTankEnd having phases=A or phases=AN. See Figure 25 for a more -complete picture of TransformerTankEnds, or Figure 22 for a more complete +TransformerTankEnd having phases=A or phases=AN. See Figure 28 for a more +complete picture of TransformerTankEnds, or Figure 25 for a more complete picture of PowerTransformerEnds. Either one can be the TransformerEnd in this figure, but with a PowerTransformerEnd, all three phase taps would change in unison (i.e. they are “ganged”). Most regulator attributes @@ -849,34 +877,37 @@ RatioTapChanger and TapChangerControl instances for phases B and C. |imgcim29| -Figure 36: In this profile, a solved voltage value attaches to +Figure 39: In this profile, a solved voltage value attaches to ConnectivityNode in GridAPPS-D. Positive sequence or phase A is implied, unless the phase attribute is specified. |imgcim30| -Figure 37: SvTapStep links to a TransformerEnd indirectly, through the +Figure 40: SvTapStep links to a TransformerEnd indirectly, through the RatioTapChanger. There is no phasing ambiguity because TransformerTankEnd has its phases attribute, while PowerTransformerEnd always includes ABC. Units for SvTapStep.position are per-unit. |imgcim31| -Figure 38: The on/off value for a capacitor bank attaches directly to +Figure 41: The on/off value for a capacitor bank attaches directly to LinearShuntCompensator. If the phase attribute is not specified, then this value applies to all phases. +Other CIM Topics +^^^^^^^^^^^^^^^^ + Metering Relationship to Loads in the CIM -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Figure 39 shows how emulated trouble calls will be connected to loads +Figure 42 shows how emulated trouble calls will be connected to loads (EnergyConsumers) for test scenarios. The TroubleTicket is associated with Customer, CustomerAgreement and UsagePoint, which can then be -associated to Equipment or any of its descendants. Figure 39 shows the +associated to Equipment or any of its descendants. Figure 42 shows the linkage to EnergyConsumer or EnergySource, but it can also be linked to RegulatingCondEq (e.g., rotating machine and inverter-based DER). There are many attributes of Customer, CustomerAgreement and UsagePoint that are -not yet used in GridAPPS-D, and not shown in Figure 40. These would be +not yet used in GridAPPS-D, and not shown in Figure 43. These would be important for future metering and customer management applications. For now, the only TroubleTicket attributes to be used are dateTimeOfReport, resolvedDateTime and troubleKind. The PNNLTroubleCallKind was added @@ -886,10 +917,10 @@ each TroubleTicket. |imgcim33| -Figure 39: Trouble Calls route through Metering Usage Points to EnergyConsumers +Figure 42: Trouble Calls route through Metering Usage Points to EnergyConsumers CIM Enhancements for RC4 -^^^^^^^^^^^^^^^^^^^^^^^^ +~~~~~~~~~~~~~~~~~~~~~~~~ Possible CIM enhancements: @@ -904,15 +935,12 @@ Possible CIM enhancements: 4. Dielectric constant and soil resistivity (Figure 10) -5. Clock angles for TransformerTankEnd (i.e. move phaseAngleClock from - PowerTransformerEnd to TransformerEnd (Figure 6) - -6. Add the Fault.stopDateTime attribute +5. Add the Fault.stopDateTime attribute -7. Single-phase asynchronous and synchronous machines. +6. Single-phase asynchronous and synchronous machines. CIM Profile in CIMTool -^^^^^^^^^^^^^^^^^^^^^^ +~~~~~~~~~~~~~~~~~~~~~~ CIMTool was used to develop and test the profile for RC1, because it: @@ -960,7 +988,7 @@ cases, CIMTool reports only two kinds of validation error: 2. **Minimum cardinality**: For TapChangerControl instances, the inherited RegulatingControl.RegulatingCondEq association is not specified. This is not really an error, as the association is only - needed for shunt capacitor controls. Figure 40 shows that + needed for shunt capacitor controls. Figure 43 shows that RegulatingCondEq was not selected for TapChangerControl in the profile, so this may reflect a defect in the validation code. Efforts to circumvent it were not successful. @@ -970,12 +998,12 @@ other, for feeder models that solve in OpenDSS. |imgcimtool| -Figure 40: Editing a Profile in CIMTool +Figure 43: Editing a Profile in CIMTool Legacy Data Definition Language (DDL) for MySQL -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -As shown at the top of Figure 40, CIMTool builds *RC1.sql* to create +As shown at the top of Figure 43, CIMTool builds *RC1.sql* to create tables in a relational database, but the syntax doesn’t match that required for MySQL. The following manual edits were made: @@ -1087,7 +1115,6 @@ required for MySQL. The following manual edits were made: .. |imgcim4| image:: CDPSM/media/cim_CapacitorClass.png .. |imgcim5| image:: CDPSM/media/cim_Transformer.png .. |imgcim6| image:: CDPSM/media/cim_TapChangerClass.png -.. |imgcim7| image:: CDPSM/media/cim_AssetInfoOverview.png .. |imgcim8| image:: CDPSM/media/cim_DCIMTransformerInfo.png .. |imgcim9| image:: CDPSM/media/cim_DCIMWireInfo.png .. |imgcim10| image:: CDPSM/media/cim_StateVariables.png @@ -1119,5 +1146,8 @@ required for MySQL. The following manual edits were made: .. |imgmachines| image:: CDPSM/media/cim_DERMachines.png .. |imghouses| image:: CDPSM/media/ext_Houses.png .. |imgmeas| image:: CDPSM/media/cim_MeasurementGridAPPSD.png -.. |imgcim1547| image:: CDPSM/media/cim_IEEE1547Info.png +.. |imgcim302der| image:: CDPSM/media/cim_302_IEEE1547GridAPPSD.png +.. |imgcim302vq| image:: CDPSM/media/cim_302_VoltageControlGridAPPSD.png +.. |imgcim302misc| image:: CDPSM/media/cim_302_DroopTripGridAPPSD.png +.. |imgcim302signal| image:: CDPSM/media/cim_302_RemoteSignalsGridAPPSD.png diff --git a/docs/source/developer_resources/CDPSM/media/cim_302_DroopTripGridAPPSD.png b/docs/source/developer_resources/CDPSM/media/cim_302_DroopTripGridAPPSD.png new file mode 100644 index 0000000..7bf4968 Binary files /dev/null and b/docs/source/developer_resources/CDPSM/media/cim_302_DroopTripGridAPPSD.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_302_IEEE1547GridAPPSD.png b/docs/source/developer_resources/CDPSM/media/cim_302_IEEE1547GridAPPSD.png new file mode 100644 index 0000000..58a3648 Binary files /dev/null and b/docs/source/developer_resources/CDPSM/media/cim_302_IEEE1547GridAPPSD.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_302_RemoteSignalsGridAPPSD.png b/docs/source/developer_resources/CDPSM/media/cim_302_RemoteSignalsGridAPPSD.png new file mode 100644 index 0000000..04880c7 Binary files /dev/null and b/docs/source/developer_resources/CDPSM/media/cim_302_RemoteSignalsGridAPPSD.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_302_VoltageControlGridAPPSD.png b/docs/source/developer_resources/CDPSM/media/cim_302_VoltageControlGridAPPSD.png new file mode 100644 index 0000000..ae3f822 Binary files /dev/null and b/docs/source/developer_resources/CDPSM/media/cim_302_VoltageControlGridAPPSD.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_AssetInfoOverview.png b/docs/source/developer_resources/CDPSM/media/cim_AssetInfoOverview.png deleted file mode 100755 index a6be061..0000000 Binary files a/docs/source/developer_resources/CDPSM/media/cim_AssetInfoOverview.png and /dev/null differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_DCIMTransformerInfo.png b/docs/source/developer_resources/CDPSM/media/cim_DCIMTransformerInfo.png index 94e718d..fa49745 100755 Binary files a/docs/source/developer_resources/CDPSM/media/cim_DCIMTransformerInfo.png and b/docs/source/developer_resources/CDPSM/media/cim_DCIMTransformerInfo.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_PowerElectronics.png b/docs/source/developer_resources/CDPSM/media/cim_PowerElectronics.png index 59dbc66..a5bfc2b 100644 Binary files a/docs/source/developer_resources/CDPSM/media/cim_PowerElectronics.png and b/docs/source/developer_resources/CDPSM/media/cim_PowerElectronics.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_TankNavigation.png b/docs/source/developer_resources/CDPSM/media/cim_TankNavigation.png index 86dfe03..b59816d 100755 Binary files a/docs/source/developer_resources/CDPSM/media/cim_TankNavigation.png and b/docs/source/developer_resources/CDPSM/media/cim_TankNavigation.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_TapChanger.png b/docs/source/developer_resources/CDPSM/media/cim_TapChanger.png index d67b9ef..eee85ec 100755 Binary files a/docs/source/developer_resources/CDPSM/media/cim_TapChanger.png and b/docs/source/developer_resources/CDPSM/media/cim_TapChanger.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_TapChangerClass.png b/docs/source/developer_resources/CDPSM/media/cim_TapChangerClass.png index 2ec3867..eee85ec 100755 Binary files a/docs/source/developer_resources/CDPSM/media/cim_TapChangerClass.png and b/docs/source/developer_resources/CDPSM/media/cim_TapChangerClass.png differ diff --git a/docs/source/developer_resources/CDPSM/media/cim_Transformer.png b/docs/source/developer_resources/CDPSM/media/cim_Transformer.png index a41a8f8..ad1708b 100755 Binary files a/docs/source/developer_resources/CDPSM/media/cim_Transformer.png and b/docs/source/developer_resources/CDPSM/media/cim_Transformer.png differ diff --git a/docs/source/developer_resources/CIM_Validation.rst b/docs/source/developer_resources/CIM_Validation.rst index 537763d..9b11385 100755 --- a/docs/source/developer_resources/CIM_Validation.rst +++ b/docs/source/developer_resources/CIM_Validation.rst @@ -16,7 +16,7 @@ applications. To represent the model, CIM is written using the Unified Modeling Language (UML) using Sparx Enterprise Architect. The model is stored -in a project file (*.eap extension file). GridAPPS-D extends the CIM +in a project file (\*.eap extension file). GridAPPS-D extends the CIM to meet its application specific needs. UML (Object Management Group UML 2.5 Specification) profiles are secondary models, derived from the primary information model. Profiles represent a portion of the @@ -77,7 +77,7 @@ report for CIM100 can be compared against the GridAPPS-D CIMv100. Well-Formed and Valid Profile -^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CIMTool can not only create Resource Description Framework Schema (RDFS) profiles from the CIM100 UML, it can also validate the generated profiles or created RDF datasets against CIM100 schema. GridAPPS-D has plans to diff --git a/docs/source/hosted_applications/NREL_APPS/Grid_Forecasting.rst b/docs/source/hosted_applications/NREL_APPS/Grid_Forecasting.rst index 2680b26..6a52547 100644 --- a/docs/source/hosted_applications/NREL_APPS/Grid_Forecasting.rst +++ b/docs/source/hosted_applications/NREL_APPS/Grid_Forecasting.rst @@ -11,7 +11,7 @@ Design This application develops a high-resolution, short-term load forecasting method to accurately predict the power consumption of individual customers in distribution systems. Using historical load measurements as inputs, it trains a support vector regression model to forecast the future load. Based on the forecasted load in the short-term future, this application develops a three-phase AC optimal power flow problem to determine the predictive DLMPs in distribution systems. By accurately modeling the losses and the imbalances of distribution networks, it provides time- and location-specific pricing of individual resources. -|nrel_OPF_image0| +|nrel_OPF_image2| Operating/Running ~~~~~~~~~~~~~~~~~ @@ -25,4 +25,4 @@ References [2] R. Yang and Y. Zhang, “Three-Phase AC Optimal Power Flow Based Distribution Locational Marginal Price,” IEEE Innovative Smart Grid Technologies, Arlington, VA, Apr. 2017. -.. |nrel_OPF_image0| image:: NREL_APPS/media/Grid_Forecasting.png +.. |nrel_OPF_image2| image:: NREL_APPS/media/Grid_Forecasting.png diff --git a/docs/source/license/license.md b/docs/source/license/license.md index 79d64ca..2797d0f 100644 --- a/docs/source/license/license.md +++ b/docs/source/license/license.md @@ -1,9 +1,7 @@ -# License +License +======= -
PACIFIC NORTHWEST NATIONAL LABORATORY
+:: -operated by
- -BATTELLE
- -for the
- -UNITED STATES DEPARTMENT OF ENERGY
- -under Contract DE-AC05-76RL01830
+ PACIFIC NORTHWEST NATIONAL LABORATORY + operated by + BATTELLE + for the + UNITED STATES DEPARTMENT OF ENERGY + under Contract DE-AC05-76RL01830 diff --git a/docs/source/overview/version_history.rst b/docs/source/overview/version_history.rst index ebfa4fc..e1d60da 100644 --- a/docs/source/overview/version_history.rst +++ b/docs/source/overview/version_history.rst @@ -653,7 +653,7 @@ Version 2020.04.0 - Corrected json parse method for TimeSeriesRequest class. - Viz app: Updated to use simulation timestamp for voltage violation instead of current time. - Viz app: Show "Simulation starting" message before simulation is started and hide the Pause/Stop buttons. - - Powergrid model: Added scripts and *uuid.dat files to maintain persistent mRID values + - Powergrid model: Added scripts and \*uuid.dat files to maintain persistent mRID values - Powergrid model: Supporting OverheadLineUnbalanced, ganged regulators and unknown spacings for 1-phase and 2-phase line. - Integration testing infrastructure create with PyTest and Travis. diff --git a/docs/source/using_gridappsd/Developing_Apps.rst b/docs/source/using_gridappsd/Developing_Apps.rst index c39373f..ca1e3f1 100644 --- a/docs/source/using_gridappsd/Developing_Apps.rst +++ b/docs/source/using_gridappsd/Developing_Apps.rst @@ -190,7 +190,8 @@ Following is the recommended structure for services working with gridappsd using Config file is used by GridAPPS-D platform to register and launch the service. Here is the config file example using gridappsd-state-estimator: -:: +:: + { "id":"state-estimator", "description":"State Estimator", diff --git a/docs/source/using_gridappsd/Query Timeseries.rst b/docs/source/using_gridappsd/Query_Timeseries.rst similarity index 100% rename from docs/source/using_gridappsd/Query Timeseries.rst rename to docs/source/using_gridappsd/Query_Timeseries.rst diff --git a/docs/source/using_gridappsd/api_examples/config_data_manager.rst b/docs/source/using_gridappsd/api_examples/config_data_manager.rst index 61fee02..c88b80c 100644 --- a/docs/source/using_gridappsd/api_examples/config_data_manager.rst +++ b/docs/source/using_gridappsd/api_examples/config_data_manager.rst @@ -83,7 +83,8 @@ Request: goss.gridappsd.process.request.config Response: :: -{"feeders":[ + + {"feeders":[ {"name":"ieee123", "mRID":"_C1C3E687-6FFD-C753-582B-632A27E28507", "substation":"IEEE123", @@ -157,8 +158,8 @@ Response: :: {"feeders":[ -{"name":"test9500new","mRID":"_AAE94E4A-2465-6F5E-37B1-3E72183A4E44","substationName":"ThreeSubs","substationID":"_40485321-9B2C-1B8C-EC33-39D2F7948163","subregionName":"Large","subregionID":"_A1170111-942A-6ABD-D325-C64886DC4D7D","regionName":"IEEE","regionID":"_73C512BD-7249-4F50-50DA-D93849B89C43"}, -{"name":"ieee123","mRID":"_C1C3E687-6FFD-C753-582B-632A27E28507","substationName":"IEEE123","substationID":"_FE44B314-385E-C2BF-3983-3A10C6060022","subregionName":"Medium","subregionID":"_1CD7D2EE-3C91-3248-5662-A43EFEFAC224","regionName":"IEEE","regionID":"_73C512BD-7249-4F50-50DA-D93849B89C43"}, + {"name":"test9500new","mRID":"_AAE94E4A-2465-6F5E-37B1-3E72183A4E44","substationName":"ThreeSubs","substationID":"_40485321-9B2C-1B8C-EC33-39D2F7948163","subregionName":"Large","subregionID":"_A1170111-942A-6ABD-D325-C64886DC4D7D","regionName":"IEEE","regionID":"_73C512BD-7249-4F50-50DA-D93849B89C43"}, + {"name":"ieee123","mRID":"_C1C3E687-6FFD-C753-582B-632A27E28507","substationName":"IEEE123","substationID":"_FE44B314-385E-C2BF-3983-3A10C6060022","subregionName":"Medium","subregionID":"_1CD7D2EE-3C91-3248-5662-A43EFEFAC224","regionName":"IEEE","regionID":"_73C512BD-7249-4F50-50DA-D93849B89C43"}, ....... ]} @@ -272,7 +273,7 @@ Response: ....... Request OpenDSS Coordinates File -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Generates the symbols file with XY coordinates used by the OpenDSS simulator - Required: configurationType, parameters[model_id] @@ -291,27 +292,27 @@ Request: goss.gridappsd.process.request.config Response: :: -88,2950.0,1300.0 -89,2775.0,1125.0 -197,3525.0,2200.0 -110,4275.0,3050.0 -111,4275.0,3625.0 -112,4275.0,2925.0 -113,4800.0,2925.0 -114,5125.0,2925.0 -90,2775.0,900.0 -61s,3175.0,1300.0 -91,2550.0,1125.0 -92,2550.0,825.0 -93,2325.0,1125.0 -94,2325.0,850.0 -95,2025.0,1125.0 -96,2025.0,925.0 -97,3525.0,2100.0 -98,3800.0,2100.0 -10,1450.0,2150.0 -99,4350.0,2100.0 -11,950.0,2150.0 + 88,2950.0,1300.0 + 89,2775.0,1125.0 + 197,3525.0,2200.0 + 110,4275.0,3050.0 + 111,4275.0,3625.0 + 112,4275.0,2925.0 + 113,4800.0,2925.0 + 114,5125.0,2925.0 + 90,2775.0,900.0 + 61s,3175.0,1300.0 + 91,2550.0,1125.0 + 92,2550.0,825.0 + 93,2325.0,1125.0 + 94,2325.0,850.0 + 95,2025.0,1125.0 + 96,2025.0,925.0 + 97,3525.0,2100.0 + 98,3800.0,2100.0 + 10,1450.0,2150.0 + 99,4350.0,2100.0 + 11,950.0,2150.0 ....... diff --git a/docs/source/using_gridappsd/api_examples/timeseries_data_api.rst b/docs/source/using_gridappsd/api_examples/timeseries_data_api.rst index fb7b99a..8345b8a 100644 --- a/docs/source/using_gridappsd/api_examples/timeseries_data_api.rst +++ b/docs/source/using_gridappsd/api_examples/timeseries_data_api.rst @@ -127,8 +127,9 @@ Allowed values for queryFilter are: object [string] value [number] -Please find some sample requests with various query filters +Please find some sample requests with various query filters: :: + {"queryMeasurement": "simulation", "queryFilter": {"simulation_id": "582881157", "hasSimulationMessageType": "INPUT"}, "responseFormat": "JSON"} @@ -155,8 +156,9 @@ Example Request: "responseFormat": "JSON"} Example Response for result format JSON: -:: - { +:: + + { "data": { "measurements": [ { diff --git a/docs/source/using_gridappsd/index.rst b/docs/source/using_gridappsd/index.rst index 34b6f4a..27a593d 100644 --- a/docs/source/using_gridappsd/index.rst +++ b/docs/source/using_gridappsd/index.rst @@ -60,6 +60,8 @@ Simulation API Timeseries API -------------- +.. include:: Query_Timeseries.rst + .. include:: api_examples/timeseries_data_api.rst Services