Package gov.pnnl.gridappsd.cimhub
Class CIMImporter
- java.lang.Object
-
- gov.pnnl.gridappsd.cimhub.CIMImporter
-
public class CIMImporter extends java.lang.ObjectThis class builds a GridLAB-D or OpenDSS model by running SQARQL queries against Blazegraph triple-store
Invoke as a console-mode program
- See Also:
main(java.lang.String[])
-
-
Constructor Summary
Constructors Constructor Description CIMImporter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanApplyCurrentLimits()booleanCheckMaps()voidgenerateDictionaryFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out, boolean useHouses, gov.pnnl.gridappsd.cimhub.dto.ModelState modelState)voidgenerateDictionaryFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out, int maxMeasurements, boolean useHouses, gov.pnnl.gridappsd.cimhub.dto.ModelState ms)voidgenerateDSSCoordinates(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out)voidgenerateDSSFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out, java.io.PrintWriter outID, java.lang.String fXY, java.lang.String fID, double load_scale, boolean bWantSched, java.lang.String fSched, boolean bWantZIP, double Zcoeff, double Icoeff, double Pcoeff, java.lang.String fEarth)voidgenerateFeederIndexFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out)voidgenerateGLMFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, CIMQuerySetter querySetter, java.io.PrintWriter out, java.lang.String fSched, double load_scale, boolean bWantSched, boolean bWantZIP, boolean randomZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, boolean bHaveEventGen, boolean bLoadMeters)voidgenerateJSONSymbolFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out)voidLoadAllMaps()voidLoadAllMaps(boolean useHouses)static voidmain(java.lang.String[] args)protected voidMakeLineMap()protected voidMakeSwitchMap()protected voidMakeTerminalMap()voidPrintAllCountMaps()voidPrintAllMaps()voidPrintGldNodeMap(java.util.HashMap<java.lang.String,GldNode> map, java.lang.String label)voidPrintOneCountMap(java.util.HashMap<java.lang.String,java.lang.Integer> map, java.lang.String label)voidPrintOneMap(java.util.HashMap<java.lang.String,? extends gov.pnnl.gridappsd.cimhub.components.DistComponent> map, java.lang.String label)voidPrintTerminalMap(java.util.HashMap<java.lang.String,CIMTerminal> map, java.lang.String label)voidstart(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, CIMQuerySetter querySetter, java.lang.String fTarget, java.lang.String fRoot, java.lang.String fSched, double load_scale, boolean bWantSched, boolean bWantZIP, boolean randomZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, boolean bHaveEventGen, gov.pnnl.gridappsd.cimhub.dto.ModelState ms, boolean bTiming, java.lang.String fEarth, boolean bLoadMeters)voidstart(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, CIMQuerySetter querySetter, java.lang.String fTarget, java.lang.String fRoot, java.lang.String fSched, double load_scale, boolean bWantSched, boolean bWantZIP, boolean randomZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, int maxMeasurements, boolean bHaveEventGen, gov.pnnl.gridappsd.cimhub.dto.ModelState ms, boolean bTiming, java.lang.String fEarth, boolean bLoadMeters)protected voidUpdateModelState(gov.pnnl.gridappsd.cimhub.dto.ModelState ms)protected java.lang.StringUUIDfromCIMmRID(java.lang.String id)protected voidWriteCsvFiles(java.lang.String fRoot)voidWriteDictionaryFile(java.io.PrintWriter out, int maxMeasurements)protected voidWriteDSSCoordinates(java.io.PrintWriter out)protected voidWriteDSSFile(java.io.PrintWriter out, java.io.PrintWriter outID, java.lang.String fXY, java.lang.String fID, double load_scale, boolean bWantSched, java.lang.String fSched, boolean bWantZIP, double Zcoeff, double Icoeff, double Pcoeff, java.lang.String fEarth)protected voidWriteGLMFile(java.io.PrintWriter out, double load_scale, boolean bWantSched, java.lang.String fSched, boolean bWantZIP, boolean randomZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, boolean bHaveEventGen, boolean bLoadMeters)protected voidWriteIndexFile(java.io.PrintWriter out)voidWriteJSONSymbolFile(java.io.PrintWriter out)voidWriteLimitsFile(java.io.PrintWriter out)voidWriteMapDictionary(java.util.HashMap<java.lang.String,? extends gov.pnnl.gridappsd.cimhub.components.DistComponent> map, java.lang.String label, boolean bLast, java.io.PrintWriter out)voidWriteMapDictionary(java.util.HashMap<java.lang.String,? extends gov.pnnl.gridappsd.cimhub.components.DistComponent> map, java.lang.String label, boolean bLast, java.io.PrintWriter out, int maxMeasurements)voidWriteMapSymbols(java.util.HashMap<java.lang.String,? extends gov.pnnl.gridappsd.cimhub.components.DistComponent> map, java.lang.String label, boolean bLast, java.io.PrintWriter out)voidWriteRegulatorMapSymbols(boolean bLast, java.io.PrintWriter out)
-
-
-
Method Detail
-
PrintOneMap
public void PrintOneMap(java.util.HashMap<java.lang.String,? extends gov.pnnl.gridappsd.cimhub.components.DistComponent> map, java.lang.String label)
-
PrintOneCountMap
public void PrintOneCountMap(java.util.HashMap<java.lang.String,java.lang.Integer> map, java.lang.String label)
-
PrintGldNodeMap
public void PrintGldNodeMap(java.util.HashMap<java.lang.String,GldNode> map, java.lang.String label)
-
PrintTerminalMap
public void PrintTerminalMap(java.util.HashMap<java.lang.String,CIMTerminal> map, java.lang.String label)
-
PrintAllCountMaps
public void PrintAllCountMaps()
-
PrintAllMaps
public void PrintAllMaps()
-
LoadAllMaps
public void LoadAllMaps()
-
LoadAllMaps
public void LoadAllMaps(boolean useHouses)
-
CheckMaps
public boolean CheckMaps()
-
ApplyCurrentLimits
public boolean ApplyCurrentLimits()
-
WriteMapDictionary
public void WriteMapDictionary(java.util.HashMap<java.lang.String,? extends gov.pnnl.gridappsd.cimhub.components.DistComponent> map, java.lang.String label, boolean bLast, java.io.PrintWriter out)
-
WriteMapDictionary
public void WriteMapDictionary(java.util.HashMap<java.lang.String,? extends gov.pnnl.gridappsd.cimhub.components.DistComponent> map, java.lang.String label, boolean bLast, java.io.PrintWriter out, int maxMeasurements)
-
WriteLimitsFile
public void WriteLimitsFile(java.io.PrintWriter out)
-
WriteDictionaryFile
public void WriteDictionaryFile(java.io.PrintWriter out, int maxMeasurements)
-
WriteMapSymbols
public void WriteMapSymbols(java.util.HashMap<java.lang.String,? extends gov.pnnl.gridappsd.cimhub.components.DistComponent> map, java.lang.String label, boolean bLast, java.io.PrintWriter out)
-
WriteRegulatorMapSymbols
public void WriteRegulatorMapSymbols(boolean bLast, java.io.PrintWriter out)
-
WriteJSONSymbolFile
public void WriteJSONSymbolFile(java.io.PrintWriter out)
-
MakeSwitchMap
protected void MakeSwitchMap()
-
MakeLineMap
protected void MakeLineMap()
-
MakeTerminalMap
protected void MakeTerminalMap()
-
WriteGLMFile
protected void WriteGLMFile(java.io.PrintWriter out, double load_scale, boolean bWantSched, java.lang.String fSched, boolean bWantZIP, boolean randomZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, boolean bHaveEventGen, boolean bLoadMeters)
-
WriteDSSCoordinates
protected void WriteDSSCoordinates(java.io.PrintWriter out)
-
UUIDfromCIMmRID
protected java.lang.String UUIDfromCIMmRID(java.lang.String id)
-
WriteDSSFile
protected void WriteDSSFile(java.io.PrintWriter out, java.io.PrintWriter outID, java.lang.String fXY, java.lang.String fID, double load_scale, boolean bWantSched, java.lang.String fSched, boolean bWantZIP, double Zcoeff, double Icoeff, double Pcoeff, java.lang.String fEarth)
-
WriteIndexFile
protected void WriteIndexFile(java.io.PrintWriter out)
-
WriteCsvFiles
protected void WriteCsvFiles(java.lang.String fRoot) throws java.io.FileNotFoundException- Throws:
java.io.FileNotFoundException
-
start
public void start(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, CIMQuerySetter querySetter, java.lang.String fTarget, java.lang.String fRoot, java.lang.String fSched, double load_scale, boolean bWantSched, boolean bWantZIP, boolean randomZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, boolean bHaveEventGen, gov.pnnl.gridappsd.cimhub.dto.ModelState ms, boolean bTiming, java.lang.String fEarth, boolean bLoadMeters) throws java.io.FileNotFoundException- Throws:
java.io.FileNotFoundException
-
start
public void start(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, CIMQuerySetter querySetter, java.lang.String fTarget, java.lang.String fRoot, java.lang.String fSched, double load_scale, boolean bWantSched, boolean bWantZIP, boolean randomZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, int maxMeasurements, boolean bHaveEventGen, gov.pnnl.gridappsd.cimhub.dto.ModelState ms, boolean bTiming, java.lang.String fEarth, boolean bLoadMeters) throws java.io.FileNotFoundException- Parameters:
queryHandler- sends queries to Blazegraph and gets resultsquerySetter- manages the SPARQL for model componentsfTarget- glm, dss, both(glm+dss), csv, idx, cimfRoot- root name for model output filesfSched- name of a GridLAB-D schedule file for loadsload_scale- multiplier on the nominal or peak loadsbWantSched- true to use a time schedule for GridLAB-D loadsbWantZIP- true if using Zcoeff, Icoeff, PcoeffrandomZIP- true to randomize Zcoeff, Icoeff, PcoeffuseHouses- true for houses to replace triplex loadsZcoeff- fixed portion of constant-impedance loadIcoeff- fixed portion of constant-current loadPcoeff- fixed portion of constant-power loadmaxMeasurements- postive number to limit the number of measurements createdbHaveEventGen- true if the GridLAB-D export won't need it's own fault_check and eventgen objects for electrical islandsms- used only for testing switch operationsbTiming- true for logging SPARQL query timesfEarth- Deri, Carson, FullCarson for OpenDSSbLoadMeters- true for metering each GridLAB-D load- Throws:
java.io.FileNotFoundException- may occur if a file cannot be opened in the specified directory for writing
-
UpdateModelState
protected void UpdateModelState(gov.pnnl.gridappsd.cimhub.dto.ModelState ms)
-
generateGLMFile
public void generateGLMFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, CIMQuerySetter querySetter, java.io.PrintWriter out, java.lang.String fSched, double load_scale, boolean bWantSched, boolean bWantZIP, boolean randomZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, boolean bHaveEventGen, boolean bLoadMeters)- Parameters:
queryHandler- sends queries to Blazegraph and gets resultsout- for file output streamingquerySetter- manages the SPARQL for model componentsfSched- name of a GridLAB-D schedule file for loadsload_scale- multiplier on the nominal or peak loadsbWantSched- true to use a time schedule for GridLAB-D loadsbWantZIP- true if using Zcoeff, Icoeff, PcoeffrandomZIP- true to randomize Zcoeff, Icoeff, PcoeffuseHouses- true for houses to replace triplex loadsZcoeff- fixed portion of constant-impedance loadIcoeff- fixed portion of constant-current loadPcoeff- fixed portion of constant-power loadbHaveEventGen- true if the GridLAB-D export won't need it's own fault_check and eventgen objects for electrical islandsbLoadMeters- true for metering each GridLAB-D load
-
generateJSONSymbolFile
public void generateJSONSymbolFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out)- Parameters:
queryHandler- sends queries to Blazegraph and gets resultsout- stream for the OpenDSS components
-
generateDictionaryFile
public void generateDictionaryFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out, boolean useHouses, gov.pnnl.gridappsd.cimhub.dto.ModelState modelState)
-
generateDictionaryFile
public void generateDictionaryFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out, int maxMeasurements, boolean useHouses, gov.pnnl.gridappsd.cimhub.dto.ModelState ms)- Parameters:
queryHandler- sends queries to Blazegraph and gets resultsout- stream for the OpenDSS componentsuseHouses- true for houses to replace triplex loadsmaxMeasurements- postive number to limit the number of measurements createdms- used only for testing switch operations
-
generateDSSFile
public void generateDSSFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out, java.io.PrintWriter outID, java.lang.String fXY, java.lang.String fID, double load_scale, boolean bWantSched, java.lang.String fSched, boolean bWantZIP, double Zcoeff, double Icoeff, double Pcoeff, java.lang.String fEarth)- Parameters:
queryHandler- sends queries to Blazegraph and gets resultsout- stream for the OpenDSS componentsoutID- stream for the OpenDSS UUID valuesfXY- name of output file for XY coordinates, to call from master OpenDSS filefID- name of output file for UUID / mRID values, to call from the master OpenDSS filefSched- name of a GridLAB-D schedule file for loads (not implemented for OpenDSS?)load_scale- multiplier on the nominal or peak loadsbWantSched- true to use a time schedule for GridLAB-D loads (not implemented for OpenDSS?)bWantZIP- true if using Zcoeff, Icoeff, PcoeffZcoeff- fixed portion of constant-impedance loadIcoeff- fixed portion of constant-current loadPcoeff- fixed portion of constant-power loadfEarth- Deri, Carson, FullCarson for OpenDSS
-
generateDSSCoordinates
public void generateDSSCoordinates(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out)- Parameters:
queryHandler- sends queries to Blazegraph and gets resultsout- stream for the OpenDSS components
-
generateFeederIndexFile
public void generateFeederIndexFile(gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler queryHandler, java.io.PrintWriter out)- Parameters:
queryHandler- sends queries to Blazegraph and gets resultsout- stream for the OpenDSS components
-
main
public static void main(java.lang.String[] args) throws java.io.FileNotFoundException- Throws:
java.io.FileNotFoundException
-
-