From cd6455c8ff6474ad6335edf71ed1f5b0c8128406 Mon Sep 17 00:00:00 2001 From: "David P. Chassin" Date: Sat, 27 Feb 2021 09:35:11 -0800 Subject: [PATCH 01/82] Create .catalog --- US/CA/SLAC/ica_analysis/.catalog | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 US/CA/SLAC/ica_analysis/.catalog diff --git a/US/CA/SLAC/ica_analysis/.catalog b/US/CA/SLAC/ica_analysis/.catalog new file mode 100644 index 00000000..5a97415f --- /dev/null +++ b/US/CA/SLAC/ica_analysis/.catalog @@ -0,0 +1,2 @@ +ica_analysis.glm:a=r +ica_analysis.py:a=rx From f2145861b446318b111239b96a4361e6ad92adc3 Mon Sep 17 00:00:00 2001 From: "David P. Chassin" Date: Sat, 27 Feb 2021 09:47:03 -0800 Subject: [PATCH 02/82] Delete ica_analysis.zip --- US/CA/SLAC/ica_analysis.zip | Bin 6590 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 US/CA/SLAC/ica_analysis.zip diff --git a/US/CA/SLAC/ica_analysis.zip b/US/CA/SLAC/ica_analysis.zip deleted file mode 100644 index a2e18210e3956b16ce5b70e54dba44b736a1af37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6590 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 Date: Sat, 27 Feb 2021 10:51:54 -0800 Subject: [PATCH 03/82] Create ica_analysis.zip --- US/CA/SLAC/ica_analysis.zip | Bin 0 -> 6390 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 US/CA/SLAC/ica_analysis.zip diff --git a/US/CA/SLAC/ica_analysis.zip b/US/CA/SLAC/ica_analysis.zip new file mode 100644 index 0000000000000000000000000000000000000000..d0327226ba6ecbd4426c0c994478f863fd4a91fb GIT binary patch literal 6390 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 V@PBMM008&rNdNhJ7U5shzX8{|;Bf!| literal 0 HcmV?d00001 From cad215dc91d9ad37d635b4348c79821f8d4d1d82 Mon Sep 17 00:00:00 2001 From: "David P. Chassin" Date: Mon, 1 Mar 2021 08:51:04 -0800 Subject: [PATCH 04/82] Merge branch 'master' into develop --- US/CA/SLAC/ica_analysis.zip | Bin 6390 -> 0 bytes compile | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 US/CA/SLAC/ica_analysis.zip diff --git a/US/CA/SLAC/ica_analysis.zip b/US/CA/SLAC/ica_analysis.zip deleted file mode 100644 index d0327226ba6ecbd4426c0c994478f863fd4a91fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6390 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 V@PBMM008&rNdNhJ7U5shzX8{|;Bf!| diff --git a/compile b/compile index 6486b6e6..fb7172d7 100755 --- a/compile +++ b/compile @@ -9,10 +9,10 @@ for ORG in $(grep -v "^#" .orgs); do for TEMPLATE in $(grep -v "^#" $INDEX); do if [ -f "$ROOT/$TEMPLATE.zip" ]; then echo -n "Updating $ROOT/$TEMPLATE.zip..." - zip -u -q $ROOT/$TEMPLATE.zip $ROOT/$TEMPLATE/* + zip -u -q $ROOT/$TEMPLATE.zip $ROOT/$TEMPLATE/*.* else echo -n "Creating $ROOT/$TEMPLATE.zip..." - zip -q $ROOT/$TEMPLATE.zip $ROOT/$TEMPLATE/* + zip -q $ROOT/$TEMPLATE.zip $ROOT/$TEMPLATE/*.* fi echo "done" done From 58659a8096efcb5bcd9d54a19fdcf633ad5ea946 Mon Sep 17 00:00:00 2001 From: "David P. Chassin" Date: Thu, 4 Mar 2021 07:25:18 -0800 Subject: [PATCH 05/82] Update to fix issues with IEEE-37 and IEEE-123 --- US/CA/SLAC/ica_analysis/ica_analysis.glm | 2 + US/CA/SLAC/ica_analysis/ica_analysis.py | 53 ++++++++++++++---------- 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/US/CA/SLAC/ica_analysis/ica_analysis.glm b/US/CA/SLAC/ica_analysis/ica_analysis.glm index f91a5565..fbcbe5a1 100644 --- a/US/CA/SLAC/ica_analysis/ica_analysis.glm +++ b/US/CA/SLAC/ica_analysis/ica_analysis.glm @@ -18,4 +18,6 @@ module powerflow { // enable violation detection, but don't record the violation in a file violation_record "/dev/null"; + convergence_error_handling IGNORE; + NR_iteration_limit 100000; } diff --git a/US/CA/SLAC/ica_analysis/ica_analysis.py b/US/CA/SLAC/ica_analysis/ica_analysis.py index b5f7abe6..e5130d3f 100755 --- a/US/CA/SLAC/ica_analysis/ica_analysis.py +++ b/US/CA/SLAC/ica_analysis/ica_analysis.py @@ -34,7 +34,7 @@ details_filename = "violation_details.csv" # file name in which to write violation details data object_list = [] # list of load of objects to consider ([] mean search for all of class "load") -target_properties = {"load":"constant_power_{phases}$"} # target properties to consider in object list +target_properties = {"load":{"constant_power_{phases}$":"POWER","measured_voltage_{phases}$":"VOLTAGE"}} # target properties to consider in object list property_list = {} # properties found to use when considering objects limit_list = {} # list of limits found in objects considered @@ -67,7 +67,8 @@ # # Module utilities # -def add_property(objname,propname,nonzero=True,noexception=True,onexception=gridlabd.warning): + +def add_property(objname,propname,limittype,nonzero=True,noexception=True,onexception=gridlabd.warning): """Add a property to the list of properties to consider Parameters: @@ -93,7 +94,7 @@ def add_property(objname,propname,nonzero=True,noexception=True,onexception=grid if not objname in property_list.keys(): # create a new entry for the value in the property list - property_list[objname]={propname:[prop,value]} + property_list[objname]={propname:[prop,value,limittype]} # create a new entry for the result in the limit list limit_list[objname] = {} @@ -102,7 +103,7 @@ def add_property(objname,propname,nonzero=True,noexception=True,onexception=grid else: # add the property to the object's property list - property_list[objname][propname] = [prop,value] + property_list[objname][propname] = [prop,value,limittype] except: # if no exceptions are allowed @@ -156,7 +157,7 @@ def on_init(t): classname = gridlabd.get_value(objname,"class") # if the class is listed among the targets - if classname in target_properties.keys(): + for classname, target_list in target_properties.items(): # get the object's data objdata = gridlabd.get_object(objname) @@ -167,17 +168,20 @@ def on_init(t): # get the object's class structure classdata = gridlabd.get_class(classname) - # get the property pattern to use, and replace phase information pattern, if any - pattern = target_properties[classname].replace("{phases}",f"[{objdata['phases']}]") + # for each property in the class's target property list + for property_name, limittype in target_list.items(): + + # get the property pattern to use, and replace phase information pattern, if any + pattern = property_name.replace("{phases}",f"[{objdata['phases']}]") - # for each property in the class - for propname in classdata.keys(): + # for each property in the class + for propname in classdata.keys(): - # if the property matches the pattern - if re.match(pattern,propname): + # if the property matches the pattern + if re.match(pattern,propname): - # add the property to the list of properties to consider - add_property(objname,propname,nonzero=False) + # add the property to the list of properties to consider + add_property(objname,propname,limittype,nonzero=False) # successfully initialized return True @@ -229,6 +233,7 @@ def on_sync(t): # get the property name and the property's original value prop = specs[0] base = specs[1] + limit = specs[2] # if the original value is zero if base.real == 0.0: @@ -253,7 +258,7 @@ def on_sync(t): if not objname in limit_list.keys() or not propname in limit_list[objname].keys(): load_limit = base - value limit_list[objname][propname] = { - "timestamp" : t, + "timestamp" : str(datetime.datetime.fromtimestamp(t)), "real" : load_limit.real, "reactive" : load_limit.imag} limit_list[objname][propname]["violation"] = gridlabd.get_value(objname,"violation_detected") @@ -262,7 +267,7 @@ def on_sync(t): done = objname # if the maximum solar limit is reached - elif power_limit and value.real < power_limit: + elif power_limit and value.real < power_limit and limit == "POWER": gridlabd.debug(f"{dt}: power limit reach for {objname}.{propname} = {value}") # reset the property to its original value @@ -272,7 +277,7 @@ def on_sync(t): if not objname in limit_list.keys() or not propname in limit_list[objname].keys(): load_limit = base - value limit_list[objname][propname] = { - "timestamp" : t, + "timestamp" : str(datetime.datetime.fromtimestamp(t)), "real" : load_limit.real, "reactive" : load_limit.imag} limit_list[objname][propname]["violation"] = "POWERLIMIT" @@ -281,7 +286,7 @@ def on_sync(t): done = objname # if the maximum solar limit is reached - elif voltage_limit and base.real != 0.0 and abs((value.real-base.real)/base.real) > voltage_limit: + elif voltage_limit and base.real != 0.0 and abs((value.real-base.real)/base.real) > voltage_limit and limit == "VOLTAGE": gridlabd.debug(f"{dt}: power deviation limit reach for {objname}.{propname} = {value}") # reset the property to its original value @@ -291,7 +296,7 @@ def on_sync(t): if not objname in limit_list.keys() or not propname in limit_list[objname].keys(): load_limit = base - value limit_list[objname][propname] = { - "timestamp" : t, + "timestamp" : str(datetime.datetime.fromtimestamp(t)), "real" : load_limit.real, "reactive" : load_limit.imag} limit_list[objname][propname]["violation"] = "VOLTAGELIMIT" @@ -312,7 +317,7 @@ def on_sync(t): # record the load limit limit_list[objname][propname] = { - "timestamp":t, + "timestamp":str(datetime.datetime.fromtimestamp(t)), "real":load_limit.real, "reactive":load_limit.imag, "violation" : "NONE" @@ -386,9 +391,15 @@ def on_term(t): for objname, property_data in limit_list.items(): # accumulate the total power recorded - power = 0.0 + power = None for propname, data in property_data.items(): - power += data["real"]/1000.0 + try: + if not power: + power = 0.0 + power += data["real"]/1000.0 + except: + gridlabd.warning(f"no real power in data={data}") + pass # write the total power writer.writerow([objname,round(power,1)]) From 15edeec6223395398782376692c49e1d85ddc354 Mon Sep 17 00:00:00 2001 From: Anna Peery Date: Thu, 4 Mar 2021 12:33:19 -0800 Subject: [PATCH 06/82] add anticipation template files --- US/CA/SLAC/.index | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/US/CA/SLAC/.index b/US/CA/SLAC/.index index 90e2bdc3..2ebf9c55 100644 --- a/US/CA/SLAC/.index +++ b/US/CA/SLAC/.index @@ -1 +1 @@ -ica_analysis +anticipation From 6110ec6a9711ba387e99a2eb2b0ff40e57999f72 Mon Sep 17 00:00:00 2001 From: Anna Peery Date: Thu, 4 Mar 2021 12:52:57 -0800 Subject: [PATCH 07/82] Initial commit - WIP adding anticipation files --- US/CA/SLAC/anticipation/.catalog | 2 ++ US/CA/SLAC/anticipation/anticipation.glm | 14 ++++++++++++++ US/CA/SLAC/anticipation/anticipation.md | 11 +++++++++++ US/CA/SLAC/anticipation/anticipation.py | 0 4 files changed, 27 insertions(+) create mode 100644 US/CA/SLAC/anticipation/.catalog create mode 100644 US/CA/SLAC/anticipation/anticipation.glm create mode 100644 US/CA/SLAC/anticipation/anticipation.md create mode 100644 US/CA/SLAC/anticipation/anticipation.py diff --git a/US/CA/SLAC/anticipation/.catalog b/US/CA/SLAC/anticipation/.catalog new file mode 100644 index 00000000..8deb9549 --- /dev/null +++ b/US/CA/SLAC/anticipation/.catalog @@ -0,0 +1,2 @@ +anticipation.glm:a=r +anticipation.py:a=rx \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm new file mode 100644 index 00000000..b89d2c57 --- /dev/null +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -0,0 +1,14 @@ +// Integration Capacity Analysis (ICA) GridLAB-D auxiliary model file + +// convert CSV configuration file, if any +#ifexist "anticipation_config.csv" +#exec strings .glm .glm .glm /anticipation.glm +~~~ + +# Description + +## Template Files diff --git a/US/CA/SLAC/anticipation/anticipation.py b/US/CA/SLAC/anticipation/anticipation.py new file mode 100644 index 00000000..e69de29b From d71f7f1e7b4c614788e2a3fdb98dd1a3e0b36518 Mon Sep 17 00:00:00 2001 From: Anna Peery Date: Tue, 9 Mar 2021 10:19:37 -0800 Subject: [PATCH 08/82] updated index and makefile --- Makefile | 2 +- US/CA/SLAC/.index | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 182ed181..fa39fec5 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ INSTALL=$(shell gridlabd --version=install) TARGET=$(shell gridlabd template config get DATADIR) SOURCE=$(subst $(INSTALL)/share/gridlabd/template,.,$(TARGET)) -TEMPLATES=ica_analysis +TEMPLATES= anticipation ica_analysis FILES=$(foreach template,$(TEMPLATES),$(wildcard $(SOURCE)/$(template)/*)) build: diff --git a/US/CA/SLAC/.index b/US/CA/SLAC/.index index 2ebf9c55..36c2089d 100644 --- a/US/CA/SLAC/.index +++ b/US/CA/SLAC/.index @@ -1 +1 @@ -anticipation +anticipation ica_analysis \ No newline at end of file From 5b0625c95e7eb963e046504713158ed0ffad74f7 Mon Sep 17 00:00:00 2001 From: Anna Peery Date: Tue, 9 Mar 2021 10:30:36 -0800 Subject: [PATCH 09/82] added zip file for anticipation --- US/CA/SLAC/anticipation.zip | Bin 0 -> 1447 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 US/CA/SLAC/anticipation.zip diff --git a/US/CA/SLAC/anticipation.zip b/US/CA/SLAC/anticipation.zip new file mode 100644 index 0000000000000000000000000000000000000000..9975be2c5f0bbba8154ea8dc72ce9098f2033dbd GIT binary patch literal 1447 zcmWIWW@Zs#0D(72DM4Tcl;CAhU`Wg>$xO~HNG!?B&(jYL;bmaoMABaJ8X$3a} zBa7>A@p_hxL9F+EzAZa!5@@Be@Pf2(U3&0FLtVk0x- z&Bl9EdAC@&r3-0=9(elHSwv{*vdo~O_=6KH)7Oa^Rld4ad_C{0u0?lDqnJ@N8dpRGpW1OzxTaXZFyeZtK(OrBdI;{U_P7(X7s%<`R8%o!1X-!-`S>?Q9_V$ap4m)e^ z{cl_Sj(gYilmzA?=SiC`+Wuy6)Z6gn*@8+-E4?N6J5;Xjo%Ug2YIxiZOOm; z)`ybv%Py69{a5`dC=n(Vdgt1u)w4{TBaYtKku7d+D>rA+y2<{am^>}MblYcO$b!N! zz?+dtgc*0P1V;goc-h;C`%wG zRZy0IfhCO|KrbU3u1{ Date: Tue, 9 Mar 2021 14:29:46 -0800 Subject: [PATCH 10/82] Add support for default config output --- US/CA/SLAC/ica_analysis/ica_analysis.glm | 2 +- US/CA/SLAC/ica_analysis/ica_analysis.py | 80 +++++++++++++++++++++++- 2 files changed, 78 insertions(+), 4 deletions(-) diff --git a/US/CA/SLAC/ica_analysis/ica_analysis.glm b/US/CA/SLAC/ica_analysis/ica_analysis.glm index fbcbe5a1..f9ba0d87 100644 --- a/US/CA/SLAC/ica_analysis/ica_analysis.glm +++ b/US/CA/SLAC/ica_analysis/ica_analysis.glm @@ -2,7 +2,7 @@ // convert CSV configuration file, if any #ifexist "ica_config.csv" -#exec strings 0}, + }, + }, + "reactive_ratio" : + { + "default" : reactive_ratio, + "description" : "Reactive power ratio to use when considering property with zero basis", + "type" : ["float"], + "validate" : + { + "float" : { "value is not positive" : lambda x: x>0 }, + }, + }, + "power_limit" : + { + "default" : power_limit, + "description" : "Minimum power to attempt (W)", + "type" : ["float"], + "validate" : + { + "float" : { "value is not negative or zero" : lambda x: x<=0 }, + }, + }, + "voltage_limit" : + { + "default" : voltage_limit, + "description" : "maximum power devation (pu)", + "type" : ["float"], + "validate" : + { + "float" : { "value is not positive" : lambda x: x>0 }, + }, + }, + "results_filename" : + { + "default" : results_filename, + "description" : "File name to use when storing result of analysis", + "type" : ["str"], + "validate" : + { + }, + }, + "details_filename" : + { + "default" : details_filename, + "description" : "File name in which to write violation details data", + "type" : ["str"], + "validate" : + { + }, + }, +} try: with open("ica_config.csv","r") as fh: reader = csv.reader(fh) for row in reader: name = row[0] - if not name in config_allowed: + if not name in config_allowed.keys(): raise Exception(f"ica_config.csv: '{name}' is not an allowed ica_analysis configuration option") value = row[1] vtype = type(globals()[name]) @@ -417,3 +486,8 @@ def on_term(t): rowdata = [objname,propname] rowdata.extend(list(data.values())) writer.writerow(rowdata) + +if sys.argv and sys.argv[1] == '--defaults': + for var, spec in config_allowed.items(): + print(f"#\n# {spec['description']}\n#") + print(f"{var},{spec['default']}\n") From 9150997af3bf9b5393f00bf3582dfc08a5799d94 Mon Sep 17 00:00:00 2001 From: "David P. Chassin" Date: Wed, 10 Mar 2021 08:57:08 -0800 Subject: [PATCH 11/82] Update ica_analysis.py --- US/CA/SLAC/ica_analysis/ica_analysis.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/US/CA/SLAC/ica_analysis/ica_analysis.py b/US/CA/SLAC/ica_analysis/ica_analysis.py index 1fa58dcc..6caf4b6b 100755 --- a/US/CA/SLAC/ica_analysis/ica_analysis.py +++ b/US/CA/SLAC/ica_analysis/ica_analysis.py @@ -487,7 +487,12 @@ def on_term(t): rowdata.extend(list(data.values())) writer.writerow(rowdata) -if sys.argv and sys.argv[1] == '--defaults': - for var, spec in config_allowed.items(): - print(f"#\n# {spec['description']}\n#") - print(f"{var},{spec['default']}\n") +if len(sys.argv) > 1: + if sys.argv[1] in ["-d","--defaults"]: + for var, spec in config_allowed.items(): + print(f"#\n# {spec['description']}\n#") + print(f"{var},{spec['default']}\n") + elif sys.argv[1] in ["-h","--help"]: + print("Syntax: ica_analysis.py [-h|--help] [-d|--defaults]") + else: + raise Exception(f"{sys.argv[1]} is not a valid command argument") From eb4305e8e9fc45e10d480e7b00e77a3ef0a7b1c4 Mon Sep 17 00:00:00 2001 From: "David P. Chassin" Date: Mon, 15 Mar 2021 12:33:26 -0700 Subject: [PATCH 12/82] Update anticipation.md --- US/CA/SLAC/anticipation/anticipation.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/US/CA/SLAC/anticipation/anticipation.md b/US/CA/SLAC/anticipation/anticipation.md index 0d912b70..8140869d 100644 --- a/US/CA/SLAC/anticipation/anticipation.md +++ b/US/CA/SLAC/anticipation/anticipation.md @@ -4,6 +4,8 @@ Anticipation GridLAB-D Template ~~~ sh% gridlabd -D OUTPUT= .glm .glm .glm /anticipation.glm +sh% gridlabd -D OUTPUT= .mdb ... +sh% gridlabd -D OUTPUT= .mdb .csv ... ~~~ # Description From 52815925214bcf2ce9e8b67cac609fb757f46a06 Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Wed, 19 May 2021 21:08:01 -0700 Subject: [PATCH 13/82] Adding csv inputs to template --- US/CA/SLAC/anticipation/anticipation.glm | 18 +++++++++++++++++- US/CA/SLAC/anticipation/anticipation.py | 5 +++++ .../SLAC/anticipation/anticipation_config.csv | 3 +++ .../SLAC/anticipation/pole_library_config.csv | 3 +++ .../anticipation/pole_vulnerability_config.csv | 3 +++ 5 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 US/CA/SLAC/anticipation/anticipation_config.csv create mode 100644 US/CA/SLAC/anticipation/pole_library_config.csv create mode 100644 US/CA/SLAC/anticipation/pole_vulnerability_config.csv diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index b89d2c57..e099b774 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -2,7 +2,7 @@ // convert CSV configuration file, if any #ifexist "anticipation_config.csv" -#exec strings Date: Tue, 22 Jun 2021 11:11:18 -0700 Subject: [PATCH 14/82] Updating the template --- US/CA/SLAC/anticipation/anticipation.glm | 13 +++++++++++-- US/CA/SLAC/anticipation/anticipation.py | 2 +- US/CA/SLAC/anticipation/anticipation_config.glm | 3 +++ US/CA/SLAC/anticipation/pole_library_config.csv | 2 +- .../SLAC/anticipation/pole_vulnerability_config.csv | 6 +++--- 5 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 US/CA/SLAC/anticipation/anticipation_config.glm diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index e099b774..a6efc511 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -1,4 +1,13 @@ -// Integration Capacity Analysis (ICA) GridLAB-D auxiliary model file +// Grid Resilience and Intelligence Platform (GRIP) GridLAB-D auxiliary model file + + +//Set up for globals +#set literal_if=FALSE + +//Set up modules +module powerflow; +module climate; + // convert CSV configuration file, if any #ifexist "anticipation_config.csv" @@ -17,8 +26,8 @@ module anticipation; #if POLE_VULNERABILITY_ANALYSIS=="on" #debug "POLE VULNERABILITY ANALYSIS is enabled" // INPUT CSV POLE DATA CONVERTER +#input "pole_library_config.csv" -f table -t "object" -C powerflow.pole_configuration #input "pole_vulnerability_config.csv" -f "table" -t "object" -//#input "pole_library_config.csv" -f table -t object -C powerflow.pole #endif //POLE_VULNERABILITY_ANALYSIS #if PSPS_ANALYSIS=="on" diff --git a/US/CA/SLAC/anticipation/anticipation.py b/US/CA/SLAC/anticipation/anticipation.py index 813d65d1..5ce3bce9 100644 --- a/US/CA/SLAC/anticipation/anticipation.py +++ b/US/CA/SLAC/anticipation/anticipation.py @@ -1,5 +1,5 @@ import gridlabd def on_init(t): - print(gridlabd.get("classes")) + print(gridlabd.get("objects")) return True \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/anticipation_config.glm b/US/CA/SLAC/anticipation/anticipation_config.glm new file mode 100644 index 00000000..60d509e1 --- /dev/null +++ b/US/CA/SLAC/anticipation/anticipation_config.glm @@ -0,0 +1,3 @@ +#define POLE_VULNERABILITY_ANALYSIS=on +#define PSPS_ANALYSIS=off +#define VEGETATION_VULNERABILITY_ANALYSIS=off diff --git a/US/CA/SLAC/anticipation/pole_library_config.csv b/US/CA/SLAC/anticipation/pole_library_config.csv index af9e4c4c..a53570fd 100644 --- a/US/CA/SLAC/anticipation/pole_library_config.csv +++ b/US/CA/SLAC/anticipation/pole_library_config.csv @@ -1,3 +1,3 @@ -class,name, pole type, design_ice_thickness, desing_wind_loading, design_temperature, overload_factor_vertical, overload_factor_transverse_general, overload_factor_transverse_crossing, overload_factor_transverse_wire, overload_factor_longitudinal_general, overload_factor_longitudinal_deadend, strength_factor_250b_wood, strength_factor_250b_support, pole_length, pole_depth, ground_diameter, top_diameter, fiber_strength, repair_time, treatment_method +class,name, pole_type, design_ice_thickness, desing_wind_loading, design_temperature, overload_factor_vertical, overload_factor_transverse_general, overload_factor_transverse_crossing, overload_factor_transverse_wire, overload_factor_longitudinal_general, overload_factor_longitudinal_deadend, strength_factor_250b_wood, strength_factor_250b_support, pole_length, pole_depth, ground_diameter, top_diameter, fiber_strength, repair_time, treatment_method ,WOOD-C-45/5,WOOD,,,,,,,,,,,,45 ft,4.5 ft,(32.5/3.14),(19/3.14),8000 psi,1 h, ,WOOD2,WOOD,,,,,,,,,,,,60 ft,4.5 ft,(32.5/3.14),(19/3.14),8000 psi,3 h, \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv index 2597421c..1891420a 100644 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv @@ -1,3 +1,3 @@ -class,name, tilt_angle, tilt_direction, weather, configuration, equipment_area, equipment_height, install_year, repair_time,latitude,longitude -pole,pole1,5 deg,270,weather,WOOD-C-45/5,,,1990,1 h,37.4275,122.1697 -pole,pole2,8 deg,270,weather,WOOD-C-45/5,,,2000,8 h,37.127,122.1646 \ No newline at end of file +class,name, tilt_angle, tilt_direction, configuration, equipment_area, equipment_height, install_year, repair_time,latitude,longitude,configuration,wind_speed +pole,pole1,5 deg,270,WOOD-C-45/5,,,1990,1 h,37.4275,122.1697,WOOD-C-45/5,10 +pole,pole2,8 deg,270,WOOD-C-45/5,,,2000,8 h,37.127,122.1646,WOOD-C-45/5,10 \ No newline at end of file From 41386e8ef8143d19f519f8b12530cacb16acf2c7 Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Thu, 24 Jun 2021 20:04:21 -0700 Subject: [PATCH 15/82] Added pole configurations of different lengths for Southern Yellow Pines --- US/CA/SLAC/anticipation/gridlabd.json | 10073 ++++++++++++++++ .../SLAC/anticipation/pole_library_config.csv | 17 +- .../SLAC/anticipation/pole_library_config.glm | 156 + .../pole_vulnerability_config.csv | 3 +- .../pole_vulnerability_config.glm | 37 + 5 files changed, 10284 insertions(+), 2 deletions(-) create mode 100644 US/CA/SLAC/anticipation/gridlabd.json create mode 100644 US/CA/SLAC/anticipation/pole_library_config.glm create mode 100644 US/CA/SLAC/anticipation/pole_vulnerability_config.glm diff --git a/US/CA/SLAC/anticipation/gridlabd.json b/US/CA/SLAC/anticipation/gridlabd.json new file mode 100644 index 00000000..db7b2393 --- /dev/null +++ b/US/CA/SLAC/anticipation/gridlabd.json @@ -0,0 +1,10073 @@ +{ "application": "gridlabd", + "version" : "4.2.22", + "modules" : { + "powerflow" : { + "major" : "4", + "minor" : "2" + }, + "climate" : { + "major" : "4", + "minor" : "2" + }, + "anticipation" : { + "major" : "4", + "minor" : "2" + } + }, + "types" : { + "double" : { + "xsdtype" : "decimal", + "default" : "0.0", + "memsize" : "8", + "strsize" : "24", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "complex" : { + "xsdtype" : "string", + "default" : "0+0i", + "memsize" : "24", + "strsize" : "48", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "enumeration" : { + "xsdtype" : "string", + "default" : "0", + "memsize" : "4", + "strsize" : "1024", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "set" : { + "xsdtype" : "string", + "default" : "0", + "memsize" : "8", + "strsize" : "1024", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "int16" : { + "xsdtype" : "integer", + "default" : "0", + "memsize" : "2", + "strsize" : "6", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "int32" : { + "xsdtype" : "integer", + "default" : "0", + "memsize" : "4", + "strsize" : "12", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "int64" : { + "xsdtype" : "integer", + "default" : "0", + "memsize" : "8", + "strsize" : "24", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "char8" : { + "xsdtype" : "string", + "default" : "", + "memsize" : "9", + "strsize" : "8", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "char32" : { + "xsdtype" : "string", + "default" : "", + "memsize" : "33", + "strsize" : "32", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "char256" : { + "xsdtype" : "string", + "default" : "", + "memsize" : "257", + "strsize" : "256", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "char1024" : { + "xsdtype" : "string", + "default" : "", + "memsize" : "1025", + "strsize" : "1024", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "object" : { + "xsdtype" : "string", + "memsize" : "8", + "strsize" : "64", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "!=" : {"nargs": "2"} + } + }, + "delegated" : { + "xsdtype" : "string", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + } + }, + "bool" : { + "xsdtype" : "string", + "default" : "FALSE", + "memsize" : "1", + "strsize" : "6", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "!=" : {"nargs": "2"} + } + }, + "timestamp" : { + "xsdtype" : "string", + "default" : "0", + "memsize" : "8", + "strsize" : "32", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "double_array" : { + "xsdtype" : "string", + "default" : "", + "memsize" : "56", + "strsize" : "1024", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "True", + "has_stream" : "False", + "compareops" : { + } + }, + "complex_array" : { + "xsdtype" : "string", + "default" : "", + "memsize" : "40", + "strsize" : "1024", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "True", + "has_stream" : "False", + "compareops" : { + } + }, + "real" : { + "xsdtype" : "decimal", + "default" : "0.0", + "memsize" : "8", + "strsize" : "24", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + } + }, + "float" : { + "xsdtype" : "decimal", + "default" : "0.0", + "memsize" : "4", + "strsize" : "24", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + } + }, + "loadshape" : { + "xsdtype" : "string", + "memsize" : "208", + "strsize" : "1024", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "True", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "enduse" : { + "xsdtype" : "string", + "memsize" : "720", + "strsize" : "1024", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "True", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "randomvar" : { + "xsdtype" : "string", + "memsize" : "72", + "strsize" : "24", + "has_tostr" : "True", + "has_fromstr" : "True", + "has_create" : "True", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "method" : { + "xsdtype" : "string", + "has_create" : "False", + "has_stream" : "False", + "compareops" : { + } + }, + "string" : { + "xsdtype" : "string", + "default" : "", + "memsize" : "8", + "has_create" : "True", + "has_stream" : "False", + "compareops" : { + "==" : {"nargs": "2"}, + "<=" : {"nargs": "2"}, + ">=" : {"nargs": "2"}, + "!=" : {"nargs": "2"}, + "<" : {"nargs": "2"}, + ">" : {"nargs": "2"}, + "inside" : {"nargs": "3"}, + "outside" : {"nargs": "3"} + } + }, + "python" : { + "xsdtype" : "string", + "default" : "None", + "memsize" : "8", + "has_create" : "True", + "has_stream" : "False", + "compareops" : { + } + } + }, + "header" : { + "id" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "class" : { + "type" : "string", + "access" : "PROTECTED" + }, + "groupid" : { + "type" : "char32", + "access" : "PROTECTED" + }, + "name" : { + "type" : "string", + "access" : "PROTECTED" + }, + "next" : { + "type" : "object", + "access" : "PROTECTED" + }, + "parent" : { + "type" : "object", + "access" : "PROTECTED" + }, + "child_count" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "rank" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "clock" : { + "type" : "timestamp", + "access" : "PROTECTED" + }, + "valid_to" : { + "type" : "timestamp", + "access" : "PROTECTED" + }, + "schedule_skew" : { + "type" : "int64", + "access" : "PROTECTED" + }, + "latitude" : { + "type" : "double", + "access" : "PROTECTED" + }, + "longitude" : { + "type" : "double", + "access" : "PROTECTED" + }, + "in_svc" : { + "type" : "timestamp", + "access" : "PROTECTED" + }, + "out_svc" : { + "type" : "timestamp", + "access" : "PROTECTED" + }, + "rng_state" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "heartbeat" : { + "type" : "int64", + "access" : "PROTECTED" + }, + "guid" : { + "type" : "int64", + "access" : "PROTECTED" + }, + "profiler.presync" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "profiler.sync" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "profiler.postsync" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "profiler.init" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "profiler.heartbeat" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "profiler.precommit" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "profiler.commit" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "profiler.finalize" : { + "type" : "int32", + "access" : "PROTECTED" + }, + "event.init" : { + "type" : "string", + "access" : "PROTECTED" + }, + "event.precommit" : { + "type" : "string", + "access" : "PROTECTED" + }, + "event.presync" : { + "type" : "string", + "access" : "PROTECTED" + }, + "event.sync" : { + "type" : "string", + "access" : "PROTECTED" + }, + "event.postsync" : { + "type" : "string", + "access" : "PROTECTED" + }, + "event.commit" : { + "type" : "string", + "access" : "PROTECTED" + }, + "event.finalize" : { + "type" : "string", + "access" : "PROTECTED" + }, + "flags" : { + "type" : "int64", + "access" : "PROTECTED" + } + }, + "classes" : { + "powerflow_object" : { + "object_size" : "32", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "phases" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "A" : "0x1", + "B" : "0x2", + "C" : "0x4", + "D" : "0x100", + "N" : "0x8", + "S" : "0x70", + "G" : "0x80" + }, + "flags" : "CHARSET|REQUIRED", + "description" : "phases to which this object is connected" + }, + "nominal_voltage" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "V", + "description" : "nominal voltage for this object" + }, + "violation_detected" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "NONE" : "0x0", + "CURRENT" : "0x1", + "VOLTAGE" : "0x2", + "POWER" : "0x4", + "THERMAL" : "0x8", + "CONTROL" : "0x10" + }, + "flags" : "OUTPUT", + "description" : "rating or limit violation flag" + } + }, + "powerflow_library" : { + "object_size" : "1", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0" + }, + "node" : { + "object_size" : "2856", + "parent" : "powerflow_object", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "bustype" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "SWING_PQ" : "0x3", + "SWING" : "0x2", + "PV" : "0x1", + "PQ" : "0x0" + }, + "default" : "PQ", + "description" : "defines whether the node is a PQ, PV, or SWING node" + }, + "busflags" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "ISSOURCE" : "0x2", + "HASSOURCE" : "0x1" + }, + "default" : "HASSOURCE", + "description" : "flag indicates node has a source for voltage, i.e. connects to the swing node" + }, + "reference_bus" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "reference bus from which frequency is defined" + }, + "maximum_voltage_error" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "convergence voltage limit or convergence criteria" + }, + "voltage_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "bus voltage, Phase A to ground" + }, + "voltage_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "bus voltage, Phase B to ground" + }, + "voltage_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "bus voltage, Phase C to ground" + }, + "voltage_AB" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "line voltages, Phase AB" + }, + "voltage_BC" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "line voltages, Phase BC" + }, + "voltage_CA" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "line voltages, Phase CA" + }, + "current_A" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current injection (in = positive), this an accumulator only, not a output or input variable" + }, + "current_B" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current injection (in = positive), this an accumulator only, not a output or input variable" + }, + "current_C" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_A" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_B" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_C" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power injection (in = positive), this an accumulator only, not a output or input variable" + }, + "shunt_A" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt admittance, this an accumulator only, not a output or input variable" + }, + "shunt_B" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt admittance, this an accumulator only, not a output or input variable" + }, + "shunt_C" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt admittance, this an accumulator only, not a output or input variable" + }, + "prerotated_current_A" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" + }, + "prerotated_current_B" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" + }, + "prerotated_current_C" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" + }, + "current_AB" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current delta-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "current_BC" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current delta-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "current_CA" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current delta-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "current_AN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current wye-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "current_BN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current wye-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "current_CN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "bus current wye-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_AB" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power delta-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_BC" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power delta-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_CA" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power delta-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_AN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power wye-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_BN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power wye-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "power_CN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "bus power wye-connected injection (in = positive), this an accumulator only, not a output or input variable" + }, + "shunt_AB" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt delta-connected admittance, this an accumulator only, not a output or input variable" + }, + "shunt_BC" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt delta-connected admittance, this an accumulator only, not a output or input variable" + }, + "shunt_CA" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt delta-connected admittance, this an accumulator only, not a output or input variable" + }, + "shunt_AN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt wye-connected admittance, this an accumulator only, not a output or input variable" + }, + "shunt_BN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt wye-connected admittance, this an accumulator only, not a output or input variable" + }, + "shunt_CN" : { + "type" : "complex", + "access" : "HIDDEN", + "flags" : "OUTPUT", + "unit" : "S", + "description" : "bus shunt wye-connected admittance, this an accumulator only, not a output or input variable" + }, + "mean_repair_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "default" : "0 s", + "description" : "Time after a fault clears for the object to be back in service" + }, + "frequency_measure_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "PLL" : "0x3", + "SIMPLE" : "0x2", + "NONE" : "0x1" + }, + "description" : "PLL frequency measurement" + }, + "sfm_Tf" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Transducer time constant for simplified frequency measurement (seconds)" + }, + "pll_Kp" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Proportional gain of PLL frequency measurement" + }, + "pll_Ki" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Integration gain of PLL frequency measurement" + }, + "measured_angle_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "rad", + "description" : "bus angle measurement, phase A" + }, + "measured_frequency_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "frequency measurement, phase A" + }, + "measured_angle_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "rad", + "description" : "bus angle measurement, phase B" + }, + "measured_frequency_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "frequency measurement, phase B" + }, + "measured_angle_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "rad", + "description" : "bus angle measurement, phase C" + }, + "measured_frequency_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "frequency measurement, phase C" + }, + "measured_frequency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "frequency measurement - average of present phases" + }, + "service_status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "OUT_OF_SERVICE" : "0x0", + "IN_SERVICE" : "0x1" + }, + "description" : "In and out of service flag" + }, + "service_status_double" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "In and out of service flag - type double - will indiscriminately override service_status - useful for schedules" + }, + "previous_uptime" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "min", + "description" : "Previous time between disconnects of node in minutes" + }, + "current_uptime" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "min", + "description" : "Current time since last disconnect of node in minutes" + }, + "Norton_dynamic" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Flag to indicate a Norton-equivalent connection -- used for generators and deltamode" + }, + "generator_dynamic" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Flag to indicate a voltage-sourcing or swing-type generator is present -- used for generators and deltamode" + }, + "GFA_enable" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Disable/Enable Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_freq_low_trip" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Low frequency trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_freq_high_trip" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "High frequency trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_volt_low_trip" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Low voltage trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_volt_high_trip" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "High voltage trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_reconnect_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Reconnect time for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_freq_disconnect_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Frequency violation disconnect time for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_volt_disconnect_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Voltage violation disconnect time for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_status" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Low frequency trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_trip_method" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "OVER_VOLTAGE" : "0x4", + "UNDER_VOLTAGE" : "0x3", + "OVER_FREQUENCY" : "0x2", + "UNDER_FREQUENCY" : "0x1", + "NONE" : "0x0" + }, + "description" : "GFA trip for over-voltage" + }, + "topological_parent" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "topological parent as per GLM configuration" + } + }, + "link" : { + "object_size" : "3072", + "parent" : "powerflow_object", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "OPEN" : "0x0", + "CLOSED" : "0x1" + }, + "default" : "CLOSED", + "description" : "" + }, + "from" : { + "type" : "object", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "from_node - source node" + }, + "to" : { + "type" : "object", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "to_node - load node" + }, + "power_in" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power flow in (w.r.t from node)" + }, + "power_out" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power flow out (w.r.t to node)" + }, + "power_out_real" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W", + "description" : "power flow out (w.r.t to node), real" + }, + "power_losses" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power losses" + }, + "power_in_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power flow in (w.r.t from node), phase A" + }, + "power_in_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power flow in (w.r.t from node), phase B" + }, + "power_in_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power flow in (w.r.t from node), phase C" + }, + "power_out_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power flow out (w.r.t to node), phase A" + }, + "power_out_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power flow out (w.r.t to node), phase B" + }, + "power_out_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power flow out (w.r.t to node), phase C" + }, + "power_losses_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power losses, phase A" + }, + "power_losses_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power losses, phase B" + }, + "power_losses_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power losses, phase C" + }, + "current_out_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "current flow out of link (w.r.t. to node), phase A" + }, + "current_out_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "current flow out of link (w.r.t. to node), phase B" + }, + "current_out_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "current flow out of link (w.r.t. to node), phase C" + }, + "current_in_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "current flow to link (w.r.t from node), phase A" + }, + "current_in_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "current flow to link (w.r.t from node), phase B" + }, + "current_in_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "current flow to link (w.r.t from node), phase C" + }, + "fault_current_in_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "fault current flowing in, phase A" + }, + "fault_current_in_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "fault current flowing in, phase B" + }, + "fault_current_in_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "fault current flowing in, phase C" + }, + "fault_current_out_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "fault current flowing out, phase A" + }, + "fault_current_out_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "fault current flowing out, phase B" + }, + "fault_current_out_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "fault current flowing out, phase C" + }, + "fault_voltage_A" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "fault voltage, phase A" + }, + "fault_voltage_B" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "fault voltage, phase B" + }, + "fault_voltage_C" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "fault voltage, phase C" + }, + "flow_direction" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "CN" : "0x300", + "CR" : "0x200", + "CF" : "0x100", + "BN" : "0x30", + "BR" : "0x20", + "BF" : "0x10", + "AN" : "0x3", + "AR" : "0x2", + "AF" : "0x1", + "UNKNOWN" : "0x0" + }, + "flags" : "OUTPUT", + "description" : "flag used for describing direction of the flow of power" + }, + "mean_repair_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Time after a fault clears for the object to be back in service" + }, + "continuous_rating" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "Continuous rating for this link object (set individual line segments" + }, + "emergency_rating" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "Emergency rating for this link object (set individual line segments" + }, + "inrush_convergence_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "description" : "Tolerance, as change in line voltage drop between iterations, for deltamode in-rush completion" + } + }, + "capacitor" : { + "object_size" : "3320", + "parent" : "node", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "pt_phase" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "N" : "0x8", + "D" : "0x100", + "C" : "0x4", + "B" : "0x2", + "A" : "0x1" + }, + "flags" : "CHARSET", + "description" : "Phase(s) that the PT is on, used as measurement points for control" + }, + "phases_connected" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "N" : "0x8", + "D" : "0x100", + "C" : "0x4", + "B" : "0x2", + "A" : "0x1" + }, + "flags" : "CHARSET", + "description" : "phases capacitor is connected to" + }, + "switchA" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CLOSED" : "0x1", + "OPEN" : "0x0" + }, + "default" : "OPEN", + "description" : "capacitor A switch open or close" + }, + "switchB" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CLOSED" : "0x1", + "OPEN" : "0x0" + }, + "default" : "OPEN", + "description" : "capacitor B switch open or close" + }, + "switchC" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CLOSED" : "0x1", + "OPEN" : "0x0" + }, + "default" : "OPEN", + "description" : "capacitor C switch open or close" + }, + "control" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CURRENT" : "0x4", + "VARVOLT" : "0x3", + "VOLT" : "0x2", + "VAR" : "0x1", + "MANUAL" : "0x0" + }, + "default" : "MANUAL", + "description" : "control operation strategy" + }, + "cap_A_switch_count" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "default" : "-1", + "description" : "number of switch operations on Phase A" + }, + "cap_B_switch_count" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "default" : "-1", + "description" : "number of switch operations on Phase B" + }, + "cap_C_switch_count" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "default" : "-1", + "description" : "number of switch operations on Phase C" + }, + "voltage_set_high" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "description" : "Turn off if voltage is above this set point" + }, + "voltage_set_low" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "description" : "Turns on if voltage is below this set point" + }, + "VAr_set_high" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "high VAR set point for VAR control (turn off)" + }, + "VAr_set_low" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "low VAR set point for VAR control (turn on)" + }, + "current_set_low" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "high current set point for current control mode (turn on)" + }, + "current_set_high" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "low current set point for current control mode (turn off)" + }, + "capacitor_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "Capacitance value for phase A or phase AB" + }, + "capacitor_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "Capacitance value for phase B or phase BC" + }, + "capacitor_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "Capacitance value for phase C or phase CA" + }, + "cap_nominal_voltage" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "description" : "Nominal voltage for the capacitor. Used for calculation of capacitance value" + }, + "time_delay" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "control time delay" + }, + "dwell_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Time for system to remain constant before a state change will be passed" + }, + "lockout_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Time for capacitor to remain locked out from further switching operations (VARVOLT control)" + }, + "remote_sense" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Remote object for sensing values used for control schemes" + }, + "remote_sense_B" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Secondary Remote object for sensing values used for control schemes (VARVOLT uses two)" + }, + "control_level" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "INDIVIDUAL" : "0x1", + "BANK" : "0x0" + }, + "default" : "INDIVIDUAL", + "description" : "define bank or individual control" + } + }, + "fuse" : { + "object_size" : "3200", + "parent" : "link", + "trl" : "8", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "phase_A_status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "GOOD" : "0x1", + "BLOWN" : "0x0" + }, + "default" : "GOOD" + }, + "phase_B_status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "GOOD" : "0x1", + "BLOWN" : "0x0" + }, + "default" : "GOOD" + }, + "phase_C_status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "GOOD" : "0x1", + "BLOWN" : "0x0" + }, + "default" : "GOOD" + }, + "repair_dist_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "EXPONENTIAL" : "0x1", + "NONE" : "0x0" + }, + "default" : "NONE" + }, + "current_limit" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "9999 A" + }, + "mean_replacement_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s" + }, + "fuse_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "-1 Ohm", + "description" : "The resistance value of the fuse when it is not blown." + } + }, + "meter" : { + "object_size" : "4256", + "parent" : "node", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "measured_real_energy" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "Wh", + "description" : "metered real energy consumption, cummalitive" + }, + "measured_real_energy_delta" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "Wh", + "description" : "delta in metered real energy consumption from last specified measured_energy_delta_timestep" + }, + "measured_reactive_energy" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VAh", + "description" : "metered reactive energy consumption, cummalitive" + }, + "measured_reactive_energy_delta" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VAh", + "description" : "delta in metered reactive energy consumption from last specified measured_energy_delta_timestep" + }, + "measured_energy_delta_timestep" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "s", + "description" : "Period of timestep for real and reactive delta energy calculation" + }, + "measured_power" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "metered complex power" + }, + "measured_power_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "metered complex power on phase A" + }, + "measured_power_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "metered complex power on phase B" + }, + "measured_power_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "metered complex power on phase C" + }, + "measured_demand" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W", + "description" : "greatest metered real power during simulation" + }, + "measured_real_power" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W", + "description" : "metered real power" + }, + "measured_reactive_power" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VAr", + "description" : "metered reactive power" + }, + "meter_power_consumption" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "metered power used for operating the meter; standby and communication losses" + }, + "measured_voltage_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "measured line-to-neutral voltage on phase A" + }, + "measured_voltage_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "measured line-to-neutral voltage on phase B" + }, + "measured_voltage_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "measured line-to-neutral voltage on phase C" + }, + "measured_voltage_AB" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "measured line-to-line voltage on phase AB" + }, + "measured_voltage_BC" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "measured line-to-line voltage on phase BC" + }, + "measured_voltage_CA" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "measured line-to-line voltage on phase CA" + }, + "measured_real_max_voltage_in_interval_A" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real max line-to-neutral voltage on phase A over a specified interval" + }, + "measured_real_max_voltage_in_interval_B" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real max line-to-neutral voltage on phase B over a specified interval" + }, + "measured_real_max_voltage_in_interval_C" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real max line-to-neutral voltage on phase C over a specified interval" + }, + "measured_reactive_max_voltage_in_interval_A" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive max line-to-neutral voltage on phase A over a specified interval" + }, + "measured_reactive_max_voltage_in_interval_B" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive max line-to-neutral voltage on phase B over a specified interval" + }, + "measured_reactive_max_voltage_in_interval_C" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive max line-to-neutral voltage on phase C over a specified interval" + }, + "measured_real_max_voltage_in_interval_AB" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real max line-to-line voltage on phase A over a specified interval" + }, + "measured_real_max_voltage_in_interval_BC" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real max line-to-line voltage on phase B over a specified interval" + }, + "measured_real_max_voltage_in_interval_CA" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real max line-to-line voltage on phase C over a specified interval" + }, + "measured_reactive_max_voltage_in_interval_AB" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive max line-to-line voltage on phase A over a specified interval" + }, + "measured_reactive_max_voltage_in_interval_BC" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive max line-to-line voltage on phase B over a specified interval" + }, + "measured_reactive_max_voltage_in_interval_CA" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive max line-to-line voltage on phase C over a specified interval" + }, + "measured_real_min_voltage_in_interval_A" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real min line-to-neutral voltage on phase A over a specified interval" + }, + "measured_real_min_voltage_in_interval_B" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real min line-to-neutral voltage on phase B over a specified interval" + }, + "measured_real_min_voltage_in_interval_C" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real min line-to-neutral voltage on phase C over a specified interval" + }, + "measured_reactive_min_voltage_in_interval_A" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive min line-to-neutral voltage on phase A over a specified interval" + }, + "measured_reactive_min_voltage_in_interval_B" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive min line-to-neutral voltage on phase B over a specified interval" + }, + "measured_reactive_min_voltage_in_interval_C" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive min line-to-neutral voltage on phase C over a specified interval" + }, + "measured_real_min_voltage_in_interval_AB" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real min line-to-line voltage on phase A over a specified interval" + }, + "measured_real_min_voltage_in_interval_BC" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real min line-to-line voltage on phase B over a specified interval" + }, + "measured_real_min_voltage_in_interval_CA" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured real min line-to-line voltage on phase C over a specified interval" + }, + "measured_reactive_min_voltage_in_interval_AB" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive min line-to-line voltage on phase A over a specified interval" + }, + "measured_reactive_min_voltage_in_interval_BC" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive min line-to-line voltage on phase B over a specified interval" + }, + "measured_reactive_min_voltage_in_interval_CA" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured reactive min line-to-line voltage on phase C over a specified interval" + }, + "measured_avg_voltage_mag_in_interval_A" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured avg line-to-neutral voltage magnitude on phase A over a specified interval" + }, + "measured_avg_voltage_mag_in_interval_B" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured avg line-to-neutral voltage magnitude on phase B over a specified interval" + }, + "measured_avg_voltage_mag_in_interval_C" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured avg line-to-neutral voltage magnitude on phase C over a specified interval" + }, + "measured_avg_voltage_mag_in_interval_AB" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured avg line-to-line voltage magnitude on phase A over a specified interval" + }, + "measured_avg_voltage_mag_in_interval_BC" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured avg line-to-line voltage magnitude on phase B over a specified interval" + }, + "measured_avg_voltage_mag_in_interval_CA" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "measured avg line-to-line voltage magnitude on phase C over a specified interval" + }, + "measured_current_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "measured current on phase A" + }, + "measured_current_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "measured current on phase B" + }, + "measured_current_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "measured current on phase C" + }, + "customer_interrupted" : { + "type" : "bool", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "Reliability flag - goes active if the customer is in an 'interrupted' state" + }, + "customer_interrupted_secondary" : { + "type" : "bool", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "Reliability flag - goes active if the customer is in an 'secondary interrupted' state - i.e., momentary" + }, + "monthly_bill" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "$", + "description" : "Accumulator for the current month's bill" + }, + "previous_monthly_bill" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "$", + "description" : "Total monthly bill for the previous month" + }, + "previous_monthly_energy" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "kWh", + "description" : "Total monthly energy for the previous month" + }, + "monthly_fee" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "$", + "description" : "Once a month flat fee for customer hook-up" + }, + "monthly_energy" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "kWh", + "description" : "Accumulator for the current month's energy consumption" + }, + "bill_mode" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "TIERED_RTP" : "0x4", + "HOURLY" : "0x3", + "TIERED" : "0x2", + "UNIFORM" : "0x1", + "NONE" : "0x0" + }, + "default" : "NONE", + "description" : "Billing structure desired" + }, + "power_market" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Market (auction object) where the price is being received from" + }, + "bill_day" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "15", + "description" : "day of month bill is to be processed (currently limited to days 1-28)" + }, + "price" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "current price of electricity" + }, + "price_base" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "Used only in TIERED_RTP mode to describe the price before the first tier" + }, + "first_tier_price" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "price of electricity between first tier and second tier energy usage" + }, + "first_tier_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh", + "description" : "switching point between base price and first tier price" + }, + "second_tier_price" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "price of electricity between second tier and third tier energy usage" + }, + "second_tier_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh", + "description" : "switching point between first tier price and second tier price" + }, + "third_tier_price" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "price of electricity when energy usage exceeds third tier energy usage" + }, + "third_tier_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh", + "description" : "switching point between second tier price and third tier price" + } + }, + "line" : { + "object_size" : "3088", + "parent" : "link", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "configuration" : { + "type" : "object", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "reference to library object that describes this line's configuration" + }, + "length" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "ft", + "description" : "length of this line" + } + }, + "line_sensor" : { + "object_size" : "568", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "measured_phase" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "C" : "0x4", + "B" : "0x2", + "A" : "0x1" + }, + "flags" : "REQUIRED", + "description" : "phase from which measurement is taken" + }, + "measured_voltage" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "voltage measurement (with noise)" + }, + "measured_current" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "current measurement (with noise)" + }, + "measured_power" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "power measurement (with noise)" + }, + "location" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "ft", + "description" : "sensor placement downline" + }, + "covariance" : { + "type" : "double_array", + "access" : "PUBLIC", + "description" : "sensor covariance matrix (components are [Vr Vi Ir Ii])" + } + }, + "line_spacing" : { + "object_size" : "80", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "distance_AB" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft" + }, + "distance_BC" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft" + }, + "distance_AC" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft" + }, + "distance_AN" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft" + }, + "distance_BN" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft" + }, + "distance_CN" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft" + }, + "distance_AE" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft", + "description" : "distance between phase A wire and earth" + }, + "distance_BE" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft", + "description" : "distance between phase B wire and earth" + }, + "distance_CE" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft", + "description" : "distance between phase C wire and earth" + }, + "distance_NE" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft", + "description" : "distance between neutral wire and earth" + } + }, + "overhead_line" : { + "object_size" : "3096", + "parent" : "line", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "ice_thickness" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in", + "description" : "thickness of ice build-up on lines" + } + }, + "underground_line" : { + "object_size" : "3088", + "parent" : "line", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0" + }, + "overhead_line_conductor" : { + "object_size" : "72", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "geometric_mean_radius" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "ft", + "description" : "radius of the conductor" + }, + "resistance" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "Ohm/mile", + "description" : "resistance in Ohms/mile of the conductor" + }, + "diameter" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "in", + "description" : "Diameter of line for capacitance calculations" + }, + "rating.summer.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "1000 A", + "description" : "Continuous summer amp rating" + }, + "rating.summer.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "2000 A", + "description" : "Emergency summer amp rating" + }, + "rating.winter.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "1000 A", + "description" : "Continuous winter amp rating" + }, + "rating.winter.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "2000 A", + "description" : "Emergency winter amp rating" + }, + "weight" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/ft", + "description" : "Cable weight per lineal foot" + }, + "strength" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb", + "description" : "Cable strength" + } + }, + "underground_line_conductor" : { + "object_size" : "136", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "outer_diameter" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "in", + "description" : "Outer diameter of conductor and sheath" + }, + "conductor_gmr" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "description" : "Geometric mean radius of the conductor" + }, + "conductor_diameter" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "in", + "description" : "Diameter of conductor" + }, + "conductor_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "description" : "Resistance of conductor in ohm/mile" + }, + "neutral_gmr" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "description" : "Geometric mean radius of an individual neutral conductor/strand" + }, + "neutral_diameter" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "in", + "description" : "Diameter of individual neutral conductor/strand of concentric neutral" + }, + "neutral_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "description" : "Resistance of an individual neutral conductor/strand in ohm/mile" + }, + "neutral_strands" : { + "type" : "int16", + "access" : "PUBLIC", + "description" : "Number of cable strands in neutral conductor" + }, + "shield_thickness" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in", + "description" : "The thickness of Tape shield in inches" + }, + "shield_diameter" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in", + "description" : "The outside diameter of Tape shield in inches" + }, + "insulation_relative_permitivitty" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "unit", + "default" : "1 unit", + "description" : "Permitivitty of insulation, relative to air" + }, + "shield_gmr" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "description" : "Geometric mean radius of shielding sheath" + }, + "shield_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "description" : "Resistance of shielding sheath in ohms/mile" + }, + "rating.summer.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "1000 A", + "description" : "amp rating in summer, continuous" + }, + "rating.summer.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "2000 A", + "description" : "amp rating in summer, short term" + }, + "rating.winter.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "1000 A", + "description" : "amp rating in winter, continuous" + }, + "rating.winter.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "2000 A", + "description" : "amp rating in winter, short term" + } + }, + "line_configuration" : { + "object_size" : "360", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "conductor_A" : { + "type" : "object", + "access" : "PUBLIC" + }, + "conductor_B" : { + "type" : "object", + "access" : "PUBLIC" + }, + "conductor_C" : { + "type" : "object", + "access" : "PUBLIC" + }, + "conductor_N" : { + "type" : "object", + "access" : "PUBLIC" + }, + "spacing" : { + "type" : "object", + "access" : "PUBLIC" + }, + "z11" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "z12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "z13" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "z21" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "z22" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "z23" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "z31" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "z32" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "z33" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "default" : "0+0j" + }, + "c11" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "c12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "c13" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "c21" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "c22" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "c23" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "c31" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "c32" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "c33" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "nF/mile", + "default" : "0 nF/mile" + }, + "rating.summer.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "1000 A", + "description" : "amp rating in summer, continuous" + }, + "rating.summer.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "2000 A", + "description" : "amp rating in summer, short term" + }, + "rating.winter.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "1000 A", + "description" : "amp rating in winter, continuous" + }, + "rating.winter.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "2000 A", + "description" : "amp rating in winter, short term" + } + }, + "transformer_configuration" : { + "object_size" : "296", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "connect_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "SINGLE_PHASE_CENTER_TAPPED" : "0x5", + "SINGLE_PHASE" : "0x4", + "DELTA_GWYE" : "0x3", + "DELTA_DELTA" : "0x2", + "WYE_WYE" : "0x1", + "UNKNOWN" : "0x0" + }, + "default" : "UNKNOWN", + "description" : "transformation connection type" + }, + "install_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "VAULT" : "0x3", + "PADMOUNT" : "0x2", + "POLETOP" : "0x1", + "UNKNOWN" : "0x0" + }, + "default" : "UNKNOWN", + "description" : "transformation installation type" + }, + "coolant_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "DRY" : "0x2", + "MINERAL_OIL" : "0x1", + "UNKNOWN" : "0x0" + }, + "default" : "UNKNOWN", + "description" : "transformation coolant type" + }, + "cooling_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "DFOW" : "0x6", + "DFOA" : "0x5", + "NDFOW" : "0x4", + "NDFOA" : "0x3", + "FA" : "0x2", + "OA" : "0x1", + "UNKNOWN" : "0x0" + }, + "default" : "UNKNOWN", + "description" : "transformation cooling type" + }, + "primary_voltage" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "V", + "description" : "primary voltage level in L-L value kV" + }, + "secondary_voltage" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "V", + "description" : "secondary voltage level kV" + }, + "power_rating" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "unit" : "kVA", + "description" : "kVA rating of transformer, total" + }, + "powerA_rating" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kVA", + "description" : "kVA rating of transformer, phase A" + }, + "powerB_rating" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kVA", + "description" : "kVA rating of transformer, phase B" + }, + "powerC_rating" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kVA", + "description" : "kVA rating of transformer, phase C" + }, + "powerN_rating" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kVA", + "description" : "kVA rating of transformer, neutral" + }, + "resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Series impedance, pu, real" + }, + "reactance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Series impedance, pu, imag" + }, + "impedance" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Series impedance, pu" + }, + "resistance1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu, real" + }, + "reactance1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu, imag" + }, + "impedance1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu" + }, + "resistance2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu, real" + }, + "reactance2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu, imag" + }, + "impedance2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu" + }, + "shunt_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "default" : "+1e+09 pu*Ohm", + "description" : "Shunt impedance on primary side, pu, real" + }, + "shunt_reactance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "default" : "+1e+09 pu*Ohm", + "description" : "Shunt impedance on primary side, pu, imag" + }, + "shunt_impedance" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "pu*Ohm", + "default" : "+1e+09+1e+09j pu*Ohm", + "description" : "Shunt impedance on primary side, pu" + }, + "core_coil_weight" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb", + "description" : "The weight of the core and coil assembly in pounds" + }, + "tank_fittings_weight" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb", + "description" : "The weight of the tank and fittings in pounds" + }, + "oil_volume" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "gal", + "description" : "The number of gallons of oil in the transformer" + }, + "rated_winding_time_constant" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "h", + "description" : "The rated winding time constant in hours" + }, + "rated_winding_hot_spot_rise" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "degC", + "description" : "winding hottest-spot rise over ambient temperature at rated load, degrees C" + }, + "rated_top_oil_rise" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "degC", + "description" : "top-oil hottest-spot rise over ambient temperature at rated load, degrees C" + }, + "no_load_loss" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Another method of specifying transformer impedances, defined as per unit power values (shunt)" + }, + "full_load_loss" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Another method of specifying transformer impedances, defined as per unit power values (shunt and series)" + }, + "reactance_resistance_ratio" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "the reactance to resistance ratio (X/R)" + }, + "installed_insulation_life" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "h", + "description" : "the normal lifetime of the transformer insulation at rated load, hours" + }, + "magnetization_location" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "BOTH" : "0x3", + "SECONDARY" : "0x2", + "PRIMARY" : "0x1", + "NONE" : "0x0" + }, + "description" : "winding to place magnetization influence for in-rush calculations" + }, + "inrush_saturation_enabled" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "flag to include saturation effects during inrush calculations" + }, + "L_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "+0.2 pu", + "description" : "Air core inductance of transformer" + }, + "phi_K" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "+1.17 pu", + "description" : "Knee flux value where the air core inductance interstes the flux axis of the saturation curve" + }, + "phi_M" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "+1 pu", + "description" : "Peak magnetization flux at rated voltage of the saturation curve" + }, + "I_M" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "+0.01 pu", + "description" : "Peak magnetization current at rated voltage of the saturation curve" + }, + "T_D" : { + "type" : "double", + "access" : "PUBLIC", + "default" : "+0.5", + "description" : "Inrush decay time constant for inrush current" + } + }, + "transformer" : { + "object_size" : "3448", + "parent" : "link", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "configuration" : { + "type" : "object", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "Configuration library used for transformer setup" + }, + "climate" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "climate object used to describe thermal model ambient temperature" + }, + "ambient_temperature" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "degC", + "description" : "ambient temperature in degrees C" + }, + "top_oil_hot_spot_temperature" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "degC", + "description" : "top-oil hottest-spot temperature, degrees C" + }, + "winding_hot_spot_temperature" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "degC", + "description" : "winding hottest-spot temperature, degrees C" + }, + "percent_loss_of_life" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "the percent loss of life" + }, + "aging_constant" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "the aging rate slope for the transformer insulation" + }, + "use_thermal_model" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "boolean to enable use of thermal model" + }, + "transformer_replacement_count" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "counter of the number times the transformer has been replaced due to lifetime failure" + }, + "aging_granularity" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "maximum timestep before updating thermal and aging model in seconds" + }, + "phase_A_primary_flux_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Wb", + "description" : "instantaneous magnetic flux in phase A on the primary side of the transformer during saturation calculations" + }, + "phase_B_primary_flux_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Wb", + "description" : "instantaneous magnetic flux in phase B on the primary side of the transformer during saturation calculations" + }, + "phase_C_primary_flux_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Wb", + "description" : "instantaneous magnetic flux in phase C on the primary side of the transformer during saturation calculations" + }, + "phase_A_secondary_flux_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Wb", + "description" : "instantaneous magnetic flux in phase A on the secondary side of the transformer during saturation calculations" + }, + "phase_B_secondary_flux_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Wb", + "description" : "instantaneous magnetic flux in phase B on the secondary side of the transformer during saturation calculations" + }, + "phase_C_secondary_flux_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Wb", + "description" : "instantaneous magnetic flux in phase C on the secondary side of the transformer during saturation calculations" + } + }, + "load" : { + "object_size" : "3904", + "parent" : "node", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "load_class" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "A" : "0x4", + "I" : "0x3", + "C" : "0x2", + "R" : "0x1", + "U" : "0x0" + }, + "default" : "U", + "description" : "Flag to track load type, not currently used for anything except sorting" + }, + "constant_power_A" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power load on phase A, specified as VA" + }, + "constant_power_B" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power load on phase B, specified as VA" + }, + "constant_power_C" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power load on phase C, specified as VA" + }, + "constant_power_A_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power load on phase A, real only, specified as W" + }, + "constant_power_B_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power load on phase B, real only, specified as W" + }, + "constant_power_C_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power load on phase C, real only, specified as W" + }, + "constant_power_A_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power load on phase A, imaginary only, specified as VAr" + }, + "constant_power_B_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power load on phase B, imaginary only, specified as VAr" + }, + "constant_power_C_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power load on phase C, imaginary only, specified as VAr" + }, + "constant_current_A" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase A, specified as Amps" + }, + "constant_current_B" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase B, specified as Amps" + }, + "constant_current_C" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase C, specified as Amps" + }, + "constant_current_A_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase A, real only, specified as Amps" + }, + "constant_current_B_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase B, real only, specified as Amps" + }, + "constant_current_C_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase C, real only, specified as Amps" + }, + "constant_current_A_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase A, imaginary only, specified as Amps" + }, + "constant_current_B_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase B, imaginary only, specified as Amps" + }, + "constant_current_C_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current load on phase C, imaginary only, specified as Amps" + }, + "constant_impedance_A" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase A, specified as Ohms" + }, + "constant_impedance_B" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase B, specified as Ohms" + }, + "constant_impedance_C" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase C, specified as Ohms" + }, + "constant_impedance_A_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase A, real only, specified as Ohms" + }, + "constant_impedance_B_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase B, real only, specified as Ohms" + }, + "constant_impedance_C_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase C, real only, specified as Ohms" + }, + "constant_impedance_A_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase A, imaginary only, specified as Ohms" + }, + "constant_impedance_B_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase B, imaginary only, specified as Ohms" + }, + "constant_impedance_C_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance load on phase C, imaginary only, specified as Ohms" + }, + "constant_power_AN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power wye-connected load on phase A, specified as VA" + }, + "constant_power_BN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power wye-connected load on phase B, specified as VA" + }, + "constant_power_CN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power wye-connected load on phase C, specified as VA" + }, + "constant_power_AN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power wye-connected load on phase A, real only, specified as W" + }, + "constant_power_BN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power wye-connected load on phase B, real only, specified as W" + }, + "constant_power_CN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power wye-connected load on phase C, real only, specified as W" + }, + "constant_power_AN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power wye-connected load on phase A, imaginary only, specified as VAr" + }, + "constant_power_BN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power wye-connected load on phase B, imaginary only, specified as VAr" + }, + "constant_power_CN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power wye-connected load on phase C, imaginary only, specified as VAr" + }, + "constant_current_AN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase A, specified as Amps" + }, + "constant_current_BN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase B, specified as Amps" + }, + "constant_current_CN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase C, specified as Amps" + }, + "constant_current_AN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase A, real only, specified as Amps" + }, + "constant_current_BN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase B, real only, specified as Amps" + }, + "constant_current_CN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase C, real only, specified as Amps" + }, + "constant_current_AN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase A, imaginary only, specified as Amps" + }, + "constant_current_BN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase B, imaginary only, specified as Amps" + }, + "constant_current_CN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current wye-connected load on phase C, imaginary only, specified as Amps" + }, + "constant_impedance_AN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase A, specified as Ohms" + }, + "constant_impedance_BN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase B, specified as Ohms" + }, + "constant_impedance_CN" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase C, specified as Ohms" + }, + "constant_impedance_AN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase A, real only, specified as Ohms" + }, + "constant_impedance_BN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase B, real only, specified as Ohms" + }, + "constant_impedance_CN_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase C, real only, specified as Ohms" + }, + "constant_impedance_AN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase A, imaginary only, specified as Ohms" + }, + "constant_impedance_BN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase B, imaginary only, specified as Ohms" + }, + "constant_impedance_CN_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance wye-connected load on phase C, imaginary only, specified as Ohms" + }, + "constant_power_AB" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power delta-connected load on phase A, specified as VA" + }, + "constant_power_BC" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power delta-connected load on phase B, specified as VA" + }, + "constant_power_CA" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "constant power delta-connected load on phase C, specified as VA" + }, + "constant_power_AB_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power delta-connected load on phase A, real only, specified as W" + }, + "constant_power_BC_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power delta-connected load on phase B, real only, specified as W" + }, + "constant_power_CA_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "default" : "0 W", + "description" : "constant power delta-connected load on phase C, real only, specified as W" + }, + "constant_power_AB_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power delta-connected load on phase A, imaginary only, specified as VAr" + }, + "constant_power_BC_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power delta-connected load on phase B, imaginary only, specified as VAr" + }, + "constant_power_CA_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "default" : "0 VAr", + "description" : "constant power delta-connected load on phase C, imaginary only, specified as VAr" + }, + "constant_current_AB" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase A, specified as Amps" + }, + "constant_current_BC" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase B, specified as Amps" + }, + "constant_current_CA" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase C, specified as Amps" + }, + "constant_current_AB_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase A, real only, specified as Amps" + }, + "constant_current_BC_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase B, real only, specified as Amps" + }, + "constant_current_CA_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase C, real only, specified as Amps" + }, + "constant_current_AB_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase A, imaginary only, specified as Amps" + }, + "constant_current_BC_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase B, imaginary only, specified as Amps" + }, + "constant_current_CA_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "default" : "0 A", + "description" : "constant current delta-connected load on phase C, imaginary only, specified as Amps" + }, + "constant_impedance_AB" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase A, specified as Ohms" + }, + "constant_impedance_BC" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase B, specified as Ohms" + }, + "constant_impedance_CA" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase C, specified as Ohms" + }, + "constant_impedance_AB_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase A, real only, specified as Ohms" + }, + "constant_impedance_BC_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase B, real only, specified as Ohms" + }, + "constant_impedance_CA_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase C, real only, specified as Ohms" + }, + "constant_impedance_AB_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase A, imaginary only, specified as Ohms" + }, + "constant_impedance_BC_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase B, imaginary only, specified as Ohms" + }, + "constant_impedance_CA_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "default" : "0 Ohm", + "description" : "constant impedance delta-connected load on phase C, imaginary only, specified as Ohms" + }, + "measured_voltage_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "current measured voltage on phase A" + }, + "measured_voltage_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "current measured voltage on phase B" + }, + "measured_voltage_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "current measured voltage on phase C" + }, + "measured_voltage_AB" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "current measured voltage on phases AB" + }, + "measured_voltage_BC" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "current measured voltage on phases BC" + }, + "measured_voltage_CA" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V", + "description" : "current measured voltage on phases CA" + }, + "phase_loss_protection" : { + "type" : "bool", + "access" : "PUBLIC", + "default" : "FALSE", + "description" : "Trip all three phases of the load if a fault occurs" + }, + "base_power_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "in similar format as ZIPload, this represents the nominal power on phase A before applying ZIP fractions" + }, + "base_power_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "in similar format as ZIPload, this represents the nominal power on phase B before applying ZIP fractions" + }, + "base_power_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VA", + "default" : "0 VA", + "description" : "in similar format as ZIPload, this represents the nominal power on phase C before applying ZIP fractions" + }, + "power_pf_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase A constant power portion of load" + }, + "current_pf_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase A constant current portion of load" + }, + "impedance_pf_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase A constant impedance portion of load" + }, + "power_pf_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase B constant power portion of load" + }, + "current_pf_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase B constant current portion of load" + }, + "impedance_pf_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase B constant impedance portion of load" + }, + "power_pf_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase C constant power portion of load" + }, + "current_pf_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase C constant current portion of load" + }, + "impedance_pf_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "1 pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase C constant impedance portion of load" + }, + "power_fraction_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant power fraction of base power on phase A" + }, + "current_fraction_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant current fraction of base power on phase A" + }, + "impedance_fraction_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant impedance fraction of base power on phase A" + }, + "power_fraction_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant power fraction of base power on phase B" + }, + "current_fraction_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant current fraction of base power on phase B" + }, + "impedance_fraction_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant impedance fraction of base power on phase B" + }, + "power_fraction_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant power fraction of base power on phase C" + }, + "current_fraction_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant current fraction of base power on phase C" + }, + "impedance_fraction_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "this is the constant impedance fraction of base power on phase C" + } + }, + "regulator_configuration" : { + "object_size" : "160", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "connect_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CLOSED_DELTA" : "0x5", + "OPEN_DELTA_CABA" : "0x4", + "OPEN_DELTA_BCAC" : "0x3", + "OPEN_DELTA_ABBC" : "0x2", + "WYE_WYE" : "0x1", + "UNKNOWN" : "0x0" + }, + "flags" : "REQUIRED", + "default" : "UNKNOWN", + "description" : "Designation of connection style" + }, + "band_center" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "band center setting of regulator control" + }, + "band_width" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "band width setting of regulator control" + }, + "time_delay" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "default" : "0 s", + "description" : "mechanical time delay between tap changes" + }, + "dwell_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "default" : "0 s", + "description" : "time delay before a control action of regulator control" + }, + "raise_taps" : { + "type" : "int16", + "access" : "PUBLIC", + "default" : "0", + "description" : "number of regulator raise taps, or the maximum raise voltage tap position" + }, + "lower_taps" : { + "type" : "int16", + "access" : "PUBLIC", + "default" : "0", + "description" : "number of regulator lower taps, or the minimum lower voltage tap position" + }, + "current_transducer_ratio" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "primary rating of current transformer" + }, + "power_transducer_ratio" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "default" : "0 pu", + "description" : "potential transformer rating" + }, + "compensator_r_setting_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "Line Drop Compensation R setting of regulator control (in volts) on Phase A" + }, + "compensator_r_setting_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "Line Drop Compensation R setting of regulator control (in volts) on Phase B" + }, + "compensator_r_setting_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "Line Drop Compensation R setting of regulator control (in volts) on Phase C" + }, + "compensator_x_setting_A" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "Line Drop Compensation X setting of regulator control (in volts) on Phase A" + }, + "compensator_x_setting_B" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "Line Drop Compensation X setting of regulator control (in volts) on Phase B" + }, + "compensator_x_setting_C" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "default" : "0 V", + "description" : "Line Drop Compensation X setting of regulator control (in volts) on Phase C" + }, + "CT_phase" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "C" : "0x4", + "B" : "0x2", + "A" : "0x1" + }, + "flags" : "CHARSET", + "default" : "ABC", + "description" : "phase(s) monitored by CT" + }, + "PT_phase" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "C" : "0x4", + "B" : "0x2", + "A" : "0x1" + }, + "flags" : "CHARSET", + "default" : "ABC", + "description" : "phase(s) monitored by PT" + }, + "regulation" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "default" : "0 %", + "description" : "regulation of voltage regulator in %" + }, + "control_level" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "BANK" : "0x2", + "INDIVIDUAL" : "0x1" + }, + "default" : "INDIVIDUAL", + "description" : "Designates whether control is on per-phase or banked level" + }, + "Control" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "REMOTE_NODE" : "0x3", + "LINE_DROP_COMP" : "0x4", + "OUTPUT_VOLTAGE" : "0x2", + "MANUAL" : "0x1" + }, + "default" : "MANUAL", + "description" : "Type of control used for regulating voltage" + }, + "reverse_flow_control" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "LOCK_CURRENT_POSITION" : "0x2", + "LOCK_NEUTRAL" : "0x1", + "LOCK_NONE" : "0x0" + }, + "default" : "LOCK_NONE", + "description" : "Type of control used when power is flowing in reverse through the regulator" + }, + "Type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "B" : "0x2", + "A" : "0x1" + }, + "default" : "B", + "description" : "Defines regulator type" + }, + "tap_pos_A" : { + "type" : "int16", + "access" : "PUBLIC", + "default" : "999", + "description" : "initial tap position of phase A" + }, + "tap_pos_B" : { + "type" : "int16", + "access" : "PUBLIC", + "default" : "999", + "description" : "initial tap position of phase B" + }, + "tap_pos_C" : { + "type" : "int16", + "access" : "PUBLIC", + "default" : "999", + "description" : "initial tap position of phase C" + } + }, + "regulator" : { + "object_size" : "4088", + "parent" : "link", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "configuration" : { + "type" : "object", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "reference to the regulator_configuration object used to determine regulator properties" + }, + "tap_A" : { + "type" : "int16", + "access" : "PUBLIC", + "description" : "current tap position of tap A" + }, + "tap_B" : { + "type" : "int16", + "access" : "PUBLIC", + "description" : "current tap position of tap B" + }, + "tap_C" : { + "type" : "int16", + "access" : "PUBLIC", + "description" : "current tap position of tap C" + }, + "tap_A_change_count" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "count of all physical tap changes on phase A since beginning of simulation (plus initial value)" + }, + "tap_B_change_count" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "count of all physical tap changes on phase B since beginning of simulation (plus initial value)" + }, + "tap_C_change_count" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "count of all physical tap changes on phase C since beginning of simulation (plus initial value)" + }, + "sense_node" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Node to be monitored for voltage control in remote sense mode" + }, + "regulator_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "The resistance value of the regulator when it is not blown." + } + }, + "triplex_node" : { + "object_size" : "3008", + "parent" : "powerflow_object", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "bustype" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "SWING_PQ" : "0x3", + "SWING" : "0x2", + "PV" : "0x1", + "PQ" : "0x0" + }, + "description" : "defines whether the node is a PQ, PV, or SWING node" + }, + "busflags" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "ISSOURCE" : "0x2", + "HASSOURCE" : "0x1" + }, + "description" : "flag indicates node has a source for voltage, i.e. connects to the swing node" + }, + "reference_bus" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "reference bus from which frequency is defined" + }, + "maximum_voltage_error" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "description" : "convergence voltage limit or convergence criteria" + }, + "voltage_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "bus voltage, phase 1 to ground" + }, + "voltage_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "bus voltage, phase 2 to ground" + }, + "voltage_N" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "bus voltage, phase N to ground" + }, + "voltage_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "bus voltage, phase 1 to 2" + }, + "voltage_1N" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "bus voltage, phase 1 to N" + }, + "voltage_2N" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "bus voltage, phase 2 to N" + }, + "current_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1, also acts as accumulator" + }, + "current_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 2, also acts as accumulator" + }, + "current_N" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase N, also acts as accumulator" + }, + "current_1_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1, real" + }, + "current_2_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 2, real" + }, + "current_N_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase N, real" + }, + "current_1_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1, imag" + }, + "current_2_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 2, imag" + }, + "current_N_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase N, imag" + }, + "current_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1 to 2" + }, + "current_12_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1 to 2, real" + }, + "current_12_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1 to 2, imag" + }, + "prerotated_current_1" : { + "type" : "complex", + "access" : "HIDDEN", + "unit" : "A", + "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" + }, + "prerotated_current_2" : { + "type" : "complex", + "access" : "HIDDEN", + "unit" : "A", + "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" + }, + "prerotated_current_12" : { + "type" : "complex", + "access" : "HIDDEN", + "unit" : "A", + "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" + }, + "residential_nominal_current_1" : { + "type" : "complex", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 1 from a residential object, if attached" + }, + "residential_nominal_current_2" : { + "type" : "complex", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 2 from a residential object, if attached" + }, + "residential_nominal_current_12" : { + "type" : "complex", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 1 to 2 from a residential object, if attached" + }, + "residential_nominal_current_1_real" : { + "type" : "double", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 1, real, from a residential object, if attached" + }, + "residential_nominal_current_1_imag" : { + "type" : "double", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 1, imag, from a residential object, if attached" + }, + "residential_nominal_current_2_real" : { + "type" : "double", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 2, real, from a residential object, if attached" + }, + "residential_nominal_current_2_imag" : { + "type" : "double", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 2, imag, from a residential object, if attached" + }, + "residential_nominal_current_12_real" : { + "type" : "double", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 1 to 2, real, from a residential object, if attached" + }, + "residential_nominal_current_12_imag" : { + "type" : "double", + "access" : "HIDDEN", + "unit" : "A", + "description" : "posted current on phase 1 to 2, imag, from a residential object, if attached" + }, + "power_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "constant power on phase 1 (120V)" + }, + "power_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "constant power on phase 2 (120V)" + }, + "power_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "constant power on phase 1 to 2 (240V)" + }, + "power_1_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "constant power on phase 1, real" + }, + "power_2_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "constant power on phase 2, real" + }, + "power_12_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "constant power on phase 1 to 2, real" + }, + "power_1_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "constant power on phase 1, imag" + }, + "power_2_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "constant power on phase 2, imag" + }, + "power_12_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "constant power on phase 1 to 2, imag" + }, + "shunt_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "S", + "description" : "constant shunt impedance on phase 1" + }, + "shunt_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "S", + "description" : "constant shunt impedance on phase 2" + }, + "shunt_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "S", + "description" : "constant shunt impedance on phase 1 to 2" + }, + "impedance_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 1" + }, + "impedance_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 2" + }, + "impedance_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 1 to 2" + }, + "impedance_1_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 1, real" + }, + "impedance_2_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 2, real" + }, + "impedance_12_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 1 to 2, real" + }, + "impedance_1_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 1, imag" + }, + "impedance_2_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 2, imag" + }, + "impedance_12_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant series impedance on phase 1 to 2, imag" + }, + "house_present" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "boolean for detecting whether a house is attached, not an input" + }, + "GFA_enable" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Disable/Enable Grid Friendly Applicance(TM)-type functionality" + }, + "GFA_freq_low_trip" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Low frequency trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_freq_high_trip" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "High frequency trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_volt_low_trip" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Low voltage trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_volt_high_trip" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "High voltage trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_reconnect_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Reconnect time for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_freq_disconnect_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Frequency violation disconnect time for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_volt_disconnect_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Voltage violation disconnect time for Grid Friendly Appliance(TM)-type functionality" + }, + "GFA_status" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Low frequency trip point for Grid Friendly Appliance(TM)-type functionality" + }, + "service_status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "OUT_OF_SERVICE" : "0x0", + "IN_SERVICE" : "0x1" + }, + "description" : "In and out of service flag" + }, + "service_status_double" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "In and out of service flag - type double - will indiscriminately override service_status - useful for schedules" + }, + "previous_uptime" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "min", + "description" : "Previous time between disconnects of node in minutes" + }, + "current_uptime" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "min", + "description" : "Current time since last disconnect of node in minutes" + }, + "topological_parent" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "topological parent as per GLM configuration" + }, + "frequency_measure_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "PLL" : "0x3", + "SIMPLE" : "0x2", + "NONE" : "0x1" + }, + "description" : "PLL frequency measurement" + }, + "sfm_Tf" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Transducer time constant for simplified frequency measurement (seconds)" + }, + "pll_Kp" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Proportional gain of PLL frequency measurement" + }, + "pll_Ki" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Integration gain of PLL frequency measurement" + }, + "measured_angle_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "rad", + "description" : "bus angle measurement, phase 1N" + }, + "measured_frequency_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "frequency measurement, phase 1N" + }, + "measured_angle_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "rad", + "description" : "bus angle measurement, phase 2N" + }, + "measured_frequency_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "frequency measurement, phase 2N" + }, + "measured_angle_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "rad", + "description" : "bus angle measurement, across the phases" + }, + "measured_frequency_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "frequency measurement, across the phases" + }, + "measured_frequency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "frequency measurement - average of present phases" + } + }, + "triplex_meter" : { + "object_size" : "4000", + "parent" : "triplex_node", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "measured_real_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Wh", + "description" : "metered real energy consumption" + }, + "measured_real_energy_delta" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Wh", + "description" : "delta in metered real energy consumption from last specified measured_energy_delta_timestep" + }, + "measured_reactive_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAh", + "description" : "metered reactive energy consumption" + }, + "measured_reactive_energy_delta" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAh", + "description" : "delta in metered reactive energy consumption from last specified measured_energy_delta_timestep" + }, + "measured_energy_delta_timestep" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Period of timestep for real and reactive delta energy calculation" + }, + "measured_power" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "metered power" + }, + "indiv_measured_power_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "metered power, phase 1" + }, + "indiv_measured_power_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "metered power, phase 2" + }, + "indiv_measured_power_N" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "metered power, phase N" + }, + "measured_demand" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "metered demand (peak of power)" + }, + "measured_real_power" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "metered real power" + }, + "measured_reactive_power" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "metered reactive power" + }, + "meter_power_consumption" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "power consumed by meter operation" + }, + "measured_voltage_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "measured voltage, phase 1 to ground" + }, + "measured_voltage_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "measured voltage, phase 2 to ground" + }, + "measured_voltage_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "measured voltage, phase 1 to phase 2" + }, + "measured_voltage_N" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "measured voltage, phase N to ground" + }, + "measured_real_max_voltage_1_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured real max line-to-ground voltage on phase 1 over a specified interval" + }, + "measured_real_max_voltage_2_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured real max line-to-ground voltage on phase 2 over a specified interval" + }, + "measured_real_max_voltage_12_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured real max line-to-ground voltage on phase 12 over a specified interval" + }, + "measured_imag_max_voltage_1_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured imaginary max line-to-ground voltage on phase 1 over a specified interval" + }, + "measured_imag_max_voltage_2_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured imaginary max line-to-ground voltage on phase 2 over a specified interval" + }, + "measured_imag_max_voltage_12_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured imaginary max line-to-ground voltage on phase 12 over a specified interval" + }, + "measured_real_min_voltage_1_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured real min line-to-ground voltage on phase 1 over a specified interval" + }, + "measured_real_min_voltage_2_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured real min line-to-ground voltage on phase 2 over a specified interval" + }, + "measured_real_min_voltage_12_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured real min line-to-ground voltage on phase 12 over a specified interval" + }, + "measured_imag_min_voltage_1_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured imaginary min line-to-ground voltage on phase 1 over a specified interval" + }, + "measured_imag_min_voltage_2_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured imaginary min line-to-ground voltage on phase 2 over a specified interval" + }, + "measured_imag_min_voltage_12_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured imaginary min line-to-ground voltage on phase 12 over a specified interval" + }, + "measured_avg_voltage_mag_1_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured average line-to-ground voltage magnitude on phase 1 over a specified interval" + }, + "measured_avg_voltage_mag_2_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured average line-to-ground voltage magnitude on phase 2 over a specified interval" + }, + "measured_avg_voltage_mag_12_in_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "measured average line-to-ground voltage magnitude on phase 12 over a specified interval" + }, + "measured_current_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "measured current, phase 1" + }, + "measured_current_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "measured current, phase 2" + }, + "measured_current_N" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "measured current, phase N" + }, + "customer_interrupted" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Reliability flag - goes active if the customer is in an interrupted state" + }, + "customer_interrupted_secondary" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Reliability flag - goes active if the customer is in a secondary interrupted state - i.e., momentary" + }, + "monthly_bill" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$", + "description" : "Accumulator for the current month's bill" + }, + "previous_monthly_bill" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$", + "description" : "Total monthly bill for the previous month" + }, + "previous_monthly_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh", + "description" : "" + }, + "monthly_fee" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$", + "description" : "Total monthly energy for the previous month" + }, + "monthly_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh", + "description" : "Accumulator for the current month's energy" + }, + "bill_mode" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "TIERED_RTP" : "0x4", + "HOURLY" : "0x3", + "TIERED" : "0x2", + "UNIFORM" : "0x1", + "NONE" : "0x0" + }, + "description" : "Designates the bill mode to be used" + }, + "power_market" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Designates the auction object where prices are read from for bill mode" + }, + "bill_day" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "Day bill is to be processed (assumed to occur at midnight of that day)" + }, + "price" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "Standard uniform pricing" + }, + "price_base" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "Used only in TIERED_RTP mode to describe the price before the first tier" + }, + "first_tier_price" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "first tier price of energy between first and second tier energy" + }, + "first_tier_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh", + "description" : "price of energy on tier above price or price base" + }, + "second_tier_price" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "first tier price of energy between second and third tier energy" + }, + "second_tier_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh", + "description" : "price of energy on tier above first tier" + }, + "third_tier_price" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "$/kWh", + "description" : "first tier price of energy greater than third tier energy" + }, + "third_tier_energy" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh", + "description" : "price of energy on tier above second tier" + } + }, + "triplex_line" : { + "object_size" : "3088", + "parent" : "line", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0" + }, + "triplex_line_configuration" : { + "object_size" : "408", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "conductor_1" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "conductor type for phase 1" + }, + "conductor_2" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "conductor type for phase 2" + }, + "conductor_N" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "conductor type for phase N" + }, + "insulation_thickness" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in", + "description" : "thickness of insulation around cabling" + }, + "diameter" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in", + "description" : "total diameter of cable" + }, + "spacing" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "defines the line spacing configuration" + }, + "z11" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "description" : "phase 1 self-impedance, used for direct entry of impedance values" + }, + "z12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "description" : "phase 1-2 induced impedance, used for direct entry of impedance values" + }, + "z21" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "description" : "phase 2-1 induced impedance, used for direct entry of impedance values" + }, + "z22" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "description" : "phase 2 self-impedance, used for direct entry of impedance values" + }, + "rating.summer.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "amp rating in summer, continuous" + }, + "rating.summer.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "amp rating in summer, short term" + }, + "rating.winter.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "amp rating in winter, continuous" + }, + "rating.winter.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "amp rating in winter, short term" + } + }, + "triplex_line_conductor" : { + "object_size" : "48", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm/mile", + "description" : "resistance of cable in ohm/mile" + }, + "geometric_mean_radius" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "description" : "geometric mean radius of the cable" + }, + "rating.summer.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "amp ratings for the cable during continuous operation in summer" + }, + "rating.summer.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "amp ratings for the cable during short term operation in summer" + }, + "rating.winter.continuous" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "amp ratings for the cable during continuous operation in winter" + }, + "rating.winter.emergency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "amp ratings for the cable during short term operation in winter" + } + }, + "switch_coordinator" : { + "object_size" : "544", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "DIRECT" : "0x3", + "TOGGLE" : "0x2", + "ARMED" : "0x1", + "IDLE" : "0x0" + }, + "description" : "switch coordination status" + }, + "arm" : { + "type" : "method", + "access" : "PUBLIC", + "description" : "method to arm a switch" + }, + "disarm" : { + "type" : "method", + "access" : "PUBLIC", + "description" : "method to disarm a switch" + }, + "connect" : { + "type" : "method", + "access" : "PUBLIC", + "description" : "method to connect switches" + }, + "armed" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "NONE" : "0x0" + }, + "flags" : "OUTPUT", + "description" : "set of armed switches" + } + }, + "switch" : { + "object_size" : "3144", + "parent" : "link", + "trl" : "8", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "phase_A_state" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CLOSED" : "0x1", + "OPEN" : "0x0" + }, + "default" : "CLOSED", + "description" : "state of phase A switch" + }, + "phase_B_state" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CLOSED" : "0x1", + "OPEN" : "0x0" + }, + "default" : "CLOSED", + "description" : "state of phase B switch" + }, + "phase_C_state" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CLOSED" : "0x1", + "OPEN" : "0x0" + }, + "default" : "CLOSED", + "description" : "state of phase C switch" + }, + "operating_mode" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "BANKED" : "0x1", + "INDIVIDUAL" : "0x0" + }, + "default" : "BANKED", + "description" : "switch bank operating mode" + }, + "switch_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "The resistance value of the switch when it is not blown." + } + }, + "substation" : { + "object_size" : "3592", + "parent" : "node", + "trl" : "7", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "zero_sequence_voltage" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "The zero sequence representation of the voltage for the substation object." + }, + "positive_sequence_voltage" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "The positive sequence representation of the voltage for the substation object." + }, + "negative_sequence_voltage" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "The negative sequence representation of the voltage for the substation object." + }, + "base_power" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "The 3 phase VA power rating of the substation." + }, + "power_convergence_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "Default convergence criterion before power is posted to pw_load objects if connected, otherwise ignored" + }, + "reference_phase" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "PHASE_C" : "0x2", + "PHASE_B" : "0x1", + "PHASE_A" : "0x0" + }, + "default" : "PHASE_A", + "description" : "The reference phase for the positive sequence voltage." + }, + "transmission_level_constant_power_load" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "the average constant power load to be posted directly to the pw_load object." + }, + "transmission_level_constant_current_load" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A", + "description" : "the average constant current load at nominal voltage to be posted directly to the pw_load object." + }, + "transmission_level_constant_impedance_load" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "Ohm", + "description" : "the average constant impedance load at nominal voltage to be posted directly to the pw_load object." + }, + "distribution_load" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA", + "description" : "The total load of all three phases at the substation object." + }, + "distribution_power_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA" + }, + "distribution_power_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA" + }, + "distribution_power_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "VA" + }, + "distribution_voltage_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V" + }, + "distribution_voltage_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V" + }, + "distribution_voltage_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V" + }, + "distribution_voltage_AB" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V" + }, + "distribution_voltage_BC" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V" + }, + "distribution_voltage_CA" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "V" + }, + "distribution_current_A" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A" + }, + "distribution_current_B" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A" + }, + "distribution_current_C" : { + "type" : "complex", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "A" + }, + "distribution_real_energy" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "Wh" + } + }, + "pqload" : { + "object_size" : "5472", + "parent" : "load", + "trl" : "7", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "weather" : { + "type" : "object", + "access" : "PUBLIC" + }, + "T_nominal" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "degF" + }, + "Zp_T" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm/degF" + }, + "Zp_H" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm/%" + }, + "Zp_S" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm*h/Btu" + }, + "Zp_W" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm/mph" + }, + "Zp_R" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm*h/in" + }, + "Zp" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm" + }, + "Zq_T" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "F/degF" + }, + "Zq_H" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "F/%" + }, + "Zq_S" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "F*h/Btu" + }, + "Zq_W" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "F/mph" + }, + "Zq_R" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "F*h/in" + }, + "Zq" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "F" + }, + "Im_T" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A/degF" + }, + "Im_H" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A/%" + }, + "Im_S" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A*h/Btu" + }, + "Im_W" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A/mph" + }, + "Im_R" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A*h/in" + }, + "Im" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A" + }, + "Ia_T" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg/degF" + }, + "Ia_H" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg/%" + }, + "Ia_S" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg*h/Btu" + }, + "Ia_W" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg/mph" + }, + "Ia_R" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg*h/in" + }, + "Ia" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg" + }, + "Pp_T" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W/degF" + }, + "Pp_H" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W/%" + }, + "Pp_S" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W*h/Btu" + }, + "Pp_W" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W/mph" + }, + "Pp_R" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W*h/in" + }, + "Pp" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W" + }, + "Pq_T" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr/degF" + }, + "Pq_H" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr/%" + }, + "Pq_S" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr*h/Btu" + }, + "Pq_W" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr/mph" + }, + "Pq_R" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr*h/in" + }, + "Pq" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr" + }, + "input_temp" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "degF" + }, + "input_humid" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "%" + }, + "input_solar" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "Btu/h" + }, + "input_wind" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "mph" + }, + "input_rain" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "in/h" + }, + "output_imped_p" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "Ohm" + }, + "output_imped_q" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "Ohm" + }, + "output_current_m" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "A" + }, + "output_current_a" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "deg" + }, + "output_power_p" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "W" + }, + "output_power_q" : { + "type" : "double", + "access" : "REFERENCE", + "unit" : "VAr" + }, + "output_impedance" : { + "type" : "complex", + "access" : "REFERENCE", + "unit" : "ohm" + }, + "output_current" : { + "type" : "complex", + "access" : "REFERENCE", + "unit" : "A" + }, + "output_power" : { + "type" : "complex", + "access" : "REFERENCE", + "unit" : "VA" + } + }, + "voltdump" : { + "object_size" : "344", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "group" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "the group ID to output data for (all nodes if empty)" + }, + "runtime" : { + "type" : "timestamp", + "access" : "PUBLIC", + "default" : "NEVER", + "description" : "the time to check voltage data" + }, + "filename" : { + "type" : "char256", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "the file to dump the voltage data into" + }, + "file" : { + "type" : "char256", + "access" : "PUBLIC", + "flags" : "DEPRECATED", + "description" : "the file to dump the voltage data into" + }, + "runcount" : { + "type" : "int32", + "access" : "REFERENCE", + "default" : "0", + "description" : "the number of times the file has been written to" + }, + "maxcount" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "-1", + "description" : "the maximum number of times the file is written" + }, + "mode" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "polar" : "0x1", + "rect" : "0x0" + }, + "default" : "rect", + "description" : "dumps the voltages in either polar or rectangular notation" + }, + "filemode" : { + "type" : "char8", + "access" : "PUBLIC", + "default" : "", + "description" : "sets the file write mode" + }, + "version" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "0", + "description" : "dump format version" + }, + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "default" : "0 s", + "description" : "interval at which voltdump runs" + } + }, + "series_reactor" : { + "object_size" : "3152", + "parent" : "link", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "phase_A_impedance" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Series impedance of reactor on phase A" + }, + "phase_A_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Resistive portion of phase A's impedance" + }, + "phase_A_reactance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Reactive portion of phase A's impedance" + }, + "phase_B_impedance" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Series impedance of reactor on phase B" + }, + "phase_B_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Resistive portion of phase B's impedance" + }, + "phase_B_reactance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Reactive portion of phase B's impedance" + }, + "phase_C_impedance" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Series impedance of reactor on phase C" + }, + "phase_C_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Resistive portion of phase C's impedance" + }, + "phase_C_reactance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "Reactive portion of phase C's impedance" + }, + "rated_current_limit" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "Rated current limit for the reactor" + } + }, + "restoration" : { + "object_size" : "8032", + "trl" : "7", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "reconfig_attempts" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "Number of reconfigurations/timestep to try before giving up" + }, + "reconfig_iteration_limit" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "Number of iterations to let PF go before flagging this as a bad reconfiguration" + }, + "source_vertex" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Source vertex object for reconfiguration" + }, + "faulted_section" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Faulted section for reconfiguration" + }, + "feeder_power_limit" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Comma-separated power limit (VA) for feeders during reconfiguration" + }, + "feeder_power_links" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Comma-separated list of link-based objects for monitoring power through" + }, + "feeder_vertex_list" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Comma-separated object list that defines the feeder vertices" + }, + "microgrid_power_limit" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Comma-separated power limit (complex VA) for microgrids during reconfiguration" + }, + "microgrid_power_links" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Comma-separated list of link-based objects for monitoring power through" + }, + "microgrid_vertex_list" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Comma-separated object list that defines the microgrid vertices" + }, + "lower_voltage_limit" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Lower voltage limit for the reconfiguration validity checks - per unit" + }, + "upper_voltage_limit" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "Upper voltage limit for the reconfiguration validity checks - per unit" + }, + "output_filename" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Output text file name to describe final or attempted switching operations" + }, + "generate_all_scenarios" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Flag to determine if restoration reconfiguration and continues, or explores the full space" + } + }, + "frequency_gen" : { + "object_size" : "1712", + "trl" : "6", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "Frequency_Mode" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "AUTO" : "0x1", + "OFF" : "0x0" + }, + "description" : "Frequency object operations mode" + }, + "Frequency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Instantaneous frequency value" + }, + "FreqChange" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz/s", + "description" : "Frequency change from last timestep" + }, + "Deadband" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Frequency deadband of the governor" + }, + "Tolerance" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "description" : "% threshold a power difference must be before it is cared about" + }, + "M" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu*s", + "description" : "Inertial constant of the system" + }, + "D" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "description" : "Load-damping constant" + }, + "Rated_power" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "Rated power of system (base power)" + }, + "Gen_power" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "Mechanical power equivalent" + }, + "Load_power" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "Last sensed load value" + }, + "Gov_delay" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Governor delay time" + }, + "Ramp_rate" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W/s", + "description" : "Ramp ideal ramp rate" + }, + "Low_Freq_OI" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Low frequency setpoint for GFA devices" + }, + "High_Freq_OI" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "High frequency setpoint for GFA devices" + }, + "avg24" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Average of last 24 hourly instantaneous measurements" + }, + "std24" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Standard deviation of last 24 hourly instantaneous measurements" + }, + "avg168" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Average of last 168 hourly instantaneous measurements" + }, + "std168" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Standard deviation of last 168 hourly instantaneous measurements" + }, + "Num_Resp_Eqs" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "Total number of equations the response can contain" + } + }, + "volt_var_control" : { + "object_size" : "9552", + "trl" : "0", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "control_method" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "STANDBY" : "0x0", + "ACTIVE" : "0x1" + }, + "description" : "IVVC activated or in standby" + }, + "capacitor_delay" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Default capacitor time delay - overridden by local defintions" + }, + "regulator_delay" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Default regulator time delay - overriden by local definitions" + }, + "desired_pf" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Desired power-factor magnitude at the substation transformer or regulator" + }, + "d_max" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Scaling constant for capacitor switching on - typically 0.3 - 0.6" + }, + "d_min" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Scaling constant for capacitor switching off - typically 0.1 - 0.4" + }, + "substation_link" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Substation link, transformer, or regulator to measure power factor" + }, + "pf_phase" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "C" : "0x4", + "B" : "0x2", + "A" : "0x1" + }, + "flags" : "CHARSET", + "description" : "Phase to include in power factor monitoring" + }, + "regulator_list" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "List of voltage regulators for the system, separated by commas" + }, + "capacitor_list" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "List of controllable capacitors on the system separated by commas" + }, + "voltage_measurements" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "List of voltage measurement devices, separated by commas" + }, + "minimum_voltages" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Minimum voltages allowed for feeder, separated by commas" + }, + "maximum_voltages" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Maximum voltages allowed for feeder, separated by commas" + }, + "desired_voltages" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Desired operating voltages for the regulators, separated by commas" + }, + "max_vdrop" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Maximum voltage drop between feeder and end measurements for each regulator, separated by commas" + }, + "high_load_deadband" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "High loading case voltage deadband for each regulator, separated by commas" + }, + "low_load_deadband" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Low loading case voltage deadband for each regulator, separated by commas" + }, + "pf_signed" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Set to true to consider the sign on the power factor. Otherwise, it just maintains the deadband of +/-desired_pf" + } + }, + "fault_check" : { + "object_size" : "1136", + "trl" : "6", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "check_mode" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "ALL" : "0x2", + "ONCHANGE" : "0x1", + "SINGLE" : "0x0" + }, + "description" : "Frequency of fault checks" + }, + "output_filename" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "Output filename for list of unsupported nodes" + }, + "reliability_mode" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "General flag indicating if fault_check is operating under faulting or restoration mode -- reliability set this" + }, + "strictly_radial" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Flag to indicate if a system is known to be strictly radial -- uses radial assumptions for reliability alterations" + }, + "full_output_file" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Flag to indicate if the output_filename report contains both supported and unsupported nodes -- if false, just does unsupported" + }, + "grid_association" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "Flag to indicate if multiple, distinct grids are allowed in a GLM, or if anything not attached to the master swing is removed" + }, + "eventgen_object" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "Link to generic eventgen object to handle unexpected faults" + } + }, + "motor" : { + "object_size" : "5240", + "parent" : "node", + "trl" : "1", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "base_power" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "base power" + }, + "n" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "ratio of stator auxiliary windings to stator main windings" + }, + "Rds" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "d-axis resistance" + }, + "Rqs" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "q-asis resistance" + }, + "Rr" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "rotor resistance" + }, + "Xm" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "magnetizing reactance" + }, + "Xr" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "rotor reactance" + }, + "Xc_run" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "running capacitor reactance" + }, + "Xc_start" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "starting capacitor reactance" + }, + "Xd_prime" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "d-axis reactance" + }, + "Xq_prime" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ohm", + "description" : "q-axis reactance" + }, + "A_sat" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "flux saturation parameter, A" + }, + "b_sat" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "flux saturation parameter, b" + }, + "H" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "moment of inertia" + }, + "To_prime" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "rotor time constant" + }, + "capacitor_speed" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "description" : "percentage speed of nominal when starting capacitor kicks in" + }, + "trip_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "time motor can stay stalled before tripping off " + }, + "reconnect_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "time before tripped motor reconnects" + }, + "mechanical_torque" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "mechanical torque applied to the motor" + }, + "iteration_count" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "maximum number of iterations for steady state model" + }, + "delta_mode_voltage_trigger" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "description" : "percentage voltage of nominal when delta mode is triggered" + }, + "delta_mode_rotor_speed_trigger" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "description" : "percentage speed of nominal when delta mode is triggered" + }, + "delta_mode_voltage_exit" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "description" : "percentage voltage of nominal to exit delta mode" + }, + "delta_mode_rotor_speed_exit" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "description" : "percentage speed of nominal to exit delta mode" + }, + "maximum_speed_error" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "maximum speed error for the steady state model" + }, + "wr" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "rotor speed" + }, + "motor_status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "OFF" : "0x3", + "TRIPPED" : "0x2", + "STALLED" : "0x1", + "RUNNING" : "0x0" + }, + "description" : "the current status of the motor" + }, + "motor_status_number" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "the current status of the motor as an integer" + }, + "motor_override" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "OFF" : "0x1", + "ON" : "0x0" + }, + "description" : "override function to dictate if motor is turned off or on" + }, + "motor_operation_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "THREE-PHASE" : "0x1", + "SINGLE-PHASE" : "0x0" + }, + "description" : "current operation type of the motor - deltamode related" + }, + "triplex_connection_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "TRIPLEX_12" : "0x2", + "TRIPLEX_2N" : "0x1", + "TRIPLEX_1N" : "0x0" + }, + "description" : "Describes how the motor will connect to the triplex devices" + }, + "wb" : { + "type" : "double", + "access" : "HIDDEN", + "unit" : "rad/s", + "description" : "base speed" + }, + "ws" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "system speed" + }, + "psi_b" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "backward rotating flux" + }, + "psi_f" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "forward rotating flux" + }, + "psi_dr" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "Rotor d axis flux" + }, + "psi_qr" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "Rotor q axis flux" + }, + "Ids" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "time before tripped motor reconnects" + }, + "Iqs" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "time before tripped motor reconnects" + }, + "If" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "forward current" + }, + "Ib" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "backward current" + }, + "Is" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor current" + }, + "Ss" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor power" + }, + "electrical_torque" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "electrical torque" + }, + "Vs" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor voltage" + }, + "motor_trip" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "boolean variable to check if motor is tripped" + }, + "trip" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "current time in tripped state" + }, + "reconnect" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "current time since motor was tripped" + }, + "rs" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "stator resistance" + }, + "rr" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "rotor resistance" + }, + "lm" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "magnetizing reactance" + }, + "lls" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "stator leakage reactance" + }, + "llr" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "rotor leakage reactance" + }, + "TPIM_rated_mechanical_Load_torque" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "rated mechanical load torque applied to three-phase induction motor" + }, + "friction_coefficient" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "coefficient of speed-dependent torque" + }, + "TPIM_initial_status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "STATIONARY" : "0x1", + "RUNNING" : "0x0" + }, + "description" : "initial status of three-phase induction motor: RUNNING or STATIONARY" + }, + "wsyn" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "system frequency in pu" + }, + "phips" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "positive sequence stator flux" + }, + "phins_cj" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "conjugate of negative sequence stator flux" + }, + "phipr" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "positive sequence rotor flux" + }, + "phinr_cj" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "conjugate of negative sequence rotor flux" + }, + "omgr0" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "dc component of rotor speed" + }, + "TL" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "actually applied mechanical torque" + }, + "Ias" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor phase-a stator current" + }, + "Ibs" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor phase-b stator current" + }, + "Ics" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor phase-c stator current" + }, + "Smt" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor complex power" + }, + "Vas" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor phase-a stator-to-ground voltage" + }, + "Vbs" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor phase-b stator-to-ground voltage" + }, + "Vcs" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "motor phase-c stator-to-ground voltage" + }, + "Ips" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "positive sequence stator current" + }, + "Ipr" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "positive sequence rotor current" + }, + "Ins_cj" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "conjugate of negative sequence stator current" + }, + "Inr_cj" : { + "type" : "complex", + "access" : "HIDDEN", + "description" : "conjugate of negative sequence rotor current" + }, + "Ls" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "stator synchronous reactance" + }, + "Lr" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "rotor synchronous reactance" + }, + "sigma1" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "intermediate variable 1 associated with synch. react." + }, + "sigma2" : { + "type" : "double", + "access" : "HIDDEN", + "description" : "intermediate variable 2 associated with synch. react." + } + }, + "billdump" : { + "object_size" : "312", + "trl" : "8", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "group" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "the group ID to output data for (all nodes if empty)" + }, + "runtime" : { + "type" : "timestamp", + "access" : "PUBLIC", + "description" : "the time to check voltage data" + }, + "filename" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "the file to dump the voltage data into" + }, + "runcount" : { + "type" : "int32", + "access" : "REFERENCE", + "description" : "the number of times the file has been written to" + }, + "meter_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "METER" : "0x1", + "TRIPLEX_METER" : "0x0" + }, + "description" : "describes whether to collect from 3-phase or S-phase meters" + } + }, + "power_metrics" : { + "object_size" : "208", + "trl" : "8", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "SAIFI" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays annual SAIFI values as per IEEE 1366-2003" + }, + "SAIFI_int" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays SAIFI values over the period specified by base_time_value as per IEEE 1366-2003" + }, + "SAIDI" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays annual SAIDI values as per IEEE 1366-2003" + }, + "SAIDI_int" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays SAIDI values over the period specified by base_time_value as per IEEE 1366-2003" + }, + "CAIDI" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays annual CAIDI values as per IEEE 1366-2003" + }, + "CAIDI_int" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays SAIDI values over the period specified by base_time_value as per IEEE 1366-2003" + }, + "ASAI" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays annual AISI values as per IEEE 1366-2003" + }, + "ASAI_int" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays AISI values over the period specified by base_time_value as per IEEE 1366-2003" + }, + "MAIFI" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays annual MAIFI values as per IEEE 1366-2003" + }, + "MAIFI_int" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Displays MAIFI values over the period specified by base_time_value as per IEEE 1366-2003" + }, + "base_time_value" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "time period over which _int values are claculated" + } + }, + "currdump" : { + "object_size" : "344", + "trl" : "0", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "group" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "the group ID to output data for (all links if empty)" + }, + "runtime" : { + "type" : "timestamp", + "access" : "PUBLIC", + "default" : "NEVER", + "description" : "the time to check current data" + }, + "filename" : { + "type" : "char256", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "the file to dump the current data into" + }, + "runcount" : { + "type" : "int32", + "access" : "REFERENCE", + "default" : "0", + "description" : "the number of times the file has been written to" + }, + "maxcount" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "1", + "description" : "the maximum number of times the file is written" + }, + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "default" : "0 s", + "description" : "interval at which currdump runs" + }, + "filemode" : { + "type" : "char8", + "access" : "PUBLIC", + "default" : "w", + "description" : "sets the file write mode" + }, + "mode" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "POLAR" : "0x1", + "RECT" : "0x0" + }, + "default" : "RECT" + }, + "version" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "0", + "description" : "dump format version" + } + }, + "recloser" : { + "object_size" : "3184", + "parent" : "switch", + "trl" : "0", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "retry_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "the amount of time in seconds to wait before the recloser attempts to close" + }, + "max_number_of_tries" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "the number of times the recloser will try to close before permanently opening" + }, + "number_of_tries" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "Current number of tries recloser has attempted" + } + }, + "sectionalizer" : { + "object_size" : "3144", + "parent" : "switch", + "trl" : "0", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0" + }, + "emissions" : { + "object_size" : "864", + "trl" : "0", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "Nuclear_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Hydroelectric_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Solarthermal_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Biomass_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Wind_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Coal_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Naturalgas_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Geothermal_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Petroleum_Order" : { + "type" : "double", + "access" : "PUBLIC" + }, + "Naturalgas_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Coal_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Biomass_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Geothermal_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Hydroelectric_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Nuclear_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Wind_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Petroleum_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Solarthermal_Max_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Naturalgas_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Coal_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Biomass_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Geothermal_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Hydroelectric_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Nuclear_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Wind_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Petroleum_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Solarthermal_Out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Naturalgas_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Coal_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Biomass_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Geothermal_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Hydroelectric_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Nuclear_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Wind_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Petroleum_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Solarthermal_Conv_Eff" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Btu/kWh" + }, + "Naturalgas_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Coal_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Biomass_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Geothermal_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Hydroelectric_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Nuclear_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Wind_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Petroleum_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Solarthermal_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Naturalgas_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Coal_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Biomass_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Geothermal_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Hydroelectric_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Nuclear_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Wind_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Petroleum_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Solarthermal_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Naturalgas_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Coal_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Biomass_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Geothermal_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Hydroelectric_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Nuclear_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Wind_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Petroleum_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Solarthermal_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/Btu" + }, + "Naturalgas_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Naturalgas_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Naturalgas_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Coal_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Coal_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Coal_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Biomass_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Biomass_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Biomass_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Geothermal_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Geothermal_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Geothermal_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Hydroelectric_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Hydroelectric_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Hydroelectric_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Nuclear_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Nuclear_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Nuclear_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Wind_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Wind_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Wind_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Petroleum_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Petroleum_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Petroleum_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Solarthermal_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Solarthermal_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Solarthermal_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Total_emissions_CO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Total_emissions_SO2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Total_emissions_NOx" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb" + }, + "Total_energy_out" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "kWh" + }, + "Region" : { + "type" : "double", + "access" : "PUBLIC" + }, + "cycle_interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s" + } + }, + "load_tracker" : { + "object_size" : "344", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "target" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "target object to track the load of" + }, + "target_property" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "property on the target object representing the load" + }, + "operation" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "ANGLE" : "0x3", + "MAGNITUDE" : "0x2", + "IMAGINARY" : "0x1", + "REAL" : "0x0" + }, + "description" : "operation to perform on complex property types" + }, + "full_scale" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "magnitude of the load at full load, used for feed-forward control" + }, + "setpoint" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "load setpoint to track to" + }, + "deadband" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "percentage deadband" + }, + "damping" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "load setpoint to track to" + }, + "output" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "output scaling value" + }, + "feedback" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "the feedback signal, for reference purposes" + } + }, + "triplex_load" : { + "object_size" : "3480", + "parent" : "triplex_node", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "load_class" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "A" : "0x4", + "I" : "0x3", + "C" : "0x2", + "R" : "0x1", + "U" : "0x0" + }, + "description" : "Flag to track load type, not currently used for anything except sorting" + }, + "constant_power_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "constant power load on split phase 1, specified as VA" + }, + "constant_power_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "constant power load on split phase 2, specified as VA" + }, + "constant_power_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "constant power load on split phase 12, specified as VA" + }, + "constant_power_1_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "constant power load on spit phase 1, real only, specified as W" + }, + "constant_power_2_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "constant power load on phase 2, real only, specified as W" + }, + "constant_power_12_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W", + "description" : "constant power load on phase 12, real only, specified as W" + }, + "constant_power_1_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "constant power load on phase 1, imaginary only, specified as VAr" + }, + "constant_power_2_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "constant power load on phase 2, imaginary only, specified as VAr" + }, + "constant_power_12_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VAr", + "description" : "constant power load on phase 12, imaginary only, specified as VAr" + }, + "constant_current_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1, specified as Amps" + }, + "constant_current_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 2, specified as Amps" + }, + "constant_current_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 12, specified as Amps" + }, + "constant_current_1_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1, real only, specified as Amps" + }, + "constant_current_2_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 2, real only, specified as Amps" + }, + "constant_current_12_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 12, real only, specified as Amps" + }, + "constant_current_1_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 1, imaginary only, specified as Amps" + }, + "constant_current_2_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 2, imaginary only, specified as Amps" + }, + "constant_current_12_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "A", + "description" : "constant current load on phase 12, imaginary only, specified as Amps" + }, + "constant_impedance_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 1, specified as Ohms" + }, + "constant_impedance_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 2, specified as Ohms" + }, + "constant_impedance_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 12, specified as Ohms" + }, + "constant_impedance_1_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 1, real only, specified as Ohms" + }, + "constant_impedance_2_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 2, real only, specified as Ohms" + }, + "constant_impedance_12_real" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 12, real only, specified as Ohms" + }, + "constant_impedance_1_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 1, imaginary only, specified as Ohms" + }, + "constant_impedance_2_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 2, imaginary only, specified as Ohms" + }, + "constant_impedance_12_reac" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Ohm", + "description" : "constant impedance load on phase 12, imaginary only, specified as Ohms" + }, + "measured_voltage_1" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "measured voltage on phase 1" + }, + "measured_voltage_2" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "measured voltage on phase 2" + }, + "measured_voltage_12" : { + "type" : "complex", + "access" : "PUBLIC", + "unit" : "V", + "description" : "measured voltage on phase 12" + }, + "base_power_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "in similar format as ZIPload, this represents the nominal power on phase 1 before applying ZIP fractions" + }, + "base_power_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "in similar format as ZIPload, this represents the nominal power on phase 2 before applying ZIP fractions" + }, + "base_power_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "VA", + "description" : "in similar format as ZIPload, this represents the nominal power on phase 12 before applying ZIP fractions" + }, + "power_pf_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 1 constant power portion of load" + }, + "current_pf_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 1 constant current portion of load" + }, + "impedance_pf_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 1 constant impedance portion of load" + }, + "power_pf_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 2 constant power portion of load" + }, + "current_pf_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 2 constant current portion of load" + }, + "impedance_pf_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 2 constant impedance portion of load" + }, + "power_pf_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 12 constant power portion of load" + }, + "current_pf_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 12 constant current portion of load" + }, + "impedance_pf_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "in similar format as ZIPload, this is the power factor of the phase 12 constant impedance portion of load" + }, + "power_fraction_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant power fraction of base power on phase 1" + }, + "current_fraction_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant current fraction of base power on phase 1" + }, + "impedance_fraction_1" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant impedance fraction of base power on phase 1" + }, + "power_fraction_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant power fraction of base power on phase 2" + }, + "current_fraction_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant current fraction of base power on phase 2" + }, + "impedance_fraction_2" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant impedance fraction of base power on phase 2" + }, + "power_fraction_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant power fraction of base power on phase 12" + }, + "current_fraction_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant current fraction of base power on phase 12" + }, + "impedance_fraction_12" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "pu", + "description" : "this is the constant impedance fraction of base power on phase 12" + } + }, + "impedance_dump" : { + "object_size" : "416", + "trl" : "0", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "group" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "the group ID to output data for (all links if empty)" + }, + "filename" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "the file to dump the current data into" + }, + "runtime" : { + "type" : "timestamp", + "access" : "PUBLIC", + "description" : "the time to check voltage data" + }, + "runcount" : { + "type" : "int32", + "access" : "REFERENCE", + "description" : "the number of times the file has been written to" + } + }, + "vfd" : { + "object_size" : "3416", + "parent" : "link", + "trl" : "7", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "rated_motor_speed" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "1/min", + "description" : "Rated speed of the VFD in RPM. Default = 1800 RPM" + }, + "desired_motor_speed" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "1/min", + "description" : "Desired speed of the VFD In ROM. Default = 1800 RPM (max)" + }, + "motor_poles" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "Number of Motor Poles. Default = 4" + }, + "rated_output_voltage" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "V", + "description" : "Line to Line Voltage - VFD Rated voltage. Default to TO node nominal_voltage" + }, + "rated_horse_power" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "hp", + "description" : "Rated Horse Power of the VFD. Default = 75 HP" + }, + "nominal_output_frequency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "Nominal VFD output frequency. Default = 60 Hz" + }, + "desired_output_frequency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "VFD desired output frequency based on the desired RPM" + }, + "current_output_frequency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "Hz", + "description" : "VFD currently output frequency" + }, + "efficiency" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "%", + "description" : "Current VFD efficiency based on the load/VFD output Horsepower" + }, + "stable_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Time taken by the VFD to reach desired frequency (based on RPM). Default = 1.45 seconds" + }, + "vfd_state" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "STEADY_STATE" : "0x2", + "CHANGING" : "0x1", + "OFF" : "0x0" + }, + "description" : "Current state of the VFD" + } + }, + "pole" : { + "object_size" : "320", + "trl" : "7", + "module" : "powerflow", + "profiler.numobjs" : "3", + "profiler.clocks" : "0", + "profiler.count" : "0", + "status" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "FAILED" : "0x1", + "OK" : "0x0" + }, + "default" : "OK", + "description" : "pole status" + }, + "tilt_angle" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg", + "default" : "0.0 deg", + "description" : "tilt angle of pole" + }, + "tilt_direction" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg", + "default" : "0.0 deg", + "description" : "tilt direction of pole" + }, + "weather" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "weather data" + }, + "configuration" : { + "type" : "object", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "configuration data" + }, + "install_year" : { + "type" : "int32", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "the year of pole was installed" + }, + "repair_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "h", + "description" : "typical repair time after pole failure" + }, + "wind_speed" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "m/s", + "default" : "0 m/s", + "description" : "local wind speed" + }, + "wind_direction" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg", + "default" : "0 deg", + "description" : "local wind direction" + }, + "wind_gusts" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "m/s", + "default" : "0 m/s", + "description" : "local wind gusts" + }, + "pole_stress" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "description" : "ratio of actual stress to critical stress" + }, + "pole_stress_polynomial_a" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "constant a of the pole stress polynomial function" + }, + "pole_stress_polynomial_b" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "constant b of the pole stress polynomial function" + }, + "pole_stress_polynomial_c" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "constant c of the pole stress polynomial function" + }, + "susceptibility" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu*s/m", + "description" : "susceptibility of pole to wind stress (derivative of pole stress w.r.t wind speed)" + }, + "total_moment" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "the total moment on the pole" + }, + "resisting_moment" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "the resisting moment on the pole" + }, + "pole_moment" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "the moment of the pole" + }, + "pole_moment_nowind" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "the moment of the pole without wind" + }, + "equipment_moment" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "the moment of the equipment" + }, + "equipment_moment_nowind" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "ft*lb", + "description" : "the moment of the equipment without wind" + }, + "critical_wind_speed" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "m/s", + "description" : "wind speed at pole failure" + }, + "guy_height" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0 ft", + "description" : "guy wire attachment height" + } + }, + "pole_configuration" : { + "object_size" : "248", + "trl" : "9", + "module" : "powerflow", + "profiler.numobjs" : "3", + "profiler.clocks" : "0", + "profiler.count" : "0", + "pole_type" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "STEEL" : "0x1", + "CONCRETE" : "0x2", + "WOOD" : "0x0" + }, + "description" : "material from which pole is made" + }, + "design_ice_thickness" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in", + "description" : "design ice thickness on conductors" + }, + "design_wind_loading" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "psi", + "description" : "design wind loading on pole" + }, + "design_temperature" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "degF", + "description" : "design temperature for pole" + }, + "overload_factor_vertical" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design overload factor (vertical)" + }, + "overload_factor_transverse_general" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design overload factor (transverse general)" + }, + "overload_factor_transverse_crossing" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design overload factor (transverse crossing)" + }, + "overload_factor_transverse_wire" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design overload factor (transverse wire)" + }, + "overload_factor_longitudinal_general" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design overload factor (longitudinal general)" + }, + "overload_factor_longitudinal_deadend" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design overload factor (longitudinal deadend)" + }, + "strength_factor_250b_wood" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design strength factor (Rule 250B wood structure)" + }, + "strength_factor_250b_support" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design strength factor (Rule 250B support hardware)" + }, + "strength_factor_250c_wood" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design strength factor (Rule 250C wood structure)" + }, + "strength_factor_250c_support" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "design strength factor (Rule 250C support hardware)" + }, + "pole_length" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "description" : "total length of pole (including underground portion)" + }, + "pole_depth" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "description" : "depth of pole underground" + }, + "ground_diameter" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in", + "description" : "diameter of pole at ground level" + }, + "top_diameter" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in", + "description" : "diameter of pole at top" + }, + "fiber_strength" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "psi", + "description" : "pole structural strength" + }, + "repair_time" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "h", + "description" : "pole repair time" + }, + "degradation_rate" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "in/yr", + "description" : "rate of pole degradation." + }, + "treatment_method" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CCA" : "0x3", + "PENTA" : "0x2", + "CREOSOTE" : "0x1", + "NONE" : "0x0" + }, + "description" : "pole degradation prevention treatment" + }, + "material_density" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb/cf", + "default" : "35 lb/cf", + "description" : "pole material density" + } + }, + "pole_mount" : { + "object_size" : "136", + "trl" : "7", + "module" : "powerflow", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "equipment" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "powerflow link object id" + }, + "height" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0.0 ft", + "description" : "height above ground at which equipment is mounted" + }, + "offset" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "default" : "0.0 ft", + "description" : "distance from pole centerline at which equipment is mounted" + }, + "area" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "sf", + "default" : "0.0 sf", + "description" : "cross sectional area of equipment" + }, + "direction" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "deg", + "default" : "0.0 deg", + "description" : "direction from pole centerline at which equipment is mounted" + }, + "weight" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "lb", + "default" : "0.0 lb", + "description" : "weight of equipment mounted" + }, + "pole_spacing" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "ft", + "description" : "Mean spacing between poles adjacent" + } + }, + "climate" : { + "object_size" : "2600", + "trl" : "0", + "module" : "climate", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "solar_elevation" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "rad", + "description" : "solar elevation angle in radians" + }, + "solar_azimuth" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "rad", + "description" : "solar azimuth angle in radians" + }, + "solar_zenith" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "rad", + "description" : "solar zenith angle in radians" + }, + "city" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "weather data city name" + }, + "tmyfile" : { + "type" : "char1024", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "weather data file name" + }, + "temperature" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "degF", + "default" : "59.0 degF", + "description" : "current temperature" + }, + "humidity" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "75%", + "description" : "current humidity" + }, + "solar_flux" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "current solar irradiance (9 orientiations)" + }, + "solar_direct" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "solar direct irradiance" + }, + "solar_diffuse" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "solar diffuse irradiance" + }, + "solar_global" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "solar global flux irradiance" + }, + "extraterrestrial_global_horizontal" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "solar global extraterrestrial irradiance" + }, + "extraterrestrial_direct_normal" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "default" : "1367 W/m^2", + "description" : "solar direct normal extraterrestrial irradiance" + }, + "pressure" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "mbar", + "default" : "1013.25 mbar", + "description" : "current air pressure" + }, + "wind_speed" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "m/s", + "description" : "current wind speed" + }, + "wind_dir" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "rad", + "description" : "current direction in radians" + }, + "wind_gust" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "m/s", + "description" : "current wind gusts" + }, + "record.low" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "degF", + "description" : "record low temperature observed" + }, + "record.low_day" : { + "type" : "int32", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "day of year for record low observation" + }, + "record.high" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "degF", + "description" : "record high temperature observed" + }, + "record.high_day" : { + "type" : "int32", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "day of year for record high observation" + }, + "record.solar" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "record high solar irradiance observed" + }, + "rainfall" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "in/h", + "description" : "rainfall observed" + }, + "snowdepth" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "in", + "description" : "snow depth observed" + }, + "interpolate" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "QUADRATIC" : "0x2", + "LINEAR" : "0x1", + "NONE" : "0x0" + }, + "flags" : "OUTPUT", + "default" : "NONE", + "description" : "the interpolation mode used on the climate data" + }, + "solar_horiz" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on horizontal surface" + }, + "solar_north" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on north surface" + }, + "solar_northeast" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on northeast surface" + }, + "solar_east" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on east surface" + }, + "solar_southeast" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on southeast surface" + }, + "solar_south" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on south surface" + }, + "solar_southwest" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on southwest surface" + }, + "solar_west" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on west surface" + }, + "solar_northwest" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "solar flux on northwest surface" + }, + "solar_raw" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "raw solar flux" + }, + "ground_reflectivity" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "0.3 pu", + "description" : "ground reflectivity observed" + }, + "reader" : { + "type" : "object", + "access" : "PUBLIC", + "description" : "weather reader object" + }, + "forecast" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "forecasting specifications" + }, + "cloud_model" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "CUMULUS" : "0x1", + "NONE" : "0x0" + }, + "flags" : "OUTPUT", + "default" : "NONE", + "description" : "the cloud model to use" + }, + "cloud_opacity" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "1.0 pu", + "description" : "cloud opacity factor" + }, + "opq_sky_cov" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "description" : "cloud sky coverage factor" + }, + "cloud_speed_factor" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "1.0 pu", + "description" : "cloud speed factor" + }, + "solar_cloud_direct" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "cloud direct irradiance" + }, + "solar_cloud_diffuse" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "cloud diffuse irradiance" + }, + "solar_cloud_global" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "description" : "cloud global irradiance" + }, + "cloud_alpha" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "400 pu", + "description" : "cloud alpha" + }, + "cloud_num_layers" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "40 pu", + "description" : "number of cloud layers" + }, + "cloud_aerosol_transmissivity" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "0.95 pu", + "description" : "cloud aerosal transmissivity" + }, + "heat_index" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "degF", + "description" : "heat index based on temperature and humidity" + } + }, + "weather" : { + "object_size" : "128", + "trl" : "2", + "module" : "climate", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "temperature" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "degF", + "default" : "0.0 degF", + "description" : "dry-bulb air temperature" + }, + "humidity" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "%", + "default" : "0%", + "description" : "relative humidity" + }, + "solar_dir" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "DEPRECATED|OUTPUT", + "unit" : "W/sf", + "default" : "0.0 W/sf", + "description" : "direct solar flux" + }, + "solar_direct" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "W/sf", + "default" : "0.0 W/sf", + "description" : "direct solar flux" + }, + "solar_diff" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "DEPRECATED|OUTPUT", + "unit" : "W/sf", + "default" : "0.0 W/sf", + "description" : "diffuse solar flux" + }, + "solar_diffuse" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "default" : "0.0 W/sf", + "description" : "diffuse solar flux" + }, + "solar_global" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "default" : "0.0 W/sf", + "description" : "global solar flux" + }, + "global_horizontal_extra" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "W/sf", + "default" : "0.0 W/sf", + "description" : "horizontal surface solar flux" + }, + "wind_speed" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "mph", + "default" : "0.0 mph", + "description" : "wind speed" + }, + "wind_dir" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "deg", + "default" : "0.0 deg", + "description" : "wind direction" + }, + "opq_sky_cov" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "0.0 pu", + "description" : "opaque sky cover" + }, + "tot_sky_cov" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "pu", + "default" : "0.0 pu", + "description" : "total sky cover" + }, + "rainfall" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "in/h", + "default" : "0.0 in/h", + "description" : "rainfall rate" + }, + "snowdepth" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "in", + "default" : "0.0 in", + "description" : "depth of snow on the ground" + }, + "pressure" : { + "type" : "double", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "unit" : "mbar", + "default" : "0.0 mbar", + "description" : "air pressure" + }, + "month" : { + "type" : "int16", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "current month" + }, + "day" : { + "type" : "int16", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "current day" + }, + "hour" : { + "type" : "int16", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "current hour" + }, + "minute" : { + "type" : "int16", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "current minute" + }, + "second" : { + "type" : "int16", + "access" : "PUBLIC", + "flags" : "OUTPUT", + "description" : "current second" + } + }, + "csv_reader" : { + "object_size" : "864", + "trl" : "0", + "module" : "climate", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "index" : { + "type" : "int32", + "access" : "REFERENCE", + "description" : "reader line index" + }, + "city_name" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "name of city" + }, + "state_name" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "name of state/province" + }, + "lat_deg" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "latitude degrees" + }, + "lat_min" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "latitude minutes" + }, + "long_deg" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "longitude degrees" + }, + "long_min" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "longitude minutes" + }, + "low_temp" : { + "type" : "double", + "access" : "REFERENCE", + "description" : "lowest temperature" + }, + "high_temp" : { + "type" : "double", + "access" : "REFERENCE", + "description" : "highest temperature" + }, + "peak_solar" : { + "type" : "double", + "access" : "REFERENCE", + "description" : "peak solar flux" + }, + "elevation" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "elevation" + }, + "status" : { + "type" : "enumeration", + "access" : "REFERENCE", + "keywords" : { + "ERROR" : "0x2", + "OPEN" : "0x1", + "INIT" : "0x0" + }, + "description" : "reader status" + }, + "timefmt" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "time format" + }, + "timezone" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "timezone" + }, + "timezone_offset" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "timezone offset" + }, + "columns" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "column names" + }, + "filename" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "filename" + } + } + }, + "globals" : { + "version.major" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "4" + }, + "version.minor" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "2" + }, + "version.patch" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "22" + }, + "version.build" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "210615" + }, + "version.branch" : { + "type" : "char256", + "access" : "REFERENCE", + "value" : "master" + }, + "version" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "4.2.22-210615-master" + }, + "command_line" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "/usr/local/opt/gridlabd/4.2.22-210615-master/bin/gridlabd.bin anticipation.glm" + }, + "environment" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "batch" + }, + "quiet" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "warn" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "debugger" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "gdb" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "debug" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "test" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "verbose" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "iteration_limit" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "100" + }, + "workdir" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "/model/US/CA/SLAC/anticipation" + }, + "dumpfile" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "gridlabd.json" + }, + "savefile" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "" + }, + "dumpall" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "runchecks" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "threadcount" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "1" + }, + "profiler" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "pauseatexit" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "testoutputfile" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "test.txt" + }, + "xml_encoding" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "8" + }, + "clock" : { + "type" : "timestamp", + "access" : "PUBLIC", + "value" : "2000-01-01 00:00:00 UTC" + }, + "starttime" : { + "type" : "timestamp", + "access" : "PUBLIC", + "value" : "2000-01-01 00:00:00 UTC" + }, + "stoptime" : { + "type" : "timestamp", + "access" : "PUBLIC", + "value" : "NEVER" + }, + "double_format" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "%+lg" + }, + "complex_format" : { + "type" : "char256", + "access" : "PUBLIC", + "value" : "%+lg%+lg%c" + }, + "complex_output_format" : { + "type" : "enumeration", + "keywords" : { + "DEFAULT" : "0x0", + "RECT" : "0x1", + "POLAR_DEG" : "0x2", + "POLAR_RAD" : "0x3" + }, + "access" : "PUBLIC", + "value" : "DEFAULT" + }, + "object_format" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "%s:%d" + }, + "object_scan" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "%[^:]:%d" + }, + "object_tree_balance" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "kmlfile" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "" + }, + "kmlhost" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "https://raw.githubusercontent.com/slacgismo/gridlabd/master/gldcore/rt" + }, + "modelname" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "anticipation.glm" + }, + "execdir" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "/usr/local/opt/gridlabd/4.2.22-210615-master/bin" + }, + "strictnames" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "website" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "http://www.gridlabd.org/" + }, + "urlbase" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "http://www.gridlabd.org/" + }, + "randomstate" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "randomseed" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "include" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "" + }, + "trace" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "" + }, + "gdb_window" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "tmp" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "/root/.gridlabd/tmp" + }, + "force_compile" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "nolocks" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "skipsafe" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "dateformat" : { + "type" : "enumeration", + "keywords" : { + "ISO" : "0x0", + "US" : "0x1", + "EURO" : "0x2", + "ISO8601" : "0x3" + }, + "access" : "PUBLIC", + "value" : "ISO" + }, + "init_sequence" : { + "type" : "enumeration", + "keywords" : { + "CREATION" : "0x0", + "DEFERRED" : "0x1", + "BOTTOMUP" : "0x2", + "TOPDOWN" : "0x3" + }, + "access" : "PUBLIC", + "value" : "DEFERRED" + }, + "minimum_timestep" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "1" + }, + "platform" : { + "type" : "char8", + "access" : "REFERENCE", + "value" : "LINUX" + }, + "suppress_repeat_messages" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "maximum_synctime" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "60" + }, + "run_realtime" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "enter_realtime" : { + "type" : "timestamp", + "access" : "PUBLIC", + "value" : "NEVER" + }, + "realtime_metric" : { + "type" : "double", + "access" : "REFERENCE", + "value" : "+0" + }, + "no_deprecate" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "streaming_io" : { + "type" : "bool", + "access" : "PROTECTED", + "value" : "FALSE" + }, + "compileonly" : { + "type" : "bool", + "access" : "PROTECTED", + "value" : "FALSE" + }, + "relax_naming_rules" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "browser" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "firefox" + }, + "server_portnum" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "server_quit_on_close" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "client_allowed" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "" + }, + "autoclean" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "technology_readiness_level" : { + "type" : "enumeration", + "keywords" : { + "PRINCIPLE" : "0x1", + "CONCEPT" : "0x2", + "PROOF" : "0x3", + "STANDALONE" : "0x4", + "INTEGRATED" : "0x5", + "DEMONSTRATED" : "0x6", + "PROTOTYPE" : "0x7", + "QUALIFIED" : "0x8", + "PROVEN" : "0x9", + "UNKNOWN" : "0x0" + }, + "access" : "PUBLIC", + "value" : "UNKNOWN" + }, + "show_progress" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "checkpoint_type" : { + "type" : "enumeration", + "keywords" : { + "NONE" : "0x0", + "WALL" : "0x1", + "SIM" : "0x2" + }, + "access" : "PUBLIC", + "value" : "NONE" + }, + "checkpoint_file" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "" + }, + "checkpoint_seqnum" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "checkpoint_interval" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "checkpoint_keepall" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "check_version" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "random_number_generator" : { + "type" : "enumeration", + "keywords" : { + "RNG2" : "0x2", + "RNG3" : "0x3" + }, + "access" : "PUBLIC", + "value" : "RNG3" + }, + "mainloop_state" : { + "type" : "enumeration", + "keywords" : { + "INIT" : "0x0", + "RUNNING" : "0x1", + "PAUSED" : "0x2", + "DONE" : "0x3", + "LOCKED" : "0x4" + }, + "access" : "PUBLIC", + "value" : "INIT" + }, + "pauseat" : { + "type" : "timestamp", + "access" : "PUBLIC", + "value" : "NEVER" + }, + "infourl" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "http://docs.gridlabd.us/index.html?owner=slacgismo&project=gridlabd&search=" + }, + "hostname" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "localhost" + }, + "hostaddr" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "127.0.0.1" + }, + "autostart_gui" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "master" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "" + }, + "master_port" : { + "type" : "int64", + "access" : "PUBLIC", + "value" : "0" + }, + "multirun_mode" : { + "type" : "enumeration", + "keywords" : { + "STANDALONE" : "0x0", + "MASTER" : "0x1", + "SLAVE" : "0x2", + "LIBRARY" : "0x3" + }, + "access" : "PUBLIC", + "value" : "STANDALONE" + }, + "multirun_conn" : { + "type" : "enumeration", + "keywords" : { + "NONE" : "0x0", + "MEMORY" : "0x1", + "SOCKET" : "0x2" + }, + "access" : "PUBLIC", + "value" : "NONE" + }, + "signal_timeout" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "5000" + }, + "slave_port" : { + "type" : "int16", + "access" : "PUBLIC", + "value" : "6267" + }, + "slave_id" : { + "type" : "int64", + "access" : "PUBLIC", + "value" : "0" + }, + "return_code" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "0" + }, + "exit_code" : { + "type" : "int16", + "access" : "REFERENCE", + "value" : "5" + }, + "module_compiler_flags" : { + "type" : "set", + "keywords" : { + "NONE" : "0x0", + "CLEAN" : "0x1", + "KEEPWORK" : "0x2", + "DEBUG" : "0x4", + "VERBOSE" : "0x8" + }, + "access" : "PUBLIC", + "value" : "" + }, + "init_max_defer" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "64" + }, + "mt_analysis" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "inline_block_size" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "1048576" + }, + "validate" : { + "type" : "set", + "keywords" : { + "NONE" : "0x0", + "TSTD" : "0x7", + "TALL" : "0xf", + "TRUN" : "0x1", + "TERR" : "0x2", + "TEXC" : "0x4", + "TOPT" : "0x8", + "RALL" : "0x300", + "RDIR" : "0x100", + "RGLM" : "0x200" + }, + "access" : "PUBLIC", + "value" : "TSTD|RALL" + }, + "sanitize" : { + "type" : "set", + "keywords" : { + "NAMES" : "0x10", + "POSITIONS" : "0x60" + }, + "access" : "PUBLIC", + "value" : "NAMES|POSITIONS" + }, + "sanitize_prefix" : { + "type" : "char8", + "access" : "PUBLIC", + "value" : "GLD_" + }, + "sanitize_index" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : ".txt" + }, + "sanitize_offset" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "" + }, + "simulation_mode" : { + "type" : "enumeration", + "keywords" : { + "INIT" : "0x0", + "EVENT" : "0x1", + "DELTA" : "0x2", + "DELTA_ITER" : "0x3", + "ERROR" : "0xff" + }, + "access" : "PUBLIC", + "value" : "INIT" + }, + "deltamode_allowed" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "deltamode_timestep" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "10000000" + }, + "deltamode_maximumtime" : { + "type" : "int64", + "access" : "PUBLIC", + "value" : "3600000000000" + }, + "deltaclock" : { + "type" : "int64", + "access" : "PUBLIC", + "value" : "0" + }, + "delta_current_clock" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+0" + }, + "deltamode_updateorder" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "" + }, + "deltamode_iteration_limit" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "10" + }, + "deltamode_forced_extra_timesteps" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "deltamode_forced_always" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "run_powerworld" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "bigranks" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "exename" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "/usr/local/opt/gridlabd/4.2.22-210615-master/bin/gridlabd.bin" + }, + "wget_options" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "maxsize:100MB;update:newer" + }, + "curl_options" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "maxsize:100MB;update:newer" + }, + "svnroot" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "http://gridlab-d.svn.sourceforge.net/svnroot/gridlab-d" + }, + "github" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "https://github.com/gridlab-d" + }, + "gitraw" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "https://raw.githubusercontent.com/gridlab-d" + }, + "allow_reinclude" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "output_message_context" : { + "type" : "set", + "keywords" : { + "NONE" : "0x0", + "ALL" : "0xffffffff", + "LOAD" : "0x4", + "CREATE" : "0x8", + "EXEC" : "0x10", + "TIME" : "0x20", + "FIND" : "0x40", + "CLASS" : "0x80", + "OBJECT" : "0x100", + "MODULE" : "0x200", + "INDEX" : "0x400", + "GLOBALS" : "0x800", + "EXCEPTION" : "0x1000", + "AGGREGATE" : "0x2000", + "COMPARE" : "0x4000", + "CONVERT" : "0x8000", + "DELTAMODE" : "0x10000", + "ENDUSE" : "0x20000", + "ENVIRONMENT" : "0x40000", + "GUI" : "0x80000", + "HTTPCLIENT" : "0x100000", + "INSTANCE" : "0x200000", + "INTERPOLATE" : "0x400000", + "JOB" : "0x800000", + "KML" : "0x1000000", + "LEGAL" : "0x2000000", + "LINK" : "0x4000000", + "LIST" : "0x8000000", + "XML" : "0x10000000", + "LOADSHAPE" : "0x20000000", + "LOCALE" : "0x40000000", + "LOCK" : "0x80000000", + "MATCH" : "0x0", + "MATLAB" : "0x0", + "PROPERTY" : "0x0", + "RANDOM" : "0x0", + "REALTIME" : "0x0", + "SANITIZE" : "0x0", + "SAVE" : "0x0", + "SCHEDULE" : "0x0", + "SERVER" : "0x0", + "SETUP" : "0x0", + "STREAM" : "0x0", + "TEST" : "0x0", + "THREADPOOL" : "0x0", + "TRANSFORM" : "0x0", + "HTTP" : "0x0", + "UNIT" : "0x0", + "VALIDATE" : "0x0", + "VERSION" : "0x0", + "XCORE" : "0x0", + "MAIN" : "0x1", + "CMDARG" : "0x2" + }, + "access" : "PUBLIC", + "value" : "ALL" + }, + "permissive_access" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "relax_undefined_if" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "literal_if" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "validto_context" : { + "type" : "enumeration", + "keywords" : { + "SYNC" : "0x0", + "PRECOMMIT" : "0x1", + "COMMIT" : "0x2" + }, + "access" : "PUBLIC", + "value" : "SYNC" + }, + "daemon_configfile" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "gridlabd.cnf" + }, + "timezone_locale" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "UTC" + }, + "glm_save_options" : { + "type" : "set", + "keywords" : { + "LEGACY" : "0x0", + "MINIMAL" : "0xf", + "NOGLOBALS" : "0x4", + "NODEFAULTS" : "0x8", + "NOMACROS" : "0x2", + "NOINTERNALS" : "0x1", + "ORIGINAL" : "0x10" + }, + "access" : "PUBLIC", + "value" : "MINIMAL" + }, + "filesave_options" : { + "type" : "set", + "keywords" : { + "ALLINITIAL" : "0xc1ff", + "ALLMINIMAL" : "0x81ff", + "ALL" : "0x1ff", + "MODULES" : "0x1", + "PROPERTIES" : "0x2", + "CLASSES" : "0x4", + "GLOBALS" : "0x8", + "OBJECTS" : "0x10", + "SCHEDULES" : "0x20", + "FILTERS" : "0x40", + "SCRIPTS" : "0x80", + "CLOCK" : "0x100", + "INITIAL" : "0x4000", + "MINIMAL" : "0x8000" + }, + "access" : "PUBLIC", + "value" : "ALL" + }, + "ignore_errors" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "keep_progress" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "allow_variant_aggregates" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "progress" : { + "type" : "double", + "access" : "REFERENCE", + "value" : "+0" + }, + "server_keepalive" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "pythonpath" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "." + }, + "pythonexec" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "/usr/local/bin/python3" + }, + "datadir" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "" + }, + "json_complex_format" : { + "type" : "set", + "keywords" : { + "STRING" : "0x0", + "LIST" : "0x1", + "DICT" : "0x2", + "DEGREES" : "0x10", + "RADIANS" : "0x20" + }, + "access" : "PUBLIC", + "value" : "STRING" + }, + "rusage_file" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "gridlabd-rusage.csv" + }, + "rusage_rate" : { + "type" : "int64", + "access" : "PUBLIC", + "value" : "0" + }, + "rusage" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "{}" + }, + "echo" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::message_flags" : { + "type" : "set", + "keywords" : { + "QUIET" : "0x10000", + "WARNING" : "0x20000", + "DEBUG" : "0x40000", + "VERBOSE" : "0x80000" + }, + "access" : "PUBLIC", + "value" : "" + }, + "powerflow::show_matrix_values" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::primary_voltage_ratio" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+60" + }, + "powerflow::nominal_frequency" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+60" + }, + "powerflow::require_voltage_control" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::geographic_degree" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+0" + }, + "powerflow::fault_impedance" : { + "type" : "complex", + "access" : "PUBLIC", + "value" : "+1e-06+0j" + }, + "powerflow::ground_impedance" : { + "type" : "complex", + "access" : "PUBLIC", + "value" : "+1e-06+0j" + }, + "powerflow::warning_underfrequency" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+55" + }, + "powerflow::warning_overfrequency" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+65" + }, + "powerflow::warning_undervoltage" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+0.8" + }, + "powerflow::warning_overvoltage" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+1.2" + }, + "powerflow::warning_voltageangle" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+2" + }, + "powerflow::maximum_voltage_error" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+1e-06" + }, + "powerflow::solver_method" : { + "type" : "enumeration", + "keywords" : { + "NR" : "0x2", + "GS" : "0x1", + "FBS" : "0x0" + }, + "access" : "PUBLIC", + "value" : "FBS" + }, + "powerflow::NR_matrix_file" : { + "type" : "char256", + "access" : "PUBLIC", + "value" : "" + }, + "powerflow::NR_matrix_output_interval" : { + "type" : "enumeration", + "keywords" : { + "ALL" : "0x3", + "PER_CALL" : "0x2", + "ONCE" : "0x1", + "NEVER" : "0x0" + }, + "access" : "PUBLIC", + "value" : "NEVER" + }, + "powerflow::NR_matrix_output_references" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::line_capacitance" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::line_limits" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "powerflow::lu_solver" : { + "type" : "char256", + "access" : "PUBLIC", + "value" : "" + }, + "powerflow::NR_iteration_limit" : { + "type" : "int64", + "access" : "PUBLIC", + "value" : "500" + }, + "powerflow::NR_deltamode_iteration_limit" : { + "type" : "int64", + "access" : "PUBLIC", + "value" : "10" + }, + "powerflow::NR_superLU_procs" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "1" + }, + "powerflow::default_maximum_voltage_error" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+1e-06" + }, + "powerflow::default_maximum_power_error" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+0.0001" + }, + "powerflow::NR_admit_change" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "powerflow::enable_subsecond_models" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::all_powerflow_delta" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::deltamode_timestep" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+1e+07 ns" + }, + "powerflow::current_frequency" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+60 Hz" + }, + "powerflow::master_frequency_update" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::enable_frequency_dependence" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::default_resistance" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+0.0001" + }, + "powerflow::enable_inrush" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::low_voltage_impedance_level" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+0.7" + }, + "powerflow::enable_mesh_fault_current" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::convergence_error_handling" : { + "type" : "enumeration", + "keywords" : { + "COLLAPSE" : "0x2", + "IGNORE" : "0x1", + "FATAL" : "0x0" + }, + "access" : "PUBLIC", + "value" : "FATAL" + }, + "powerflow::solver_profile_enable" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::solver_profile_filename" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "solver_nr_profile.csv" + }, + "powerflow::solver_profile_headers_included" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "TRUE" + }, + "powerflow::solver_headers" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "timestamp,duration[microsec],iteration,bus_count,branch_count,error" + }, + "powerflow::solver_py_config" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "/usr/local/var/gridlabd/solver_py.conf" + }, + "powerflow::solver_dump_enable" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::violation_record" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "" + }, + "powerflow::violation_count" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "powerflow::violation_active" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "powerflow::violation_watchset" : { + "type" : "set", + "keywords" : { + "ALL" : "0xffff", + "LINK" : "0xff00", + "VREG" : "0x400", + "XFRM" : "0x200", + "LINE" : "0x100", + "NODE" : "0xff", + "LOAD" : "0x1", + "NONE" : "0x0" + }, + "access" : "PUBLIC", + "value" : "ALL" + }, + "powerflow::market_price_name" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "current_market.clearing_price" + }, + "powerflow::repair_time" : { + "type" : "double", + "access" : "PUBLIC", + "value" : "+24 h" + }, + "powerflow::wind_speed_name" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "wind_speed" + }, + "powerflow::wind_dir_name" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "wind_dir" + }, + "powerflow::wind_gust_name" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "wind_gust" + }, + "powerflow::stop_on_pole_failure" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" + }, + "powerflow::climate_impact_zone" : { + "type" : "enumeration", + "keywords" : { + "NONE" : "0x0", + "LOW" : "0x1", + "MODERATE" : "0x2", + "INTERMEDIATE" : "0x3", + "HIGH" : "0x4", + "EXTREME" : "0x5" + }, + "access" : "PUBLIC", + "value" : "NONE" + }, + "climate::message_flags" : { + "type" : "set", + "keywords" : { + "QUIET" : "0x10000", + "WARNING" : "0x20000", + "DEBUG" : "0x40000", + "VERBOSE" : "0x80000" + }, + "access" : "PUBLIC", + "value" : "" + }, + "climate::library_path" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "/usr/local/opt/gridlabd/4.2.22-210615-master/share/gridlabd/weather/US" + }, + "POLE_VULNERABILITY_ANALYSIS" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "on" + }, + "PSPS_ANALYSIS" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "off" + }, + "VEGETATION_VULNERABILITY_ANALYSIS" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "off" + }, + "csv_load_options" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "-f table -t " + } + }, + "schedules" : { + }, + "objects" : { + "WOOD-C-45/5" : { + "id" : "0", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1804289383", + "guid" : "1587C6740EBD26C97D8461ED440BA642", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "45 ft", + "pole_depth": "4.5 ft", + "ground_diameter": "10.3503 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "1 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "WOOD2" : { + "id" : "1", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "846930886", + "guid" : "644C903938F38E4D55AEB9AE5852521E", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "60 ft", + "pole_depth": "4.5 ft", + "ground_diameter": "10.3503 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "3 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-20/3" : { + "id" : "2", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1681692777", + "guid" : "60087BB60ED178941B7D8E31D271E4E0", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "20 ft", + "pole_depth": "5.5 ft", + "ground_diameter": "8.59873 in", + "top_diameter": "7.32484 in", + "fiber_strength": "8000 psi", + "repair_time": "1 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "pole1" : { + "id" : "3", + "class" : "pole", + "latitude" : "37.427500", + "longitude" : "122.169700", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1714636915", + "guid" : "34F35BFACFFE4B1876E9682E0B177054", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "5 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "1990", + "repair_time": "1 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole2" : { + "id" : "4", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1957747793", + "guid" : "46B44A4191BF0B223DF3F3C845787EF", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole:5" : { + "id" : "5", + "class" : "pole", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "424238335", + "guid" : "198EDD485CC47C1A6762805354FD9D3E", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "0 deg", + "tilt_direction": "0 deg", + "weather": "", + "configuration": "", + "install_year": "0", + "repair_time": "0 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + } + } +} diff --git a/US/CA/SLAC/anticipation/pole_library_config.csv b/US/CA/SLAC/anticipation/pole_library_config.csv index a53570fd..3cdae121 100644 --- a/US/CA/SLAC/anticipation/pole_library_config.csv +++ b/US/CA/SLAC/anticipation/pole_library_config.csv @@ -1,3 +1,18 @@ class,name, pole_type, design_ice_thickness, desing_wind_loading, design_temperature, overload_factor_vertical, overload_factor_transverse_general, overload_factor_transverse_crossing, overload_factor_transverse_wire, overload_factor_longitudinal_general, overload_factor_longitudinal_deadend, strength_factor_250b_wood, strength_factor_250b_support, pole_length, pole_depth, ground_diameter, top_diameter, fiber_strength, repair_time, treatment_method ,WOOD-C-45/5,WOOD,,,,,,,,,,,,45 ft,4.5 ft,(32.5/3.14),(19/3.14),8000 psi,1 h, -,WOOD2,WOOD,,,,,,,,,,,,60 ft,4.5 ft,(32.5/3.14),(19/3.14),8000 psi,3 h, \ No newline at end of file +,WOOD2,WOOD,,,,,,,,,,,,60 ft,4.5 ft,(32.5/3.14),(19/3.14),8000 psi,3 h, +,SYP-20/3,WOOD,,,,,,,,,,,,20 ft, 5.5 ft, (27/3.14), (23/3.14), 8000 psi,, +,SYP-25/3,WOOD,,,,,,,,,,,,25 ft, 5.5 ft, (29.5/3.14), (23/3.14), 8000 psi,, +,SYP-30/5,WOOD,,,,,,,,,,,,30 ft, 5.5 ft, (27.5/3.14), (19/3.14), 8000 psi,, +,SYP-35/5,WOOD,,,,,,,,,,,,35 ft, 5.5 ft, (29/3.14), (19/3.14), 8000 psi,, +,SYP-40/3,WOOD,,,,,,,,,,,,40 ft, 6 ft, (36/3.14), (23/3.14), 8000 psi,, +,SYP-45/4,WOOD,,,,,,,,,,,,45 ft, 6.5 ft, (35/3.14), (21/3.14), 8000 psi,, +,SYP-50/3,WOOD,,,,,,,,,,,,50 ft, 7 ft, (39/3.14), (23/3.14), 8000 psi,, +,SYP-55/2,WOOD,,,,,,,,,,,,55 ft, 7.5 ft, (43.5/3.14), (25/3.14), 8000 psi,, +,SYP-60/1,WOOD,,,,,,,,,,,,60 ft, 8 ft, (48/3.14), (27/3.14), 8000 psi,, +,SYP-70/H-2,WOOD,,,,,,,,,,,,70 ft, 9 ft, (57/3.14), (31/3.14), 8000 psi,, +,SYP-80/H-2,WOOD,,,,,,,,,,,,80 ft, 10 ft, (60/3.14), (31/3.14), 8000 psi,, +,SYP-90/H-2,WOOD,,,,,,,,,,,,90 ft, 11 ft, (63/3.14), (31/3.14), 8000 psi,, +,SYP-100/H-2,WOOD,,,,,,,,,,,,100 ft, 12 ft, (65.5/3.14), (31/3.14), 8000 psi,, +,SYP-110/H-3/3,WOOD,,,,,,,,,,,,110 ft, 13 ft, (71.5/3.14), (33/3.14), 8000 psi,, +,SYP-120/H-4,WOOD,,,,,,,,,,,,120 ft, 14 ft, (77.5/3.14), (35/3.14), 8000 psi,, \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/pole_library_config.glm b/US/CA/SLAC/anticipation/pole_library_config.glm new file mode 100644 index 00000000..51a687f5 --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_library_config.glm @@ -0,0 +1,156 @@ +// Objects +object powerflow.pole_configuration { + name "WOOD-C-45/5"; + pole_type "WOOD"; + pole_length 45 ft; + pole_depth 4.5 ft; + ground_diameter (32.5/3.14); + top_diameter (19/3.14); + fiber_strength 8000 psi; + repair_time 1 h; +} +object powerflow.pole_configuration { + name "WOOD2"; + pole_type "WOOD"; + pole_length 60 ft; + pole_depth 4.5 ft; + ground_diameter (32.5/3.14); + top_diameter (19/3.14); + fiber_strength 8000 psi; + repair_time 3 h; +} +object powerflow.pole_configuration { + name "SYP-20/3"; + pole_type "WOOD"; + pole_length 20 ft; + pole_depth 5.5 ft; + ground_diameter (27/3.14); + top_diameter (23/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-25/3"; + pole_type "WOOD"; + pole_length 25 ft; + pole_depth 5.5 ft; + ground_diameter (29.5/3.14); + top_diameter (23/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-30/5"; + pole_type "WOOD"; + pole_length 30 ft; + pole_depth 5.5 ft; + ground_diameter (27.5/3.14); + top_diameter (19/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-35/5"; + pole_type "WOOD"; + pole_length 35 ft; + pole_depth 5.5 ft; + ground_diameter (29/3.14); + top_diameter (19/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-40/3"; + pole_type "WOOD"; + pole_length 40 ft; + pole_depth 6 ft; + ground_diameter (36/3.14); + top_diameter (23/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-45/4"; + pole_type "WOOD"; + pole_length 45 ft; + pole_depth 6.5 ft; + ground_diameter (35/3.14); + top_diameter (21/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-50/3"; + pole_type "WOOD"; + pole_length 50 ft; + pole_depth 7 ft; + ground_diameter (39/3.14); + top_diameter (23/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-55/2"; + pole_type "WOOD"; + pole_length 55 ft; + pole_depth 7.5 ft; + ground_diameter (43.5/3.14); + top_diameter (25/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-60/1"; + pole_type "WOOD"; + pole_length 60 ft; + pole_depth 8 ft; + ground_diameter (48/3.14); + top_diameter (27/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-70/H-2"; + pole_type "WOOD"; + pole_length 70 ft; + pole_depth 9 ft; + ground_diameter (57/3.14); + top_diameter (31/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-80/H-2"; + pole_type "WOOD"; + pole_length 80 ft; + pole_depth 10 ft; + ground_diameter (60/3.14); + top_diameter (31/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-90/H-2"; + pole_type "WOOD"; + pole_length 90 ft; + pole_depth 11 ft; + ground_diameter (63/3.14); + top_diameter (31/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-100/H-2"; + pole_type "WOOD"; + pole_length 100 ft; + pole_depth 12 ft; + ground_diameter (65.5/3.14); + top_diameter (31/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-110/H-3/3"; + pole_type "WOOD"; + pole_length 110 ft; + pole_depth 13 ft; + ground_diameter (71.5/3.14); + top_diameter (33/3.14); + fiber_strength 8000 psi; +} +object powerflow.pole_configuration { + name "SYP-120/H-4"; + pole_type "WOOD"; + pole_length 120 ft; + pole_depth 14 ft; + ground_diameter (77.5/3.14); + top_diameter (35/3.14); + fiber_strength 8000 psi; +} diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv index 1891420a..0b4a0633 100644 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv @@ -1,3 +1,4 @@ class,name, tilt_angle, tilt_direction, configuration, equipment_area, equipment_height, install_year, repair_time,latitude,longitude,configuration,wind_speed pole,pole1,5 deg,270,WOOD-C-45/5,,,1990,1 h,37.4275,122.1697,WOOD-C-45/5,10 -pole,pole2,8 deg,270,WOOD-C-45/5,,,2000,8 h,37.127,122.1646,WOOD-C-45/5,10 \ No newline at end of file +pole,pole2,8 deg,270,WOOD-C-45/5,,,2000,8 h,37.127,122.1646,WOOD-C-45/5,10 +pole,pole3,8 deg,270,SYP-20/3,,,2000,8 h,37.127,122.1646,SYP-20/3,10 \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm new file mode 100644 index 00000000..ec759d80 --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm @@ -0,0 +1,37 @@ +// Objects +object pole { + name "pole1"; + tilt_angle 5 deg; + tilt_direction 270; + configuration "WOOD-C-45/5"; + install_year 1990; + repair_time 1 h; + latitude 37.4275; + longitude 122.1697; + configuration "WOOD-C-45/5"; + wind_speed 10; +} +object pole { + name "pole2"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "WOOD-C-45/5"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "WOOD-C-45/5"; + wind_speed 10; +} +object pole { + name "pole3"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-20/3"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-20/3"; + wind_speed 10; +} From 2b475f47509d087c66484c05203271fd9ece3647 Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Fri, 25 Jun 2021 19:50:53 -0700 Subject: [PATCH 16/82] Added pole objects for five shortest and longest five poles to test resisting moments --- US/CA/SLAC/anticipation/anticipation.glm | 34 +- US/CA/SLAC/anticipation/gridlabd.json | 1556 ++++++++++++++++- .../SLAC/anticipation/pole_library_config.csv | 4 +- .../SLAC/anticipation/pole_library_config.glm | 2 +- US/CA/SLAC/anticipation/pole_outputs.csv | 11 + US/CA/SLAC/anticipation/pole_outputs1.csv | 11 + US/CA/SLAC/anticipation/pole_outputs2.csv | 11 + US/CA/SLAC/anticipation/pole_outputs3.csv | 11 + US/CA/SLAC/anticipation/pole_outputs4.csv | 11 + .../pole_vulnerability_config.csv | 10 +- .../pole_vulnerability_config.glm | 96 + 11 files changed, 1667 insertions(+), 90 deletions(-) create mode 100644 US/CA/SLAC/anticipation/pole_outputs.csv create mode 100644 US/CA/SLAC/anticipation/pole_outputs1.csv create mode 100644 US/CA/SLAC/anticipation/pole_outputs2.csv create mode 100644 US/CA/SLAC/anticipation/pole_outputs3.csv create mode 100644 US/CA/SLAC/anticipation/pole_outputs4.csv diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index a6efc511..0031cbc5 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -7,6 +7,7 @@ //Set up modules module powerflow; module climate; +module tape; // convert CSV configuration file, if any @@ -36,4 +37,35 @@ module anticipation; #if VEGETATION_VULNERABILITY_ANALYSIS=="on" #debug "VEGETATION_VULNERABILITY_ANALYSIS is enabled" -#endif \ No newline at end of file +#endif +object recorder { + parent "pole7"; + property "resisting_moment"; + file "pole_outputs.csv"; + interval -1; +} + +object recorder { + parent "pole8"; + property "resisting_moment"; + file "pole_outputs1.csv"; + interval -1; +} +object recorder { + parent "pole9"; + property "resisting_moment"; + file "pole_outputs2.csv"; + interval -1; +} +object recorder { + parent "pole10"; + property "resisting_moment"; + file "pole_outputs3.csv"; + interval -1; +} +object recorder { + parent "pole11"; + property "resisting_moment"; + file "pole_outputs4.csv"; + interval -1; +} diff --git a/US/CA/SLAC/anticipation/gridlabd.json b/US/CA/SLAC/anticipation/gridlabd.json index db7b2393..43423e22 100644 --- a/US/CA/SLAC/anticipation/gridlabd.json +++ b/US/CA/SLAC/anticipation/gridlabd.json @@ -9,6 +9,10 @@ "major" : "4", "minor" : "2" }, + "tape" : { + "major" : "4", + "minor" : "2" + }, "anticipation" : { "major" : "4", "minor" : "2" @@ -7652,7 +7656,7 @@ "object_size" : "320", "trl" : "7", "module" : "powerflow", - "profiler.numobjs" : "3", + "profiler.numobjs" : "10", "profiler.clocks" : "0", "profiler.count" : "0", "status" : { @@ -7819,7 +7823,7 @@ "object_size" : "248", "trl" : "9", "module" : "powerflow", - "profiler.numobjs" : "3", + "profiler.numobjs" : "17", "profiler.clocks" : "0", "profiler.count" : "0", "pole_type" : { @@ -8621,53 +8625,712 @@ "access" : "PUBLIC", "description" : "filename" } - } - }, - "globals" : { - "version.major" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "4" - }, - "version.minor" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "2" - }, - "version.patch" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "22" }, - "version.build" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "210615" + "player" : { + "object_size" : "13672", + "trl" : "9", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "property" : { + "type" : "char256", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "property to play values into" + }, + "file" : { + "type" : "char1024", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "file from which to read values" + }, + "filetype" : { + "type" : "char8", + "access" : "PUBLIC" + }, + "mode" : { + "type" : "char32", + "access" : "PUBLIC" + }, + "loop" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "0", + "description" : "number of time to loop the player" + } }, - "version.branch" : { - "type" : "char256", - "access" : "REFERENCE", - "value" : "master" + "shaper" : { + "object_size" : "66200", + "trl" : "8", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "file" : { + "type" : "char1024", + "access" : "PUBLIC" + }, + "filetype" : { + "type" : "char8", + "access" : "PUBLIC" + }, + "mode" : { + "type" : "char32", + "access" : "PUBLIC" + }, + "group" : { + "type" : "char256", + "access" : "PUBLIC" + }, + "property" : { + "type" : "char256", + "access" : "PUBLIC" + }, + "magnitude" : { + "type" : "double", + "access" : "PUBLIC" + }, + "events" : { + "type" : "double", + "access" : "PUBLIC" + } }, - "version" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "4.2.22-210615-master" + "recorder" : { + "object_size" : "15816", + "trl" : "9", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "trigger" : { + "type" : "char32", + "access" : "PUBLIC", + "default" : "", + "description" : "condition to trigger recorder" + }, + "file" : { + "type" : "char1024", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "file in which to record data" + }, + "filetype" : { + "type" : "char8", + "access" : "PUBLIC", + "description" : "file type to use when storing data" + }, + "mode" : { + "type" : "char32", + "access" : "PUBLIC", + "default" : "file", + "description" : "recorder operating mode" + }, + "multifile" : { + "type" : "char1024", + "access" : "PUBLIC" + }, + "limit" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "0", + "description" : "limit on number of rows to record (0=none)" + }, + "plotcommands" : { + "type" : "char1024", + "access" : "PUBLIC" + }, + "xdata" : { + "type" : "char32", + "access" : "PUBLIC" + }, + "columns" : { + "type" : "char32", + "access" : "PUBLIC" + }, + "flush" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "-1", + "description" : "row flush mode (-1=when full, 0=every row, >0=interval in seconds)" + }, + "format" : { + "type" : "bool", + "access" : "PUBLIC", + "default" : "0" + }, + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "default" : "-1 s", + "description" : "sampling interval" + }, + "strftime_format" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "date/time format" + }, + "property" : { + "type" : "method", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "list of properties to sample" + }, + "output" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "SVG" : "0x6", + "PNG" : "0x5", + "PDF" : "0x4", + "JPG" : "0x3", + "GIF" : "0x2", + "EPS" : "0x1", + "SCREEN" : "0x0" + } + }, + "header_units" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "NONE" : "0x2", + "ALL" : "0x1", + "DEFAULT" : "0x0" + }, + "default" : "DEFAULT", + "description" : "header option for output of units" + }, + "line_units" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "NONE" : "0x2", + "ALL" : "0x1", + "DEFAULT" : "0x0" + }, + "default" : "DEFAULT", + "description" : "inline option for output of units" + } }, - "command_line" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.22-210615-master/bin/gridlabd.bin anticipation.glm" + "multi_recorder" : { + "object_size" : "15816", + "trl" : "8", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "default" : "-1 s", + "description" : "sampling interval" + }, + "property" : { + "type" : "method", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "list of properties to sample" + }, + "trigger" : { + "type" : "char32", + "access" : "PUBLIC", + "default" : "", + "description" : "condition to trigger recorder" + }, + "file" : { + "type" : "char1024", + "access" : "PUBLIC", + "flags" : "REQUIRED", + "description" : "file in which to record data" + }, + "filetype" : { + "type" : "char8", + "access" : "PUBLIC", + "description" : "file type to use when storing data" + }, + "mode" : { + "type" : "char32", + "access" : "PUBLIC", + "default" : "file", + "description" : "recorder operating mode" + }, + "multifile" : { + "type" : "char1024", + "access" : "PUBLIC" + }, + "limit" : { + "type" : "int32", + "access" : "PUBLIC", + "default" : "0", + "description" : "limit on number of rows to record (0=none)" + }, + "plotcommands" : { + "type" : "char1024", + "access" : "PUBLIC" + }, + "xdata" : { + "type" : "char32", + "access" : "PUBLIC" + }, + "columns" : { + "type" : "char32", + "access" : "PUBLIC" + }, + "format" : { + "type" : "char32", + "access" : "PUBLIC", + "default" : "0" + }, + "output" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "SVG" : "0x6", + "PNG" : "0x5", + "PDF" : "0x4", + "JPG" : "0x3", + "GIF" : "0x2", + "EPS" : "0x1", + "SCREEN" : "0x0" + } + }, + "header_units" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "NONE" : "0x2", + "ALL" : "0x1", + "DEFAULT" : "0x0" + } + }, + "line_units" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "NONE" : "0x2", + "ALL" : "0x1", + "DEFAULT" : "0x0" + } + } }, - "environment" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "batch" + "collector" : { + "object_size" : "7568", + "trl" : "9", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "trigger" : { + "type" : "char32", + "access" : "PUBLIC" + }, + "file" : { + "type" : "char1024", + "access" : "PUBLIC" + }, + "limit" : { + "type" : "int32", + "access" : "PUBLIC" + }, + "group" : { + "type" : "char256", + "access" : "PUBLIC" + }, + "flush" : { + "type" : "int32", + "access" : "PUBLIC" + }, + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s" + }, + "property" : { + "type" : "method", + "access" : "PUBLIC" + } }, - "quiet" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" + "histogram" : { + "object_size" : "4568", + "trl" : "7", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "filename" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "the name of the file to write" + }, + "filetype" : { + "type" : "char8", + "access" : "PUBLIC", + "description" : "the format to output a histogram in" + }, + "mode" : { + "type" : "char32", + "access" : "PUBLIC", + "description" : "the mode of file output" + }, + "group" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "the GridLAB-D group expression to use for this histogram" + }, + "bins" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "the specific bin values to use" + }, + "property" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "the property to sample" + }, + "min" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "the minimum value of the auto-sized bins to use" + }, + "max" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "the maximum value of the auto-sized bins to use" + }, + "samplerate" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "the rate at which samples are read" + }, + "countrate" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "the reate at which bins are counted and written" + }, + "bin_count" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "the number of auto-sized bins to use" + }, + "limit" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "the number of samples to write" + } + }, + "group_recorder" : { + "object_size" : "1696", + "trl" : "0", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "file" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "output file name" + }, + "group" : { + "type" : "char1024", + "access" : "PUBLIC", + "description" : "group definition string" + }, + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "recordering interval (0 'every iteration', -1 'on change')" + }, + "flush_interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "file flush interval (0 never, negative on samples)" + }, + "strict" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "causes the group_recorder to stop the simulation should there be a problem opening or writing with the group_recorder" + }, + "print_units" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "flag to append units to each written value, if applicable" + }, + "property" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "property to record" + }, + "limit" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "the maximum number of lines to write to the file" + }, + "format" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "determines whether output timestamp is formatted to be formatted as human-readable (default) or epoch" + }, + "complex_part" : { + "type" : "enumeration", + "access" : "PUBLIC", + "keywords" : { + "ANG_RAD" : "0x5", + "ANG_DEG" : "0x4", + "MAG" : "0x3", + "IMAG" : "0x2", + "REAL" : "0x1", + "NONE" : "0x0" + }, + "description" : "the complex part to record if complex properties are gathered" + } + }, + "violation_recorder" : { + "object_size" : "1576", + "trl" : "0", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "file" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "output file name" + }, + "summary" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "summary output file name" + }, + "virtual_substation" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "name of the substation node to monitor for reverse flow violation" + }, + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "recording interval (0 'every iteration', -1 'on change')" + }, + "flush_interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "file flush interval (0 never, negative on samples)" + }, + "strict" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "causes the violation_recorder to stop the simulation should there be a problem opening or writing with the violation_recorder" + }, + "echo" : { + "type" : "bool", + "access" : "PUBLIC", + "description" : "causes the violation_recorder to echo messages to the screen" + }, + "limit" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "the maximum number of lines to write to the file" + }, + "violation_delay" : { + "type" : "int32", + "access" : "PUBLIC", + "description" : "the number of seconds to skip before recording violations" + }, + "xfrmr_thermal_limit_upper" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "xfrmr_thermal_limit_upper" + }, + "xfrmr_thermal_limit_lower" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "xfrmr_thermal_limit_lower" + }, + "line_thermal_limit_upper" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "line_thermal_limit_upper" + }, + "line_thermal_limit_lower" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "line_thermal_limit_lower" + }, + "node_instantaneous_voltage_limit_upper" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "node_instantaneous_voltage_limit_upper" + }, + "node_instantaneous_voltage_limit_lower" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "node_instantaneous_voltage_limit_lower" + }, + "node_continuous_voltage_limit_upper" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "node_continuous_voltage_limit_upper" + }, + "node_continuous_voltage_limit_lower" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "node_continuous_voltage_limit_lower" + }, + "node_continuous_voltage_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "node_continuous_voltage_interval" + }, + "secondary_dist_voltage_rise_upper_limit" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "secondary_dist_voltage_rise_upper_limit" + }, + "secondary_dist_voltage_rise_lower_limit" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "secondary_dist_voltage_rise_lower_limit" + }, + "substation_breaker_A_limit" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "breaker_phase_A_limit" + }, + "substation_breaker_B_limit" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "breaker_phase_B_limit" + }, + "substation_breaker_C_limit" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "breaker_phase_C_limit" + }, + "substation_pf_lower_limit" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "substation_pf_lower_limit" + }, + "inverter_v_chng_per_interval_upper_bound" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "inverter_v_chng_per_interval_upper_bound" + }, + "inverter_v_chng_per_interval_lower_bound" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "inverter_v_chng_per_interval_lower_bound" + }, + "inverter_v_chng_interval" : { + "type" : "double", + "access" : "PUBLIC", + "description" : "inverter_v_chng_interval" + }, + "violation_flag" : { + "type" : "set", + "access" : "PUBLIC", + "keywords" : { + "ALLVIOLATIONS" : "0xff", + "VIOLATION8" : "0x80", + "VIOLATION7" : "0x40", + "VIOLATION6" : "0x20", + "VIOLATION5" : "0x10", + "VIOLATION4" : "0x8", + "VIOLATION3" : "0x4", + "VIOLATION2" : "0x2", + "VIOLATION1" : "0x1", + "VIOLATION0" : "0x0" + }, + "description" : "bit set for determining which violations to check" + } + }, + "metrics_collector" : { + "object_size" : "720", + "trl" : "0", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Interval at which the metrics_collector output is stored in JSON format" + } + }, + "metrics_collector_writer" : { + "object_size" : "6960", + "trl" : "0", + "module" : "tape", + "profiler.numobjs" : "0", + "profiler.clocks" : "0", + "profiler.count" : "0", + "filename" : { + "type" : "char256", + "access" : "PUBLIC", + "description" : "the JSON formatted output file name" + }, + "interval" : { + "type" : "double", + "access" : "PUBLIC", + "unit" : "s", + "description" : "Interval at which the metrics_collector_writer output is stored in JSON format" + } + } + }, + "globals" : { + "version.major" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "4" + }, + "version.minor" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "2" + }, + "version.patch" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "22" + }, + "version.build" : { + "type" : "int32", + "access" : "REFERENCE", + "value" : "210615" + }, + "version.branch" : { + "type" : "char256", + "access" : "REFERENCE", + "value" : "master" + }, + "version" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "4.2.22-210615-master" + }, + "command_line" : { + "type" : "char1024", + "access" : "REFERENCE", + "value" : "/usr/local/opt/gridlabd/4.2.22-210615-master/bin/gridlabd.bin anticipation.glm" + }, + "environment" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "batch" + }, + "quiet" : { + "type" : "bool", + "access" : "PUBLIC", + "value" : "FALSE" }, "warn" : { "type" : "bool", @@ -9849,10 +10512,45 @@ "access" : "PUBLIC", "value" : "/usr/local/opt/gridlabd/4.2.22-210615-master/share/gridlabd/weather/US" }, - "POLE_VULNERABILITY_ANALYSIS" : { + "tape::gnuplot_path" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "on" + "value" : "/usr/bin/gnuplot" + }, + "tape::flush_interval" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "tape::csv_data_only" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "tape::csv_header_type" : { + "type" : "enumeration", + "keywords" : { + "NAME" : "0x2", + "NONE" : "0x1", + "FULL" : "0x0" + }, + "access" : "PUBLIC", + "value" : "FULL" + }, + "tape::csv_keep_clean" : { + "type" : "int32", + "access" : "PUBLIC", + "value" : "0" + }, + "tape::delta_mode_needed" : { + "type" : "timestamp", + "access" : "PUBLIC", + "value" : "NEVER" + }, + "POLE_VULNERABILITY_ANALYSIS" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "on" }, "PSPS_ANALYSIS" : { "type" : "char1024", @@ -9878,8 +10576,456 @@ "class" : "pole_configuration", "rank" : "0", "clock" : "2000-01-01 00:00:00 UTC", - "rng_state" : "1804289383", - "guid" : "1587C6740EBD26C97D8461ED440BA642", + "rng_state" : "1804289383", + "guid" : "7434893BBB00E2E5711800521022E0", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "45 ft", + "pole_depth": "4.5 ft", + "ground_diameter": "10.3503 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "1 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "WOOD2" : { + "id" : "1", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "846930886", + "guid" : "623EC0F341F5E93417A8116FDC4799D0", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "60 ft", + "pole_depth": "4.5 ft", + "ground_diameter": "10.3503 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "3 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-20/3" : { + "id" : "2", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1681692777", + "guid" : "2CB1CD064FC4D3EE4E6C89229AD9DBBF", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "20 ft", + "pole_depth": "5.5 ft", + "ground_diameter": "8.59873 in", + "top_diameter": "7.32484 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-25/3" : { + "id" : "3", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1714636915", + "guid" : "43E7E2D5C51F8EB138BA985BC93F6C24", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "25 ft", + "pole_depth": "5.5 ft", + "ground_diameter": "9.3949 in", + "top_diameter": "7.32484 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-30/5" : { + "id" : "4", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1957747793", + "guid" : "3CAE678E9F7EEE92483DDC2DB30B3B1", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "30 ft", + "pole_depth": "5.5 ft", + "ground_diameter": "8.75796 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-35/5" : { + "id" : "5", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "424238335", + "guid" : "35477C6EF18D9AD27DE802C89ADF05DE", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "35 ft", + "pole_depth": "5.5 ft", + "ground_diameter": "9.23567 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-40/3" : { + "id" : "6", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "719885386", + "guid" : "5AAEB400B288B7BE72FFBAA0B347B9C7", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "40 ft", + "pole_depth": "6 ft", + "ground_diameter": "11.465 in", + "top_diameter": "7.32484 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-45/4" : { + "id" : "7", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1649760492", + "guid" : "41C10389C2FCA25C48A8B9D9BCC033E9", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "45 ft", + "pole_depth": "6.5 ft", + "ground_diameter": "11.1465 in", + "top_diameter": "6.6879 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-50/3" : { + "id" : "8", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "596516649", + "guid" : "3BA50B97D4B0397A55F24D9E71E49764", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "50 ft", + "pole_depth": "7 ft", + "ground_diameter": "12.4204 in", + "top_diameter": "7.32484 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-55/2" : { + "id" : "9", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1189641421", + "guid" : "210C9AADB3EE462B3F942194C2955E42", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "55 ft", + "pole_depth": "7.5 ft", + "ground_diameter": "13.8535 in", + "top_diameter": "7.96178 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-60/1" : { + "id" : "10", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1025202362", + "guid" : "43BCD50FBFF6889410EF6B4F0B64273F", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "60 ft", + "pole_depth": "8 ft", + "ground_diameter": "15.2866 in", + "top_diameter": "8.59873 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-70/H-2" : { + "id" : "11", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1350490027", + "guid" : "49F2B4AF30B159ED34291A6EC71EACFB", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "70 ft", + "pole_depth": "9 ft", + "ground_diameter": "18.1529 in", + "top_diameter": "9.87261 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-80/H-2" : { + "id" : "12", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "783368690", + "guid" : "2B0F9C3317B71F4D2ECED462A0AAAE9D", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "80 ft", + "pole_depth": "10 ft", + "ground_diameter": "19.1083 in", + "top_diameter": "9.87261 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-90/H-2" : { + "id" : "13", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "1102520059", + "guid" : "59138028DA6EF57E2C896ABFDB24756B", + "flags" : "0x100", + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "90 ft", + "pole_depth": "11 ft", + "ground_diameter": "20.0637 in", + "top_diameter": "9.87261 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-100/H-2" : { + "id" : "14", + "class" : "pole_configuration", + "rank" : "0", + "clock" : "2000-01-01 00:00:00 UTC", + "rng_state" : "2044897763", + "guid" : "566FB14E339A1698656A2338962C57C5", "flags" : "0x100", "pole_type": "WOOD", "design_ice_thickness": "0.25 in", @@ -9895,23 +11041,23 @@ "strength_factor_250b_support": "1", "strength_factor_250c_wood": "0.75", "strength_factor_250c_support": "1", - "pole_length": "45 ft", - "pole_depth": "4.5 ft", - "ground_diameter": "10.3503 in", - "top_diameter": "6.05096 in", + "pole_length": "100 ft", + "pole_depth": "12 ft", + "ground_diameter": "20.8599 in", + "top_diameter": "9.87261 in", "fiber_strength": "8000 psi", - "repair_time": "1 h", + "repair_time": "0 h", "degradation_rate": "0 in/yr", "treatment_method": "NONE", "material_density": "35 lb/cf" }, - "WOOD2" : { - "id" : "1", + "SYP-110/H-3/3" : { + "id" : "15", "class" : "pole_configuration", "rank" : "0", "clock" : "2000-01-01 00:00:00 UTC", - "rng_state" : "846930886", - "guid" : "644C903938F38E4D55AEB9AE5852521E", + "rng_state" : "1967513926", + "guid" : "BA19AFE9A12D843513A9047848AB3DA", "flags" : "0x100", "pole_type": "WOOD", "design_ice_thickness": "0.25 in", @@ -9927,23 +11073,23 @@ "strength_factor_250b_support": "1", "strength_factor_250c_wood": "0.75", "strength_factor_250c_support": "1", - "pole_length": "60 ft", - "pole_depth": "4.5 ft", - "ground_diameter": "10.3503 in", - "top_diameter": "6.05096 in", + "pole_length": "110 ft", + "pole_depth": "13 ft", + "ground_diameter": "22.7707 in", + "top_diameter": "10.5096 in", "fiber_strength": "8000 psi", - "repair_time": "3 h", + "repair_time": "0 h", "degradation_rate": "0 in/yr", "treatment_method": "NONE", "material_density": "35 lb/cf" }, - "SYP-20/3" : { - "id" : "2", + "SYP-120/H-4" : { + "id" : "16", "class" : "pole_configuration", "rank" : "0", "clock" : "2000-01-01 00:00:00 UTC", - "rng_state" : "1681692777", - "guid" : "60087BB60ED178941B7D8E31D271E4E0", + "rng_state" : "1365180540", + "guid" : "2421D0BB3AA0E32F5D63E1583AF4040B", "flags" : "0x100", "pole_type": "WOOD", "design_ice_thickness": "0.25 in", @@ -9959,25 +11105,25 @@ "strength_factor_250b_support": "1", "strength_factor_250c_wood": "0.75", "strength_factor_250c_support": "1", - "pole_length": "20 ft", - "pole_depth": "5.5 ft", - "ground_diameter": "8.59873 in", - "top_diameter": "7.32484 in", + "pole_length": "120 ft", + "pole_depth": "14 ft", + "ground_diameter": "24.6815 in", + "top_diameter": "11.1465 in", "fiber_strength": "8000 psi", - "repair_time": "1 h", + "repair_time": "0 h", "degradation_rate": "0 in/yr", "treatment_method": "NONE", "material_density": "35 lb/cf" }, "pole1" : { - "id" : "3", + "id" : "17", "class" : "pole", "latitude" : "37.427500", "longitude" : "122.169700", "rank" : "0", "clock" : "2000-01-01 00:00:00 UTC", - "rng_state" : "1714636915", - "guid" : "34F35BFACFFE4B1876E9682E0B177054", + "rng_state" : "1540383426", + "guid" : "E238DDD83628E007EE679B14D3C9E9E", "flags" : "0x0", "status": "OK", "tilt_angle": "5 deg", @@ -10004,14 +11150,14 @@ "guy_height": "0 ft" }, "pole2" : { - "id" : "4", + "id" : "18", "class" : "pole", "latitude" : "37.127000", "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "1957747793", - "guid" : "46B44A4191BF0B223DF3F3C845787EF", + "rng_state" : "304089172", + "guid" : "6C9E52588E177C967DDE44ECFF976547", "flags" : "0x0", "status": "OK", "tilt_angle": "8 deg", @@ -10037,22 +11183,262 @@ "critical_wind_speed": "0 m/s", "guy_height": "0 ft" }, - "pole:5" : { - "id" : "5", + "pole3" : { + "id" : "19", "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "424238335", - "guid" : "198EDD485CC47C1A6762805354FD9D3E", + "rng_state" : "1303455736", + "guid" : "5F338FB587F5B5733C1AA80E623C5029", "flags" : "0x0", "status": "OK", - "tilt_angle": "0 deg", - "tilt_direction": "0 deg", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", "weather": "", "configuration": "", - "install_year": "0", - "repair_time": "0 h", - "wind_speed": "0 m/s", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole4" : { + "id" : "20", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "35005211", + "guid" : "7753610E849147967C41164D3D3C7E1D", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole5" : { + "id" : "21", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "521595368", + "guid" : "6411145FA2B03875308385B42995692", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole6" : { + "id" : "22", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "294702567", + "guid" : "235FBA4B750108ED6FF93D748C9FFA4B", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole7" : { + "id" : "23", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1726956429", + "guid" : "5E4E908FE033D60B4F4654F47E717BF1", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole8" : { + "id" : "24", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "336465782", + "guid" : "4597587119F9C222A35778AACFCE90F", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole9" : { + "id" : "25", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "861021530", + "guid" : "34B3345F171749011F8E8F2585F34D54", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "guy_height": "0 ft" + }, + "pole10" : { + "id" : "26", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "278722862", + "guid" : "330853C212EF066B11A9B45DFB30606F", + "flags" : "0x0", + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "10 m/s", "wind_direction": "0 deg", "wind_gusts": "0 m/s", "pole_stress": "0 pu", diff --git a/US/CA/SLAC/anticipation/pole_library_config.csv b/US/CA/SLAC/anticipation/pole_library_config.csv index 3cdae121..94b0c1b4 100644 --- a/US/CA/SLAC/anticipation/pole_library_config.csv +++ b/US/CA/SLAC/anticipation/pole_library_config.csv @@ -14,5 +14,5 @@ class,name, pole_type, design_ice_thickness, desing_wind_loading, design_tempera ,SYP-80/H-2,WOOD,,,,,,,,,,,,80 ft, 10 ft, (60/3.14), (31/3.14), 8000 psi,, ,SYP-90/H-2,WOOD,,,,,,,,,,,,90 ft, 11 ft, (63/3.14), (31/3.14), 8000 psi,, ,SYP-100/H-2,WOOD,,,,,,,,,,,,100 ft, 12 ft, (65.5/3.14), (31/3.14), 8000 psi,, -,SYP-110/H-3/3,WOOD,,,,,,,,,,,,110 ft, 13 ft, (71.5/3.14), (33/3.14), 8000 psi,, -,SYP-120/H-4,WOOD,,,,,,,,,,,,120 ft, 14 ft, (77.5/3.14), (35/3.14), 8000 psi,, \ No newline at end of file +,SYP-110/H-3,WOOD,,,,,,,,,,,,110 ft, 13 ft, (71.5/3.14), (33/3.14), 8000 psi,, +,SYP-120/H-4,WOOD,,,,,,,,,,,,120 ft, 14 ft, (77.5/3.14), (35/3.14), 8000 psi,, diff --git a/US/CA/SLAC/anticipation/pole_library_config.glm b/US/CA/SLAC/anticipation/pole_library_config.glm index 51a687f5..e0c4e06d 100644 --- a/US/CA/SLAC/anticipation/pole_library_config.glm +++ b/US/CA/SLAC/anticipation/pole_library_config.glm @@ -137,7 +137,7 @@ object powerflow.pole_configuration { fiber_strength 8000 psi; } object powerflow.pole_configuration { - name "SYP-110/H-3/3"; + name "SYP-110/H-3"; pole_type "WOOD"; pole_length 110 ft; pole_depth 13 ft; diff --git a/US/CA/SLAC/anticipation/pole_outputs.csv b/US/CA/SLAC/anticipation/pole_outputs.csv new file mode 100644 index 00000000..fde5dc08 --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_outputs.csv @@ -0,0 +1,11 @@ +# file...... pole_outputs.csv +# date...... Sat Jun 26 02:48:35 2021 +# user...... (null) +# host...... (null) +# target.... pole 23 +# trigger... (none) +# interval.. -1 +# limit..... 0 +# timestamp,resisting_moment +2000-01-01 00:00:00 UTC,+388370 +# end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs1.csv b/US/CA/SLAC/anticipation/pole_outputs1.csv new file mode 100644 index 00000000..f34a5250 --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_outputs1.csv @@ -0,0 +1,11 @@ +# file...... pole_outputs1.csv +# date...... Sat Jun 26 02:48:35 2021 +# user...... (null) +# host...... (null) +# target.... pole 24 +# trigger... (none) +# interval.. -1 +# limit..... 0 +# timestamp,resisting_moment +2000-01-01 00:00:00 UTC,+449587 +# end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs2.csv b/US/CA/SLAC/anticipation/pole_outputs2.csv new file mode 100644 index 00000000..06aea5a4 --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_outputs2.csv @@ -0,0 +1,11 @@ +# file...... pole_outputs2.csv +# date...... Sat Jun 26 02:48:35 2021 +# user...... (null) +# host...... (null) +# target.... pole 25 +# trigger... (none) +# interval.. -1 +# limit..... 0 +# timestamp,resisting_moment +2000-01-01 00:00:00 UTC,+505261 +# end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs3.csv b/US/CA/SLAC/anticipation/pole_outputs3.csv new file mode 100644 index 00000000..aa95b7ee --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_outputs3.csv @@ -0,0 +1,11 @@ +# file...... pole_outputs3.csv +# date...... Sat Jun 26 02:48:35 2021 +# user...... (null) +# host...... (null) +# target.... pole 26 +# trigger... (none) +# interval.. -1 +# limit..... 0 +# timestamp,resisting_moment +2000-01-01 00:00:00 UTC,+657219 +# end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs4.csv b/US/CA/SLAC/anticipation/pole_outputs4.csv new file mode 100644 index 00000000..d56e7151 --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_outputs4.csv @@ -0,0 +1,11 @@ +# file...... pole_outputs4.csv +# date...... Sat Jun 26 02:48:35 2021 +# user...... (null) +# host...... (null) +# target.... pole 27 +# trigger... (none) +# interval.. -1 +# limit..... 0 +# timestamp,resisting_moment +2000-01-01 00:00:00 UTC,+836945 +# end of tape diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv index 0b4a0633..c5b033cd 100644 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv @@ -1,4 +1,12 @@ class,name, tilt_angle, tilt_direction, configuration, equipment_area, equipment_height, install_year, repair_time,latitude,longitude,configuration,wind_speed pole,pole1,5 deg,270,WOOD-C-45/5,,,1990,1 h,37.4275,122.1697,WOOD-C-45/5,10 pole,pole2,8 deg,270,WOOD-C-45/5,,,2000,8 h,37.127,122.1646,WOOD-C-45/5,10 -pole,pole3,8 deg,270,SYP-20/3,,,2000,8 h,37.127,122.1646,SYP-20/3,10 \ No newline at end of file +pole,pole3,8 deg,270,SYP-20/3,,,2000,8 h,37.127,122.1646,SYP-20/3,10 +pole,pole4,8 deg,270,SYP-25/3,,,2000,8 h,37.127,122.1646,SYP-25/3,10 +pole,pole5,8 deg,270,SYP-30/5,,,2000,8 h,37.127,122.1646,SYP-30/5,10 +pole,pole6,8 deg,270,SYP-35/5,,,2000,8 h,37.127,122.1646,SYP-35/5,10 +pole,pole7,8 deg,270,SYP-80/H-2,,,2000,8 h,37.127,122.1646,SYP-80/H-2,10 +pole,pole8,8 deg,270,SYP-90/H-2,,,2000,8 h,37.127,122.1646,SYP-90/H-2,10 +pole,pole9,8 deg,270,SYP-100/H-2,,,2000,8 h,37.127,122.1646,SYP-100/H-2,10 +pole,pole10,8 deg,270,SYP-110/H-3,,,2000,8 h,37.127,122.1646,SYP-110/H-3,10 +pole,pole11,8 deg,270,SYP-120/H-4,,,2000,8 h,37.127,122.1646,SYP-120/H-4,10 \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm index ec759d80..d255917c 100644 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm @@ -35,3 +35,99 @@ object pole { configuration "SYP-20/3"; wind_speed 10; } +object pole { + name "pole4"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-25/3"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-25/3"; + wind_speed 10; +} +object pole { + name "pole5"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-30/5"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-30/5"; + wind_speed 10; +} +object pole { + name "pole6"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-35/5"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-35/5"; + wind_speed 10; +} +object pole { + name "pole7"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-80/H-2"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-80/H-2"; + wind_speed 10; +} +object pole { + name "pole8"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-90/H-2"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-90/H-2"; + wind_speed 10; +} +object pole { + name "pole9"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-100/H-2"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-100/H-2"; + wind_speed 10; +} +object pole { + name "pole10"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-110/H-3"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-110/H-3"; + wind_speed 10; +} +object pole { + name "pole11"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-120/H-4"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-120/H-4"; + wind_speed 10; +} From 6760e513990dc1fbb3dea281a7c99121e7859cbe Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Mon, 28 Jun 2021 14:32:42 -0700 Subject: [PATCH 17/82] Added verbose --- US/CA/SLAC/anticipation/anticipation.glm | 28 +++-------------------- US/CA/SLAC/anticipation/pole_outputs.csv | 6 ++--- US/CA/SLAC/anticipation/pole_outputs1.csv | 6 ++--- US/CA/SLAC/anticipation/pole_outputs2.csv | 6 ++--- US/CA/SLAC/anticipation/pole_outputs3.csv | 6 ++--- US/CA/SLAC/anticipation/pole_outputs4.csv | 6 ++--- 6 files changed, 18 insertions(+), 40 deletions(-) diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index 0031cbc5..b16eeab5 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -3,6 +3,7 @@ //Set up for globals #set literal_if=FALSE +#set verbose=TRUE //Set up modules module powerflow; @@ -40,32 +41,9 @@ module anticipation; #endif object recorder { parent "pole7"; - property "resisting_moment"; + property "total_moment"; file "pole_outputs.csv"; interval -1; } -object recorder { - parent "pole8"; - property "resisting_moment"; - file "pole_outputs1.csv"; - interval -1; -} -object recorder { - parent "pole9"; - property "resisting_moment"; - file "pole_outputs2.csv"; - interval -1; -} -object recorder { - parent "pole10"; - property "resisting_moment"; - file "pole_outputs3.csv"; - interval -1; -} -object recorder { - parent "pole11"; - property "resisting_moment"; - file "pole_outputs4.csv"; - interval -1; -} + diff --git a/US/CA/SLAC/anticipation/pole_outputs.csv b/US/CA/SLAC/anticipation/pole_outputs.csv index fde5dc08..fbc33d5a 100644 --- a/US/CA/SLAC/anticipation/pole_outputs.csv +++ b/US/CA/SLAC/anticipation/pole_outputs.csv @@ -1,11 +1,11 @@ # file...... pole_outputs.csv -# date...... Sat Jun 26 02:48:35 2021 +# date...... Mon Jun 28 21:18:24 2021 # user...... (null) # host...... (null) # target.... pole 23 # trigger... (none) # interval.. -1 # limit..... 0 -# timestamp,resisting_moment -2000-01-01 00:00:00 UTC,+388370 +# timestamp,total_moment +2000-01-01 00:00:00 UTC,+0 # end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs1.csv b/US/CA/SLAC/anticipation/pole_outputs1.csv index f34a5250..41225e97 100644 --- a/US/CA/SLAC/anticipation/pole_outputs1.csv +++ b/US/CA/SLAC/anticipation/pole_outputs1.csv @@ -1,11 +1,11 @@ # file...... pole_outputs1.csv -# date...... Sat Jun 26 02:48:35 2021 +# date...... Mon Jun 28 21:02:31 2021 # user...... (null) # host...... (null) # target.... pole 24 # trigger... (none) # interval.. -1 # limit..... 0 -# timestamp,resisting_moment -2000-01-01 00:00:00 UTC,+449587 +# timestamp,total_moment +2000-01-01 00:00:00 UTC,+0 # end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs2.csv b/US/CA/SLAC/anticipation/pole_outputs2.csv index 06aea5a4..13a67cff 100644 --- a/US/CA/SLAC/anticipation/pole_outputs2.csv +++ b/US/CA/SLAC/anticipation/pole_outputs2.csv @@ -1,11 +1,11 @@ # file...... pole_outputs2.csv -# date...... Sat Jun 26 02:48:35 2021 +# date...... Mon Jun 28 21:02:31 2021 # user...... (null) # host...... (null) # target.... pole 25 # trigger... (none) # interval.. -1 # limit..... 0 -# timestamp,resisting_moment -2000-01-01 00:00:00 UTC,+505261 +# timestamp,total_moment +2000-01-01 00:00:00 UTC,+0 # end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs3.csv b/US/CA/SLAC/anticipation/pole_outputs3.csv index aa95b7ee..16ddd297 100644 --- a/US/CA/SLAC/anticipation/pole_outputs3.csv +++ b/US/CA/SLAC/anticipation/pole_outputs3.csv @@ -1,11 +1,11 @@ # file...... pole_outputs3.csv -# date...... Sat Jun 26 02:48:35 2021 +# date...... Mon Jun 28 21:02:31 2021 # user...... (null) # host...... (null) # target.... pole 26 # trigger... (none) # interval.. -1 # limit..... 0 -# timestamp,resisting_moment -2000-01-01 00:00:00 UTC,+657219 +# timestamp,total_moment +2000-01-01 00:00:00 UTC,+0 # end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs4.csv b/US/CA/SLAC/anticipation/pole_outputs4.csv index d56e7151..725738df 100644 --- a/US/CA/SLAC/anticipation/pole_outputs4.csv +++ b/US/CA/SLAC/anticipation/pole_outputs4.csv @@ -1,11 +1,11 @@ # file...... pole_outputs4.csv -# date...... Sat Jun 26 02:48:35 2021 +# date...... Mon Jun 28 21:02:31 2021 # user...... (null) # host...... (null) # target.... pole 27 # trigger... (none) # interval.. -1 # limit..... 0 -# timestamp,resisting_moment -2000-01-01 00:00:00 UTC,+836945 +# timestamp,total_moment +2000-01-01 00:00:00 UTC,+0 # end of tape From ba7d5b1fc9c9e09c5406d1f2f856260d19ad2ae5 Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Mon, 28 Jun 2021 14:58:54 -0700 Subject: [PATCH 18/82] Adding clock object --- US/CA/SLAC/anticipation/anticipation.glm | 12 +++++++--- .../SLAC/anticipation/anticipation_config.csv | 9 ++++--- .../SLAC/anticipation/anticipation_config.glm | 3 +++ .../pole_vulnerability_config.csv | 24 +++++++++---------- .../pole_vulnerability_config.glm | 1 + 5 files changed, 31 insertions(+), 18 deletions(-) diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index b16eeab5..2e0645da 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -3,14 +3,13 @@ //Set up for globals #set literal_if=FALSE -#set verbose=TRUE +//#set verbose=TRUE //Set up modules module powerflow; module climate; module tape; - // convert CSV configuration file, if any #ifexist "anticipation_config.csv" #exec strings Date: Mon, 19 Jul 2021 17:17:16 -0700 Subject: [PATCH 19/82] created pole_file_converter.py and its inputs and outputs --- .../.~lock.Pole_Output_Sample.xls# | 1 + US/CA/SLAC/anticipation/Analysis.csv | 4 + US/CA/SLAC/anticipation/Design - Pole.csv | 2 + .../SLAC/anticipation/Design - Structure.csv | 51 ++ .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 0 -> 46080 bytes US/CA/SLAC/anticipation/anticipation.glm | 22 +- US/CA/SLAC/anticipation/gridlabd.json | 437 +++++++++++------- .../SLAC/anticipation/pole_file_converter.py | 25 + .../SLAC/anticipation/pole_library_config.csv | 12 +- .../SLAC/anticipation/pole_library_config.glm | 20 +- US/CA/SLAC/anticipation/pole_outputs.csv | 8 +- US/CA/SLAC/anticipation/pole_outputs1.csv | 8 +- .../pole_vulnerability_config.csv | 24 +- .../pole_vulnerability_config.glm | 43 +- 14 files changed, 449 insertions(+), 208 deletions(-) create mode 100644 US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# create mode 100644 US/CA/SLAC/anticipation/Analysis.csv create mode 100644 US/CA/SLAC/anticipation/Design - Pole.csv create mode 100644 US/CA/SLAC/anticipation/Design - Structure.csv create mode 100644 US/CA/SLAC/anticipation/Pole_Output_Sample.xls create mode 100644 US/CA/SLAC/anticipation/pole_file_converter.py diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# new file mode 100644 index 00000000..25109cac --- /dev/null +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -0,0 +1 @@ +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,19.07.2021 15:17,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Analysis.csv b/US/CA/SLAC/anticipation/Analysis.csv new file mode 100644 index 00000000..3a6886ef --- /dev/null +++ b/US/CA/SLAC/anticipation/Analysis.csv @@ -0,0 +1,4 @@ +,Component,"In Service, Light, 8 lb, Grade A",,"In Service, 12 lb, Grade A", +1,,SF or Max%,Wind Direction,SF or Max%,Wind Direction +2,Pole,6.8,0 °,4.61,0 ° +3,Pole-Strength,100%,,100%, diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv new file mode 100644 index 00000000..80670b96 --- /dev/null +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -0,0 +1,2 @@ +,,Species,Length,Class,AGL,GLC,Lean Angle,Lean Direction,Allowable Stress Adjustment,Effective Stress Adjustment +1,XXXXXXE,Western Red Cedar,75',1,"66' 0""","75""",0 °,0 °,100%,6000 lb/in² diff --git a/US/CA/SLAC/anticipation/Design - Structure.csv b/US/CA/SLAC/anticipation/Design - Structure.csv new file mode 100644 index 00000000..100268d4 --- /dev/null +++ b/US/CA/SLAC/anticipation/Design - Structure.csv @@ -0,0 +1,51 @@ +,ID#,Size,Height,Direction,Offset/Lead,Owner,Type,Related +1,Insulator#7,66 kV Horizontal Line Post ,"64' 0""",0 °,,Utility,Bracket,"Wire#1, Wire#15" +2,Wire#15,653.9 ACSR,"63' 11""",270 °,,Utility,Light Full (Tension),WEP#2 +3,Wire#1,653.9 ACSR,"63' 11""",90 °,,Utility,Light Full (Tension),WEP#1 +4,Insulator#8,66 kV Horizontal Line Post ,"59' 0""",0 °,,Utility,Bracket,"Wire#2, Wire#16" +5,Wire#16,653.9 ACSR,"58' 11""",270 °,,Utility,Light Full (Tension),WEP#2 +6,Wire#2,653.9 ACSR,"58' 11""",90 °,,Utility,Light Full (Tension),WEP#1 +7,Insulator#9,66 kV Horizontal Line Post ,"54' 0""",0 °,,Utility,Bracket,"Wire#3, Wire#17" +8,Wire#17,653.9 ACSR,"53' 11""",270 °,,Utility,Light Full (Tension),WEP#2 +9,Wire#3,653.9 ACSR,"53' 11""",90 °,,Utility,Light Full (Tension),WEP#1 +10,Wire#26,653.9 ACSR,"41' 3""",270 °,,Utility,Light Full (Tension),WEP#2 +11,Wire#11,653.9 ACSR,"41' 3""",90 °,,Utility,Light Full (Tension),WEP#1 +12,Wire#25,653.9 ACSR,"41' 3""",270 °,,Utility,Light Full (Tension),WEP#2 +13,Wire#10,653.9 ACSR,"41' 3""",90 °,,Utility,Light Full (Tension),WEP#1 +14,Wire#24,336.4 ACSR Merlin,"41' 3""",270 °,,Utility,Light Full (Tension),WEP#2 +15,Wire#9,336.4 ACSR Merlin,"41' 3""",90 °,,Utility,Light Full (Tension),WEP#1 +16,Wire#23,653.9 ACSR,"41' 3""",270 °,,Utility,Light Full (Tension),WEP#2 +17,Wire#8,653.9 ACSR,"41' 3""",90 °,,Utility,Light Full (Tension),WEP#1 +18,CrossArm#1,10 Foot Cross Arm,"40' 6""",180 °,"5' 0"" (Offset)",Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4" +19,Equip#2,Fuse Arm with 2 Cutouts,"40' 6""",180 °,,Utility,Cutout Arrestor, +20,Insulator#4,12 kV Pin (Cross Arm),"40' 6""",180 °,"9' 8"" (Offset)",Utility,Pin,"Wire#11, Wire#26" +21,Insulator#3,12 kV Pin (Cross Arm),"40' 6""",180 °,"6' 8"" (Offset)",Utility,Pin,"Wire#10, Wire#25" +22,Insulator#2,12 kV Pin (Cross Arm),"40' 6""",180 °,"3' 4"" (Offset)",Utility,Pin,"Wire#9, Wire#24" +23,Insulator#1,12 kV Pin (Cross Arm),"40' 6""",180 °,"0' 4"" (Offset)",Utility,Pin,"Wire#8, Wire#23" +24,Equip#3,25 kVA Transformer,"37' 6""",90 °,,Utility,Transformer, +25,Insulator#15,"3"" Clevis Insulator","33' 0""",90 °,,Utility,Clamp,Wire#12 +26,Insulator#10,"3"" Clevis Insulator","33' 0""",0 °,,Utility,Clamp,Wire#18 +27,Wire#12,6 Al. Triplex,"33' 0""",90 °,,Utility,Light Full (Tension),WEP#1 +28,Wire#18,6 Al. Duplex,"33' 0""",270 °,,Utility,Light Full (Tension),WEP#2 +29,Equip#1,Roadway - 6 ft,"27' 0""",0 °,,Utility,Street Light, +30,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,"26' 2""",270 °,,Utility Carrier Solution,Light Full (Tension),WEP#2 +31,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,"26' 2""",90 °,,Utility Carrier Solution,Light Full (Tension),WEP#1 +32,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,"26' 2""",270 °,,Utility Carrier Solution,Light Full (Tension),WEP#2 +33,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,"26' 2""",90 °,,Utility Carrier Solution,Light Full (Tension),WEP#1 +34,CrossArm#2,10 Foot Cross Arm,"26' 0""",180 °,"5' 0"" (Offset)",Utility,,"Insulator#5, Insulator#6" +35,Insulator#6,3 Bolt Suspension Clamp,"26' 0""",180 °,"0' 4"" (Offset)",Utility,Clamp,"Wire#14, Wire#28" +36,Insulator#5,3 Bolt Suspension Clamp,"26' 0""",180 °,"9' 8"" (Offset)",Utility,Clamp,"Wire#13, Wire#27" +37,Insulator#11,3 Bolt Suspension Clamp,"25' 0""",0 °,,Unknown,Clamp,"Wire#4, Wire#19" +38,Wire#19,"1.5"" TELCO 5/16"" Messenger","25' 0""",270 °,,Unknown,Light Full (Tension),WEP#2 +39,Wire#4,"1.5"" TELCO 5/16"" Messenger","25' 0""",90 °,,Unknown,Light Full (Tension),WEP#1 +40,Insulator#12,3 Bolt Suspension Clamp,"24' 0""",0 °,,Unknown,Clamp,"Wire#5, Wire#20" +41,Wire#20,"1"" TELCO 5/16"" Messenger","24' 0""",270 °,,Unknown,Light Full (Tension),WEP#2 +42,Wire#5,"1"" TELCO 5/16"" Messenger","24' 0""",90 °,,Unknown,Light Full (Tension),WEP#1 +43,Insulator#13,3 Bolt Suspension Clamp,"23' 0""",0 °,,Unknown,Clamp,"Wire#6, Wire#21" +44,Wire#21,"2"" CATV 1/4"" Messenger","23' 0""",270 °,,Unknown,Light Full (Tension),WEP#2 +45,Wire#6,"2"" CATV 1/4"" Messenger","23' 0""",90 °,,Unknown,Light Full (Tension),WEP#1 +46,Insulator#14,3 Bolt Suspension Clamp,"21' 6""",0 °,,Unknown,Clamp,"Wire#7, Wire#22" +47,Wire#22,"1.5"" TELCO 5/16"" Messenger","21' 6""",270 °,,Unknown,Light Full (Tension),WEP#2 +48,Wire#7,"1.5"" TELCO 5/16"" Messenger","21' 6""",90 °,,Unknown,Light Full (Tension),WEP#1 +49,WEP#2,,,270 °,204' (Distance),,Previous Pole, +50,WEP#1,,,90 °,180' (Distance),,Next Pole, diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls new file mode 100644 index 0000000000000000000000000000000000000000..ad27dacd15f23080b5b5d707f02c9a6121636cfc GIT binary patch literal 46080 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 Date: Wed, 21 Jul 2021 16:50:30 -0700 Subject: [PATCH 20/82] added more sample values to xls file and bugfixed input parsing --- .../.~lock.Pole_Output_Sample.xls# | 2 +- US/CA/SLAC/anticipation/Analysis.csv | 2 +- US/CA/SLAC/anticipation/Design - Pole.csv | 6 +- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 46080 -> 17920 bytes US/CA/SLAC/anticipation/anticipation.glm | 2 +- US/CA/SLAC/anticipation/gridlabd.json | 163 +++++++++--------- .../SLAC/anticipation/pole_file_converter.py | 78 ++++++++- US/CA/SLAC/anticipation/pole_outputs.csv | 4 +- .../pole_vulnerability_config.csv | 4 +- .../pole_vulnerability_config.glm | 6 +- 10 files changed, 172 insertions(+), 95 deletions(-) diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# index 25109cac..5dc62d15 100644 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -1 +1 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,19.07.2021 15:17,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,21.07.2021 15:55,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Analysis.csv b/US/CA/SLAC/anticipation/Analysis.csv index 3a6886ef..01822939 100644 --- a/US/CA/SLAC/anticipation/Analysis.csv +++ b/US/CA/SLAC/anticipation/Analysis.csv @@ -1,4 +1,4 @@ -,Component,"In Service, Light, 8 lb, Grade A",,"In Service, 12 lb, Grade A", +,w,"In Service, Light, 8 lb, Grade A",,"In Service, 12 lb, Grade A", 1,,SF or Max%,Wind Direction,SF or Max%,Wind Direction 2,Pole,6.8,0 °,4.61,0 ° 3,Pole-Strength,100%,,100%, diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index 80670b96..4bc874fd 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,2 +1,4 @@ -,,Species,Length,Class,AGL,GLC,Lean Angle,Lean Direction,Allowable Stress Adjustment,Effective Stress Adjustment -1,XXXXXXE,Western Red Cedar,75',1,"66' 0""","75""",0 °,0 °,100%,6000 lb/in² +,,Species,Length,Class,AGL,GLC,tilt_angle,tilt_direction,Allowable Stress Adjustment,fiber_strength,latitude,longitude +1,XXXXXXE,Western Red Cedar,75',1,"66' 0""","75""",0 deg,0 deg,100%,6000 lb/in²,00.0000 , -000.0000 +2,,Western Red Cedar,75',2,"66' 0""","75""",8,0,100%,6000 lb/in²,00.0000 , -000.0000 +3,,Western Red Cedar,75',3,"66' 0""","75""",5 °,5 rad,100%,6000 lb/in²,00.0000 , -000.0000 diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls index ad27dacd15f23080b5b5d707f02c9a6121636cfc..c52b9157bf4be58ece5b398ca0aa133f2f704b53 100644 GIT binary patch literal 17920 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 literal 46080 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 0 and parsed_int <= 90: + df_current_sheet.at[i,current_column] = str(parsed_int) + ' deg' + else: + raise ValueError('Value of Lean Angle must be between 0 and 90 degrees or 0 to 1.57 radians') +except ValueError as e: + print(e) + +#todo - handle empty cells +current_column = 'tilt_direction' +try: + for i in range(1,len(df_current_sheet[current_column])+1): + cell_value = str(df_current_sheet.at[i,current_column]) + df_current_sheet.at[i,current_column] = cell_value + if 'rad' in cell_value: + df_current_sheet.at[i,current_column]= str(int(''.join(filter(str.isdigit, cell_value)))* radians_to_degrees) + elif '°' not in cell_value and 'deg' not in cell_value: + raise ValueError('Please specify units of Lean Direction to contain rad, °, or deg') + parsed_int = int(''.join(filter(str.isdigit, cell_value))) + if parsed_int >= 0 and parsed_int <= 90: + df_current_sheet.at[i,current_column] = str(parsed_int) + ' deg' + else: + raise ValueError('Value of Lean Angle must be between 0 and 360 degrees or 0 to 6.28 radians') +except ValueError as e: + print(e) + -df['Design - Pole'].drop(['Owner', 'Foundation', 'Ground Water Level', 'GPS Point'], axis=1, inplace=True) + +#split GPS Point into longitude and latitude +df_current_sheet[['latitude','longitude']] = df_current_sheet['GPS Point'].str.split(',', expand=True) +#remove original GPS Point column +df_current_sheet.drop('GPS Point',axis=1,inplace=True) + +#Todo +#Handle Species column. It is a property in pole_library_config rather than pole_vulnerability_config +#Same with Length, class, AGL, and GLC, allowable stress adjustment, and effective stress adjustment. +#pole depth is AGL-GLC? +#Should I check for appropriate values in the cells? +#last column called class based on what your converting. If it's pole object, powerflow.pole. If it's config, powerflow.pole_configuration. +#don't split the csv files. Have it all in one place and differentiate it with a new column + #finally create the csv files + for key in df: df[key].to_csv('%s.csv' %key) -print(df['Design - Pole']) +print(df[sheet1]) diff --git a/US/CA/SLAC/anticipation/pole_outputs.csv b/US/CA/SLAC/anticipation/pole_outputs.csv index b72e1603..a8e28254 100644 --- a/US/CA/SLAC/anticipation/pole_outputs.csv +++ b/US/CA/SLAC/anticipation/pole_outputs.csv @@ -1,5 +1,5 @@ # file...... pole_outputs.csv -# date...... Thu Jul 8 22:54:43 2021 +# date...... Wed Jul 21 19:52:41 2021 # user...... (null) # host...... (null) # target.... pole 22 @@ -7,5 +7,5 @@ # interval.. -1 # limit..... 0 # timestamp,equipment_moment_nowind,equipment_moment,pole_moment_nowind,pole_moment,wire_tension,tilt_angle,total_moment,resisting_moment,critical_wind_speed,pole_stress -2021-06-27 17:00:00 PDT,+0,+0,+451.331,+0,+0,+1,+0,+38692.6,+0,+0 +2021-06-27 17:00:00 PDT,+0,+0,+451.331,+0,+0,+57.2958,+0,+38692.6,+0,+0 # end of tape diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv index 04623cc0..b8668fb9 100644 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv @@ -1,10 +1,10 @@ class,name, tilt_angle, tilt_direction, configuration, equipment_moment_nowind, install_year, repair_time,latitude,longitude,configuration,wind_speed, flags -pole,pole1,5 deg,270,WOOD-C-45/5,,1990,1 h,37.4275,122.1697,WOOD-C-45/5,0, NONE +pole,pole1,5,270,WOOD-C-45/5,,1990,1 h,37.4275,122.1697,WOOD-C-45/5,0, NONE pole,pole2,8 deg,270,WOOD-C-45/5,,2000,8 h,37.127,122.1646,WOOD-C-45/5,0, NONE pole,pole3,8 deg,270,SYP-20/3,,2000,8 h,37.127,122.1646,SYP-20/3,0, NONE pole,pole4,8 deg,270,SYP-25/3,,2000,8 h,37.127,122.1646,SYP-25/3,0, NONE pole,pole5,8 deg,270,SYP-50/3,,2000,8 h,37.127,122.1646,SYP-50/3,0, NONE -pole,pole6,1 deg,0,SYP-35/5,,2000,8 h,37.127,122.1646,SYP-35/5,1, VERBOSE +pole,pole6,1 rad,0,SYP-35/5,,2000,8 h,37.127,122.1646,SYP-35/5,0, VERBOSE pole,pole7,8 deg,270,SYP-80/H-2,100,2000,8 h,37.127,122.1646,SYP-80/H-2,0, NONE pole,pole8,8 deg,270,SYP-90/H-2,,2000,8 h,37.127,122.1646,SYP-90/H-2,0, NONE pole,pole9,8 deg,270,SYP-100/H-2,,2000,8 h,37.127,122.1646,SYP-100/H-2,0, NONE diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm index c967607b..b614145b 100644 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm @@ -1,7 +1,7 @@ // Objects object pole { name "pole1"; - tilt_angle 5 deg; + tilt_angle 5; tilt_direction 270; configuration "WOOD-C-45/5"; install_year 1990; @@ -66,7 +66,7 @@ object pole { } object pole { name "pole6"; - tilt_angle 1 deg; + tilt_angle 1 rad; tilt_direction 0; configuration "SYP-35/5"; install_year 2000; @@ -74,7 +74,7 @@ object pole { latitude 37.127; longitude 122.1646; configuration "SYP-35/5"; - wind_speed 1; + wind_speed 0; flags VERBOSE; } object pole { From f10fe80512bfca1540db83239acd4fc1b47155ec Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Fri, 23 Jul 2021 17:55:35 -0700 Subject: [PATCH 21/82] added multi unit value handling for lengths --- US/CA/SLAC/anticipation/.catalog | 2 +- .../.~lock.Pole_Output_Sample.xls# | 2 +- US/CA/SLAC/anticipation/Design - Pole.csv | 8 +- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 17920 -> 17920 bytes US/CA/SLAC/anticipation/anticipation.md | 26 +- US/CA/SLAC/anticipation/anticipation.py | 8 +- .../SLAC/anticipation/pole_file_converter.py | 285 ++++++++++++------ .../SLAC/anticipation/pole_library_config.glm | 2 +- US/CA/SLAC/anticipation/pole_outputs.csv | 2 +- 9 files changed, 215 insertions(+), 120 deletions(-) diff --git a/US/CA/SLAC/anticipation/.catalog b/US/CA/SLAC/anticipation/.catalog index 8deb9549..265ea25e 100644 --- a/US/CA/SLAC/anticipation/.catalog +++ b/US/CA/SLAC/anticipation/.catalog @@ -1,2 +1,2 @@ -anticipation.glm:a=r +anticipation.glm:a=r anticipation.py:a=rx \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# index 5dc62d15..3d594ec2 100644 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -1 +1 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,21.07.2021 15:55,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,23.07.2021 17:13,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index 4bc874fd..11c56686 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,4 +1,4 @@ -,,Species,Length,Class,AGL,GLC,tilt_angle,tilt_direction,Allowable Stress Adjustment,fiber_strength,latitude,longitude -1,XXXXXXE,Western Red Cedar,75',1,"66' 0""","75""",0 deg,0 deg,100%,6000 lb/in²,00.0000 , -000.0000 -2,,Western Red Cedar,75',2,"66' 0""","75""",8,0,100%,6000 lb/in²,00.0000 , -000.0000 -3,,Western Red Cedar,75',3,"66' 0""","75""",5 °,5 rad,100%,6000 lb/in²,00.0000 , -000.0000 +,,Species,length,Class,AGL,ground_diameter,tilt_angle,tilt_direction,Allowable Stress Adjustment,fiber_strength,latitude,longitude +1,XXXXXXE,Western Red Cedar,75.0 ft,1,5.001450829045169 mile,75.0 in,NaN,0 deg,100%,6000 psi,00.0000 , -000.0000 +2,,Western Red Cedar,75.0 ft,2,66.0 ft,75.0 in,8 deg,NaN,100%,6000 psi,00.0000 , -000.0000 +3,,Western Red Cedar,75.0 ft,3,66.0 ft,75.0 in,5 deg,5 rad,100%,6000 atm,00.0000 , -000.0000 diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls index c52b9157bf4be58ece5b398ca0aa133f2f704b53..e2aa6ddc551d18f6a81188baf7a3cb19c1a6a223 100644 GIT binary patch delta 5312 zcmY+I*>f935XNUE*|IFjYdeWAS=LIvbXc}zB~HYZa1+jOgb*M=ASMV%fFvB@h|Lio z5YFKW_g%#UMZhmm1qBbh@E1^2@yY|m3luMeql)QPPw#YG75h`q{J!p<-I>)cAN7`x zddH`dBMD!be`$5r;{Mj|y+JkDa>wn9ht-JsQ*TOUy_fZMNge;K>t|1?kM&>4-}}w@ zb-|uiun^pQAeawYdjtJP>a-1=N-Zo*2em?%QX7I@i@WzNE}B0VYPDK$=l)g{W*zT< z|M%_OWdl18>{&TAy)W*4ymEZ?m(he5=~NMwP$T;8p$EKS{l`#s-G8cEMd35^qtu}Y zsBZIj#He;GY19C#lu;Rd(eUMF{(HmgE29*N;jAnxcUDZntT7!OdA0}sR?1T`^OH*H z)7SsI@N_tN&LmGucjuJdO= zo+lMEzq6{r$|c9lDum>iS(%(#%Ol(5R*-30a!dhv9gQ$ogHa2t+`2oEyk373K;1tD zVci|b*g&()WoH;oR&I81E&1vsjzx{Kb$6Q8^-bNI^I_echU|0QaWl_XC)4b>S#O^^ z8W-fasoUqe<3#={AJ!d5vaQ=({bu|rMD9YeUGFX=pQ_UZsJm1M>+V9vX*4T=jE$_^ z>=MY>#4)$-1Z8*3knO4@MBUv;KAmQFi@Li78Scce?rtI{#zS(qs5^<|Gl-lNqu=N=@VL*yPo?h)i3k#i4`e{je>B4^mqeRVF8eI%d93hoKpXJ6#(6S+AV=Io1{ zdy%}ESiOSWD{}4?IrkFz6NlU@a_&R&`9$s$-RKkKK9O@Dk%y^)ob2}3UPXR!BNN@}(F?W@aJ z!QFj1E0??)bGGEwlyhr3v-Jud4`l1J2FY6~wgz*)l9fwdBgkuzyiNaP$XD@rAa5rH zC$O)sW(7H0@&NYPc4I)02atS?-dqgH1K8(li8YAi9jsjPpdb$l@*tA0(_cB{K_p*K ztRW=dz{({L3G$F24acV}^V)k8oEI zo`QU}n_?rlg14{&a*LHq9wBm~oN3<5BY=Dxsf_vUtJ_&Y&X%0PZnX4{GMq~X%bBf~ zk-@t6&@6b`3W=kb-CmBl*^OdH?bE_2W%sKg+jD6Y$@bKQCpTYNpDdE^Aab^y9V_?r z$P#&bB|ML_NVZQnV@SS}W{)BHE>@89KK*G0>i(gUS=!GLcU5x8I6$!+GVW#tjC)wQ z+2z{Vaje6Pyq8s{QMMbocFtWU*cItjfxdKf)ykonN4%x`XnY`C1MG=)4MevC;TkB{ zHBhc=Al3k$cYSq`{PJzTC6;cPc{H@gVO|*Kg<)P8=Ec&$Bek#YCx?P4us{VGfA}6y z5ET}LVL=!cgkeEcIF5!7kl{EQ+C6<74IktftfSd^Q)oYqhFkQJxo}e-NAyE9VFJ;I zSi$XOdp9A_6IhDf)F+U4LGPYr1-*NkmD{_rD5WfWR~Ef1 zi{4ex@Hv83uoP=pX_vw=w|5m`SP=zQWbZ1XcQa`CJV9qf?`F{O1-+vY_HIU?XGHI2 zko+RCsz}zXpm#5^g5JHr%I#fMlv0(wtBT%LMekewp|Lx+}_O!!&y<_ ztnA&a=-nI|zCzGB(YrY`d{uwCHtgM;K+lQZ%^~?UV!>|it7EL(d$!glbIk2sO_WlT zy{n1d)kN>$?DN&@1g&E!_MWW^!@Ai0>%y=u3apbK9UFDgJJ>A3R{-;92zMJCF!N{_ zD!0OUG<<_c!hsr&gkA7Wj?rVo5<(kjXt#`pFl-pZfH4hIVZggm!x#qYErK>og(J?$ zPNUxDSX>Qb>=#pnXFi3uTXD7W{lcb*d8^gYtoZNHSa_>7q~6sVn}gnadRsH!e4io_ zlgohmfEB#q3S%)R7ByqC>O=i`bF=r6{->GA+D5?pp@84i!TYs>Dz7w7dd>Udlv|=b w^G&5TnaRsvfBo&+sJ>_8Sl9C5KR*kWfAsXjv5A%MHg1SUs_Rz%KBF`GKOhmQ&j0`b literal 17920 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 diff --git a/US/CA/SLAC/anticipation/anticipation.md b/US/CA/SLAC/anticipation/anticipation.md index 8140869d..cc133c2a 100644 --- a/US/CA/SLAC/anticipation/anticipation.md +++ b/US/CA/SLAC/anticipation/anticipation.md @@ -1,13 +1,13 @@ -Anticipation GridLAB-D Template - -# Synopsis - -~~~ -sh% gridlabd -D OUTPUT= .glm .glm .glm /anticipation.glm -sh% gridlabd -D OUTPUT= .mdb ... -sh% gridlabd -D OUTPUT= .mdb .csv ... -~~~ - -# Description - -## Template Files +Anticipation GridLAB-D Template + +# Synopsis + +~~~ +sh% gridlabd -D OUTPUT= .glm .glm .glm /anticipation.glm +sh% gridlabd -D OUTPUT= .mdb ... +sh% gridlabd -D OUTPUT= .mdb .csv ... +~~~ + +# Description + +## Template Files diff --git a/US/CA/SLAC/anticipation/anticipation.py b/US/CA/SLAC/anticipation/anticipation.py index 5ce3bce9..2f90e6bf 100644 --- a/US/CA/SLAC/anticipation/anticipation.py +++ b/US/CA/SLAC/anticipation/anticipation.py @@ -1,5 +1,5 @@ -import gridlabd -def on_init(t): - print(gridlabd.get("objects")) - +import gridlabd +def on_init(t): + print(gridlabd.get("objects")) + return True \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_file_converter.py index 5f3b29d3..78131d14 100644 --- a/US/CA/SLAC/anticipation/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_file_converter.py @@ -1,95 +1,190 @@ -import pandas as pd -import string -import math -import numpy as np - -excel = 'Pole_Output_Sample.xls' -sheet1 = 'Design - Pole' -radians_to_degrees = 57.3 - -#read all the sheets in the .xls file -df = pd.read_excel(excel, sheet_name=None) - -#the first row of each xls file is the header so we convert it to header. -for key in df: - new_header = df[key].iloc[0] #grab the first row for the header - df[key] = df[key][1:] #grab just the row after the first rows - df[key].columns = new_header #set the header row as the df header - - - -#extract necessary information from each sheet -df_current_sheet = df[sheet1] -#droping and renaming for sheet1 -df_current_sheet.drop(['Owner', 'Foundation', - 'Ground Water Level',], - axis=1, - inplace=True) -#renaming. Is effective stress adjustment = fiber_strength? -df_current_sheet.rename(columns = {'Lean Angle': 'tilt_angle', - 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength'}, inplace=True) - -#filtered out any non-numbers in tilt angle and tilt direction, but in tilt_angle should be between 0 and 90 and tilt direction should be between 0 and 360 -#default unit is degrees, so stand-alone numbers will have ' deg' appended to it. If 'rad' is contained in the string, then converts the number in the string to degrees. -#todo - handle empty cells - -current_column = 'tilt_angle' -try: - for i in range(1,len(df_current_sheet[current_column])+1): - cell_value = str(df_current_sheet.at[i,current_column]) - df_current_sheet.at[i,current_column] = cell_value - if 'rad' in cell_value: - df_current_sheet.at[i,current_column]= str(int(''.join(filter(str.isdigit, cell_value)))* radians_to_degrees) - elif '°' not in cell_value and 'deg' not in cell_value: - raise ValueError('Please specify units of Lean Angle to contain rad, °, or deg') - parsed_int = int(''.join(filter(str.isdigit, cell_value))) - if parsed_int >= 0 and parsed_int <= 90: - df_current_sheet.at[i,current_column] = str(parsed_int) + ' deg' - else: - raise ValueError('Value of Lean Angle must be between 0 and 90 degrees or 0 to 1.57 radians') -except ValueError as e: - print(e) - - -#todo - handle empty cells -current_column = 'tilt_direction' -try: - for i in range(1,len(df_current_sheet[current_column])+1): - cell_value = str(df_current_sheet.at[i,current_column]) - df_current_sheet.at[i,current_column] = cell_value - if 'rad' in cell_value: - df_current_sheet.at[i,current_column]= str(int(''.join(filter(str.isdigit, cell_value)))* radians_to_degrees) - elif '°' not in cell_value and 'deg' not in cell_value: - raise ValueError('Please specify units of Lean Direction to contain rad, °, or deg') - parsed_int = int(''.join(filter(str.isdigit, cell_value))) - if parsed_int >= 0 and parsed_int <= 90: - df_current_sheet.at[i,current_column] = str(parsed_int) + ' deg' - else: - raise ValueError('Value of Lean Angle must be between 0 and 360 degrees or 0 to 6.28 radians') -except ValueError as e: - print(e) - - - - - -#split GPS Point into longitude and latitude -df_current_sheet[['latitude','longitude']] = df_current_sheet['GPS Point'].str.split(',', expand=True) -#remove original GPS Point column -df_current_sheet.drop('GPS Point',axis=1,inplace=True) - -#Todo -#Handle Species column. It is a property in pole_library_config rather than pole_vulnerability_config -#Same with Length, class, AGL, and GLC, allowable stress adjustment, and effective stress adjustment. -#pole depth is AGL-GLC? -#Should I check for appropriate values in the cells? -#last column called class based on what your converting. If it's pole object, powerflow.pole. If it's config, powerflow.pole_configuration. -#don't split the csv files. Have it all in one place and differentiate it with a new column - -#finally create the csv files - -for key in df: - df[key].to_csv('%s.csv' %key) - -print(df[sheet1]) - +import pandas as pd +import string +import math +import numpy as np +import re +excel = 'Pole_Output_Sample.xls' +sheet1 = 'Design - Pole' +radians_to_degrees = 57.3 + +#read all the sheets in the .xls file +df = pd.read_excel(excel, sheet_name=None) + +#the first row of each xls file is the header so we convert it to header. +for key in df: + new_header = df[key].iloc[0] #grab the first row for the header + df[key] = df[key][1:] #grab just the row after the first rows + df[key].columns = new_header #set the header row as the df header + + + +#extract necessary information from each sheet +df_current_sheet = df[sheet1] +#droping and renaming for sheet1 +df_current_sheet.drop(['Owner', 'Foundation', + 'Ground Water Level',], + axis=1, + inplace=True) + +def parse_angle(cell_string, current_column, current_row): + """Parse a string to get a string with angle in degrees + + Additional acceptable units can be added to angle_units with its corresponding conversion value to degrees. + + Keyword arguments: + cell_string -- the string to be parsed (presumably from a cell) + current_column -- the column of the cell it is parsing. For more descriptive ValueErrors + current_row -- the row of the cell it is parsing. For more descriptive ValueErrors + """ + angle_units = { + "°" : "deg", + "deg" : "deg", + "rad" : "rad", + "grad" : "grad", + "quad" : "quad", + "sr" : "sr" + } + if cell_string == "nan": + raise ValueError(f'The cell column: {current_column}, row {current_row} is empty. Please enter a value.') + output_unit = "" + for unit in angle_units.keys(): + if unit in cell_string: + output_unit = angle_units[unit] + break + if output_unit == "": + raise ValueError(f'Please specify valid units for {cell_string} in column: {current_column}, row {current_row}.') + else: + return str(int(''.join(filter(str.isdigit, cell_string)))) + " " + output_unit + + +def parse_length(cell_string, current_column, current_row): + INCH_TO_FEET = 0.0833 + UNIT_TO_UNIT = 1.0 + YARD_TO_FEET = 3.0 + MILE_TO_FT = 5280.0 + FEET_TO_INCH = 12.0 + YARD_TO_INCH = 36.0 + MILE_TO_INCH = 6360.0 + MILE_TO_YARD = 1760.0 + #handle values and units in different orders + length_units = { + "'" : "ft", + '"' : "in", + "in" : "in", + "inch" : "in", + "feet" : "ft", + "ft" : "ft", + "foot" : "ft", + "yd" : "yd", + "yard" : "yd", + "mile" : "mile", + "mi" : "mile" + } + #maps to a dictionary of conversion rates of different units to the key of length_conversions + length_conversions = { + "ft" : {"in" : INCH_TO_FEET, "ft" : UNIT_TO_UNIT, "yd" : YARD_TO_FEET, "mile" : MILE_TO_FT}, + "in" : {"in" : UNIT_TO_UNIT,"ft": FEET_TO_INCH, "yd": YARD_TO_INCH, "mile" : MILE_TO_INCH}, + "yd" : {"in": 1/YARD_TO_INCH, "ft": 1/YARD_TO_FEET, "yd": UNIT_TO_UNIT, "mile" : MILE_TO_YARD}, + "mile" : {"in": 1/MILE_TO_INCH, "ft": 1/MILE_TO_FT, "yd": 1/MILE_TO_YARD, "mile" : UNIT_TO_UNIT} + } + if cell_string == "nan": + raise ValueError(f'The cell column: {current_column}, row {current_row} is empty. Please enter a value.') + #tries to identify the units out of all the non-numbers in the string. Very lenient. + + + cell_units = re.findall('\D+', cell_string) + for counter, cell_unit in enumerate(cell_units): + for key in length_units.keys(): + if key in cell_unit: + cell_units[counter] = length_units[key] + + cell_numbers = re.findall('\d+', cell_string) + + if len(cell_numbers) != len(cell_units): + raise ValueError(f'Please make sure there are the same number of numbers and units for value {cell_string} in column: {current_column}, row {current_row}') + + if len(cell_units) == 0: + raise ValueError(f'Please specify valid units for {cell_string} in column: {current_column}, row {current_row}.') + + + #converts all the units and values in the cell to one unit and value + total_cell_value = 0 + for i in range(0,len(cell_numbers)): + convert_to = length_conversions[cell_units[0]] + total_cell_value += int(cell_numbers[i]) * convert_to[cell_units[i]] + print(convert_to[cell_units[i]]) + + return str(total_cell_value) + " " + cell_units[0] + +def parse_pressure(cell_string, current_column, current_row): + pressure_units = { + "psi" : "psi", + "lb/in²" : "psi", + "bar" : "bar", + "atm" : "atm", + } + if cell_string == "nan": + raise ValueError(f'The cell column: {current_column}, row {current_row} is empty. Please enter a value.') + output_unit = "" + for unit in pressure_units.keys(): + if unit in cell_string: + cell_string = cell_string.replace(unit,pressure_units[unit]) + print(cell_string) + output_unit = pressure_units[unit] + break + if output_unit == "": + raise ValueError(f'Please specify valid units for {cell_string} in column: {current_column}, row {current_row}.') + else: + return str(int(''.join(filter(str.isdigit, cell_string)))) + " " + output_unit + +def parse_column(current_column, parsing_function): + for row in range(1,len(df_current_sheet[current_column])+1): + try: + df_current_sheet.at[row,current_column] = parsing_function(str(df_current_sheet.at[row,current_column]),current_column,row) + except ValueError as e: + df_current_sheet.at[row,current_column] = "NaN" + print(e) + +# handles row values for tilt_angle and tilt_direction including if its empty, if units are not specified, and if the value is out of bounds. +# All values are converted to deg. + + +parse_column('Lean Angle', parse_angle) +parse_column('Lean Direction', parse_angle) +parse_column('Length', parse_length) +parse_column('GLC', parse_length) +parse_column('AGL', parse_length) +parse_column('Effective Stress Adjustment', parse_pressure) + + + + +#handles row values for length including if its empty, if units are not specified, and if the value is out of bounds. +#All values are converted to in. + +#renaming. Is effective stress adjustment = fiber_strength? +df_current_sheet.rename(columns = {'Lean Angle': 'tilt_angle', + 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength', 'Length' : 'length', 'GLC' : 'ground_diameter'}, inplace=True) +#split GPS Point into longitude and latitude +df_current_sheet[['latitude','longitude']] = df_current_sheet['GPS Point'].str.split(',', expand=True) +#remove original GPS Point column +df_current_sheet.drop('GPS Point',axis=1,inplace=True) + +#Todo +#Handle Species column. It is a property in pole_library_config rather than pole_vulnerability_config +#Same with Length, class, AGL, and GLC, allowable stress adjustment, and effective stress adjustment. +#pole depth is AGL-GLC? +#Should I check for appropriate values in the cells? +#last column called class based on what your converting. If it's pole object, powerflow.pole. If it's config, powerflow.pole_configuration. +#don't split the csv files. Have it all in one place and differentiate it with a new column + +#finally create the csv files + +for key in df: + df[key].to_csv('%s.csv' %key) + +print(df[sheet1]) + + + + diff --git a/US/CA/SLAC/anticipation/pole_library_config.glm b/US/CA/SLAC/anticipation/pole_library_config.glm index 1c4141d2..048ee7d5 100644 --- a/US/CA/SLAC/anticipation/pole_library_config.glm +++ b/US/CA/SLAC/anticipation/pole_library_config.glm @@ -133,7 +133,7 @@ object powerflow.pole_configuration { pole_depth 10 ft; ground_diameter (60/3.14); top_diameter (31/3.14); - fiber_strength 8000 psi; + fiber_strength 8000 lb/in^2; repair_time 50; } object powerflow.pole_configuration { diff --git a/US/CA/SLAC/anticipation/pole_outputs.csv b/US/CA/SLAC/anticipation/pole_outputs.csv index a8e28254..97b7df86 100644 --- a/US/CA/SLAC/anticipation/pole_outputs.csv +++ b/US/CA/SLAC/anticipation/pole_outputs.csv @@ -1,5 +1,5 @@ # file...... pole_outputs.csv -# date...... Wed Jul 21 19:52:41 2021 +# date...... Fri Jul 23 22:16:56 2021 # user...... (null) # host...... (null) # target.... pole 22 From 8388446999dade13d878b02ceda468e7e7d72fa8 Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Mon, 26 Jul 2021 15:53:22 -0700 Subject: [PATCH 22/82] added decimal value parsing and depth --- .../.~lock.Pole_Output_Sample.xls# | 2 +- US/CA/SLAC/anticipation/Design - Pole.csv | 8 +-- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 17920 -> 17920 bytes .../SLAC/anticipation/pole_file_converter.py | 59 ++++++++++++++---- 4 files changed, 53 insertions(+), 16 deletions(-) diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# index 3d594ec2..dc4ca248 100644 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -1 +1 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,23.07.2021 17:13,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,26.07.2021 15:50,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index 11c56686..2055220d 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,4 +1,4 @@ -,,Species,length,Class,AGL,ground_diameter,tilt_angle,tilt_direction,Allowable Stress Adjustment,fiber_strength,latitude,longitude -1,XXXXXXE,Western Red Cedar,75.0 ft,1,5.001450829045169 mile,75.0 in,NaN,0 deg,100%,6000 psi,00.0000 , -000.0000 -2,,Western Red Cedar,75.0 ft,2,66.0 ft,75.0 in,8 deg,NaN,100%,6000 psi,00.0000 , -000.0000 -3,,Western Red Cedar,75.0 ft,3,66.0 ft,75.0 in,5 deg,5 rad,100%,6000 atm,00.0000 , -000.0000 +,,Species,length,Class,depth,ground_diameter,tilt_angle,tilt_direction,fiber_strength,latitude,longitude +1,XXXXXXE,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 +2,,Western Red Cedar,75.0 ft,2,9.0 ft,75.0 in,8 deg,nan,6000 psi,00.0000 , -000.0000 +3,,Western Red Cedar,75.0 ft,3,9.0 ft,75.0 in,5 deg,5.56 rad,6000 atm,00.0000 , -000.0000 diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls index e2aa6ddc551d18f6a81188baf7a3cb19c1a6a223..9bb07b5b04d03bbbbb2d9bd26b7de9714524de4e 100644 GIT binary patch literal 17920 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 TznStkDr2yDy-``_NAdp`7pNgc literal 17920 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 z Date: Mon, 26 Jul 2021 16:22:08 -0700 Subject: [PATCH 23/82] fixed depth calculation bug --- .../.~lock.Pole_Output_Sample.xls# | 2 +- US/CA/SLAC/anticipation/Design - Pole.csv | 11 +++++++++-- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 17920 -> 19456 bytes .../SLAC/anticipation/pole_file_converter.py | 17 +++++++---------- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# index dc4ca248..2ec2a89a 100644 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -1 +1 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,26.07.2021 15:50,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,26.07.2021 16:20,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index 2055220d..ac9d823e 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,4 +1,11 @@ ,,Species,length,Class,depth,ground_diameter,tilt_angle,tilt_direction,fiber_strength,latitude,longitude 1,XXXXXXE,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 -2,,Western Red Cedar,75.0 ft,2,9.0 ft,75.0 in,8 deg,nan,6000 psi,00.0000 , -000.0000 -3,,Western Red Cedar,75.0 ft,3,9.0 ft,75.0 in,5 deg,5.56 rad,6000 atm,00.0000 , -000.0000 +2,,Western Red Cedar,75.4998 ft,2,9.499799999999993 ft,75.0 in,8 deg,nan,6000 psi,00.0000 , -000.0000 +3,,Western Red Cedar,400.0 in,3,334.0 in,75.0 in,5 deg,5.56 rad,6000 atm,00.0000 , -000.0000 +4,,Western Red Cedar,75.5 ft,1,9.0835 ft,75.0 in,8.5 deg,0 deg,6000.5 psi,00.0000 , -000.0000 +5,,Western Red Cedar,75.5 ft,1,69.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 +6,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 +7,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 +8,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 +9,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 +10,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls index 9bb07b5b04d03bbbbb2d9bd26b7de9714524de4e..371048b48bffd8f694cd4924105b1d94aeff5840 100644 GIT binary patch literal 19456 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 TznStkDr2yDy-``_NAdp`7pNgc diff --git a/US/CA/SLAC/anticipation/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_file_converter.py index ef7feaa1..36863e3a 100644 --- a/US/CA/SLAC/anticipation/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_file_converter.py @@ -91,16 +91,14 @@ def parse_length(cell_string, current_column, current_row): #tries to identify the units out of all the non-numbers in the string. Very lenient. - cell_units = re.findall('[^\d. ]', cell_string) - print(cell_units) - print(f'units {cell_units}') - for counter, cell_unit in enumerate(cell_units): - for key in length_units.keys(): - if key in cell_unit: - cell_units[counter] = length_units[key] + + cell_units = [] + + for key in length_units.keys(): + if key in cell_string: + cell_units.append(length_units[key]) cell_numbers = re.findall('\d+[\.]?[\d+]*', cell_string) - print(f'hi {cell_numbers}') if len(cell_numbers) != len(cell_units): raise ValueError(f'Please make sure there are the same number of numbers and units for value {cell_string} in column: {current_column}, row {current_row}') @@ -131,7 +129,6 @@ def parse_pressure(cell_string, current_column, current_row): for unit in pressure_units.keys(): if unit in cell_string: cell_string = cell_string.replace(unit,pressure_units[unit]) - print(cell_string) output_unit = pressure_units[unit] break if output_unit == "": @@ -190,7 +187,7 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s df_current_sheet.at[row,'AGL'] = subtract_length_columns(str(df_current_sheet.at[row,'Length']), str(df_current_sheet.at[row,'AGL']), 'Length', 'AGL', row) except ValueError as e: - df_current_sheet.at[row,'AGL'] = "NaN" + df_current_sheet.at[row,'AGL'] = "nan" print(e) From b9acd45825b3c1a0d7b2aa31fe8f8807a087d0a4 Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Mon, 26 Jul 2021 16:41:51 -0700 Subject: [PATCH 24/82] Added descriptive comments --- .../SLAC/anticipation/pole_file_converter.py | 65 ++++++++++++++----- 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/US/CA/SLAC/anticipation/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_file_converter.py index 36863e3a..76b40b67 100644 --- a/US/CA/SLAC/anticipation/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_file_converter.py @@ -3,12 +3,14 @@ import math import numpy as np import re + +# excel = 'Pole_Output_Sample.xls' -sheet1 = 'Design - Pole' #read all the sheets in the .xls file df = pd.read_excel(excel, sheet_name=None) + #the first row of each xls file is the header so we convert it to header. for key in df: new_header = df[key].iloc[0] #grab the first row for the header @@ -18,17 +20,17 @@ #extract necessary information from each sheet -df_current_sheet = df[sheet1] -#droping and renaming for sheet1 +df_current_sheet = df['Design - Pole'] +#droping uneeded columns df_current_sheet.drop(['Owner', 'Foundation', 'Ground Water Level',], axis=1, inplace=True) def parse_angle(cell_string, current_column, current_row): - """Parse a string to get a string with angle in degrees + """Parse a string to get a string with angle in a unit that is supported by Gridlabd - Additional acceptable units can be added to angle_units with its corresponding conversion value to degrees. + Additional acceptable units can be added to angle_units Keyword arguments: cell_string -- the string to be parsed (presumably from a cell) @@ -57,6 +59,16 @@ def parse_angle(cell_string, current_column, current_row): def parse_length(cell_string, current_column, current_row): + """Parse a string to get a string with length in a unit that is supported by Gridlabd + + Additional acceptable units can be added to length_units and length_conversion with its corresponding conversion value to degrees. + Supports multiple units in one string. + + Keyword arguments: + cell_string -- the string to be parsed (presumably from a cell) + current_column -- the column of the cell it is parsing. For more descriptive ValueErrors + current_row -- the row of the cell it is parsing. For more descriptive ValueErrors + """ INCH_TO_FEET = 0.0833 UNIT_TO_UNIT = 1.0 YARD_TO_FEET = 3.0 @@ -88,10 +100,8 @@ def parse_length(cell_string, current_column, current_row): } if cell_string == "nan": raise ValueError(f'The cell column: {current_column}, row {current_row} is empty. Please enter a value.') - #tries to identify the units out of all the non-numbers in the string. Very lenient. - - + #keeps track of the units that are in the cell. Whichever unit is listed first in length_units AND is present in the string is the unit that will be used as the output. cell_units = [] for key in length_units.keys(): @@ -117,6 +127,15 @@ def parse_length(cell_string, current_column, current_row): return str(total_cell_value) + " " + cell_units[0] def parse_pressure(cell_string, current_column, current_row): + """Parse a string to get a string with pressure in a unit that is supported by Gridlabd + + Additional acceptable units can be added to pressure_units. + + Keyword arguments: + cell_string -- the string to be parsed (presumably from a cell) + current_column -- the column of the cell it is parsing. For more descriptive ValueErrors + current_row -- the row of the cell it is parsing. For more descriptive ValueErrors + """ pressure_units = { "psi" : "psi", "lb/in²" : "psi", @@ -137,6 +156,12 @@ def parse_pressure(cell_string, current_column, current_row): return re.search("\d+[\.]?[\d+]*", cell_string).group() + " " + output_unit def parse_column(current_column, parsing_function): + """Parse each cell in the column with a function + + Keyword arguments: + current_column -- the string to be parsed (presumably from a cell) + parsing_function -- the function to be called for each cell + """ for row in range(1,len(df_current_sheet[current_column])+1): try: df_current_sheet.at[row,current_column] = parsing_function(str(df_current_sheet.at[row,current_column]),current_column,row) @@ -144,8 +169,16 @@ def parse_column(current_column, parsing_function): df_current_sheet.at[row,current_column] = "nan" print(e) -#assuming subtraction is done on columns with the same units def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, subtrahend_column,current_row): + """Subtract the lengths of strings contained in two cells + + Keyword arguments: + minuend_string -- the string containing the minuend + subtrahend_string -- the string containing the subtrahend + minuend_column -- the name of the column containing the minuend cell. For more descriptive ValueErrors + subtrahend_column -- the name of the column containing the subtrahend cell. For more descriptive ValueErrors + current_row -- the row number containing the minuend cell. For more descriptive ValueErrors + """ length_units = { "'" : "ft", '"' : "in", @@ -174,7 +207,7 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s return str(float(re.search("^[1-9]\d*(\.\d+)?", minuend_string).group()) - float(re.search("^[1-9]\d*(\.\d+)?", subtrahend_string).group())) + " " + output_unit - +#parse necessary columns into a format supported by Gridlabd parse_column('Lean Angle', parse_angle) parse_column('Lean Direction', parse_angle) parse_column('Length', parse_length) @@ -182,6 +215,7 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s parse_column('AGL', parse_length) parse_column('Effective Stress Adjustment', parse_pressure) +#subtract agl from length to get depth for row in range(1,len(df_current_sheet['AGL'])+1): try: df_current_sheet.at[row,'AGL'] = subtract_length_columns(str(df_current_sheet.at[row,'Length']), str(df_current_sheet.at[row,'AGL']), 'Length', 'AGL', row) @@ -193,10 +227,9 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s -#handles row values for length including if its empty, if units are not specified, and if the value is out of bounds. -#All values are converted to in. -#renaming. Is effective stress adjustment = fiber_strength? + +#rename columns to its corresponding column name in Gridlabd df_current_sheet.rename(columns = {'Lean Angle': 'tilt_angle', 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength', 'Length' : 'length', 'GLC' : 'ground_diameter', 'AGL' : 'depth'}, inplace=True) #split GPS Point into longitude and latitude @@ -206,9 +239,7 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s #Todo #Handle Species column. It is a property in pole_library_config rather than pole_vulnerability_config -#Same with Length, class, AGL, and GLC, allowable stress adjustment, and effective stress adjustment. -#pole depth is AGL-GLC? -#Should I check for appropriate values in the cells? + #last column called class based on what your converting. If it's pole object, powerflow.pole. If it's config, powerflow.pole_configuration. #don't split the csv files. Have it all in one place and differentiate it with a new column @@ -217,7 +248,7 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s for key in df: df[key].to_csv('%s.csv' %key) -print(df[sheet1]) +print(df_current_sheet) From 574b237d4e93758381215831479cb277b343f8e2 Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Mon, 26 Jul 2021 16:53:57 -0700 Subject: [PATCH 25/82] Added bugfixes on edge cases --- .../.~lock.Pole_Output_Sample.xls# | 2 +- US/CA/SLAC/anticipation/Design - Pole.csv | 20 ++++++++-------- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 19456 -> 19456 bytes .../SLAC/anticipation/pole_file_converter.py | 22 +++++++++++------- 4 files changed, 25 insertions(+), 19 deletions(-) diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# index 2ec2a89a..e535a25a 100644 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -1 +1 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,26.07.2021 16:20,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,26.07.2021 16:50,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index ac9d823e..8d86ff4c 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,11 +1,11 @@ ,,Species,length,Class,depth,ground_diameter,tilt_angle,tilt_direction,fiber_strength,latitude,longitude -1,XXXXXXE,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 -2,,Western Red Cedar,75.4998 ft,2,9.499799999999993 ft,75.0 in,8 deg,nan,6000 psi,00.0000 , -000.0000 -3,,Western Red Cedar,400.0 in,3,334.0 in,75.0 in,5 deg,5.56 rad,6000 atm,00.0000 , -000.0000 -4,,Western Red Cedar,75.5 ft,1,9.0835 ft,75.0 in,8.5 deg,0 deg,6000.5 psi,00.0000 , -000.0000 -5,,Western Red Cedar,75.5 ft,1,69.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 -6,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 -7,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 -8,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 -9,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 -10,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,6000.5 psi,00.0000 , -000.0000 +1,XXXXXXE,Western Red Cedar,75.0 ft,1,9 ft,75.0 in,12 deg,0 deg,6000.5 psi,00.0000 , -000.0000 +2,,Western Red Cedar,75.4998 ft,2,9 ft,75.0 in,8 deg,nan,6000 psi,00.0000 , -000.0000 +3,,Western Red Cedar,400.0 in,3,334 in,75.0 in,5 deg,5.56 rad,6000 atm,00.0000 , -000.0000 +4,,Western Red Cedar,75.0 ft,1,8 ft,75.0 in,8.5 deg,0 deg,6000.5 psi,00.0000 , -000.0000 +5,,Western Red Cedar,75.0 ft,1,69 ft,75.0 in,3 deg,0 deg,6000.5 psi,00.0000 , -000.0000 +6,,Western Red Cedar,75.0 ft,1,9 ft,75.0 in,55 deg,0 deg,6000.5 psi,00.0000 , -000.0000 +7,,Western Red Cedar,75.0 ft,1,9 ft,75.0 in,123 deg,0 deg,6000.5 psi,00.0000 , -000.0000 +8,,Western Red Cedar,75.0 ft,1,9 ft,75.0 in,nan,0 deg,nan,00.0000 , -000.0000 +9,,Western Red Cedar,nan,1,nan,75.0 in,nan,0 deg,5 psi,00.0000 , -000.0000 +10,,Western Red Cedar,nan,1,nan,75.0 in,nan,0 deg,nan,00.0000 , -000.0000 diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls index 371048b48bffd8f694cd4924105b1d94aeff5840..2240bd27bf96648ccbf138abdfeeb9e929cbb99e 100644 GIT binary patch literal 19456 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 Date: Tue, 27 Jul 2021 15:54:35 -0700 Subject: [PATCH 26/82] Added parsing for design - structure --- .../.~lock.Pole_Output_Sample.xls# | 2 +- US/CA/SLAC/anticipation/Design - Pole.csv | 20 ++-- .../SLAC/anticipation/Design - Structure.csv | 100 +++++++++--------- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 19456 -> 19456 bytes .../SLAC/anticipation/pole_file_converter.py | 77 ++++++++------ .../SLAC/anticipation/pole_library_config.csv | 4 +- .../SLAC/anticipation/pole_library_config.glm | 6 +- US/CA/SLAC/anticipation/pole_outputs.csv | 2 +- .../pole_vulnerability_config.csv | 4 +- .../pole_vulnerability_config.glm | 8 +- 10 files changed, 115 insertions(+), 108 deletions(-) diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# index e535a25a..3153cd2d 100644 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -1 +1 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,26.07.2021 16:50,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,27.07.2021 13:38,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index 8d86ff4c..34c05b3a 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,11 +1,11 @@ ,,Species,length,Class,depth,ground_diameter,tilt_angle,tilt_direction,fiber_strength,latitude,longitude -1,XXXXXXE,Western Red Cedar,75.0 ft,1,9 ft,75.0 in,12 deg,0 deg,6000.5 psi,00.0000 , -000.0000 -2,,Western Red Cedar,75.4998 ft,2,9 ft,75.0 in,8 deg,nan,6000 psi,00.0000 , -000.0000 -3,,Western Red Cedar,400.0 in,3,334 in,75.0 in,5 deg,5.56 rad,6000 atm,00.0000 , -000.0000 -4,,Western Red Cedar,75.0 ft,1,8 ft,75.0 in,8.5 deg,0 deg,6000.5 psi,00.0000 , -000.0000 -5,,Western Red Cedar,75.0 ft,1,69 ft,75.0 in,3 deg,0 deg,6000.5 psi,00.0000 , -000.0000 -6,,Western Red Cedar,75.0 ft,1,9 ft,75.0 in,55 deg,0 deg,6000.5 psi,00.0000 , -000.0000 -7,,Western Red Cedar,75.0 ft,1,9 ft,75.0 in,123 deg,0 deg,6000.5 psi,00.0000 , -000.0000 -8,,Western Red Cedar,75.0 ft,1,9 ft,75.0 in,nan,0 deg,nan,00.0000 , -000.0000 -9,,Western Red Cedar,nan,1,nan,75.0 in,nan,0 deg,5 psi,00.0000 , -000.0000 -10,,Western Red Cedar,nan,1,nan,75.0 in,nan,0 deg,nan,00.0000 , -000.0000 +1,XXXXXXE,Western Red Cedar,76 ft,1,10 ft,75 in,12 deg,0 deg,6000.5 psi,00.0000,-000.0000 +2,,Western Red Cedar,75 ft,2,9 ft,75 in,8 deg,nan,6000 psi,00.0000,-000.0000 +3,,Western Red Cedar,400 in,3,334 in,75 in,5 deg,5.56 rad,6000 atm,00.0000,-000.0000 +4,,Western Red Cedar,76 ft,1,10 ft,75 in,8.5 deg,0 deg,6000.5 psi,00.0000,-000.0000 +5,,Western Red Cedar,76 ft,1,70 ft,75 in,3 deg,0 deg,6000.5 psi,00.0000,-000.0000 +6,,Western Red Cedar,76 ft,1,10 ft,75 in,55 deg,0 deg,6000.5 psi,00.0000,-000.0000 +7,,Western Red Cedar,76 ft,1,10 ft,75 in,123 deg,0 deg,6000.5 psi,00.0000,-000.0000 +8,,Western Red Cedar,76 ft,1,10 ft,75 in,nan,0 deg,nan,00.0000,-000.0000 +9,,Western Red Cedar,nan,1,nan,75 in,nan,0 deg,5 psi,00.0000,-000.0000 +10,,Western Red Cedar,nan,1,nan,75 in,nan,0 deg,nan,00.0000,-000.0000 diff --git a/US/CA/SLAC/anticipation/Design - Structure.csv b/US/CA/SLAC/anticipation/Design - Structure.csv index 100268d4..2b13680c 100644 --- a/US/CA/SLAC/anticipation/Design - Structure.csv +++ b/US/CA/SLAC/anticipation/Design - Structure.csv @@ -1,51 +1,51 @@ ,ID#,Size,Height,Direction,Offset/Lead,Owner,Type,Related -1,Insulator#7,66 kV Horizontal Line Post ,"64' 0""",0 °,,Utility,Bracket,"Wire#1, Wire#15" -2,Wire#15,653.9 ACSR,"63' 11""",270 °,,Utility,Light Full (Tension),WEP#2 -3,Wire#1,653.9 ACSR,"63' 11""",90 °,,Utility,Light Full (Tension),WEP#1 -4,Insulator#8,66 kV Horizontal Line Post ,"59' 0""",0 °,,Utility,Bracket,"Wire#2, Wire#16" -5,Wire#16,653.9 ACSR,"58' 11""",270 °,,Utility,Light Full (Tension),WEP#2 -6,Wire#2,653.9 ACSR,"58' 11""",90 °,,Utility,Light Full (Tension),WEP#1 -7,Insulator#9,66 kV Horizontal Line Post ,"54' 0""",0 °,,Utility,Bracket,"Wire#3, Wire#17" -8,Wire#17,653.9 ACSR,"53' 11""",270 °,,Utility,Light Full (Tension),WEP#2 -9,Wire#3,653.9 ACSR,"53' 11""",90 °,,Utility,Light Full (Tension),WEP#1 -10,Wire#26,653.9 ACSR,"41' 3""",270 °,,Utility,Light Full (Tension),WEP#2 -11,Wire#11,653.9 ACSR,"41' 3""",90 °,,Utility,Light Full (Tension),WEP#1 -12,Wire#25,653.9 ACSR,"41' 3""",270 °,,Utility,Light Full (Tension),WEP#2 -13,Wire#10,653.9 ACSR,"41' 3""",90 °,,Utility,Light Full (Tension),WEP#1 -14,Wire#24,336.4 ACSR Merlin,"41' 3""",270 °,,Utility,Light Full (Tension),WEP#2 -15,Wire#9,336.4 ACSR Merlin,"41' 3""",90 °,,Utility,Light Full (Tension),WEP#1 -16,Wire#23,653.9 ACSR,"41' 3""",270 °,,Utility,Light Full (Tension),WEP#2 -17,Wire#8,653.9 ACSR,"41' 3""",90 °,,Utility,Light Full (Tension),WEP#1 -18,CrossArm#1,10 Foot Cross Arm,"40' 6""",180 °,"5' 0"" (Offset)",Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4" -19,Equip#2,Fuse Arm with 2 Cutouts,"40' 6""",180 °,,Utility,Cutout Arrestor, -20,Insulator#4,12 kV Pin (Cross Arm),"40' 6""",180 °,"9' 8"" (Offset)",Utility,Pin,"Wire#11, Wire#26" -21,Insulator#3,12 kV Pin (Cross Arm),"40' 6""",180 °,"6' 8"" (Offset)",Utility,Pin,"Wire#10, Wire#25" -22,Insulator#2,12 kV Pin (Cross Arm),"40' 6""",180 °,"3' 4"" (Offset)",Utility,Pin,"Wire#9, Wire#24" -23,Insulator#1,12 kV Pin (Cross Arm),"40' 6""",180 °,"0' 4"" (Offset)",Utility,Pin,"Wire#8, Wire#23" -24,Equip#3,25 kVA Transformer,"37' 6""",90 °,,Utility,Transformer, -25,Insulator#15,"3"" Clevis Insulator","33' 0""",90 °,,Utility,Clamp,Wire#12 -26,Insulator#10,"3"" Clevis Insulator","33' 0""",0 °,,Utility,Clamp,Wire#18 -27,Wire#12,6 Al. Triplex,"33' 0""",90 °,,Utility,Light Full (Tension),WEP#1 -28,Wire#18,6 Al. Duplex,"33' 0""",270 °,,Utility,Light Full (Tension),WEP#2 -29,Equip#1,Roadway - 6 ft,"27' 0""",0 °,,Utility,Street Light, -30,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,"26' 2""",270 °,,Utility Carrier Solution,Light Full (Tension),WEP#2 -31,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,"26' 2""",90 °,,Utility Carrier Solution,Light Full (Tension),WEP#1 -32,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,"26' 2""",270 °,,Utility Carrier Solution,Light Full (Tension),WEP#2 -33,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,"26' 2""",90 °,,Utility Carrier Solution,Light Full (Tension),WEP#1 -34,CrossArm#2,10 Foot Cross Arm,"26' 0""",180 °,"5' 0"" (Offset)",Utility,,"Insulator#5, Insulator#6" -35,Insulator#6,3 Bolt Suspension Clamp,"26' 0""",180 °,"0' 4"" (Offset)",Utility,Clamp,"Wire#14, Wire#28" -36,Insulator#5,3 Bolt Suspension Clamp,"26' 0""",180 °,"9' 8"" (Offset)",Utility,Clamp,"Wire#13, Wire#27" -37,Insulator#11,3 Bolt Suspension Clamp,"25' 0""",0 °,,Unknown,Clamp,"Wire#4, Wire#19" -38,Wire#19,"1.5"" TELCO 5/16"" Messenger","25' 0""",270 °,,Unknown,Light Full (Tension),WEP#2 -39,Wire#4,"1.5"" TELCO 5/16"" Messenger","25' 0""",90 °,,Unknown,Light Full (Tension),WEP#1 -40,Insulator#12,3 Bolt Suspension Clamp,"24' 0""",0 °,,Unknown,Clamp,"Wire#5, Wire#20" -41,Wire#20,"1"" TELCO 5/16"" Messenger","24' 0""",270 °,,Unknown,Light Full (Tension),WEP#2 -42,Wire#5,"1"" TELCO 5/16"" Messenger","24' 0""",90 °,,Unknown,Light Full (Tension),WEP#1 -43,Insulator#13,3 Bolt Suspension Clamp,"23' 0""",0 °,,Unknown,Clamp,"Wire#6, Wire#21" -44,Wire#21,"2"" CATV 1/4"" Messenger","23' 0""",270 °,,Unknown,Light Full (Tension),WEP#2 -45,Wire#6,"2"" CATV 1/4"" Messenger","23' 0""",90 °,,Unknown,Light Full (Tension),WEP#1 -46,Insulator#14,3 Bolt Suspension Clamp,"21' 6""",0 °,,Unknown,Clamp,"Wire#7, Wire#22" -47,Wire#22,"1.5"" TELCO 5/16"" Messenger","21' 6""",270 °,,Unknown,Light Full (Tension),WEP#2 -48,Wire#7,"1.5"" TELCO 5/16"" Messenger","21' 6""",90 °,,Unknown,Light Full (Tension),WEP#1 -49,WEP#2,,,270 °,204' (Distance),,Previous Pole, -50,WEP#1,,,90 °,180' (Distance),,Next Pole, +1,Insulator#7,66 kV Horizontal Line Post ,64 ft,0 deg,,Utility,Bracket,"Wire#1, Wire#15" +2,Wire#15,653.9 ACSR,64 ft,270 deg,,Utility,Light Full (Tension),WEP#2 +3,Wire#1,653.9 ACSR,64 ft,90 deg,,Utility,Light Full (Tension),WEP#1 +4,Insulator#8,66 kV Horizontal Line Post ,59 ft,0 deg,,Utility,Bracket,"Wire#2, Wire#16" +5,Wire#16,653.9 ACSR,59 ft,270 deg,,Utility,Light Full (Tension),WEP#2 +6,Wire#2,653.9 ACSR,59 ft,90 deg,,Utility,Light Full (Tension),WEP#1 +7,Insulator#9,66 kV Horizontal Line Post ,54 ft,0 deg,,Utility,Bracket,"Wire#3, Wire#17" +8,Wire#17,653.9 ACSR,54 ft,270 deg,,Utility,Light Full (Tension),WEP#2 +9,Wire#3,653.9 ACSR,54 ft,90 deg,,Utility,Light Full (Tension),WEP#1 +10,Wire#26,653.9 ACSR,41 ft,270 deg,,Utility,Light Full (Tension),WEP#2 +11,Wire#11,653.9 ACSR,41 ft,90 deg,,Utility,Light Full (Tension),WEP#1 +12,Wire#25,653.9 ACSR,41 ft,270 deg,,Utility,Light Full (Tension),WEP#2 +13,Wire#10,653.9 ACSR,41 ft,90 deg,,Utility,Light Full (Tension),WEP#1 +14,Wire#24,336.4 ACSR Merlin,41 ft,270 deg,,Utility,Light Full (Tension),WEP#2 +15,Wire#9,336.4 ACSR Merlin,41 ft,90 deg,,Utility,Light Full (Tension),WEP#1 +16,Wire#23,653.9 ACSR,41 ft,270 deg,,Utility,Light Full (Tension),WEP#2 +17,Wire#8,653.9 ACSR,41 ft,90 deg,,Utility,Light Full (Tension),WEP#1 +18,CrossArm#1,10 Foot Cross Arm,40 ft,180 deg,"5' 0"" (Offset)",Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4" +19,Equip#2,Fuse Arm with 2 Cutouts,40 ft,180 deg,,Utility,Cutout Arrestor, +20,Insulator#4,12 kV Pin (Cross Arm),40 ft,180 deg,"9' 8"" (Offset)",Utility,Pin,"Wire#11, Wire#26" +21,Insulator#3,12 kV Pin (Cross Arm),40 ft,180 deg,"6' 8"" (Offset)",Utility,Pin,"Wire#10, Wire#25" +22,Insulator#2,12 kV Pin (Cross Arm),40 ft,180 deg,"3' 4"" (Offset)",Utility,Pin,"Wire#9, Wire#24" +23,Insulator#1,12 kV Pin (Cross Arm),40 ft,180 deg,"0' 4"" (Offset)",Utility,Pin,"Wire#8, Wire#23" +24,Equip#3,25 kVA Transformer,37 ft,90 deg,,Utility,Transformer, +25,Insulator#15,"3"" Clevis Insulator",33 ft,90 deg,,Utility,Clamp,Wire#12 +26,Insulator#10,"3"" Clevis Insulator",33 ft,0 deg,,Utility,Clamp,Wire#18 +27,Wire#12,6 Al. Triplex,33 ft,90 deg,,Utility,Light Full (Tension),WEP#1 +28,Wire#18,6 Al. Duplex,33 ft,270 deg,,Utility,Light Full (Tension),WEP#2 +29,Equip#1,Roadway - 6 ft,27 ft,0 deg,,Utility,Street Light, +30,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,26 ft,270 deg,,Utility Carrier Solution,Light Full (Tension),WEP#2 +31,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,26 ft,90 deg,,Utility Carrier Solution,Light Full (Tension),WEP#1 +32,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,26 ft,270 deg,,Utility Carrier Solution,Light Full (Tension),WEP#2 +33,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,26 ft,90 deg,,Utility Carrier Solution,Light Full (Tension),WEP#1 +34,CrossArm#2,10 Foot Cross Arm,26 ft,180 deg,"5' 0"" (Offset)",Utility,,"Insulator#5, Insulator#6" +35,Insulator#6,3 Bolt Suspension Clamp,26 ft,180 deg,"0' 4"" (Offset)",Utility,Clamp,"Wire#14, Wire#28" +36,Insulator#5,3 Bolt Suspension Clamp,26 ft,180 deg,"9' 8"" (Offset)",Utility,Clamp,"Wire#13, Wire#27" +37,Insulator#11,3 Bolt Suspension Clamp,25 ft,0 deg,,Unknown,Clamp,"Wire#4, Wire#19" +38,Wire#19,"1.5"" TELCO 5/16"" Messenger",25 ft,270 deg,,Unknown,Light Full (Tension),WEP#2 +39,Wire#4,"1.5"" TELCO 5/16"" Messenger",25 ft,90 deg,,Unknown,Light Full (Tension),WEP#1 +40,Insulator#12,3 Bolt Suspension Clamp,24 ft,0 deg,,Unknown,Clamp,"Wire#5, Wire#20" +41,Wire#20,"1"" TELCO 5/16"" Messenger",24 ft,270 deg,,Unknown,Light Full (Tension),WEP#2 +42,Wire#5,"1"" TELCO 5/16"" Messenger",24 ft,90 deg,,Unknown,Light Full (Tension),WEP#1 +43,Insulator#13,3 Bolt Suspension Clamp,23 ft,0 deg,,Unknown,Clamp,"Wire#6, Wire#21" +44,Wire#21,"2"" CATV 1/4"" Messenger",23 ft,270 deg,,Unknown,Light Full (Tension),WEP#2 +45,Wire#6,"2"" CATV 1/4"" Messenger",23 ft,90 deg,,Unknown,Light Full (Tension),WEP#1 +46,Insulator#14,3 Bolt Suspension Clamp,21 ft,0 deg,,Unknown,Clamp,"Wire#7, Wire#22" +47,Wire#22,"1.5"" TELCO 5/16"" Messenger",21 ft,270 deg,,Unknown,Light Full (Tension),WEP#2 +48,Wire#7,"1.5"" TELCO 5/16"" Messenger",21 ft,90 deg,,Unknown,Light Full (Tension),WEP#1 +49,WEP#2,,nan,270 deg,204' (Distance),,Previous Pole, +50,WEP#1,,nan,90 deg,180' (Distance),,Next Pole, diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls index 2240bd27bf96648ccbf138abdfeeb9e929cbb99e..7ac989c7c671f398aab43cdd66a1bb16dd231db7 100644 GIT binary patch delta 5185 zcmY+IS#VTE6o&gIlT0#`g&Yq*r z>2x@<(-rDpr&uxf)We&%dgIzeKk=DOrszb<*<5*e)j{ z|5krzWj21+$;tET|GYdhbjm5n6~j4aOl}=s>Ws@Thi_F!E~+C%ne+~KwTO_a(Ge}` z6AIOT_S}F|lD{P@(`9x1KQ-#8PfS!uH7PYgs#&Q?QURqdmDN;qdI=p1ihePLO7$n= zVks#{42fl=n#8b}mWNYOrz#gx(b?rR5>#hhhDwE@)a9f!;|fxmF+-|ZsT!$(QdJpA zM`y33W14&ws(|{Ai>pc5AMZc*CDwL$Y#CUfPB3yW_90dvVPxfz_|J-ytODb3Qr5`VIs679@um zISk}mY0R!UjO1e$Im~MA0P;FKyMvKC7`cPh+=1j!-mkfX)!Yf>StNHdawj8q0=Y&r z8&|;&i`>a-?gH{{IKPXLyBN8P)!cuyFk8!l)fiS&MvFjMez9t)=J|NHGSRd59iIh$5W8^*{Zlt||F74+8l~WGx2rQ=~NcX;M1pXGqykkHtW)%AXYZ zS(;(5U_>2t#dA0offd|NN|T=_Ws@UF&X=RpJ7|U`zkn*LzFo1Cl&;y3qmah)a(7uj zmyVUAvxX6czIWkSF<=;C4655rV|H~hNYuP7#IU+h#lMeZKsHa!IFOA`9LV!XjyI|! zWj{UQNZwKLpT}_^n>U;xAn(Dmhk(47l&<+j`D;b@eW4Pa-$x_%stl{6uGo)b!@xK| zN;6&}Wmh-csE)>3)XbMjwJK$v(!-6K>-#4@a^_#bDIPQOAO>UPv4A~hKZjcL0{C#{B(68eONkAVa zrSGUWNa?G>pp(#wLIXJoN&Kz^F|Bd378SstA7cYzd; z-$qs%$dZ&zP6PRfJU1?- zGYvm;31-;JX28(g*jX@qAE8-TS!0-Ov_fOr&}>FoW|(CSX3=kHW2LfSX!fWa7#>4t z4h+qD=fLm-SzP94mt*K0piOo;Ab*IgJdi&krL+5(l+Nx0Qg(KE)=HjdmuK1KS#||5 z`~;x|XvG*78m-Wnon3($7FdG?o?U@uHwK2s5jw`Q8w0}=a`&{K-55iUvFyfx{3)`= zf&3XMo!#f8bap35+1ZV=R>paD<1D*zmR%7Hzd&daS}}&jMk_RCXIEr~Mb==EXIEs| zmB8>zgqB!#B{2L-{#y03D=~D5Wmf|7*T^aZ`6Ma(o-H@XG-hX4X04QYc4d}bnPsPc zQgOusLMzaUxo0cPu)=o#3Nx&*1}o^N_6+^lsIcrNz|d?N6JTiewh1uwmEGY47=D9= zPJp35Q}2S`(ipxe%!BLAk^Ml+zGctV!N19YE{i04v z|ET4U1+1}VH7729l)ulccFxLJEgCmL=%0ivfrZe>ie)AX)!;<+5fcS^sxcu=#)AVzx5? literal 19456 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 Date: Thu, 29 Jul 2021 19:14:07 -0700 Subject: [PATCH 27/82] added rounding to nearest hundreth place --- US/CA/SLAC/anticipation/Design - Pole.csv | 20 ++-- .../SLAC/anticipation/Design - Structure.csv | 102 +++++++++--------- .../SLAC/anticipation/pole_file_converter.py | 19 +++- US/CA/SLAC/anticipation/pole_outputs.csv | 2 +- .../pole_vulnerability_config.csv | 2 +- .../pole_vulnerability_config.glm | 22 ++-- 6 files changed, 90 insertions(+), 77 deletions(-) diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index 34c05b3a..ee337a86 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,11 +1,11 @@ ,,Species,length,Class,depth,ground_diameter,tilt_angle,tilt_direction,fiber_strength,latitude,longitude -1,XXXXXXE,Western Red Cedar,76 ft,1,10 ft,75 in,12 deg,0 deg,6000.5 psi,00.0000,-000.0000 -2,,Western Red Cedar,75 ft,2,9 ft,75 in,8 deg,nan,6000 psi,00.0000,-000.0000 -3,,Western Red Cedar,400 in,3,334 in,75 in,5 deg,5.56 rad,6000 atm,00.0000,-000.0000 -4,,Western Red Cedar,76 ft,1,10 ft,75 in,8.5 deg,0 deg,6000.5 psi,00.0000,-000.0000 -5,,Western Red Cedar,76 ft,1,70 ft,75 in,3 deg,0 deg,6000.5 psi,00.0000,-000.0000 -6,,Western Red Cedar,76 ft,1,10 ft,75 in,55 deg,0 deg,6000.5 psi,00.0000,-000.0000 -7,,Western Red Cedar,76 ft,1,10 ft,75 in,123 deg,0 deg,6000.5 psi,00.0000,-000.0000 -8,,Western Red Cedar,76 ft,1,10 ft,75 in,nan,0 deg,nan,00.0000,-000.0000 -9,,Western Red Cedar,nan,1,nan,75 in,nan,0 deg,5 psi,00.0000,-000.0000 -10,,Western Red Cedar,nan,1,nan,75 in,nan,0 deg,nan,00.0000,-000.0000 +1,XXXXXXE,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,12 deg,0 deg,6000.5 psi,00.0000,-000.0000 +2,,Western Red Cedar,75.5 ft,2,9.5 ft,75.0 in,8 deg,nan,6000 psi,00.0000,-000.0000 +3,,Western Red Cedar,400.0 in,3,334.0 in,75.0 in,5 deg,5.56 rad,6000 atm,00.0000,-000.0000 +4,,Western Red Cedar,75.5 ft,1,9.08 ft,75.0 in,8.5 deg,0 deg,6000.5 psi,00.0000,-000.0000 +5,,Western Red Cedar,75.5 ft,1,69.5 ft,75.0 in,3 deg,0 deg,6000.5 psi,00.0000,-000.0000 +6,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,55 deg,0 deg,6000.5 psi,00.0000,-000.0000 +7,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,123 deg,0 deg,6000.5 psi,00.0000,-000.0000 +8,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,nan,00.0000,-000.0000 +9,,Western Red Cedar,nan,1,nan,75.0 in,nan,0 deg,5 psi,00.0000,-000.0000 +10,,Western Red Cedar,nan,1,nan,75.0 in,nan,0 deg,nan,00.0000,-000.0000 diff --git a/US/CA/SLAC/anticipation/Design - Structure.csv b/US/CA/SLAC/anticipation/Design - Structure.csv index 2b13680c..774485b3 100644 --- a/US/CA/SLAC/anticipation/Design - Structure.csv +++ b/US/CA/SLAC/anticipation/Design - Structure.csv @@ -1,51 +1,51 @@ -,ID#,Size,Height,Direction,Offset/Lead,Owner,Type,Related -1,Insulator#7,66 kV Horizontal Line Post ,64 ft,0 deg,,Utility,Bracket,"Wire#1, Wire#15" -2,Wire#15,653.9 ACSR,64 ft,270 deg,,Utility,Light Full (Tension),WEP#2 -3,Wire#1,653.9 ACSR,64 ft,90 deg,,Utility,Light Full (Tension),WEP#1 -4,Insulator#8,66 kV Horizontal Line Post ,59 ft,0 deg,,Utility,Bracket,"Wire#2, Wire#16" -5,Wire#16,653.9 ACSR,59 ft,270 deg,,Utility,Light Full (Tension),WEP#2 -6,Wire#2,653.9 ACSR,59 ft,90 deg,,Utility,Light Full (Tension),WEP#1 -7,Insulator#9,66 kV Horizontal Line Post ,54 ft,0 deg,,Utility,Bracket,"Wire#3, Wire#17" -8,Wire#17,653.9 ACSR,54 ft,270 deg,,Utility,Light Full (Tension),WEP#2 -9,Wire#3,653.9 ACSR,54 ft,90 deg,,Utility,Light Full (Tension),WEP#1 -10,Wire#26,653.9 ACSR,41 ft,270 deg,,Utility,Light Full (Tension),WEP#2 -11,Wire#11,653.9 ACSR,41 ft,90 deg,,Utility,Light Full (Tension),WEP#1 -12,Wire#25,653.9 ACSR,41 ft,270 deg,,Utility,Light Full (Tension),WEP#2 -13,Wire#10,653.9 ACSR,41 ft,90 deg,,Utility,Light Full (Tension),WEP#1 -14,Wire#24,336.4 ACSR Merlin,41 ft,270 deg,,Utility,Light Full (Tension),WEP#2 -15,Wire#9,336.4 ACSR Merlin,41 ft,90 deg,,Utility,Light Full (Tension),WEP#1 -16,Wire#23,653.9 ACSR,41 ft,270 deg,,Utility,Light Full (Tension),WEP#2 -17,Wire#8,653.9 ACSR,41 ft,90 deg,,Utility,Light Full (Tension),WEP#1 -18,CrossArm#1,10 Foot Cross Arm,40 ft,180 deg,"5' 0"" (Offset)",Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4" -19,Equip#2,Fuse Arm with 2 Cutouts,40 ft,180 deg,,Utility,Cutout Arrestor, -20,Insulator#4,12 kV Pin (Cross Arm),40 ft,180 deg,"9' 8"" (Offset)",Utility,Pin,"Wire#11, Wire#26" -21,Insulator#3,12 kV Pin (Cross Arm),40 ft,180 deg,"6' 8"" (Offset)",Utility,Pin,"Wire#10, Wire#25" -22,Insulator#2,12 kV Pin (Cross Arm),40 ft,180 deg,"3' 4"" (Offset)",Utility,Pin,"Wire#9, Wire#24" -23,Insulator#1,12 kV Pin (Cross Arm),40 ft,180 deg,"0' 4"" (Offset)",Utility,Pin,"Wire#8, Wire#23" -24,Equip#3,25 kVA Transformer,37 ft,90 deg,,Utility,Transformer, -25,Insulator#15,"3"" Clevis Insulator",33 ft,90 deg,,Utility,Clamp,Wire#12 -26,Insulator#10,"3"" Clevis Insulator",33 ft,0 deg,,Utility,Clamp,Wire#18 -27,Wire#12,6 Al. Triplex,33 ft,90 deg,,Utility,Light Full (Tension),WEP#1 -28,Wire#18,6 Al. Duplex,33 ft,270 deg,,Utility,Light Full (Tension),WEP#2 -29,Equip#1,Roadway - 6 ft,27 ft,0 deg,,Utility,Street Light, -30,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,26 ft,270 deg,,Utility Carrier Solution,Light Full (Tension),WEP#2 -31,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,26 ft,90 deg,,Utility Carrier Solution,Light Full (Tension),WEP#1 -32,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,26 ft,270 deg,,Utility Carrier Solution,Light Full (Tension),WEP#2 -33,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,26 ft,90 deg,,Utility Carrier Solution,Light Full (Tension),WEP#1 -34,CrossArm#2,10 Foot Cross Arm,26 ft,180 deg,"5' 0"" (Offset)",Utility,,"Insulator#5, Insulator#6" -35,Insulator#6,3 Bolt Suspension Clamp,26 ft,180 deg,"0' 4"" (Offset)",Utility,Clamp,"Wire#14, Wire#28" -36,Insulator#5,3 Bolt Suspension Clamp,26 ft,180 deg,"9' 8"" (Offset)",Utility,Clamp,"Wire#13, Wire#27" -37,Insulator#11,3 Bolt Suspension Clamp,25 ft,0 deg,,Unknown,Clamp,"Wire#4, Wire#19" -38,Wire#19,"1.5"" TELCO 5/16"" Messenger",25 ft,270 deg,,Unknown,Light Full (Tension),WEP#2 -39,Wire#4,"1.5"" TELCO 5/16"" Messenger",25 ft,90 deg,,Unknown,Light Full (Tension),WEP#1 -40,Insulator#12,3 Bolt Suspension Clamp,24 ft,0 deg,,Unknown,Clamp,"Wire#5, Wire#20" -41,Wire#20,"1"" TELCO 5/16"" Messenger",24 ft,270 deg,,Unknown,Light Full (Tension),WEP#2 -42,Wire#5,"1"" TELCO 5/16"" Messenger",24 ft,90 deg,,Unknown,Light Full (Tension),WEP#1 -43,Insulator#13,3 Bolt Suspension Clamp,23 ft,0 deg,,Unknown,Clamp,"Wire#6, Wire#21" -44,Wire#21,"2"" CATV 1/4"" Messenger",23 ft,270 deg,,Unknown,Light Full (Tension),WEP#2 -45,Wire#6,"2"" CATV 1/4"" Messenger",23 ft,90 deg,,Unknown,Light Full (Tension),WEP#1 -46,Insulator#14,3 Bolt Suspension Clamp,21 ft,0 deg,,Unknown,Clamp,"Wire#7, Wire#22" -47,Wire#22,"1.5"" TELCO 5/16"" Messenger",21 ft,270 deg,,Unknown,Light Full (Tension),WEP#2 -48,Wire#7,"1.5"" TELCO 5/16"" Messenger",21 ft,90 deg,,Unknown,Light Full (Tension),WEP#1 -49,WEP#2,,nan,270 deg,204' (Distance),,Previous Pole, -50,WEP#1,,nan,90 deg,180' (Distance),,Next Pole, +,//ID#,Size,Height,Direction,Offset/Lead,//Owner,//Type,//Related +1,Insulator#7,66 kV Horizontal Line Post ,64.0 ft,0 deg,nan,Utility,Bracket,"Wire#1, Wire#15" +2,Wire#15,653.9 ACSR,63.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +3,Wire#1,653.9 ACSR,63.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +4,Insulator#8,66 kV Horizontal Line Post ,59.0 ft,0 deg,nan,Utility,Bracket,"Wire#2, Wire#16" +5,Wire#16,653.9 ACSR,58.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +6,Wire#2,653.9 ACSR,58.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +7,Insulator#9,66 kV Horizontal Line Post ,54.0 ft,0 deg,nan,Utility,Bracket,"Wire#3, Wire#17" +8,Wire#17,653.9 ACSR,53.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +9,Wire#3,653.9 ACSR,53.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +10,Wire#26,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +11,Wire#11,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +12,Wire#25,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +13,Wire#10,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +14,Wire#24,336.4 ACSR Merlin,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +15,Wire#9,336.4 ACSR Merlin,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +16,Wire#23,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +17,Wire#8,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +18,CrossArm#1,10 Foot Cross Arm,40.5 ft,180 deg,5.0 ft,Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4" +19,Equip#2,Fuse Arm with 2 Cutouts,40.5 ft,180 deg,nan,Utility,Cutout Arrestor, +20,Insulator#4,12 kV Pin (Cross Arm),40.5 ft,180 deg,9.67 ft,Utility,Pin,"Wire#11, Wire#26" +21,Insulator#3,12 kV Pin (Cross Arm),40.5 ft,180 deg,6.67 ft,Utility,Pin,"Wire#10, Wire#25" +22,Insulator#2,12 kV Pin (Cross Arm),40.5 ft,180 deg,3.33 ft,Utility,Pin,"Wire#9, Wire#24" +23,Insulator#1,12 kV Pin (Cross Arm),40.5 ft,180 deg,0.33 ft,Utility,Pin,"Wire#8, Wire#23" +24,Equip#3,25 kVA Transformer,37.5 ft,90 deg,nan,Utility,Transformer, +25,Insulator#15,"3"" Clevis Insulator",33.0 ft,90 deg,nan,Utility,Clamp,Wire#12 +26,Insulator#10,"3"" Clevis Insulator",33.0 ft,0 deg,nan,Utility,Clamp,Wire#18 +27,Wire#12,6 Al. Triplex,33.0 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +28,Wire#18,6 Al. Duplex,33.0 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +29,Equip#1,Roadway - 6 ft,27.0 ft,0 deg,nan,Utility,Street Light, +30,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2 +31,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1 +32,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2 +33,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1 +34,CrossArm#2,10 Foot Cross Arm,26.0 ft,180 deg,5.0 ft,Utility,,"Insulator#5, Insulator#6" +35,Insulator#6,3 Bolt Suspension Clamp,26.0 ft,180 deg,0.33 ft,Utility,Clamp,"Wire#14, Wire#28" +36,Insulator#5,3 Bolt Suspension Clamp,26.0 ft,180 deg,9.67 ft,Utility,Clamp,"Wire#13, Wire#27" +37,Insulator#11,3 Bolt Suspension Clamp,25.0 ft,0 deg,nan,Unknown,Clamp,"Wire#4, Wire#19" +38,Wire#19,"1.5"" TELCO 5/16"" Messenger",25.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 +39,Wire#4,"1.5"" TELCO 5/16"" Messenger",25.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 +40,Insulator#12,3 Bolt Suspension Clamp,24.0 ft,0 deg,nan,Unknown,Clamp,"Wire#5, Wire#20" +41,Wire#20,"1"" TELCO 5/16"" Messenger",24.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 +42,Wire#5,"1"" TELCO 5/16"" Messenger",24.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 +43,Insulator#13,3 Bolt Suspension Clamp,23.0 ft,0 deg,nan,Unknown,Clamp,"Wire#6, Wire#21" +44,Wire#21,"2"" CATV 1/4"" Messenger",23.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 +45,Wire#6,"2"" CATV 1/4"" Messenger",23.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 +46,Insulator#14,3 Bolt Suspension Clamp,21.5 ft,0 deg,nan,Unknown,Clamp,"Wire#7, Wire#22" +47,Wire#22,"1.5"" TELCO 5/16"" Messenger",21.5 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 +48,Wire#7,"1.5"" TELCO 5/16"" Messenger",21.5 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 +49,WEP#2,,nan,270 deg,204.0 ft,,Previous Pole, +50,WEP#1,,nan,90 deg,180.0 ft,,Next Pole, diff --git a/US/CA/SLAC/anticipation/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_file_converter.py index 2421e4c0..a91da602 100644 --- a/US/CA/SLAC/anticipation/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_file_converter.py @@ -1,12 +1,14 @@ import pandas as pd import string import math -import numpy as np import re excel = 'Pole_Output_Sample.xls' +# Round to nearest hundreth decimal place if value has more decimal places than that. +decimal_rounding = 2 + # Read all the sheets in the .xls file df = pd.read_excel(excel, sheet_name=None) @@ -126,7 +128,7 @@ def parse_length(cell_string, current_column, current_row): total_cell_value += float(cell_numbers[i]) * convert_to[cell_units[i]] - return str(round(total_cell_value)) + " " + cell_units[0] + return str(round(total_cell_value,decimal_rounding)) + " " + cell_units[0] def parse_pressure(cell_string, current_column, current_row): """Parse a string to get a string with pressure in a unit that is supported by Gridlabd @@ -209,7 +211,7 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s if output_unit == "": raise ValueError(f'Please provide {minuend_column} and {subtrahend_column}, row {current_row} with the same units.') else: - return str(round(float(re.search("^[1-9]\d*(\.\d+)?", minuend_string).group()) - float(re.search("^[1-9]\d*(\.\d+)?", subtrahend_string).group()))) + " " + output_unit + return str(round(float(re.search("^[1-9]\d*(\.\d+)?", minuend_string).group()) - float(re.search("^[1-9]\d*(\.\d+)?", subtrahend_string).group()),decimal_rounding)) + " " + output_unit # Parse necessary columns into a format supported by Gridlabd. @@ -252,8 +254,17 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s df_current_sheet = df['Design - Structure'] parse_column(df_current_sheet, 'Height', parse_length) +parse_column(df_current_sheet, 'Offset/Lead', parse_length) +# There's a direction for the previous and next poles, but I don't see anything in pole_mount.cpp. It only has pole_spacing, +# and it is only the mean of next and previous when xls file specifies different distances. +# Do I handle the weight and parse_column(df_current_sheet, 'Direction', parse_angle) +# Comment out some columns +df_current_sheet.rename(columns = {'ID#': '//ID#', + 'Owner': '//Owner', 'Type': '//Type', 'Related' : '//Related'}, inplace=True) + + # Finally create the csv files. @@ -266,3 +277,5 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s + + diff --git a/US/CA/SLAC/anticipation/pole_outputs.csv b/US/CA/SLAC/anticipation/pole_outputs.csv index b1279f43..3e6cca3f 100644 --- a/US/CA/SLAC/anticipation/pole_outputs.csv +++ b/US/CA/SLAC/anticipation/pole_outputs.csv @@ -1,5 +1,5 @@ # file...... pole_outputs.csv -# date...... Tue Jul 27 20:49:46 2021 +# date...... Wed Jul 28 22:26:44 2021 # user...... (null) # host...... (null) # target.... pole 22 diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv index ac4ccad4..9c16ca2e 100644 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.csv +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.csv @@ -1,4 +1,4 @@ -class,name, tilt_angle, tilt_direction, configuration, equipment_moment_nowind, install_year, repair_time,latitude,longitude,configuration,wind_speed, flags +class,name, tilt_angle, tilt_direction, configuration, equipment_moment_nowind, install_year, repair_time,latitude,longitude,configuration,wind_speed, //flags pole,pole1,5,270,WOOD-C-45/5,,1990,1 h,37.4275,122.1697,WOOD-C-45/5,0, NONE pole,pole2,8 deg,270,WOOD-C-45/5,,2000,8 h,37.127,122.1646,WOOD-C-45/5,0, NONE pole,pole3,8 deg,270,SYP-20/3,,2000,8 h,37.127,122.1646,SYP-20/3,0, NONE diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm index 2c9d96d4..1a9c84a3 100644 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm +++ b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm @@ -10,7 +10,7 @@ object pole { longitude 122.1697; configuration "WOOD-C-45/5"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole2"; @@ -23,7 +23,7 @@ object pole { longitude 122.1646; configuration "WOOD-C-45/5"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole3"; @@ -36,7 +36,7 @@ object pole { longitude 122.1646; configuration "SYP-20/3"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole4"; @@ -49,7 +49,7 @@ object pole { longitude 122.1646; configuration "SYP-25/3"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole5"; @@ -62,7 +62,7 @@ object pole { longitude 122.1646; configuration "SYP-50/3"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole6"; @@ -75,7 +75,7 @@ object pole { longitude 122.1646; configuration "SYP-35/5"; wind_speed 0; - flags VERBOSE; + //flags VERBOSE; } object pole { name "pole7"; @@ -89,7 +89,7 @@ object pole { longitude 122.1646; configuration "SYP-80/H-2"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole8"; @@ -102,7 +102,7 @@ object pole { longitude 122.1646; configuration "SYP-90/H-2"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole9"; @@ -115,7 +115,7 @@ object pole { longitude 122.1646; configuration "SYP-100/H-2"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole10"; @@ -128,7 +128,7 @@ object pole { longitude 122.1646; configuration "SYP-110/H-3"; wind_speed 0; - flags NONE; + //flags NONE; } object pole { name "pole11"; @@ -141,5 +141,5 @@ object pole { longitude 122.1646; configuration "SYP-120/H-4"; wind_speed 0; - flags NONE; + //flags NONE; } From 0328961c6741cc2db5e94410677dfa42182802f9 Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Sun, 1 Aug 2021 17:43:49 -0700 Subject: [PATCH 28/82] Now outputs final .csv file with combined info --- .../.~lock.Pole_Output_Sample.xls# | 1 - US/CA/SLAC/anticipation/Design - Pole.csv | 32 ++++-- .../SLAC/anticipation/Design - Structure.csv | 102 +++++++++--------- US/CA/SLAC/anticipation/Sample_Output.csv | 71 ++++++++++++ .../SLAC/anticipation/pole_file_converter.py | 29 +++-- 5 files changed, 166 insertions(+), 69 deletions(-) delete mode 100644 US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# create mode 100644 US/CA/SLAC/anticipation/Sample_Output.csv diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# deleted file mode 100644 index 3153cd2d..00000000 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ /dev/null @@ -1 +0,0 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,27.07.2021 13:38,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index ee337a86..20b63dfb 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,11 +1,21 @@ -,,Species,length,Class,depth,ground_diameter,tilt_angle,tilt_direction,fiber_strength,latitude,longitude -1,XXXXXXE,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,12 deg,0 deg,6000.5 psi,00.0000,-000.0000 -2,,Western Red Cedar,75.5 ft,2,9.5 ft,75.0 in,8 deg,nan,6000 psi,00.0000,-000.0000 -3,,Western Red Cedar,400.0 in,3,334.0 in,75.0 in,5 deg,5.56 rad,6000 atm,00.0000,-000.0000 -4,,Western Red Cedar,75.5 ft,1,9.08 ft,75.0 in,8.5 deg,0 deg,6000.5 psi,00.0000,-000.0000 -5,,Western Red Cedar,75.5 ft,1,69.5 ft,75.0 in,3 deg,0 deg,6000.5 psi,00.0000,-000.0000 -6,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,55 deg,0 deg,6000.5 psi,00.0000,-000.0000 -7,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,123 deg,0 deg,6000.5 psi,00.0000,-000.0000 -8,,Western Red Cedar,75.5 ft,1,9.5 ft,75.0 in,nan,0 deg,nan,00.0000,-000.0000 -9,,Western Red Cedar,nan,1,nan,75.0 in,nan,0 deg,5 psi,00.0000,-000.0000 -10,,Western Red Cedar,nan,1,nan,75.0 in,nan,0 deg,nan,00.0000,-000.0000 +,tilt_angle,tilt_direction,latitude,longitude,class,length,depth,ground_diameter,fiber_strength +0,12 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, +1,8 deg,nan,00.0000,-000.0000,poleflow.pole_configuration,,,, +2,5 deg,5.56 rad,00.0000,-000.0000,poleflow.pole_configuration,,,, +3,8.5 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, +4,3 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, +5,55 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, +6,123 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, +7,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, +8,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, +9,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, +10,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi +11,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000 psi +12,,,,,poleflow.pole,400.0 in,334.0 in,75.0 in,6000 atm +13,,,,,poleflow.pole,75.5 ft,9.08 ft,75.0 in,6000.5 psi +14,,,,,poleflow.pole,75.5 ft,69.5 ft,75.0 in,6000.5 psi +15,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi +16,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi +17,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,nan +18,,,,,poleflow.pole,nan,nan,75.0 in,5 psi +19,,,,,poleflow.pole,nan,nan,75.0 in,nan diff --git a/US/CA/SLAC/anticipation/Design - Structure.csv b/US/CA/SLAC/anticipation/Design - Structure.csv index 774485b3..94800267 100644 --- a/US/CA/SLAC/anticipation/Design - Structure.csv +++ b/US/CA/SLAC/anticipation/Design - Structure.csv @@ -1,51 +1,51 @@ -,//ID#,Size,Height,Direction,Offset/Lead,//Owner,//Type,//Related -1,Insulator#7,66 kV Horizontal Line Post ,64.0 ft,0 deg,nan,Utility,Bracket,"Wire#1, Wire#15" -2,Wire#15,653.9 ACSR,63.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -3,Wire#1,653.9 ACSR,63.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -4,Insulator#8,66 kV Horizontal Line Post ,59.0 ft,0 deg,nan,Utility,Bracket,"Wire#2, Wire#16" -5,Wire#16,653.9 ACSR,58.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -6,Wire#2,653.9 ACSR,58.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -7,Insulator#9,66 kV Horizontal Line Post ,54.0 ft,0 deg,nan,Utility,Bracket,"Wire#3, Wire#17" -8,Wire#17,653.9 ACSR,53.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -9,Wire#3,653.9 ACSR,53.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -10,Wire#26,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -11,Wire#11,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -12,Wire#25,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -13,Wire#10,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -14,Wire#24,336.4 ACSR Merlin,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -15,Wire#9,336.4 ACSR Merlin,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -16,Wire#23,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -17,Wire#8,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -18,CrossArm#1,10 Foot Cross Arm,40.5 ft,180 deg,5.0 ft,Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4" -19,Equip#2,Fuse Arm with 2 Cutouts,40.5 ft,180 deg,nan,Utility,Cutout Arrestor, -20,Insulator#4,12 kV Pin (Cross Arm),40.5 ft,180 deg,9.67 ft,Utility,Pin,"Wire#11, Wire#26" -21,Insulator#3,12 kV Pin (Cross Arm),40.5 ft,180 deg,6.67 ft,Utility,Pin,"Wire#10, Wire#25" -22,Insulator#2,12 kV Pin (Cross Arm),40.5 ft,180 deg,3.33 ft,Utility,Pin,"Wire#9, Wire#24" -23,Insulator#1,12 kV Pin (Cross Arm),40.5 ft,180 deg,0.33 ft,Utility,Pin,"Wire#8, Wire#23" -24,Equip#3,25 kVA Transformer,37.5 ft,90 deg,nan,Utility,Transformer, -25,Insulator#15,"3"" Clevis Insulator",33.0 ft,90 deg,nan,Utility,Clamp,Wire#12 -26,Insulator#10,"3"" Clevis Insulator",33.0 ft,0 deg,nan,Utility,Clamp,Wire#18 -27,Wire#12,6 Al. Triplex,33.0 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -28,Wire#18,6 Al. Duplex,33.0 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -29,Equip#1,Roadway - 6 ft,27.0 ft,0 deg,nan,Utility,Street Light, -30,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2 -31,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1 -32,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2 -33,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1 -34,CrossArm#2,10 Foot Cross Arm,26.0 ft,180 deg,5.0 ft,Utility,,"Insulator#5, Insulator#6" -35,Insulator#6,3 Bolt Suspension Clamp,26.0 ft,180 deg,0.33 ft,Utility,Clamp,"Wire#14, Wire#28" -36,Insulator#5,3 Bolt Suspension Clamp,26.0 ft,180 deg,9.67 ft,Utility,Clamp,"Wire#13, Wire#27" -37,Insulator#11,3 Bolt Suspension Clamp,25.0 ft,0 deg,nan,Unknown,Clamp,"Wire#4, Wire#19" -38,Wire#19,"1.5"" TELCO 5/16"" Messenger",25.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 -39,Wire#4,"1.5"" TELCO 5/16"" Messenger",25.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 -40,Insulator#12,3 Bolt Suspension Clamp,24.0 ft,0 deg,nan,Unknown,Clamp,"Wire#5, Wire#20" -41,Wire#20,"1"" TELCO 5/16"" Messenger",24.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 -42,Wire#5,"1"" TELCO 5/16"" Messenger",24.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 -43,Insulator#13,3 Bolt Suspension Clamp,23.0 ft,0 deg,nan,Unknown,Clamp,"Wire#6, Wire#21" -44,Wire#21,"2"" CATV 1/4"" Messenger",23.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 -45,Wire#6,"2"" CATV 1/4"" Messenger",23.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 -46,Insulator#14,3 Bolt Suspension Clamp,21.5 ft,0 deg,nan,Unknown,Clamp,"Wire#7, Wire#22" -47,Wire#22,"1.5"" TELCO 5/16"" Messenger",21.5 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 -48,Wire#7,"1.5"" TELCO 5/16"" Messenger",21.5 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 -49,WEP#2,,nan,270 deg,204.0 ft,,Previous Pole, -50,WEP#1,,nan,90 deg,180.0 ft,,Next Pole, +,ID#,Size,Height,Direction,Offset/Lead,Owner,Type,Related,class +1,Insulator#7,66 kV Horizontal Line Post ,64.0 ft,0 deg,nan,Utility,Bracket,"Wire#1, Wire#15",powerflow.pole_mount +2,Wire#15,653.9 ACSR,63.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount +3,Wire#1,653.9 ACSR,63.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount +4,Insulator#8,66 kV Horizontal Line Post ,59.0 ft,0 deg,nan,Utility,Bracket,"Wire#2, Wire#16",powerflow.pole_mount +5,Wire#16,653.9 ACSR,58.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount +6,Wire#2,653.9 ACSR,58.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount +7,Insulator#9,66 kV Horizontal Line Post ,54.0 ft,0 deg,nan,Utility,Bracket,"Wire#3, Wire#17",powerflow.pole_mount +8,Wire#17,653.9 ACSR,53.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount +9,Wire#3,653.9 ACSR,53.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount +10,Wire#26,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount +11,Wire#11,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount +12,Wire#25,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount +13,Wire#10,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount +14,Wire#24,336.4 ACSR Merlin,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount +15,Wire#9,336.4 ACSR Merlin,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount +16,Wire#23,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount +17,Wire#8,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount +18,CrossArm#1,10 Foot Cross Arm,40.5 ft,180 deg,5.0 ft,Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4",powerflow.pole_mount +19,Equip#2,Fuse Arm with 2 Cutouts,40.5 ft,180 deg,nan,Utility,Cutout Arrestor,,powerflow.pole_mount +20,Insulator#4,12 kV Pin (Cross Arm),40.5 ft,180 deg,9.67 ft,Utility,Pin,"Wire#11, Wire#26",powerflow.pole_mount +21,Insulator#3,12 kV Pin (Cross Arm),40.5 ft,180 deg,6.67 ft,Utility,Pin,"Wire#10, Wire#25",powerflow.pole_mount +22,Insulator#2,12 kV Pin (Cross Arm),40.5 ft,180 deg,3.33 ft,Utility,Pin,"Wire#9, Wire#24",powerflow.pole_mount +23,Insulator#1,12 kV Pin (Cross Arm),40.5 ft,180 deg,0.33 ft,Utility,Pin,"Wire#8, Wire#23",powerflow.pole_mount +24,Equip#3,25 kVA Transformer,37.5 ft,90 deg,nan,Utility,Transformer,,powerflow.pole_mount +25,Insulator#15,"3"" Clevis Insulator",33.0 ft,90 deg,nan,Utility,Clamp,Wire#12,powerflow.pole_mount +26,Insulator#10,"3"" Clevis Insulator",33.0 ft,0 deg,nan,Utility,Clamp,Wire#18,powerflow.pole_mount +27,Wire#12,6 Al. Triplex,33.0 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount +28,Wire#18,6 Al. Duplex,33.0 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount +29,Equip#1,Roadway - 6 ft,27.0 ft,0 deg,nan,Utility,Street Light,,powerflow.pole_mount +30,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2,powerflow.pole_mount +31,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1,powerflow.pole_mount +32,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2,powerflow.pole_mount +33,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1,powerflow.pole_mount +34,CrossArm#2,10 Foot Cross Arm,26.0 ft,180 deg,5.0 ft,Utility,,"Insulator#5, Insulator#6",powerflow.pole_mount +35,Insulator#6,3 Bolt Suspension Clamp,26.0 ft,180 deg,0.33 ft,Utility,Clamp,"Wire#14, Wire#28",powerflow.pole_mount +36,Insulator#5,3 Bolt Suspension Clamp,26.0 ft,180 deg,9.67 ft,Utility,Clamp,"Wire#13, Wire#27",powerflow.pole_mount +37,Insulator#11,3 Bolt Suspension Clamp,25.0 ft,0 deg,nan,Unknown,Clamp,"Wire#4, Wire#19",powerflow.pole_mount +38,Wire#19,"1.5"" TELCO 5/16"" Messenger",25.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2,powerflow.pole_mount +39,Wire#4,"1.5"" TELCO 5/16"" Messenger",25.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1,powerflow.pole_mount +40,Insulator#12,3 Bolt Suspension Clamp,24.0 ft,0 deg,nan,Unknown,Clamp,"Wire#5, Wire#20",powerflow.pole_mount +41,Wire#20,"1"" TELCO 5/16"" Messenger",24.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2,powerflow.pole_mount +42,Wire#5,"1"" TELCO 5/16"" Messenger",24.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1,powerflow.pole_mount +43,Insulator#13,3 Bolt Suspension Clamp,23.0 ft,0 deg,nan,Unknown,Clamp,"Wire#6, Wire#21",powerflow.pole_mount +44,Wire#21,"2"" CATV 1/4"" Messenger",23.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2,powerflow.pole_mount +45,Wire#6,"2"" CATV 1/4"" Messenger",23.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1,powerflow.pole_mount +46,Insulator#14,3 Bolt Suspension Clamp,21.5 ft,0 deg,nan,Unknown,Clamp,"Wire#7, Wire#22",powerflow.pole_mount +47,Wire#22,"1.5"" TELCO 5/16"" Messenger",21.5 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2,powerflow.pole_mount +48,Wire#7,"1.5"" TELCO 5/16"" Messenger",21.5 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1,powerflow.pole_mount +49,WEP#2,,nan,270 deg,204.0 ft,,Previous Pole,,powerflow.pole_mount +50,WEP#1,,nan,90 deg,180.0 ft,,Next Pole,,powerflow.pole_mount diff --git a/US/CA/SLAC/anticipation/Sample_Output.csv b/US/CA/SLAC/anticipation/Sample_Output.csv new file mode 100644 index 00000000..e24b55c8 --- /dev/null +++ b/US/CA/SLAC/anticipation/Sample_Output.csv @@ -0,0 +1,71 @@ +,tilt_angle,tilt_direction,latitude,longitude,class,length,depth,ground_diameter,fiber_strength,ID#,Size,Height,Direction,Offset/Lead,Owner,Type,Related +0,12 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +1,8 deg,nan,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +2,5 deg,5.56 rad,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +3,8.5 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +4,3 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +5,55 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +6,123 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +7,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +8,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +9,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,,,,,,,,,, +10,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi,,,,,,,, +11,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000 psi,,,,,,,, +12,,,,,poleflow.pole,400.0 in,334.0 in,75.0 in,6000 atm,,,,,,,, +13,,,,,poleflow.pole,75.5 ft,9.08 ft,75.0 in,6000.5 psi,,,,,,,, +14,,,,,poleflow.pole,75.5 ft,69.5 ft,75.0 in,6000.5 psi,,,,,,,, +15,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi,,,,,,,, +16,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi,,,,,,,, +17,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,nan,,,,,,,, +18,,,,,poleflow.pole,nan,nan,75.0 in,5 psi,,,,,,,, +19,,,,,poleflow.pole,nan,nan,75.0 in,nan,,,,,,,, +20,,,,,powerflow.pole_mount,,,,,Insulator#7,66 kV Horizontal Line Post ,64.0 ft,0 deg,nan,Utility,Bracket,"Wire#1, Wire#15" +21,,,,,powerflow.pole_mount,,,,,Wire#15,653.9 ACSR,63.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +22,,,,,powerflow.pole_mount,,,,,Wire#1,653.9 ACSR,63.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +23,,,,,powerflow.pole_mount,,,,,Insulator#8,66 kV Horizontal Line Post ,59.0 ft,0 deg,nan,Utility,Bracket,"Wire#2, Wire#16" +24,,,,,powerflow.pole_mount,,,,,Wire#16,653.9 ACSR,58.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +25,,,,,powerflow.pole_mount,,,,,Wire#2,653.9 ACSR,58.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +26,,,,,powerflow.pole_mount,,,,,Insulator#9,66 kV Horizontal Line Post ,54.0 ft,0 deg,nan,Utility,Bracket,"Wire#3, Wire#17" +27,,,,,powerflow.pole_mount,,,,,Wire#17,653.9 ACSR,53.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +28,,,,,powerflow.pole_mount,,,,,Wire#3,653.9 ACSR,53.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +29,,,,,powerflow.pole_mount,,,,,Wire#26,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +30,,,,,powerflow.pole_mount,,,,,Wire#11,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +31,,,,,powerflow.pole_mount,,,,,Wire#25,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +32,,,,,powerflow.pole_mount,,,,,Wire#10,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +33,,,,,powerflow.pole_mount,,,,,Wire#24,336.4 ACSR Merlin,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +34,,,,,powerflow.pole_mount,,,,,Wire#9,336.4 ACSR Merlin,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +35,,,,,powerflow.pole_mount,,,,,Wire#23,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +36,,,,,powerflow.pole_mount,,,,,Wire#8,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +37,,,,,powerflow.pole_mount,,,,,CrossArm#1,10 Foot Cross Arm,40.5 ft,180 deg,5.0 ft,Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4" +38,,,,,powerflow.pole_mount,,,,,Equip#2,Fuse Arm with 2 Cutouts,40.5 ft,180 deg,nan,Utility,Cutout Arrestor, +39,,,,,powerflow.pole_mount,,,,,Insulator#4,12 kV Pin (Cross Arm),40.5 ft,180 deg,9.67 ft,Utility,Pin,"Wire#11, Wire#26" +40,,,,,powerflow.pole_mount,,,,,Insulator#3,12 kV Pin (Cross Arm),40.5 ft,180 deg,6.67 ft,Utility,Pin,"Wire#10, Wire#25" +41,,,,,powerflow.pole_mount,,,,,Insulator#2,12 kV Pin (Cross Arm),40.5 ft,180 deg,3.33 ft,Utility,Pin,"Wire#9, Wire#24" +42,,,,,powerflow.pole_mount,,,,,Insulator#1,12 kV Pin (Cross Arm),40.5 ft,180 deg,0.33 ft,Utility,Pin,"Wire#8, Wire#23" +43,,,,,powerflow.pole_mount,,,,,Equip#3,25 kVA Transformer,37.5 ft,90 deg,nan,Utility,Transformer, +44,,,,,powerflow.pole_mount,,,,,Insulator#15,"3"" Clevis Insulator",33.0 ft,90 deg,nan,Utility,Clamp,Wire#12 +45,,,,,powerflow.pole_mount,,,,,Insulator#10,"3"" Clevis Insulator",33.0 ft,0 deg,nan,Utility,Clamp,Wire#18 +46,,,,,powerflow.pole_mount,,,,,Wire#12,6 Al. Triplex,33.0 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 +47,,,,,powerflow.pole_mount,,,,,Wire#18,6 Al. Duplex,33.0 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 +48,,,,,powerflow.pole_mount,,,,,Equip#1,Roadway - 6 ft,27.0 ft,0 deg,nan,Utility,Street Light, +49,,,,,powerflow.pole_mount,,,,,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2 +50,,,,,powerflow.pole_mount,,,,,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1 +51,,,,,powerflow.pole_mount,,,,,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2 +52,,,,,powerflow.pole_mount,,,,,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1 +53,,,,,powerflow.pole_mount,,,,,CrossArm#2,10 Foot Cross Arm,26.0 ft,180 deg,5.0 ft,Utility,,"Insulator#5, Insulator#6" +54,,,,,powerflow.pole_mount,,,,,Insulator#6,3 Bolt Suspension Clamp,26.0 ft,180 deg,0.33 ft,Utility,Clamp,"Wire#14, Wire#28" +55,,,,,powerflow.pole_mount,,,,,Insulator#5,3 Bolt Suspension Clamp,26.0 ft,180 deg,9.67 ft,Utility,Clamp,"Wire#13, Wire#27" +56,,,,,powerflow.pole_mount,,,,,Insulator#11,3 Bolt Suspension Clamp,25.0 ft,0 deg,nan,Unknown,Clamp,"Wire#4, Wire#19" +57,,,,,powerflow.pole_mount,,,,,Wire#19,"1.5"" TELCO 5/16"" Messenger",25.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 +58,,,,,powerflow.pole_mount,,,,,Wire#4,"1.5"" TELCO 5/16"" Messenger",25.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 +59,,,,,powerflow.pole_mount,,,,,Insulator#12,3 Bolt Suspension Clamp,24.0 ft,0 deg,nan,Unknown,Clamp,"Wire#5, Wire#20" +60,,,,,powerflow.pole_mount,,,,,Wire#20,"1"" TELCO 5/16"" Messenger",24.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 +61,,,,,powerflow.pole_mount,,,,,Wire#5,"1"" TELCO 5/16"" Messenger",24.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 +62,,,,,powerflow.pole_mount,,,,,Insulator#13,3 Bolt Suspension Clamp,23.0 ft,0 deg,nan,Unknown,Clamp,"Wire#6, Wire#21" +63,,,,,powerflow.pole_mount,,,,,Wire#21,"2"" CATV 1/4"" Messenger",23.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 +64,,,,,powerflow.pole_mount,,,,,Wire#6,"2"" CATV 1/4"" Messenger",23.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 +65,,,,,powerflow.pole_mount,,,,,Insulator#14,3 Bolt Suspension Clamp,21.5 ft,0 deg,nan,Unknown,Clamp,"Wire#7, Wire#22" +66,,,,,powerflow.pole_mount,,,,,Wire#22,"1.5"" TELCO 5/16"" Messenger",21.5 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 +67,,,,,powerflow.pole_mount,,,,,Wire#7,"1.5"" TELCO 5/16"" Messenger",21.5 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 +68,,,,,powerflow.pole_mount,,,,,WEP#2,,nan,270 deg,204.0 ft,,Previous Pole, +69,,,,,powerflow.pole_mount,,,,,WEP#1,,nan,90 deg,180.0 ft,,Next Pole, diff --git a/US/CA/SLAC/anticipation/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_file_converter.py index a91da602..47794cd2 100644 --- a/US/CA/SLAC/anticipation/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_file_converter.py @@ -237,13 +237,22 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s # Rename columns to its corresponding column name in Gridlabd. +# I believe class in the file is referring to grade, so it is renamed. df_current_sheet.rename(columns = {'Lean Angle': 'tilt_angle', - 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength', 'Length' : 'length', 'GLC' : 'ground_diameter', 'AGL' : 'depth'}, inplace=True) + 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength', 'Length' : 'length', 'GLC' : 'ground_diameter', 'AGL' : 'depth', 'Class': "grade"}, inplace=True) # Split GPS Point into longitude and latitude df_current_sheet[['latitude','longitude']] = df_current_sheet['GPS Point'].str.split(' , ', expand=True) # Remove original GPS Point column df_current_sheet.drop(columns = {'GPS Point', 'Allowable Stress Adjustment'},axis=1,inplace=True) +# Split the dataframe based on properties of pole_library and pole_config and recombine. +df_pole_library = df_current_sheet[['length', 'depth', 'ground_diameter', 'fiber_strength']] +df_pole_config = df_current_sheet[['tilt_angle', 'tilt_direction', 'latitude', 'longitude']] +df_pole_library['class'] = ['poleflow.pole'] * len(df_pole_library) +df_pole_config['class'] = ['poleflow.pole_configuration'] * len(df_pole_config) +df['Design - Pole']= pd.concat([df_pole_config, df_pole_library], axis=0, ignore_index=True) + + #Todo #Handle Species column. It is a property in pole_library_config rather than pole_vulnerability_config. @@ -260,19 +269,27 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s # Do I handle the weight and parse_column(df_current_sheet, 'Direction', parse_angle) -# Comment out some columns -df_current_sheet.rename(columns = {'ID#': '//ID#', - 'Owner': '//Owner', 'Type': '//Type', 'Related' : '//Related'}, inplace=True) +# Add 'class' column to 'Design - Strucuture'. +df_current_sheet['class'] = ['powerflow.pole_mount'] * len(df_current_sheet) +# Keep track of final df to output at the end. +df_final = pd.concat([df['Design - Pole'], df_current_sheet], axis=0, ignore_index=True) +# Comment out some columns +# get cable information from GLM +# cable_info = gridlabd.get_object(cable_type) -# Finally create the csv files. +# Create the intermediate csv files. May not be necessary. for key in df: df[key].to_csv('%s.csv' %key) -print(df_current_sheet) + +#c Create final csv file. +df_final.to_csv('Sample_Output.csv') + +print(df_final) From 11bd2852269c2a2632b2ce0039d17d7847941123 Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Thu, 5 Aug 2021 18:41:23 -0700 Subject: [PATCH 29/82] added parsing from circumference to diameter --- .../.~lock.Pole_Output_Sample.xls# | 1 + US/CA/SLAC/anticipation/Design - Pole.csv | 40 +- .../SLAC/anticipation/Design - Structure.csv | 2 +- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 19456 -> 19456 bytes US/CA/SLAC/anticipation/Sample_Output.csv | 142 ++-- US/CA/SLAC/anticipation/Sample_Output.glm | 680 ++++++++++++++++++ US/CA/SLAC/anticipation/anticipation.glm | 12 +- .../SLAC/anticipation/pole_file_converter.py | 79 +- US/CA/SLAC/anticipation/pole_outputs.csv | 2 +- 9 files changed, 850 insertions(+), 108 deletions(-) create mode 100644 US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# create mode 100644 US/CA/SLAC/anticipation/Sample_Output.glm diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# new file mode 100644 index 00000000..b07cd8d3 --- /dev/null +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -0,0 +1 @@ +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,05.08.2021 17:33,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index 20b63dfb..5ae62fc2 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,21 +1,21 @@ ,tilt_angle,tilt_direction,latitude,longitude,class,length,depth,ground_diameter,fiber_strength -0,12 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, -1,8 deg,nan,00.0000,-000.0000,poleflow.pole_configuration,,,, -2,5 deg,5.56 rad,00.0000,-000.0000,poleflow.pole_configuration,,,, -3,8.5 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, -4,3 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, -5,55 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, -6,123 deg,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, -7,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, -8,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, -9,nan,0 deg,00.0000,-000.0000,poleflow.pole_configuration,,,, -10,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi -11,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000 psi -12,,,,,poleflow.pole,400.0 in,334.0 in,75.0 in,6000 atm -13,,,,,poleflow.pole,75.5 ft,9.08 ft,75.0 in,6000.5 psi -14,,,,,poleflow.pole,75.5 ft,69.5 ft,75.0 in,6000.5 psi -15,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi -16,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,6000.5 psi -17,,,,,poleflow.pole,75.5 ft,9.5 ft,75.0 in,nan -18,,,,,poleflow.pole,nan,nan,75.0 in,5 psi -19,,,,,poleflow.pole,nan,nan,75.0 in,nan +0,12 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, +1,8 deg,nan,0.0,-0.0,powerflow.pole_configuration,,,, +2,5 deg,5.56 rad,0.0,-0.0,powerflow.pole_configuration,,,, +3,8.5 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, +4,3 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, +5,55 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, +6,123 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, +7,nan,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, +8,nan,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, +9,nan,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, +10,,,,,powerflow.pole,75.5 ft,9.5 ft,23.87 in,6000.5 psi +11,,,,,powerflow.pole,75.5 ft,9.5 ft,23.87 in,6000 psi +12,,,,,powerflow.pole,400.0 in,nan,23.87 in,6000 atm +13,,,,,powerflow.pole,75.5 ft,9.08 ft,23.87 in,6000.5 psi +14,,,,,powerflow.pole,75.5 ft,69.5 ft,23.87 in,6000.5 psi +15,,,,,powerflow.pole,75.5 ft,9.5 ft,nan,6000.5 psi +16,,,,,powerflow.pole,75.5 ft,9.5 ft,23.87 in,6000.5 psi +17,,,,,powerflow.pole,75.5 ft,9.5 ft,23.87 in,nan +18,,,,,powerflow.pole,nan,nan,23.87 in,5 psi +19,,,,,powerflow.pole,nan,nan,23.87 in,nan diff --git a/US/CA/SLAC/anticipation/Design - Structure.csv b/US/CA/SLAC/anticipation/Design - Structure.csv index 94800267..e4100a69 100644 --- a/US/CA/SLAC/anticipation/Design - Structure.csv +++ b/US/CA/SLAC/anticipation/Design - Structure.csv @@ -1,4 +1,4 @@ -,ID#,Size,Height,Direction,Offset/Lead,Owner,Type,Related,class +,id,size,height,direction,offset/lead,owner,type,related,class 1,Insulator#7,66 kV Horizontal Line Post ,64.0 ft,0 deg,nan,Utility,Bracket,"Wire#1, Wire#15",powerflow.pole_mount 2,Wire#15,653.9 ACSR,63.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount 3,Wire#1,653.9 ACSR,63.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls index 7ac989c7c671f398aab43cdd66a1bb16dd231db7..a526e4e3feb1dc5eaf0b6c8a571f322220c215ce 100644 GIT binary patch literal 19456 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 delta 5204 zcmY+I*>hAy6vq2zCYdCY$<0C*GMUU|lFX9HY>6xhAPItkfT9>tk;MfOWf4&n6~pSr zqS&Y)f}$uQBA5}Xe4xsIfb!8N9w>_!t9alItE9^AGpEn(167%PxBLFSbH2W}@6GHw z=IlD=TuKBx-f@Nc7ZUT=ZQHPZb1WNMwq@hG{h~wsBS(V~=b&62l!4VX`3fPflVrt8%NFR6h%@MN)3|oDK$jOuhczqX}FR6g|?5pzgs#=WF8V=gJ5Qlq5&N{z^DB0N4u$255! zD!=-Si2F#{WWTVXH zUFtg^%H&%~ukQemP2bf(UV`LmAe;5B2J%ulmePH%N_l-(1LGk)s|FYkld`L;0md>K zv-_^W>aHoW>AQyYt?vL=Jc4J}vc78>xt8@^i{v?JkF0M;m)1K7cz-n#;@>57|WN9=qawDs`5y?vjyqX(X%}qdFiR30mZervn zR&x`QuUh0LR&z6upGI;skXMn?Ij<(Auje(S^tG{8X0ze(5jv*tlxI*)QJ=1OmXyA` zpCe_Hr$EhyJOyh$smRaMd`&h!EkIs}V=Ykg3#4pv3nRAxdA$tf!s9Q}d`;efs#Sfu z;w4hLW8M&R2+kw1QuF899v;+B7WK9L~Hd31W8Y!Lg>!j?b$5bGX$ZLwcoo3i8*rATP z;td?@fE9d`lqT;WWs^IQJf{#Iev4*k^4qAw>eChPkkU09av0LsA&(UFbLm1MJZ>0a z=zAxg)d>tk?1bvxr7^p@PDs?eEp%dak)n4WcLLcwH6uVaJ`o^KAURU5j+FiMh#>h; z(R&_8fNb7yx`4b3&+Y>9Zc@7DJ@Q6T_kFh*p4dwx_NqkHQCIB4u_!S1lhTa$NZHjz z%hl0XrJDIZsVb$+Q#x9%S-(6~S2T#2+!}8#O%CpHCO*LVG3FYBOpI%cr5$6gG4;0V zxyIBBwC5UQYtXHnT=60Lb(j6jB6KsuZZI6Bsqi=?WgB)g!)~@Tadn0(KEm_jtid?? zDS!RqA7>rLS%-1fVVoJpS%*DfcmNH1z|idJJz#i{#`HR_5uy(4d%$q5ygJR>)O!GZ z2v6t*^kGu^_WGEVzC;YV7g|whAol`!tISUKZn|C|e}Xgm)Tb+skg~~rtmr;Q?gR3A zd2+h9CG-LLQ)DH8EJ@kq1dxx)+tb4n=JAq%pg*Je`cg6*MFPm5u0U> z^X&RrcKs~73>bcm&n+2z6Tth_PeWtV5@Jj*T*7CH!q-b}p<{!C-|+Asn3LttpOj3H(?qzq&9=02o4jM1(%qzq%?0z!wB zVTUzSe+BjnjRnM17`v(3b<|P)4Oc+OJF~awzsNzVAF_5VUOGDGjHABk8lIa;UR1|) zK>C}mc5z8htEf`HS146J?o+@0Di6%<9-hRx6>79qlt}6C!MriQHRe-uBH}lBbM7MN zvdoX_x2whaXKDTDaYq*X)syo!_(JN68&xxRtvWY8t4eNP&{Zu?ZC;Yx` Date: Fri, 6 Aug 2021 10:39:12 -0700 Subject: [PATCH 30/82] fixed pole_mount error --- US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# | 1 - US/CA/SLAC/anticipation/anticipation.glm | 1 - US/CA/SLAC/anticipation/pole_file_converter.py | 2 ++ US/CA/SLAC/anticipation/pole_outputs.csv | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# deleted file mode 100644 index b07cd8d3..00000000 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ /dev/null @@ -1 +0,0 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,05.08.2021 17:33,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index 5d9b44ff..41ae9ec4 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -35,7 +35,6 @@ class pole_mount char32 type; char1024 related; char32 id; - char32 offset/lead; } // load the gridlabd-python module diff --git a/US/CA/SLAC/anticipation/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_file_converter.py index 4933fde3..43ee9c4e 100644 --- a/US/CA/SLAC/anticipation/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_file_converter.py @@ -342,6 +342,8 @@ def parse_circumference_to_diamater(cell_string, current_column, current_row): #c Create final csv file. df_final.to_csv('Sample_Output.csv') +#disable index + diff --git a/US/CA/SLAC/anticipation/pole_outputs.csv b/US/CA/SLAC/anticipation/pole_outputs.csv index 46c5cadc..b5510b1c 100644 --- a/US/CA/SLAC/anticipation/pole_outputs.csv +++ b/US/CA/SLAC/anticipation/pole_outputs.csv @@ -1,5 +1,5 @@ # file...... pole_outputs.csv -# date...... Wed Aug 4 21:23:51 2021 +# date...... Fri Aug 6 17:38:50 2021 # user...... (null) # host...... (null) # target.... pole 22 From ac0e3fc2093f1807ad1a3d4adaee1cd1879c74bd Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Fri, 13 Aug 2021 14:27:31 -0700 Subject: [PATCH 31/82] added lat/long bounding and additional value checking --- .../.~lock.Pole_Output_Sample.xls# | 1 + US/CA/SLAC/anticipation/Design - Pole.csv | 24 +- .../SLAC/anticipation/Design - Structure.csv | 102 +- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 19456 -> 17920 bytes US/CA/SLAC/anticipation/Sample_Output.csv | 124 +- US/CA/SLAC/anticipation/Sample_Output.glm | 1144 +++++----- US/CA/SLAC/anticipation/anticipation.glm | 7 +- US/CA/SLAC/anticipation/gridlabd.json | 1857 +++++++++-------- .../SLAC/anticipation/pole_file_converter.py | 125 +- US/CA/SLAC/anticipation/pole_outputs.csv | 2 +- 10 files changed, 1659 insertions(+), 1727 deletions(-) create mode 100644 US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# new file mode 100644 index 00000000..31c6c785 --- /dev/null +++ b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# @@ -0,0 +1 @@ +a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,13.08.2021 14:25,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv index 5ae62fc2..cef9e95e 100644 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ b/US/CA/SLAC/anticipation/Design - Pole.csv @@ -1,21 +1,3 @@ -,tilt_angle,tilt_direction,latitude,longitude,class,length,depth,ground_diameter,fiber_strength -0,12 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, -1,8 deg,nan,0.0,-0.0,powerflow.pole_configuration,,,, -2,5 deg,5.56 rad,0.0,-0.0,powerflow.pole_configuration,,,, -3,8.5 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, -4,3 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, -5,55 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, -6,123 deg,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, -7,nan,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, -8,nan,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, -9,nan,0 deg,0.0,-0.0,powerflow.pole_configuration,,,, -10,,,,,powerflow.pole,75.5 ft,9.5 ft,23.87 in,6000.5 psi -11,,,,,powerflow.pole,75.5 ft,9.5 ft,23.87 in,6000 psi -12,,,,,powerflow.pole,400.0 in,nan,23.87 in,6000 atm -13,,,,,powerflow.pole,75.5 ft,9.08 ft,23.87 in,6000.5 psi -14,,,,,powerflow.pole,75.5 ft,69.5 ft,23.87 in,6000.5 psi -15,,,,,powerflow.pole,75.5 ft,9.5 ft,nan,6000.5 psi -16,,,,,powerflow.pole,75.5 ft,9.5 ft,23.87 in,6000.5 psi -17,,,,,powerflow.pole,75.5 ft,9.5 ft,23.87 in,nan -18,,,,,powerflow.pole,nan,nan,23.87 in,5 psi -19,,,,,powerflow.pole,nan,nan,23.87 in,nan +,pole_length,pole_depth,ground_diameter,fiber_strength,class,name,tilt_angle,tilt_direction,latitude,longitude,configuration +0,75.5 ft,9.5 ft,23.87 in,6000.5 psi,powerflow.pole_configuration,test_name,,,,, +1,,,,,powerflow.pole,pole_1,12 deg,0 deg,30.0,-70.0,test_name diff --git a/US/CA/SLAC/anticipation/Design - Structure.csv b/US/CA/SLAC/anticipation/Design - Structure.csv index e4100a69..920a410e 100644 --- a/US/CA/SLAC/anticipation/Design - Structure.csv +++ b/US/CA/SLAC/anticipation/Design - Structure.csv @@ -1,51 +1,51 @@ -,id,size,height,direction,offset/lead,owner,type,related,class -1,Insulator#7,66 kV Horizontal Line Post ,64.0 ft,0 deg,nan,Utility,Bracket,"Wire#1, Wire#15",powerflow.pole_mount -2,Wire#15,653.9 ACSR,63.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount -3,Wire#1,653.9 ACSR,63.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount -4,Insulator#8,66 kV Horizontal Line Post ,59.0 ft,0 deg,nan,Utility,Bracket,"Wire#2, Wire#16",powerflow.pole_mount -5,Wire#16,653.9 ACSR,58.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount -6,Wire#2,653.9 ACSR,58.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount -7,Insulator#9,66 kV Horizontal Line Post ,54.0 ft,0 deg,nan,Utility,Bracket,"Wire#3, Wire#17",powerflow.pole_mount -8,Wire#17,653.9 ACSR,53.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount -9,Wire#3,653.9 ACSR,53.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount -10,Wire#26,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount -11,Wire#11,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount -12,Wire#25,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount -13,Wire#10,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount -14,Wire#24,336.4 ACSR Merlin,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount -15,Wire#9,336.4 ACSR Merlin,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount -16,Wire#23,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount -17,Wire#8,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount -18,CrossArm#1,10 Foot Cross Arm,40.5 ft,180 deg,5.0 ft,Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4",powerflow.pole_mount -19,Equip#2,Fuse Arm with 2 Cutouts,40.5 ft,180 deg,nan,Utility,Cutout Arrestor,,powerflow.pole_mount -20,Insulator#4,12 kV Pin (Cross Arm),40.5 ft,180 deg,9.67 ft,Utility,Pin,"Wire#11, Wire#26",powerflow.pole_mount -21,Insulator#3,12 kV Pin (Cross Arm),40.5 ft,180 deg,6.67 ft,Utility,Pin,"Wire#10, Wire#25",powerflow.pole_mount -22,Insulator#2,12 kV Pin (Cross Arm),40.5 ft,180 deg,3.33 ft,Utility,Pin,"Wire#9, Wire#24",powerflow.pole_mount -23,Insulator#1,12 kV Pin (Cross Arm),40.5 ft,180 deg,0.33 ft,Utility,Pin,"Wire#8, Wire#23",powerflow.pole_mount -24,Equip#3,25 kVA Transformer,37.5 ft,90 deg,nan,Utility,Transformer,,powerflow.pole_mount -25,Insulator#15,"3"" Clevis Insulator",33.0 ft,90 deg,nan,Utility,Clamp,Wire#12,powerflow.pole_mount -26,Insulator#10,"3"" Clevis Insulator",33.0 ft,0 deg,nan,Utility,Clamp,Wire#18,powerflow.pole_mount -27,Wire#12,6 Al. Triplex,33.0 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1,powerflow.pole_mount -28,Wire#18,6 Al. Duplex,33.0 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2,powerflow.pole_mount -29,Equip#1,Roadway - 6 ft,27.0 ft,0 deg,nan,Utility,Street Light,,powerflow.pole_mount -30,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2,powerflow.pole_mount -31,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1,powerflow.pole_mount -32,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2,powerflow.pole_mount -33,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1,powerflow.pole_mount -34,CrossArm#2,10 Foot Cross Arm,26.0 ft,180 deg,5.0 ft,Utility,,"Insulator#5, Insulator#6",powerflow.pole_mount -35,Insulator#6,3 Bolt Suspension Clamp,26.0 ft,180 deg,0.33 ft,Utility,Clamp,"Wire#14, Wire#28",powerflow.pole_mount -36,Insulator#5,3 Bolt Suspension Clamp,26.0 ft,180 deg,9.67 ft,Utility,Clamp,"Wire#13, Wire#27",powerflow.pole_mount -37,Insulator#11,3 Bolt Suspension Clamp,25.0 ft,0 deg,nan,Unknown,Clamp,"Wire#4, Wire#19",powerflow.pole_mount -38,Wire#19,"1.5"" TELCO 5/16"" Messenger",25.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2,powerflow.pole_mount -39,Wire#4,"1.5"" TELCO 5/16"" Messenger",25.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1,powerflow.pole_mount -40,Insulator#12,3 Bolt Suspension Clamp,24.0 ft,0 deg,nan,Unknown,Clamp,"Wire#5, Wire#20",powerflow.pole_mount -41,Wire#20,"1"" TELCO 5/16"" Messenger",24.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2,powerflow.pole_mount -42,Wire#5,"1"" TELCO 5/16"" Messenger",24.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1,powerflow.pole_mount -43,Insulator#13,3 Bolt Suspension Clamp,23.0 ft,0 deg,nan,Unknown,Clamp,"Wire#6, Wire#21",powerflow.pole_mount -44,Wire#21,"2"" CATV 1/4"" Messenger",23.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2,powerflow.pole_mount -45,Wire#6,"2"" CATV 1/4"" Messenger",23.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1,powerflow.pole_mount -46,Insulator#14,3 Bolt Suspension Clamp,21.5 ft,0 deg,nan,Unknown,Clamp,"Wire#7, Wire#22",powerflow.pole_mount -47,Wire#22,"1.5"" TELCO 5/16"" Messenger",21.5 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2,powerflow.pole_mount -48,Wire#7,"1.5"" TELCO 5/16"" Messenger",21.5 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1,powerflow.pole_mount -49,WEP#2,,nan,270 deg,204.0 ft,,Previous Pole,,powerflow.pole_mount -50,WEP#1,,nan,90 deg,180.0 ft,,Next Pole,,powerflow.pole_mount +,id,height,direction,offset,type,related,parent,class,name +1,Insulator_7,64.0 ft,0 deg,,Bracket,"Wire_1,Wire_15",pole_1,powerflow.pole_mount,pole_mount_0 +2,Wire_15,63.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_1 +3,Wire_1,63.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_2 +4,Insulator_8,59.0 ft,0 deg,,Bracket,"Wire_2,Wire_16",pole_1,powerflow.pole_mount,pole_mount_3 +5,Wire_16,58.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_4 +6,Wire_2,58.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_5 +7,Insulator_9,54.0 ft,0 deg,,Bracket,"Wire_3,Wire_17",pole_1,powerflow.pole_mount,pole_mount_6 +8,Wire_17,53.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_7 +9,Wire_3,53.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_8 +10,Wire_26,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_9 +11,Wire_11,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_10 +12,Wire_25,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_11 +13,Wire_10,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_12 +14,Wire_24,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_13 +15,Wire_9,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_14 +16,Wire_23,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_15 +17,Wire_8,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_16 +18,CrossArm_1,40.5 ft,180 deg,5.0 ft,,"Insulator_1,Insulator_2,Insulator_3,Insulator_4",pole_1,powerflow.pole_mount,pole_mount_17 +19,Equip_2,40.5 ft,180 deg,,Cutout_Arrestor,nan,pole_1,powerflow.pole_mount,pole_mount_18 +20,Insulator_4,40.5 ft,180 deg,9.67 ft,Pin,"Wire_11,Wire_26",pole_1,powerflow.pole_mount,pole_mount_19 +21,Insulator_3,40.5 ft,180 deg,6.67 ft,Pin,"Wire_10,Wire_25",pole_1,powerflow.pole_mount,pole_mount_20 +22,Insulator_2,40.5 ft,180 deg,3.33 ft,Pin,"Wire_9,Wire_24",pole_1,powerflow.pole_mount,pole_mount_21 +23,Insulator_1,40.5 ft,180 deg,0.33 ft,Pin,"Wire_8,Wire_23",pole_1,powerflow.pole_mount,pole_mount_22 +24,Equip_3,37.5 ft,90 deg,,Transformer,nan,pole_1,powerflow.pole_mount,pole_mount_23 +25,Insulator_15,33.0 ft,90 deg,,Clamp,Wire_12,pole_1,powerflow.pole_mount,pole_mount_24 +26,Insulator_10,33.0 ft,0 deg,,Clamp,Wire_18,pole_1,powerflow.pole_mount,pole_mount_25 +27,Wire_12,33.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_26 +28,Wire_18,33.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_27 +29,Equip_1,27.0 ft,0 deg,,Street_Light,nan,pole_1,powerflow.pole_mount,pole_mount_28 +30,Wire_28,26.17 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_29 +31,Wire_14,26.17 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_30 +32,Wire_27,26.17 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_31 +33,Wire_13,26.17 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_32 +34,CrossArm_2,26.0 ft,180 deg,5.0 ft,,"Insulator_5,Insulator_6",pole_1,powerflow.pole_mount,pole_mount_33 +35,Insulator_6,26.0 ft,180 deg,0.33 ft,Clamp,"Wire_14,Wire_28",pole_1,powerflow.pole_mount,pole_mount_34 +36,Insulator_5,26.0 ft,180 deg,9.67 ft,Clamp,"Wire_13,Wire_27",pole_1,powerflow.pole_mount,pole_mount_35 +37,Insulator_11,25.0 ft,0 deg,,Clamp,"Wire_4,Wire_19",pole_1,powerflow.pole_mount,pole_mount_36 +38,Wire_19,25.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_37 +39,Wire_4,25.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_38 +40,Insulator_12,24.0 ft,0 deg,,Clamp,"Wire_5,Wire_20",pole_1,powerflow.pole_mount,pole_mount_39 +41,Wire_20,24.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_40 +42,Wire_5,24.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_41 +43,Insulator_13,23.0 ft,0 deg,,Clamp,"Wire_6,Wire_21",pole_1,powerflow.pole_mount,pole_mount_42 +44,Wire_21,23.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_43 +45,Wire_6,23.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_44 +46,Insulator_14,21.5 ft,0 deg,,Clamp,"Wire_7,Wire_22",pole_1,powerflow.pole_mount,pole_mount_45 +47,Wire_22,21.5 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_46 +48,Wire_7,21.5 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_47 +49,WEP_2,,270 deg,204.0 ft,Previous_Pole,nan,pole_1,powerflow.pole_mount,pole_mount_48 +50,WEP_1,,90 deg,180.0 ft,Next_Pole,nan,pole_1,powerflow.pole_mount,pole_mount_49 diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls index a526e4e3feb1dc5eaf0b6c8a571f322220c215ce..1e31414309385990a7e4f82e6adb00217b37acf2 100644 GIT binary patch literal 17920 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 diff --git a/US/CA/SLAC/anticipation/Sample_Output.csv b/US/CA/SLAC/anticipation/Sample_Output.csv index 37fa821a..9e1647a9 100644 --- a/US/CA/SLAC/anticipation/Sample_Output.csv +++ b/US/CA/SLAC/anticipation/Sample_Output.csv @@ -1,71 +1,53 @@ -,class,tilt_angle,tilt_direction,latitude,longitude,length,depth,ground_diameter,fiber_strength,id,size,height,direction,offset/lead,owner,type,related -0,powerflow.pole_configuration,12 deg,0 deg,0.0,-0.0,,,,,,,,,,,, -1,powerflow.pole_configuration,8 deg,nan,0.0,-0.0,,,,,,,,,,,, -2,powerflow.pole_configuration,5 deg,5.56 rad,0.0,-0.0,,,,,,,,,,,, -3,powerflow.pole_configuration,8.5 deg,0 deg,0.0,-0.0,,,,,,,,,,,, -4,powerflow.pole_configuration,3 deg,0 deg,0.0,-0.0,,,,,,,,,,,, -5,powerflow.pole_configuration,55 deg,0 deg,0.0,-0.0,,,,,,,,,,,, -6,powerflow.pole_configuration,123 deg,0 deg,0.0,-0.0,,,,,,,,,,,, -7,powerflow.pole_configuration,nan,0 deg,0.0,-0.0,,,,,,,,,,,, -8,powerflow.pole_configuration,nan,0 deg,0.0,-0.0,,,,,,,,,,,, -9,powerflow.pole_configuration,nan,0 deg,0.0,-0.0,,,,,,,,,,,, -10,powerflow.pole,,,,,75.5 ft,9.5 ft,23.87 in,6000.5 psi,,,,,,,, -11,powerflow.pole,,,,,75.5 ft,9.5 ft,23.87 in,6000 psi,,,,,,,, -12,powerflow.pole,,,,,400.0 in,nan,23.87 in,6000 atm,,,,,,,, -13,powerflow.pole,,,,,75.5 ft,9.08 ft,23.87 in,6000.5 psi,,,,,,,, -14,powerflow.pole,,,,,75.5 ft,69.5 ft,23.87 in,6000.5 psi,,,,,,,, -15,powerflow.pole,,,,,75.5 ft,9.5 ft,nan,6000.5 psi,,,,,,,, -16,powerflow.pole,,,,,75.5 ft,9.5 ft,23.87 in,6000.5 psi,,,,,,,, -17,powerflow.pole,,,,,75.5 ft,9.5 ft,23.87 in,nan,,,,,,,, -18,powerflow.pole,,,,,nan,nan,23.87 in,5 psi,,,,,,,, -19,powerflow.pole,,,,,nan,nan,23.87 in,nan,,,,,,,, -20,powerflow.pole_mount,,,,,,,,,Insulator#7,66 kV Horizontal Line Post ,64.0 ft,0 deg,nan,Utility,Bracket,"Wire#1, Wire#15" -21,powerflow.pole_mount,,,,,,,,,Wire#15,653.9 ACSR,63.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -22,powerflow.pole_mount,,,,,,,,,Wire#1,653.9 ACSR,63.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -23,powerflow.pole_mount,,,,,,,,,Insulator#8,66 kV Horizontal Line Post ,59.0 ft,0 deg,nan,Utility,Bracket,"Wire#2, Wire#16" -24,powerflow.pole_mount,,,,,,,,,Wire#16,653.9 ACSR,58.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -25,powerflow.pole_mount,,,,,,,,,Wire#2,653.9 ACSR,58.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -26,powerflow.pole_mount,,,,,,,,,Insulator#9,66 kV Horizontal Line Post ,54.0 ft,0 deg,nan,Utility,Bracket,"Wire#3, Wire#17" -27,powerflow.pole_mount,,,,,,,,,Wire#17,653.9 ACSR,53.92 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -28,powerflow.pole_mount,,,,,,,,,Wire#3,653.9 ACSR,53.92 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -29,powerflow.pole_mount,,,,,,,,,Wire#26,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -30,powerflow.pole_mount,,,,,,,,,Wire#11,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -31,powerflow.pole_mount,,,,,,,,,Wire#25,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -32,powerflow.pole_mount,,,,,,,,,Wire#10,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -33,powerflow.pole_mount,,,,,,,,,Wire#24,336.4 ACSR Merlin,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -34,powerflow.pole_mount,,,,,,,,,Wire#9,336.4 ACSR Merlin,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -35,powerflow.pole_mount,,,,,,,,,Wire#23,653.9 ACSR,41.25 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -36,powerflow.pole_mount,,,,,,,,,Wire#8,653.9 ACSR,41.25 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -37,powerflow.pole_mount,,,,,,,,,CrossArm#1,10 Foot Cross Arm,40.5 ft,180 deg,5.0 ft,Utility,,"Insulator#1, Insulator#2, Insulator#3, Insulator#4" -38,powerflow.pole_mount,,,,,,,,,Equip#2,Fuse Arm with 2 Cutouts,40.5 ft,180 deg,nan,Utility,Cutout Arrestor, -39,powerflow.pole_mount,,,,,,,,,Insulator#4,12 kV Pin (Cross Arm),40.5 ft,180 deg,9.67 ft,Utility,Pin,"Wire#11, Wire#26" -40,powerflow.pole_mount,,,,,,,,,Insulator#3,12 kV Pin (Cross Arm),40.5 ft,180 deg,6.67 ft,Utility,Pin,"Wire#10, Wire#25" -41,powerflow.pole_mount,,,,,,,,,Insulator#2,12 kV Pin (Cross Arm),40.5 ft,180 deg,3.33 ft,Utility,Pin,"Wire#9, Wire#24" -42,powerflow.pole_mount,,,,,,,,,Insulator#1,12 kV Pin (Cross Arm),40.5 ft,180 deg,0.33 ft,Utility,Pin,"Wire#8, Wire#23" -43,powerflow.pole_mount,,,,,,,,,Equip#3,25 kVA Transformer,37.5 ft,90 deg,nan,Utility,Transformer, -44,powerflow.pole_mount,,,,,,,,,Insulator#15,"3"" Clevis Insulator",33.0 ft,90 deg,nan,Utility,Clamp,Wire#12 -45,powerflow.pole_mount,,,,,,,,,Insulator#10,"3"" Clevis Insulator",33.0 ft,0 deg,nan,Utility,Clamp,Wire#18 -46,powerflow.pole_mount,,,,,,,,,Wire#12,6 Al. Triplex,33.0 ft,90 deg,nan,Utility,Light Full (Tension),WEP#1 -47,powerflow.pole_mount,,,,,,,,,Wire#18,6 Al. Duplex,33.0 ft,270 deg,nan,Utility,Light Full (Tension),WEP#2 -48,powerflow.pole_mount,,,,,,,,,Equip#1,Roadway - 6 ft,27.0 ft,0 deg,nan,Utility,Street Light, -49,powerflow.pole_mount,,,,,,,,,Wire#28,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2 -50,powerflow.pole_mount,,,,,,,,,Wire#14,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1 -51,powerflow.pole_mount,,,,,,,,,Wire#27,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,270 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#2 -52,powerflow.pole_mount,,,,,,,,,Wire#13,Car. Sol. - A.C. - Mult.Fib. ,26.17 ft,90 deg,nan,Utility Carrier Solution,Light Full (Tension),WEP#1 -53,powerflow.pole_mount,,,,,,,,,CrossArm#2,10 Foot Cross Arm,26.0 ft,180 deg,5.0 ft,Utility,,"Insulator#5, Insulator#6" -54,powerflow.pole_mount,,,,,,,,,Insulator#6,3 Bolt Suspension Clamp,26.0 ft,180 deg,0.33 ft,Utility,Clamp,"Wire#14, Wire#28" -55,powerflow.pole_mount,,,,,,,,,Insulator#5,3 Bolt Suspension Clamp,26.0 ft,180 deg,9.67 ft,Utility,Clamp,"Wire#13, Wire#27" -56,powerflow.pole_mount,,,,,,,,,Insulator#11,3 Bolt Suspension Clamp,25.0 ft,0 deg,nan,Unknown,Clamp,"Wire#4, Wire#19" -57,powerflow.pole_mount,,,,,,,,,Wire#19,"1.5"" TELCO 5/16"" Messenger",25.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 -58,powerflow.pole_mount,,,,,,,,,Wire#4,"1.5"" TELCO 5/16"" Messenger",25.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 -59,powerflow.pole_mount,,,,,,,,,Insulator#12,3 Bolt Suspension Clamp,24.0 ft,0 deg,nan,Unknown,Clamp,"Wire#5, Wire#20" -60,powerflow.pole_mount,,,,,,,,,Wire#20,"1"" TELCO 5/16"" Messenger",24.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 -61,powerflow.pole_mount,,,,,,,,,Wire#5,"1"" TELCO 5/16"" Messenger",24.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 -62,powerflow.pole_mount,,,,,,,,,Insulator#13,3 Bolt Suspension Clamp,23.0 ft,0 deg,nan,Unknown,Clamp,"Wire#6, Wire#21" -63,powerflow.pole_mount,,,,,,,,,Wire#21,"2"" CATV 1/4"" Messenger",23.0 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 -64,powerflow.pole_mount,,,,,,,,,Wire#6,"2"" CATV 1/4"" Messenger",23.0 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 -65,powerflow.pole_mount,,,,,,,,,Insulator#14,3 Bolt Suspension Clamp,21.5 ft,0 deg,nan,Unknown,Clamp,"Wire#7, Wire#22" -66,powerflow.pole_mount,,,,,,,,,Wire#22,"1.5"" TELCO 5/16"" Messenger",21.5 ft,270 deg,nan,Unknown,Light Full (Tension),WEP#2 -67,powerflow.pole_mount,,,,,,,,,Wire#7,"1.5"" TELCO 5/16"" Messenger",21.5 ft,90 deg,nan,Unknown,Light Full (Tension),WEP#1 -68,powerflow.pole_mount,,,,,,,,,WEP#2,,nan,270 deg,204.0 ft,,Previous Pole, -69,powerflow.pole_mount,,,,,,,,,WEP#1,,nan,90 deg,180.0 ft,,Next Pole, +class,pole_length,pole_depth,ground_diameter,fiber_strength,name,tilt_angle,tilt_direction,latitude,longitude,configuration,id,height,direction,offset,type,related,parent +powerflow.pole_configuration,75.5 ft,9.5 ft,23.87 in,6000.5 psi,test_name,,,,,,,,,,,, +powerflow.pole,,,,,pole_1,12 deg,0 deg,30.0,-70.0,test_name,,,,,,, +powerflow.pole_mount,,,,,pole_mount_0,,,,,,Insulator_7,64.0 ft,0 deg,,Bracket,"Wire_1,Wire_15",pole_1 +powerflow.pole_mount,,,,,pole_mount_1,,,,,,Wire_15,63.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_2,,,,,,Wire_1,63.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_3,,,,,,Insulator_8,59.0 ft,0 deg,,Bracket,"Wire_2,Wire_16",pole_1 +powerflow.pole_mount,,,,,pole_mount_4,,,,,,Wire_16,58.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_5,,,,,,Wire_2,58.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_6,,,,,,Insulator_9,54.0 ft,0 deg,,Bracket,"Wire_3,Wire_17",pole_1 +powerflow.pole_mount,,,,,pole_mount_7,,,,,,Wire_17,53.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_8,,,,,,Wire_3,53.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_9,,,,,,Wire_26,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_10,,,,,,Wire_11,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_11,,,,,,Wire_25,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_12,,,,,,Wire_10,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_13,,,,,,Wire_24,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_14,,,,,,Wire_9,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_15,,,,,,Wire_23,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_16,,,,,,Wire_8,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_17,,,,,,CrossArm_1,40.5 ft,180 deg,5.0 ft,,"Insulator_1,Insulator_2,Insulator_3,Insulator_4",pole_1 +powerflow.pole_mount,,,,,pole_mount_18,,,,,,Equip_2,40.5 ft,180 deg,,Cutout_Arrestor,nan,pole_1 +powerflow.pole_mount,,,,,pole_mount_19,,,,,,Insulator_4,40.5 ft,180 deg,9.67 ft,Pin,"Wire_11,Wire_26",pole_1 +powerflow.pole_mount,,,,,pole_mount_20,,,,,,Insulator_3,40.5 ft,180 deg,6.67 ft,Pin,"Wire_10,Wire_25",pole_1 +powerflow.pole_mount,,,,,pole_mount_21,,,,,,Insulator_2,40.5 ft,180 deg,3.33 ft,Pin,"Wire_9,Wire_24",pole_1 +powerflow.pole_mount,,,,,pole_mount_22,,,,,,Insulator_1,40.5 ft,180 deg,0.33 ft,Pin,"Wire_8,Wire_23",pole_1 +powerflow.pole_mount,,,,,pole_mount_23,,,,,,Equip_3,37.5 ft,90 deg,,Transformer,nan,pole_1 +powerflow.pole_mount,,,,,pole_mount_24,,,,,,Insulator_15,33.0 ft,90 deg,,Clamp,Wire_12,pole_1 +powerflow.pole_mount,,,,,pole_mount_25,,,,,,Insulator_10,33.0 ft,0 deg,,Clamp,Wire_18,pole_1 +powerflow.pole_mount,,,,,pole_mount_26,,,,,,Wire_12,33.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_27,,,,,,Wire_18,33.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_28,,,,,,Equip_1,27.0 ft,0 deg,,Street_Light,nan,pole_1 +powerflow.pole_mount,,,,,pole_mount_29,,,,,,Wire_28,26.17 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_30,,,,,,Wire_14,26.17 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_31,,,,,,Wire_27,26.17 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_32,,,,,,Wire_13,26.17 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_33,,,,,,CrossArm_2,26.0 ft,180 deg,5.0 ft,,"Insulator_5,Insulator_6",pole_1 +powerflow.pole_mount,,,,,pole_mount_34,,,,,,Insulator_6,26.0 ft,180 deg,0.33 ft,Clamp,"Wire_14,Wire_28",pole_1 +powerflow.pole_mount,,,,,pole_mount_35,,,,,,Insulator_5,26.0 ft,180 deg,9.67 ft,Clamp,"Wire_13,Wire_27",pole_1 +powerflow.pole_mount,,,,,pole_mount_36,,,,,,Insulator_11,25.0 ft,0 deg,,Clamp,"Wire_4,Wire_19",pole_1 +powerflow.pole_mount,,,,,pole_mount_37,,,,,,Wire_19,25.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_38,,,,,,Wire_4,25.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_39,,,,,,Insulator_12,24.0 ft,0 deg,,Clamp,"Wire_5,Wire_20",pole_1 +powerflow.pole_mount,,,,,pole_mount_40,,,,,,Wire_20,24.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_41,,,,,,Wire_5,24.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_42,,,,,,Insulator_13,23.0 ft,0 deg,,Clamp,"Wire_6,Wire_21",pole_1 +powerflow.pole_mount,,,,,pole_mount_43,,,,,,Wire_21,23.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_44,,,,,,Wire_6,23.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_45,,,,,,Insulator_14,21.5 ft,0 deg,,Clamp,"Wire_7,Wire_22",pole_1 +powerflow.pole_mount,,,,,pole_mount_46,,,,,,Wire_22,21.5 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1 +powerflow.pole_mount,,,,,pole_mount_47,,,,,,Wire_7,21.5 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1 +powerflow.pole_mount,,,,,pole_mount_48,,,,,,WEP_2,,270 deg,204.0 ft,Previous_Pole,nan,pole_1 +powerflow.pole_mount,,,,,pole_mount_49,,,,,,WEP_1,,90 deg,180.0 ft,Next_Pole,nan,pole_1 diff --git a/US/CA/SLAC/anticipation/Sample_Output.glm b/US/CA/SLAC/anticipation/Sample_Output.glm index 1e694366..8d40d44e 100644 --- a/US/CA/SLAC/anticipation/Sample_Output.glm +++ b/US/CA/SLAC/anticipation/Sample_Output.glm @@ -1,680 +1,472 @@ // Objects -object 0 { - class "powerflow.pole_configuration"; - tilt_angle 12 deg; - tilt_direction 0 deg; - latitude 00.0000; - longitude "-000.0000"; -} -object 1 { - class "powerflow.pole_configuration"; - tilt_angle 8 deg; - tilt_direction "nan"; - latitude 00.0000; - longitude "-000.0000"; -} -object 2 { - class "powerflow.pole_configuration"; - tilt_angle 5 deg; - tilt_direction 5.56 rad; - latitude 00.0000; - longitude "-000.0000"; -} -object 3 { - class "powerflow.pole_configuration"; - tilt_angle 8.5 deg; - tilt_direction 0 deg; - latitude 00.0000; - longitude "-000.0000"; -} -object 4 { - class "powerflow.pole_configuration"; - tilt_angle 3 deg; - tilt_direction 0 deg; - latitude 00.0000; - longitude "-000.0000"; -} -object 5 { - class "powerflow.pole_configuration"; - tilt_angle 55 deg; - tilt_direction 0 deg; - latitude 00.0000; - longitude "-000.0000"; -} -object 6 { - class "powerflow.pole_configuration"; - tilt_angle 123 deg; - tilt_direction 0 deg; - latitude 00.0000; - longitude "-000.0000"; -} -object 7 { - class "powerflow.pole_configuration"; - tilt_angle "nan"; - tilt_direction 0 deg; - latitude 00.0000; - longitude "-000.0000"; -} -object 8 { - class "powerflow.pole_configuration"; - tilt_angle "nan"; - tilt_direction 0 deg; - latitude 00.0000; - longitude "-000.0000"; -} -object 9 { - class "powerflow.pole_configuration"; - tilt_angle "nan"; - tilt_direction 0 deg; - latitude 00.0000; - longitude "-000.0000"; -} -object 10 { - class "powerflow.pole"; - length 75.5 ft; - depth 9.5 ft; - ground_diameter 75.0 in; - fiber_strength 6000.5 psi; -} -object 11 { - class "powerflow.pole"; - length 75.5 ft; - depth 9.5 ft; - ground_diameter 75.0 in; - fiber_strength 6000 psi; -} -object 12 { - class "powerflow.pole"; - length 400.0 in; - depth 334.0 in; - ground_diameter 75.0 in; - fiber_strength 6000 atm; -} -object 13 { - class "powerflow.pole"; - length 75.5 ft; - depth 9.08 ft; - ground_diameter 75.0 in; - fiber_strength 6000.5 psi; -} -object 14 { - class "powerflow.pole"; - length 75.5 ft; - depth 69.5 ft; - ground_diameter 75.0 in; +object powerflow.pole_configuration { + pole_length 75.5 ft; + pole_depth 9.5 ft; + ground_diameter 23.87 in; fiber_strength 6000.5 psi; + name "test_name"; } -object 15 { - class "powerflow.pole"; - length 75.5 ft; - depth 9.5 ft; - ground_diameter 75.0 in; - fiber_strength 6000.5 psi; -} -object 16 { - class "powerflow.pole"; - length 75.5 ft; - depth 9.5 ft; - ground_diameter 75.0 in; - fiber_strength 6000.5 psi; -} -object 17 { - class "powerflow.pole"; - length 75.5 ft; - depth 9.5 ft; - ground_diameter 75.0 in; - fiber_strength "nan"; -} -object 18 { - class "powerflow.pole"; - length "nan"; - depth "nan"; - ground_diameter 75.0 in; - fiber_strength 5 psi; -} -object 19 { - class "powerflow.pole"; - length "nan"; - depth "nan"; - ground_diameter 75.0 in; - fiber_strength "nan"; -} -object 20 { - class "powerflow.pole_mount"; - ID# "Insulator#7"; - Size 66 kV Horizontal Line Post ; - Height 64.0 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type "Bracket"; - Related Wire#1, Wire#15; -} -object 21 { - class "powerflow.pole_mount"; - ID# "Wire#15"; - Size 653.9 ACSR; - Height 63.92 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 22 { - class "powerflow.pole_mount"; - ID# "Wire#1"; - Size 653.9 ACSR; - Height 63.92 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 23 { - class "powerflow.pole_mount"; - ID# "Insulator#8"; - Size 66 kV Horizontal Line Post ; - Height 59.0 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type "Bracket"; - Related Wire#2, Wire#16; -} -object 24 { - class "powerflow.pole_mount"; - ID# "Wire#16"; - Size 653.9 ACSR; - Height 58.92 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 25 { - class "powerflow.pole_mount"; - ID# "Wire#2"; - Size 653.9 ACSR; - Height 58.92 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 26 { - class "powerflow.pole_mount"; - ID# "Insulator#9"; - Size 66 kV Horizontal Line Post ; - Height 54.0 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type "Bracket"; - Related Wire#3, Wire#17; -} -object 27 { - class "powerflow.pole_mount"; - ID# "Wire#17"; - Size 653.9 ACSR; - Height 53.92 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 28 { - class "powerflow.pole_mount"; - ID# "Wire#3"; - Size 653.9 ACSR; - Height 53.92 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 29 { - class "powerflow.pole_mount"; - ID# "Wire#26"; - Size 653.9 ACSR; - Height 41.25 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 30 { - class "powerflow.pole_mount"; - ID# "Wire#11"; - Size 653.9 ACSR; - Height 41.25 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 31 { - class "powerflow.pole_mount"; - ID# "Wire#25"; - Size 653.9 ACSR; - Height 41.25 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 32 { - class "powerflow.pole_mount"; - ID# "Wire#10"; - Size 653.9 ACSR; - Height 41.25 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 33 { - class "powerflow.pole_mount"; - ID# "Wire#24"; - Size 336.4 ACSR Merlin; - Height 41.25 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 34 { - class "powerflow.pole_mount"; - ID# "Wire#9"; - Size 336.4 ACSR Merlin; - Height 41.25 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 35 { - class "powerflow.pole_mount"; - ID# "Wire#23"; - Size 653.9 ACSR; - Height 41.25 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 36 { - class "powerflow.pole_mount"; - ID# "Wire#8"; - Size 653.9 ACSR; - Height 41.25 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 37 { - class "powerflow.pole_mount"; - ID# "CrossArm#1"; - Size 10 Foot Cross Arm; - Height 40.5 ft; - Direction 180 deg; - Offset/Lead 5.0 ft; - Owner "Utility"; - Related Insulator#1, Insulator#2, Insulator#3, Insulator#4; -} -object 38 { - class "powerflow.pole_mount"; - ID# "Equip#2"; - Size Fuse Arm with 2 Cutouts; - Height 40.5 ft; - Direction 180 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Cutout Arrestor; -} -object 39 { - class "powerflow.pole_mount"; - ID# "Insulator#4"; - Size 12 kV Pin (Cross Arm); - Height 40.5 ft; - Direction 180 deg; - Offset/Lead 9.67 ft; - Owner "Utility"; - Type "Pin"; - Related Wire#11, Wire#26; -} -object 40 { - class "powerflow.pole_mount"; - ID# "Insulator#3"; - Size 12 kV Pin (Cross Arm); - Height 40.5 ft; - Direction 180 deg; - Offset/Lead 6.67 ft; - Owner "Utility"; - Type "Pin"; - Related Wire#10, Wire#25; -} -object 41 { - class "powerflow.pole_mount"; - ID# "Insulator#2"; - Size 12 kV Pin (Cross Arm); - Height 40.5 ft; - Direction 180 deg; - Offset/Lead 3.33 ft; - Owner "Utility"; - Type "Pin"; - Related Wire#9, Wire#24; -} -object 42 { - class "powerflow.pole_mount"; - ID# "Insulator#1"; - Size 12 kV Pin (Cross Arm); - Height 40.5 ft; - Direction 180 deg; - Offset/Lead 0.33 ft; - Owner "Utility"; - Type "Pin"; - Related Wire#8, Wire#23; -} -object 43 { - class "powerflow.pole_mount"; - ID# "Equip#3"; - Size 25 kVA Transformer; - Height 37.5 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type "Transformer"; -} -object 44 { - class "powerflow.pole_mount"; - ID# "Insulator#15"; - Size 3" Clevis Insulator; - Height 33.0 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type "Clamp"; - Related "Wire#12"; -} -object 45 { - class "powerflow.pole_mount"; - ID# "Insulator#10"; - Size 3" Clevis Insulator; - Height 33.0 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type "Clamp"; - Related "Wire#18"; -} -object 46 { - class "powerflow.pole_mount"; - ID# "Wire#12"; - Size 6 Al. Triplex; - Height 33.0 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 47 { - class "powerflow.pole_mount"; - ID# "Wire#18"; - Size 6 Al. Duplex; - Height 33.0 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 48 { - class "powerflow.pole_mount"; - ID# "Equip#1"; - Size Roadway - 6 ft; - Height 27.0 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Utility"; - Type Street Light; -} -object 49 { - class "powerflow.pole_mount"; - ID# "Wire#28"; - Size Car. Sol. - A.C. - Mult.Fib. ; - Height 26.17 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner Utility Carrier Solution; - Type Light Full (Tension); - Related "WEP#2"; -} -object 50 { - class "powerflow.pole_mount"; - ID# "Wire#14"; - Size Car. Sol. - A.C. - Mult.Fib. ; - Height 26.17 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner Utility Carrier Solution; - Type Light Full (Tension); - Related "WEP#1"; -} -object 51 { - class "powerflow.pole_mount"; - ID# "Wire#27"; - Size Car. Sol. - A.C. - Mult.Fib. ; - Height 26.17 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner Utility Carrier Solution; - Type Light Full (Tension); - Related "WEP#2"; -} -object 52 { - class "powerflow.pole_mount"; - ID# "Wire#13"; - Size Car. Sol. - A.C. - Mult.Fib. ; - Height 26.17 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner Utility Carrier Solution; - Type Light Full (Tension); - Related "WEP#1"; -} -object 53 { - class "powerflow.pole_mount"; - ID# "CrossArm#2"; - Size 10 Foot Cross Arm; - Height 26.0 ft; - Direction 180 deg; - Offset/Lead 5.0 ft; - Owner "Utility"; - Related Insulator#5, Insulator#6; -} -object 54 { - class "powerflow.pole_mount"; - ID# "Insulator#6"; - Size 3 Bolt Suspension Clamp; - Height 26.0 ft; - Direction 180 deg; - Offset/Lead 0.33 ft; - Owner "Utility"; - Type "Clamp"; - Related Wire#14, Wire#28; -} -object 55 { - class "powerflow.pole_mount"; - ID# "Insulator#5"; - Size 3 Bolt Suspension Clamp; - Height 26.0 ft; - Direction 180 deg; - Offset/Lead 9.67 ft; - Owner "Utility"; - Type "Clamp"; - Related Wire#13, Wire#27; -} -object 56 { - class "powerflow.pole_mount"; - ID# "Insulator#11"; - Size 3 Bolt Suspension Clamp; - Height 25.0 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type "Clamp"; - Related Wire#4, Wire#19; -} -object 57 { - class "powerflow.pole_mount"; - ID# "Wire#19"; - Size 1.5" TELCO 5/16" Messenger; - Height 25.0 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 58 { - class "powerflow.pole_mount"; - ID# "Wire#4"; - Size 1.5" TELCO 5/16" Messenger; - Height 25.0 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 59 { - class "powerflow.pole_mount"; - ID# "Insulator#12"; - Size 3 Bolt Suspension Clamp; - Height 24.0 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type "Clamp"; - Related Wire#5, Wire#20; -} -object 60 { - class "powerflow.pole_mount"; - ID# "Wire#20"; - Size 1" TELCO 5/16" Messenger; - Height 24.0 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 61 { - class "powerflow.pole_mount"; - ID# "Wire#5"; - Size 1" TELCO 5/16" Messenger; - Height 24.0 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 62 { - class "powerflow.pole_mount"; - ID# "Insulator#13"; - Size 3 Bolt Suspension Clamp; - Height 23.0 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type "Clamp"; - Related Wire#6, Wire#21; -} -object 63 { - class "powerflow.pole_mount"; - ID# "Wire#21"; - Size 2" CATV 1/4" Messenger; - Height 23.0 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 64 { - class "powerflow.pole_mount"; - ID# "Wire#6"; - Size 2" CATV 1/4" Messenger; - Height 23.0 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 65 { - class "powerflow.pole_mount"; - ID# "Insulator#14"; - Size 3 Bolt Suspension Clamp; - Height 21.5 ft; - Direction 0 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type "Clamp"; - Related Wire#7, Wire#22; -} -object 66 { - class "powerflow.pole_mount"; - ID# "Wire#22"; - Size 1.5" TELCO 5/16" Messenger; - Height 21.5 ft; - Direction 270 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type Light Full (Tension); - Related "WEP#2"; -} -object 67 { - class "powerflow.pole_mount"; - ID# "Wire#7"; - Size 1.5" TELCO 5/16" Messenger; - Height 21.5 ft; - Direction 90 deg; - Offset/Lead "nan"; - Owner "Unknown"; - Type Light Full (Tension); - Related "WEP#1"; -} -object 68 { - class "powerflow.pole_mount"; - ID# "WEP#2"; - Height "nan"; - Direction 270 deg; - Offset/Lead 204.0 ft; - Type Previous Pole; -} -object 69 { - class "powerflow.pole_mount"; - ID# "WEP#1"; - Height "nan"; - Direction 90 deg; - Offset/Lead 180.0 ft; - Type Next Pole; +object powerflow.pole { + name "pole_1"; + tilt_angle 12 deg; + tilt_direction 0 deg; + latitude 30.0; + longitude "-70.0"; + configuration "test_name"; +} +object powerflow.pole_mount { + name "pole_mount_0"; + id "Insulator_7"; + height 64.0 ft; + direction 0 deg; + type "Bracket"; + related "Wire_1,Wire_15"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_1"; + id "Wire_15"; + height 63.92 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_2"; + id "Wire_1"; + height 63.92 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_3"; + id "Insulator_8"; + height 59.0 ft; + direction 0 deg; + type "Bracket"; + related "Wire_2,Wire_16"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_4"; + id "Wire_16"; + height 58.92 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_5"; + id "Wire_2"; + height 58.92 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_6"; + id "Insulator_9"; + height 54.0 ft; + direction 0 deg; + type "Bracket"; + related "Wire_3,Wire_17"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_7"; + id "Wire_17"; + height 53.92 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_8"; + id "Wire_3"; + height 53.92 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_9"; + id "Wire_26"; + height 41.25 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_10"; + id "Wire_11"; + height 41.25 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_11"; + id "Wire_25"; + height 41.25 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_12"; + id "Wire_10"; + height 41.25 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_13"; + id "Wire_24"; + height 41.25 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_14"; + id "Wire_9"; + height 41.25 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_15"; + id "Wire_23"; + height 41.25 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_16"; + id "Wire_8"; + height 41.25 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_17"; + id "CrossArm_1"; + height 40.5 ft; + direction 180 deg; + offset 5.0 ft; + related "Insulator_1,Insulator_2,Insulator_3,Insulator_4"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_18"; + id "Equip_2"; + height 40.5 ft; + direction 180 deg; + type "Cutout_Arrestor"; + related "nan"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_19"; + id "Insulator_4"; + height 40.5 ft; + direction 180 deg; + offset 9.67 ft; + type "Pin"; + related "Wire_11,Wire_26"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_20"; + id "Insulator_3"; + height 40.5 ft; + direction 180 deg; + offset 6.67 ft; + type "Pin"; + related "Wire_10,Wire_25"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_21"; + id "Insulator_2"; + height 40.5 ft; + direction 180 deg; + offset 3.33 ft; + type "Pin"; + related "Wire_9,Wire_24"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_22"; + id "Insulator_1"; + height 40.5 ft; + direction 180 deg; + offset 0.33 ft; + type "Pin"; + related "Wire_8,Wire_23"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_23"; + id "Equip_3"; + height 37.5 ft; + direction 90 deg; + type "Transformer"; + related "nan"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_24"; + id "Insulator_15"; + height 33.0 ft; + direction 90 deg; + type "Clamp"; + related "Wire_12"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_25"; + id "Insulator_10"; + height 33.0 ft; + direction 0 deg; + type "Clamp"; + related "Wire_18"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_26"; + id "Wire_12"; + height 33.0 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_27"; + id "Wire_18"; + height 33.0 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_28"; + id "Equip_1"; + height 27.0 ft; + direction 0 deg; + type "Street_Light"; + related "nan"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_29"; + id "Wire_28"; + height 26.17 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_30"; + id "Wire_14"; + height 26.17 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_31"; + id "Wire_27"; + height 26.17 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_32"; + id "Wire_13"; + height 26.17 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_33"; + id "CrossArm_2"; + height 26.0 ft; + direction 180 deg; + offset 5.0 ft; + related "Insulator_5,Insulator_6"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_34"; + id "Insulator_6"; + height 26.0 ft; + direction 180 deg; + offset 0.33 ft; + type "Clamp"; + related "Wire_14,Wire_28"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_35"; + id "Insulator_5"; + height 26.0 ft; + direction 180 deg; + offset 9.67 ft; + type "Clamp"; + related "Wire_13,Wire_27"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_36"; + id "Insulator_11"; + height 25.0 ft; + direction 0 deg; + type "Clamp"; + related "Wire_4,Wire_19"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_37"; + id "Wire_19"; + height 25.0 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_38"; + id "Wire_4"; + height 25.0 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_39"; + id "Insulator_12"; + height 24.0 ft; + direction 0 deg; + type "Clamp"; + related "Wire_5,Wire_20"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_40"; + id "Wire_20"; + height 24.0 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_41"; + id "Wire_5"; + height 24.0 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_42"; + id "Insulator_13"; + height 23.0 ft; + direction 0 deg; + type "Clamp"; + related "Wire_6,Wire_21"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_43"; + id "Wire_21"; + height 23.0 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_44"; + id "Wire_6"; + height 23.0 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_45"; + id "Insulator_14"; + height 21.5 ft; + direction 0 deg; + type "Clamp"; + related "Wire_7,Wire_22"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_46"; + id "Wire_22"; + height 21.5 ft; + direction 270 deg; + type "Light_Full_(Tension)"; + related "WEP_2"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_47"; + id "Wire_7"; + height 21.5 ft; + direction 90 deg; + type "Light_Full_(Tension)"; + related "WEP_1"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_48"; + id "WEP_2"; + direction 270 deg; + offset 204.0 ft; + type "Previous_Pole"; + related "nan"; + parent "pole_1"; +} +object powerflow.pole_mount { + name "pole_mount_49"; + id "WEP_1"; + direction 90 deg; + offset 180.0 ft; + type "Next_Pole"; + related "nan"; + parent "pole_1"; } diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index 41ae9ec4..a44ea542 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -35,6 +35,7 @@ class pole_mount char32 type; char1024 related; char32 id; + char32 size; } // load the gridlabd-python module @@ -46,9 +47,9 @@ module powerflow { #if POLE_VULNERABILITY_ANALYSIS=="on" #debug "POLE VULNERABILITY ANALYSIS is enabled" // INPUT CSV POLE DATA CONVERTER -#input "pole_library_config.csv" -f table -t "object" -C powerflow.pole_configuration -#input "pole_vulnerability_config.csv" -f "table" -t "object" -// #input "Sample_Output.csv" -t object -f table +//#input "pole_library_config.csv" -f table -t "object" -C powerflow.pole_configuration +//#input "pole_vulnerability_config.csv" -f "table" -t "object" +#input "Sample_Output.csv" -t object -f table #endif //POLE_VULNERABILITY_ANALYSIS #if PSPS_ANALYSIS=="on" diff --git a/US/CA/SLAC/anticipation/gridlabd.json b/US/CA/SLAC/anticipation/gridlabd.json index 2e00168e..d35da220 100644 --- a/US/CA/SLAC/anticipation/gridlabd.json +++ b/US/CA/SLAC/anticipation/gridlabd.json @@ -1,5 +1,5 @@ { "application": "gridlabd", - "version" : "4.2.24", + "version" : "4.2.25", "modules" : { "powerflow" : { "major" : "4", @@ -7656,7 +7656,7 @@ "object_size" : "320", "trl" : "7", "module" : "powerflow", - "profiler.numobjs" : "11", + "profiler.numobjs" : "1", "profiler.clocks" : "0", "profiler.count" : "0", "status" : { @@ -7837,7 +7837,7 @@ "object_size" : "248", "trl" : "9", "module" : "powerflow", - "profiler.numobjs" : "17", + "profiler.numobjs" : "1", "profiler.clocks" : "0", "profiler.count" : "0", "pole_type" : { @@ -7980,10 +7980,10 @@ } }, "pole_mount" : { - "object_size" : "136", + "object_size" : "1260", "trl" : "7", "module" : "powerflow", - "profiler.numobjs" : "0", + "profiler.numobjs" : "50", "profiler.clocks" : "0", "profiler.count" : "0", "equipment" : { @@ -8031,6 +8031,26 @@ "access" : "PUBLIC", "unit" : "ft", "description" : "Mean spacing between poles adjacent" + }, + "type" : { + "type" : "char32", + "access" : "PUBLIC", + "flags" : "EXTENDED" + }, + "related" : { + "type" : "char1024", + "access" : "PUBLIC", + "flags" : "EXTENDED" + }, + "id" : { + "type" : "char32", + "access" : "PUBLIC", + "flags" : "EXTENDED" + }, + "size" : { + "type" : "char32", + "access" : "PUBLIC", + "flags" : "EXTENDED" } }, "climate" : { @@ -8714,7 +8734,7 @@ "object_size" : "15816", "trl" : "9", "module" : "tape", - "profiler.numobjs" : "1", + "profiler.numobjs" : "0", "profiler.clocks" : "0", "profiler.count" : "0", "trigger" : { @@ -9314,12 +9334,12 @@ "version.patch" : { "type" : "int32", "access" : "REFERENCE", - "value" : "24" + "value" : "25" }, "version.build" : { "type" : "int32", "access" : "REFERENCE", - "value" : "210716" + "value" : "210801" }, "version.branch" : { "type" : "char256", @@ -9329,12 +9349,12 @@ "version" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "4.2.24-210716-master" + "value" : "4.2.25-210801-master" }, "command_line" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.24-210716-master/bin/gridlabd.bin anticipation.glm" + "value" : "/usr/local/opt/gridlabd/4.2.25-210801-master/bin/gridlabd.bin anticipation.glm" }, "environment" : { "type" : "char1024", @@ -9384,7 +9404,7 @@ "workdir" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/model/US/CA/SLAC/anticipation" + "value" : "/model/us/ca/slac/anticipation" }, "dumpfile" : { "type" : "char1024", @@ -9434,7 +9454,7 @@ "clock" : { "type" : "timestamp", "access" : "PUBLIC", - "value" : "2021-06-27 17:00:00 PDT" + "value" : "1999-12-31 16:00:00 PST" }, "starttime" : { "type" : "timestamp", @@ -9500,7 +9520,7 @@ "execdir" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.24-210716-master/bin" + "value" : "/usr/local/opt/gridlabd/4.2.25-210801-master/bin" }, "strictnames" : { "type" : "bool", @@ -9520,12 +9540,12 @@ "randomstate" : { "type" : "int32", "access" : "PUBLIC", - "value" : "519291510" + "value" : "0" }, "randomseed" : { "type" : "int32", "access" : "PUBLIC", - "value" : "519291510" + "value" : "0" }, "include" : { "type" : "char1024", @@ -9961,7 +9981,7 @@ "exename" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.24-210716-master/bin/gridlabd.bin" + "value" : "/usr/local/opt/gridlabd/4.2.25-210801-master/bin/gridlabd.bin" }, "wget_options" : { "type" : "char1024", @@ -10199,7 +10219,7 @@ "filename" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "" + "value" : "anticipation.glm" }, "powerflow::message_flags" : { "type" : "set", @@ -10530,7 +10550,7 @@ "climate::library_path" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "/usr/local/opt/gridlabd/4.2.24-210716-master/share/gridlabd/weather/US" + "value" : "/usr/local/opt/gridlabd/4.2.25-210801-master/share/gridlabd/weather/US" }, "tape::gnuplot_path" : { "type" : "char1024", @@ -10600,19 +10620,19 @@ "csv_load_options" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "-f table -t " + "value" : "-t object -f table" } }, "schedules" : { }, "objects" : { - "WOOD-C-45/5" : { + "test_name" : { "id" : "0", "class" : "pole_configuration", "rank" : "0", "clock" : "2021-06-27 17:00:00 PDT", "rng_state" : "1804289383", - "guid" : "2A7116D39B4ECD3031A4285BBBBFC30E", + "guid" : "1ABA7D58BBF51EDCB3E6E046A50BFF6", "flags" : "0x80100", "pole_type": "WOOD", "design_ice_thickness": "0.25 in", @@ -10628,950 +10648,1051 @@ "strength_factor_250b_support": "1", "strength_factor_250c_wood": "0.75", "strength_factor_250c_support": "1", - "pole_length": "45 ft", - "pole_depth": "4.5 ft", - "ground_diameter": "10.3503 in", + "pole_length": "75.5 ft", + "pole_depth": "9.5 ft", + "ground_diameter": "23.87 in", "top_diameter": "6.05096 in", - "fiber_strength": "8000 psi", - "repair_time": "1 h", + "fiber_strength": "6000.5 psi", + "repair_time": "0 h", "degradation_rate": "0 in/yr", "treatment_method": "NONE", "material_density": "35 lb/cf" }, - "WOOD2" : { + "powerflow.pole_2" : { "id" : "1", - "class" : "pole_configuration", + "class" : "pole", + "latitude" : "0.000000", + "longitude" : "-0.000000", "rank" : "0", "clock" : "2021-06-27 17:00:00 PDT", "rng_state" : "846930886", - "guid" : "3B4F67B4DA8CD46CBB72DC978284377", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "60 ft", - "pole_depth": "4.5 ft", - "ground_diameter": "10.3503 in", - "top_diameter": "6.05096 in", - "fiber_strength": "8000 psi", - "repair_time": "3 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" + "guid" : "47A9B0B6BEE8CF9A6A5C5DC7DDEA7B95", + "flags" : "0x80000", + "status": "OK", + "tilt_angle": "12 deg", + "tilt_direction": "0 deg", + "weather": "", + "configuration": "", + "install_year": "0", + "repair_time": "0 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" }, - "SYP-20/3" : { + "powerflow.pole_mount_3" : { "id" : "2", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1681692777", - "guid" : "24B17445D1EE27A07DB6D0308C871A45", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "20 ft", - "pole_depth": "5.5 ft", - "ground_diameter": "8.59873 in", - "top_diameter": "7.32484 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-25/3" : { + "guid" : "128B103DDDCC31AD1295DE9F858422DF", + "flags" : "0x80000", + "equipment": "", + "height": "64 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Bracket", + "related": "Wire#1,Wire#15", + "id": "Insulator#7", + "size": "" + }, + "powerflow.pole_mount_4" : { "id" : "3", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1714636915", - "guid" : "600552B9085A51A94B3CBD20A21C6091", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "25 ft", - "pole_depth": "5.5 ft", - "ground_diameter": "9.3949 in", - "top_diameter": "7.32484 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-30/5" : { + "guid" : "760900661AACA7F0BBA35C6A1435AF2", + "flags" : "0x80000", + "equipment": "", + "height": "63.92 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#15", + "size": "" + }, + "powerflow.pole_mount_5" : { "id" : "4", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1957747793", - "guid" : "7675089D8BDB8AC448007F002C212CC3", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "30 ft", - "pole_depth": "5.5 ft", - "ground_diameter": "8.75796 in", - "top_diameter": "6.05096 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-35/5" : { + "guid" : "A8ABCFEBE0241B225FE7BDBC9E4772D", + "flags" : "0x80000", + "equipment": "", + "height": "63.92 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#1", + "size": "" + }, + "powerflow.pole_mount_6" : { "id" : "5", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "424238335", - "guid" : "4E321E93F95B21F65C0E056177E8EE05", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.75", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "35 ft", - "pole_depth": "5.5 ft", - "ground_diameter": "9.23567 in", - "top_diameter": "6.05096 in", - "fiber_strength": "8000 psi", - "repair_time": "50 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-40/3" : { + "guid" : "16BC110F6F4CCBFB792BE1B08E4DD389", + "flags" : "0x80000", + "equipment": "", + "height": "59 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Bracket", + "related": "Wire#2,Wire#16", + "id": "Insulator#8", + "size": "" + }, + "powerflow.pole_mount_7" : { "id" : "6", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "719885386", - "guid" : "634B48BE87475E8814923D3D4613ACDF", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "40 ft", - "pole_depth": "6 ft", - "ground_diameter": "11.465 in", - "top_diameter": "7.32484 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-45/4" : { + "guid" : "1A43F021B25986F65283536BB76763CC", + "flags" : "0x80000", + "equipment": "", + "height": "58.92 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#16", + "size": "" + }, + "powerflow.pole_mount_8" : { "id" : "7", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1649760492", - "guid" : "6BCB0BF2DDB22EB55B4BDA7FD0C2C677", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "45 ft", - "pole_depth": "6.5 ft", - "ground_diameter": "11.1465 in", - "top_diameter": "6.6879 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-50/3" : { + "guid" : "3D82BEB514D8DE9A483BBFD82E9240D7", + "flags" : "0x80000", + "equipment": "", + "height": "58.92 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#2", + "size": "" + }, + "powerflow.pole_mount_9" : { "id" : "8", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "596516649", - "guid" : "75B1FE08E24DF91459CA41EB6F983376", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.75", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "50 ft", - "pole_depth": "7 ft", - "ground_diameter": "12.4204 in", - "top_diameter": "7.32484 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-55/2" : { + "guid" : "5989E7F678ABD06E11955A0B22A09C9B", + "flags" : "0x80000", + "equipment": "", + "height": "54 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Bracket", + "related": "Wire#3,Wire#17", + "id": "Insulator#9", + "size": "" + }, + "powerflow.pole_mount_10" : { "id" : "9", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1189641421", - "guid" : "445D85899AF803FA40A220D275D14C2E", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "55 ft", - "pole_depth": "7.5 ft", - "ground_diameter": "13.8535 in", - "top_diameter": "7.96178 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-60/1" : { + "guid" : "5321AEB606786B6C6AA0BB29A735924A", + "flags" : "0x80000", + "equipment": "", + "height": "53.92 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#17", + "size": "" + }, + "powerflow.pole_mount_11" : { "id" : "10", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1025202362", - "guid" : "522452E9E5213EF8659E2DB7730F19D5", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "60 ft", - "pole_depth": "8 ft", - "ground_diameter": "15.2866 in", - "top_diameter": "8.59873 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-70/H-2" : { + "guid" : "4BF8F7A374F0D203328FDA8AAACBEF14", + "flags" : "0x80000", + "equipment": "", + "height": "53.92 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#3", + "size": "" + }, + "powerflow.pole_mount_12" : { "id" : "11", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1350490027", - "guid" : "2199B3AAFC92FC542F274B28AB661F95", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "70 ft", - "pole_depth": "9 ft", - "ground_diameter": "18.1529 in", - "top_diameter": "9.87261 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-80/H-2" : { + "guid" : "34EA1ABF707D8BD91BB86215BF030857", + "flags" : "0x80000", + "equipment": "", + "height": "41.25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#26", + "size": "" + }, + "powerflow.pole_mount_13" : { "id" : "12", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "783368690", - "guid" : "3931D587A84F235C4DF2541C6711FBEE", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "70 in", - "design_wind_loading": "40 psi", - "design_temperature": "70 degF", - "overload_factor_vertical": "70", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "70", - "overload_factor_transverse_wire": "70", - "overload_factor_longitudinal_general": "70", - "overload_factor_longitudinal_deadend": "70", - "strength_factor_250b_wood": "0.75", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "80 ft", - "pole_depth": "10 ft", - "ground_diameter": "19.1083 in", - "top_diameter": "9.87261 in", - "fiber_strength": "8000 psi", - "repair_time": "50 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-90/H-2" : { + "guid" : "14739A1B0F551E622C30F4C9CFB4CA5A", + "flags" : "0x80000", + "equipment": "", + "height": "41.25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#11", + "size": "" + }, + "powerflow.pole_mount_14" : { "id" : "13", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1102520059", - "guid" : "7AE995F95FC4C548191FB6F6A641C22E", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "90 ft", - "pole_depth": "11 ft", - "ground_diameter": "20.0637 in", - "top_diameter": "9.87261 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-100/H-2" : { + "guid" : "5C34EBC95E556B4176088DA684597413", + "flags" : "0x80000", + "equipment": "", + "height": "41.25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#25", + "size": "" + }, + "powerflow.pole_mount_15" : { "id" : "14", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "2044897763", - "guid" : "4882105FD6FF35E53BE1328AD1CB3795", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "100 ft", - "pole_depth": "12 ft", - "ground_diameter": "20.8599 in", - "top_diameter": "9.87261 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-110/H-3" : { + "guid" : "70A5551F320EC76756242CB7A7DDBFF5", + "flags" : "0x80000", + "equipment": "", + "height": "41.25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#10", + "size": "" + }, + "powerflow.pole_mount_16" : { "id" : "15", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1967513926", - "guid" : "4BFE42F41C29BF496D206662CC9309C", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "110 ft", - "pole_depth": "13 ft", - "ground_diameter": "22.7707 in", - "top_diameter": "10.5096 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-120/H-4" : { + "guid" : "DDF251E888FEBF330BD987393408ECD", + "flags" : "0x80000", + "equipment": "", + "height": "41.25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#24", + "size": "" + }, + "powerflow.pole_mount_17" : { "id" : "16", - "class" : "pole_configuration", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1365180540", - "guid" : "AF258E3CD3ADE2062143579182C3BAA", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "120 ft", - "pole_depth": "14 ft", - "ground_diameter": "24.6815 in", - "top_diameter": "11.1465 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "pole1" : { + "guid" : "7C846C40E77FB01CA7B095036596F67", + "flags" : "0x80000", + "equipment": "", + "height": "41.25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#9", + "size": "" + }, + "powerflow.pole_mount_18" : { "id" : "17", - "class" : "pole", - "latitude" : "37.427500", - "longitude" : "122.169700", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1540383426", - "guid" : "625FEDA9E7C843D1505D9886A451E07F", - "flags" : "0x100", - "status": "OK", - "tilt_angle": "5 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "WOOD-C-45/5", - "install_year": "1990", - "repair_time": "1 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "12332.5 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "895.107 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole2" : { + "guid" : "11D19F5D42D4DEB752E25A3FB5D27A9", + "flags" : "0x80000", + "equipment": "", + "height": "41.25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#23", + "size": "" + }, + "powerflow.pole_mount_19" : { "id" : "18", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "304089172", - "guid" : "679A741C52208B796E10EB8E79470037", - "flags" : "0x100", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "WOOD-C-45/5", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "12332.5 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "895.107 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole3" : { + "guid" : "3DC963E8181C46C62F2FC3A860D77BA9", + "flags" : "0x80000", + "equipment": "", + "height": "41.25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#8", + "size": "" + }, + "powerflow.pole_mount_20" : { "id" : "19", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "1303455736", - "guid" : "31FB5146777006DA1A7F3F61CA5FCEFF", - "flags" : "0x100", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "SYP-20/3", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "21876.4 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "118.805 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole4" : { + "guid" : "727B136D89FD97333C5877EBC5FEC455", + "flags" : "0x80000", + "equipment": "", + "height": "40.5 ft", + "offset": "5 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "", + "related": "Insulator#1,Insulator#2,Insulator#3,Insulator#4", + "id": "CrossArm#1", + "size": "" + }, + "powerflow.pole_mount_21" : { "id" : "20", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "35005211", - "guid" : "7FE1B14B2E30B8044481C6BFD5614CD8", - "flags" : "0x100", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "SYP-25/3", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "21876.4 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "222.225 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole5" : { + "guid" : "777854456889B87F27A105D885B0B29D", + "flags" : "0x80000", + "equipment": "", + "height": "40.5 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Cutout_Arrestor", + "related": "nan", + "id": "Equip#2", + "size": "" + }, + "powerflow.pole_mount_22" : { "id" : "21", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", + "clock" : "INIT", "rng_state" : "521595368", - "guid" : "40B722C19ADE19356669541C59DCA06B", - "flags" : "0x100", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "SYP-50/3", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "19302.7 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "1216.55 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole6" : { + "guid" : "4454758A31EC2DE0645F58951BFFCD78", + "flags" : "0x80000", + "equipment": "", + "height": "40.5 ft", + "offset": "9.67 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Pin", + "related": "Wire#11,Wire#26", + "id": "Insulator#4", + "size": "" + }, + "powerflow.pole_mount_23" : { "id" : "22", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "1", - "clock" : "2021-06-27 17:00:00 PDT", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", "rng_state" : "294702567", - "guid" : "C8F1A80DD882BB358928B6F81540477", + "guid" : "455D0C58378A9AF42E1BBA15B1E05984", "flags" : "0x80000", - "status": "OK", - "tilt_angle": "1 deg", - "tilt_direction": "-5 deg", - "weather": "", - "configuration": "SYP-35/5", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole7" : { + "equipment": "", + "height": "40.5 ft", + "offset": "6.67 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Pin", + "related": "Wire#10,Wire#25", + "id": "Insulator#3", + "size": "" + }, + "powerflow.pole_mount_24" : { "id" : "23", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", "clock" : "INIT", "rng_state" : "1726956429", - "guid" : "390028721516DACA4904921DC676760", - "flags" : "0x0", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "SYP-80/H-2", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "100 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole8" : { + "guid" : "755CA03F33B6A01E2E128E770BE56C05", + "flags" : "0x80000", + "equipment": "", + "height": "40.5 ft", + "offset": "3.33 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Pin", + "related": "Wire#9,Wire#24", + "id": "Insulator#2", + "size": "" + }, + "powerflow.pole_mount_25" : { "id" : "24", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", "clock" : "INIT", "rng_state" : "336465782", - "guid" : "49DA5B4A9E1F4B7E6E368D8F65CFDB1F", - "flags" : "0x0", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "SYP-90/H-2", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole9" : { + "guid" : "7F8B04F8BBF0809F154FE99976F9F7F1", + "flags" : "0x80000", + "equipment": "", + "height": "40.5 ft", + "offset": "0.33 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Pin", + "related": "Wire#8,Wire#23", + "id": "Insulator#1", + "size": "" + }, + "powerflow.pole_mount_26" : { "id" : "25", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", "clock" : "INIT", "rng_state" : "861021530", - "guid" : "335997C0708EECEE3A7DDA30E77FBED5", - "flags" : "0x0", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "SYP-100/H-2", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole10" : { + "guid" : "249A4F691B848B927267E4F7EFE27D6B", + "flags" : "0x80000", + "equipment": "", + "height": "37.5 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Transformer", + "related": "nan", + "id": "Equip#3", + "size": "" + }, + "powerflow.pole_mount_27" : { "id" : "26", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", "clock" : "INIT", "rng_state" : "278722862", - "guid" : "276FD4919FEFC4E177EDBBEAA791DCE", - "flags" : "0x0", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "SYP-110/H-3", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole11" : { + "guid" : "65DE23C842C7E7FD71D6ABB6612CA754", + "flags" : "0x80000", + "equipment": "", + "height": "33 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Clamp", + "related": "Wire#12", + "id": "Insulator#15", + "size": "" + }, + "powerflow.pole_mount_28" : { "id" : "27", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", + "class" : "pole_mount", "rank" : "0", "clock" : "INIT", "rng_state" : "233665123", - "guid" : "46EE58B00F8429FF6B98FA8F05D5FE53", - "flags" : "0x0", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "SYP-120/H-4", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "recorder:28" : { + "guid" : "19D6B2F96AD1B665FFAC30B73B1BD47", + "flags" : "0x80000", + "equipment": "", + "height": "33 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Clamp", + "related": "Wire#18", + "id": "Insulator#10", + "size": "" + }, + "powerflow.pole_mount_29" : { "id" : "28", - "class" : "recorder", - "parent" : "pole6", + "class" : "pole_mount", "rank" : "0", "clock" : "INIT", "rng_state" : "2145174067", - "guid" : "49A99AD1ED9B4E523CE2786A2D63C785", - "flags" : "0x0", - "trigger": "", - "file": "pole_outputs.csv", - "filetype": "txt", - "mode": "file", - "multifile": "", - "limit": "0", - "plotcommands": "", - "xdata": "", - "columns": "", - "flush": "-1", - "format": "FALSE", - "interval": "-1 s", - "strftime_format": "", - "property": "equipment_moment_nowind,equipment_moment,pole_moment_nowind,pole_moment,wire_tension,tilt_angle,total_moment,resisting_moment,critical_wind_speed,pole_stress", - "output": "SCREEN", - "header_units": "DEFAULT", - "line_units": "DEFAULT" + "guid" : "13794E3B8D2328D82BB024CB0D5B9A5E", + "flags" : "0x80000", + "equipment": "", + "height": "33 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#12", + "size": "" + }, + "powerflow.pole_mount_30" : { + "id" : "29", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "468703135", + "guid" : "33FDA30F21958D685091523C3ABB47CF", + "flags" : "0x80000", + "equipment": "", + "height": "33 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#18", + "size": "" + }, + "powerflow.pole_mount_31" : { + "id" : "30", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1101513929", + "guid" : "3A48CC914E47266D77C99543DEEEBF22", + "flags" : "0x80000", + "equipment": "", + "height": "27 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Street_Light", + "related": "nan", + "id": "Equip#1", + "size": "" + }, + "powerflow.pole_mount_32" : { + "id" : "31", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1801979802", + "guid" : "4ADA58D5D5D3CF70469A35A3260829F7", + "flags" : "0x80000", + "equipment": "", + "height": "26.17 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#28", + "size": "" + }, + "powerflow.pole_mount_33" : { + "id" : "32", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1315634022", + "guid" : "267F7CDEC98B0EFF397278A356061EE1", + "flags" : "0x80000", + "equipment": "", + "height": "26.17 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#14", + "size": "" + }, + "powerflow.pole_mount_34" : { + "id" : "33", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "635723058", + "guid" : "345BDB995808816612AAD0E23A3D5D6F", + "flags" : "0x80000", + "equipment": "", + "height": "26.17 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#27", + "size": "" + }, + "powerflow.pole_mount_35" : { + "id" : "34", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1369133069", + "guid" : "A18D6069073D2084BE3B475055114BD", + "flags" : "0x80000", + "equipment": "", + "height": "26.17 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#13", + "size": "" + }, + "powerflow.pole_mount_36" : { + "id" : "35", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1125898167", + "guid" : "3D2FF2C7E6105EF120FF1F35259C920B", + "flags" : "0x80000", + "equipment": "", + "height": "26 ft", + "offset": "5 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "", + "related": "Insulator#5,Insulator#6", + "id": "CrossArm#2", + "size": "" + }, + "powerflow.pole_mount_37" : { + "id" : "36", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1059961393", + "guid" : "1057BABD609BB94633BED75B282ACE06", + "flags" : "0x80000", + "equipment": "", + "height": "26 ft", + "offset": "0.33 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Clamp", + "related": "Wire#14,Wire#28", + "id": "Insulator#6", + "size": "" + }, + "powerflow.pole_mount_38" : { + "id" : "37", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "2089018456", + "guid" : "180FB91A84D0DBC06EFD1A5F6617AF10", + "flags" : "0x80000", + "equipment": "", + "height": "26 ft", + "offset": "9.67 ft", + "area": "0 sf", + "direction": "180 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Clamp", + "related": "Wire#13,Wire#27", + "id": "Insulator#5", + "size": "" + }, + "powerflow.pole_mount_39" : { + "id" : "38", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "628175011", + "guid" : "39491C8521C0B28B388E6802D887721F", + "flags" : "0x80000", + "equipment": "", + "height": "25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Clamp", + "related": "Wire#4,Wire#19", + "id": "Insulator#11", + "size": "" + }, + "powerflow.pole_mount_40" : { + "id" : "39", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1656478042", + "guid" : "6D39C79E4E5CE40B28B4B1B80F258E1D", + "flags" : "0x80000", + "equipment": "", + "height": "25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#19", + "size": "" + }, + "powerflow.pole_mount_41" : { + "id" : "40", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1131176229", + "guid" : "7D3F6EB003C062D36643442CE4FAAAD1", + "flags" : "0x80000", + "equipment": "", + "height": "25 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#4", + "size": "" + }, + "powerflow.pole_mount_42" : { + "id" : "41", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1653377373", + "guid" : "71F5B0ACDFDF3FCA6E5851292FF2BB3E", + "flags" : "0x80000", + "equipment": "", + "height": "24 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Clamp", + "related": "Wire#5,Wire#20", + "id": "Insulator#12", + "size": "" + }, + "powerflow.pole_mount_43" : { + "id" : "42", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "859484421", + "guid" : "3856E963BCA303F976B60FA746BFCCBD", + "flags" : "0x80000", + "equipment": "", + "height": "24 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#20", + "size": "" + }, + "powerflow.pole_mount_44" : { + "id" : "43", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1914544919", + "guid" : "812CAF3E7A4959C41C6F826D9447B09", + "flags" : "0x80000", + "equipment": "", + "height": "24 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#5", + "size": "" + }, + "powerflow.pole_mount_45" : { + "id" : "44", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "608413784", + "guid" : "5DF29C8EE674EEB8232BB34F37A6F6AD", + "flags" : "0x80000", + "equipment": "", + "height": "23 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Clamp", + "related": "Wire#6,Wire#21", + "id": "Insulator#13", + "size": "" + }, + "powerflow.pole_mount_46" : { + "id" : "45", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "756898537", + "guid" : "65694C69D323CB411C04E0B9C3878CA4", + "flags" : "0x80000", + "equipment": "", + "height": "23 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#21", + "size": "" + }, + "powerflow.pole_mount_47" : { + "id" : "46", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1734575198", + "guid" : "743D52F67D80402D5DC9EC15E825A802", + "flags" : "0x80000", + "equipment": "", + "height": "23 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#6", + "size": "" + }, + "powerflow.pole_mount_48" : { + "id" : "47", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1973594324", + "guid" : "4358B55D9CDE594F2AC0B67794BB36DC", + "flags" : "0x80000", + "equipment": "", + "height": "21.5 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "0 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Clamp", + "related": "Wire#7,Wire#22", + "id": "Insulator#14", + "size": "" + }, + "powerflow.pole_mount_49" : { + "id" : "48", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "149798315", + "guid" : "57AC452F7E1EE3B37322E9F9D55AEDA6", + "flags" : "0x80000", + "equipment": "", + "height": "21.5 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#2", + "id": "Wire#22", + "size": "" + }, + "powerflow.pole_mount_50" : { + "id" : "49", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "2038664370", + "guid" : "16478B67BA8529A735D05D86C6815D77", + "flags" : "0x80000", + "equipment": "", + "height": "21.5 ft", + "offset": "0 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Light_Full_(Tension)", + "related": "WEP#1", + "id": "Wire#7", + "size": "" + }, + "powerflow.pole_mount_51" : { + "id" : "50", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "1129566413", + "guid" : "46799C9AA2D1415513B1FF06BEF5EEBB", + "flags" : "0x80000", + "equipment": "", + "height": "0 ft", + "offset": "204 ft", + "area": "0 sf", + "direction": "270 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Previous_Pole", + "related": "nan", + "id": "WEP#2", + "size": "" + }, + "powerflow.pole_mount_52" : { + "id" : "51", + "class" : "pole_mount", + "rank" : "0", + "clock" : "INIT", + "rng_state" : "184803526", + "guid" : "4D2664742AEDC0B82CB049A02C298122", + "flags" : "0x80000", + "equipment": "", + "height": "0 ft", + "offset": "180 ft", + "area": "0 sf", + "direction": "90 deg", + "weight": "0 lb", + "pole_spacing": "0 ft", + "type": "Next_Pole", + "related": "nan", + "id": "WEP#1", + "size": "" } } } diff --git a/US/CA/SLAC/anticipation/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_file_converter.py index 43ee9c4e..a83bb3c6 100644 --- a/US/CA/SLAC/anticipation/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_file_converter.py @@ -89,6 +89,7 @@ def parse_length(cell_string, current_column, current_row): '"' : "in", "in" : "in", "inch" : "in", + "inches" :'in', "feet" : "ft", "ft" : "ft", "foot" : "ft", @@ -168,17 +169,23 @@ def parse_pressure(cell_string, current_column, current_row): def parse_column(df_current_sheet, current_column, parsing_function): """Parse each cell in the column with a function - For invalid inputs, resulting cell will be "nan". + For invalid inputs, resulting cell will be ''. + Allows empty cells ('nan'). Can remove the if statement if an error should be raised for empty cells. Keyword arguments: current_column -- the string to be parsed (presumably from a cell) parsing_function -- the function to be called for each cell """ for row in range(1,len(df_current_sheet[current_column])+1): - try: - df_current_sheet.at[row,current_column] = parsing_function(str(df_current_sheet.at[row,current_column]),current_column,row) - except ValueError as e: - df_current_sheet.at[row,current_column] = "nan" - print(e) + current_string = str(df_current_sheet.at[row,current_column]) + if (current_string == 'nan'): + df_current_sheet.at[row,current_column] = '' + else: + try: + df_current_sheet.at[row,current_column] = parsing_function(str(df_current_sheet.at[row,current_column]),current_column,row) + except ValueError as e: + df_current_sheet.at[row,current_column] = '' + print(e) + def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, subtrahend_column,current_row): """Subtract the lengths of strings contained in two cells @@ -219,20 +226,40 @@ def subtract_length_columns(minuend_string, subtrahend_string, minuend_column, s else: return str(round(float(re.search("^[1-9]\d*(\.\d+)?", minuend_string).group()) - float(re.search("^[1-9]\d*(\.\d+)?", subtrahend_string).group()),decimal_rounding)) + " " + output_unit -def parse_lat_long(cell_string, current_column, current_row): - """Parse the lat/long value - - Latitude and longitude should be separated. +def check_lat_long(cell_string, current_column, current_row): + """Parse the lat/long value + Keyword arguments: cell_string -- the string to be parsed (presumably from a cell) current_column -- the column number containing the cell_string. For more descriptive ValueErrors current_row -- the row number containing the cell_string. For more descriptive ValueErrors """ + CONTIGUOUS_US_LOWER_LAT = 23 + CONTIGUOUS_US_UPPER_LAT = 50 + CONTIGUOUS_US_LOWER_LONG = -130 + CONTIGUOUS_US_UPPER_LONG = -64 + ALASKA_LOWER_LAT = 55 + ALASKA_UPPER_LAT = 71 + ALASKA_LOWER_LONG = -168 + ALASKA_UPPER_LONG = -130 if cell_string == "nan": raise ValueError(f'The cell column: {current_column}, row {current_row} is empty. Please enter a value.') else: - return float(cell_string) + lat_long = re.findall('[\-]?\d+[\.]?[\d+]*', cell_string) + if (len(lat_long) != 2): + raise ValueError(f'The cell value {cell_string} in {current_column}, row {current_row} is not valid. Please provide GPS Point in this format: lat , long') + try: + lat = float(lat_long[0]) + longitude = float(lat_long[1]) + except ValueError: + raise ValueError(f'The cell value {cell_string} in {current_column}, row {current_row} is not valid. Please provide GPS Point in this format: float , float') + if ((lat < CONTIGUOUS_US_UPPER_LAT and longitude > CONTIGUOUS_US_LOWER_LONG) and (lat > CONTIGUOUS_US_LOWER_LAT and longitude < CONTIGUOUS_US_UPPER_LONG) or + ((lat > ALASKA_LOWER_LAT and longitude < ALASKA_UPPER_LONG ) and (lat < ALASKA_UPPER_LAT and longitude > ALASKA_LOWER_LONG))): + return str(lat) + "," + str(longitude) + else: + raise ValueError(f'The cell value {cell_string} in {current_column}, row {current_row} is not in North America. Please enter a valid value.') + def parse_circumference_to_diamater(cell_string, current_column, current_row): """Parse the circumference value into its diameter value @@ -248,6 +275,11 @@ def parse_circumference_to_diamater(cell_string, current_column, current_row): except ValueError as e: raise e +def parse_space_to_underscore(cell_string, current_column, current_row): + if cell_string == "nan": + raise ValueError(f'The cell column: {current_column}, row {current_row} is empty. Please enter a value.') + return cell_string.replace(' ','_') + # Parse necessary columns into a format supported by Gridlabd. parse_column(df_current_sheet, 'Lean Angle', parse_angle) parse_column(df_current_sheet, 'Lean Direction', parse_angle) @@ -255,9 +287,12 @@ def parse_circumference_to_diamater(cell_string, current_column, current_row): parse_column(df_current_sheet, 'GLC', parse_circumference_to_diamater) parse_column(df_current_sheet, 'AGL', parse_length) parse_column(df_current_sheet, 'Effective Stress Adjustment', parse_pressure) -print(df_current_sheet) +parse_column(df_current_sheet, 'GPS Point', check_lat_long) +# Prepare GPS Point column for splitting and split value into lat and long. +df_current_sheet['GPS Point'] = df_current_sheet['GPS Point'].apply(lambda x: str(x).replace('', ',') if str(x) == '' else str(x)) +df_current_sheet[['latitude','longitude']] = df_current_sheet['GPS Point'].str.split(',', expand=True) # Subtract agl from length to get depth. @@ -266,7 +301,7 @@ def parse_circumference_to_diamater(cell_string, current_column, current_row): df_current_sheet.at[row,'AGL'] = subtract_length_columns(str(df_current_sheet.at[row,'Length']), str(df_current_sheet.at[row,'AGL']), 'Length', 'AGL', row) except ValueError as e: - df_current_sheet.at[row,'AGL'] = "nan" + df_current_sheet.at[row,'AGL'] = "" print(e) @@ -277,47 +312,63 @@ def parse_circumference_to_diamater(cell_string, current_column, current_row): # Rename columns to its corresponding column name in Gridlabd. # I believe class in the file is referring to grade, so it is renamed. df_current_sheet.rename(columns = {'Lean Angle': 'tilt_angle', - 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength', 'Length' : 'length', 'GLC' : 'ground_diameter', 'AGL' : 'depth', 'Class': "grade"}, inplace=True) + 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength', 'Length' : 'pole_length', 'GLC' : 'ground_diameter', 'AGL' : 'pole_depth', 'Class': "grade"}, inplace=True) # Split GPS Point into longitude and latitude, then parse. -df_current_sheet[['latitude','longitude']] = df_current_sheet['GPS Point'].str.split(' , ', expand=True) -parse_column(df_current_sheet, 'latitude', parse_lat_long) -parse_column(df_current_sheet, 'longitude', parse_lat_long) + # Remove original GPS Point column df_current_sheet.drop(columns = {'GPS Point', 'Allowable Stress Adjustment'},axis=1,inplace=True) print(df_current_sheet) -# Split the dataframe based on properties of pole_library and pole_config and recombine. -df_pole_library = df_current_sheet[['length', 'depth', 'ground_diameter', 'fiber_strength']] -df_pole_config = df_current_sheet[['tilt_angle', 'tilt_direction', 'latitude', 'longitude']] -df_pole_library['class'] = ['powerflow.pole'] * len(df_pole_library) -df_pole_config['class'] = ['powerflow.pole_configuration'] * len(df_pole_config) -df['Design - Pole']= pd.concat([df_pole_config, df_pole_library], axis=0, ignore_index=True) +# Split the dataframe based on properties of pole_config and pole_library. +df_pole_config = df_current_sheet[['pole_length', 'pole_depth', 'ground_diameter', 'fiber_strength']] +df_pole_library = df_current_sheet[['tilt_angle', 'tilt_direction', 'latitude', 'longitude']] +# Specify class of the properties. +df_pole_config['class'] = ['powerflow.pole_configuration'] * len(df_pole_config) +df_pole_library['class'] = ['powerflow.pole'] * len(df_pole_library) -#Todo -#Handle Species column. It is a property in pole_library_config rather than pole_vulnerability_config. +# Additional properties for each class. These values are just for testing purposes for now. +df_pole_config['name'] = 'test_name' +df_pole_library['configuration'] = 'test_name' +df_pole_library['name'] = 'pole_1' -#last column called class based on what your converting. If it's pole object, powerflow.pole. If it's config, powerflow.pole_configuration. -#don't split the csv files. Have it all in one place and differentiate it with a new column +# Combine. +df['Design - Pole']= pd.concat([df_pole_config, df_pole_library], axis=0, ignore_index=True) +# For visualization. +print(df_current_sheet) # Secondly, do operations on the sheet 'Design - Structure.' df_current_sheet = df['Design - Structure'] parse_column(df_current_sheet, 'Height', parse_length) parse_column(df_current_sheet, 'Offset/Lead', parse_length) -# There's a direction for the previous and next poles, but I don't see anything in pole_mount.cpp. It only has pole_spacing, -# and it is only the mean of next and previous when xls file specifies different distances. parse_column(df_current_sheet, 'Direction', parse_angle) +parse_column(df_current_sheet, 'Type', parse_space_to_underscore) + +# Replace spaces and hashtags +df_current_sheet['Related'] = df_current_sheet['Related'].apply(lambda x: str(x).replace(' ', '')) +df_current_sheet['Related'] = df_current_sheet['Related'].apply(lambda x: str(x).replace('#', '_')) +df_current_sheet['ID#'] = df_current_sheet['ID#'].apply(lambda x: str(x).replace('#', '_')) -# Rename some columns +# Specify parent of the pole_mount objects +df_current_sheet['parent'] = ['pole_1'] * len(df_current_sheet) + + +# Rename/delete some columns +# Todo: Keep size and convert data from that input into area and weight. +df_current_sheet.drop(columns = {'Owner', 'Size'}, inplace=True) df_current_sheet.rename(str.lower, axis='columns', inplace=True) -df_current_sheet.rename(columns = {'id#' : 'id'}, inplace=True) + +# Todo: The last two rows of the offset/lead column is the distance between adjacent poles. Handle it somehow. +df_current_sheet.rename(columns = {'id#' : 'id', 'offset/lead' : 'offset'}, inplace=True) # Add 'class' column to 'Design - Strucuture'. df_current_sheet['class'] = ['powerflow.pole_mount'] * len(df_current_sheet) +df_current_sheet['name'] = [f'pole_mount_{i}' for i in range(len(df_current_sheet))] + @@ -330,19 +381,21 @@ def parse_circumference_to_diamater(cell_string, current_column, current_row): + # get cable information from GLM -# cable_info = gridlabd.get_object('653.9 ACSR') +# cable_info = gridlabd.get_value('1/0_ACSR','outer_cable_diameter') # Create the intermediate csv files. May not be necessary. for key in df: df[key].to_csv('%s.csv' %key) +df_final.reset_index(drop=True, inplace=True) +# Create final csv file. +df_final.to_csv('Sample_Output.csv', index=False) -#c Create final csv file. -df_final.to_csv('Sample_Output.csv') - -#disable index +# For visualization. +print(df_final) diff --git a/US/CA/SLAC/anticipation/pole_outputs.csv b/US/CA/SLAC/anticipation/pole_outputs.csv index b5510b1c..58247c65 100644 --- a/US/CA/SLAC/anticipation/pole_outputs.csv +++ b/US/CA/SLAC/anticipation/pole_outputs.csv @@ -1,5 +1,5 @@ # file...... pole_outputs.csv -# date...... Fri Aug 6 17:38:50 2021 +# date...... Wed Aug 11 01:49:02 2021 # user...... (null) # host...... (null) # target.... pole 22 From 9305db2a195a99a3e7b288cf19ed45ac5b7d299d Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Fri, 13 Aug 2021 15:04:36 -0700 Subject: [PATCH 32/82] added Jupyter Notebook documentation --- .../Pole_File_Converter_Guide.ipynb | 135 ++++++++++++++++++ .../Resilience_Template _Start_Guide.ipynb | 58 ++++++++ US/CA/SLAC/anticipation/pole_outputs1.csv | 11 -- US/CA/SLAC/anticipation/pole_outputs2.csv | 11 -- US/CA/SLAC/anticipation/pole_outputs3.csv | 11 -- US/CA/SLAC/anticipation/pole_outputs4.csv | 11 -- 6 files changed, 193 insertions(+), 44 deletions(-) create mode 100644 US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb create mode 100644 US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb delete mode 100644 US/CA/SLAC/anticipation/pole_outputs1.csv delete mode 100644 US/CA/SLAC/anticipation/pole_outputs2.csv delete mode 100644 US/CA/SLAC/anticipation/pole_outputs3.csv delete mode 100644 US/CA/SLAC/anticipation/pole_outputs4.csv diff --git a/US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb b/US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb new file mode 100644 index 00000000..f7050606 --- /dev/null +++ b/US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb @@ -0,0 +1,135 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "41e7d7d4", + "metadata": {}, + "source": [ + "# GridLAB-D Pole File Converter Guide\n", + "The pole_file_converter.py file is currently in the directory *gridlabd-template/US/CA/SLAC/anticipation* of the *add-resilience-template* branch.\n", + "## Program Dependencies \n", + "1. This program is dependent on the file *Pole_Output_Sample.xls* found in the same directory as the *pole_file_converter.py*. Later versions may support custom inputs, but as of now, this program only uses that file. \n", + "2. This program is dependent on pandas and regular expressions, so make sure they are installed. It is recommended to run this file within the Docker container of the latest GridLAB-D image as it is the environment this file was written in. \n", + "\n", + "## Program Usage\n", + "This python file reads the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv* where the input is a sample file from SpidaCalc and the output is a GridLAB-D recognizable csv file. This output is usually supplied to *anticipation.glm* as an input to convert csv pole data to glm objects. The statement used is " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b03ed018", + "metadata": {}, + "outputs": [], + "source": [ + "#input \"Sample_Output.csv\" -t object -f table" + ] + }, + { + "cell_type": "markdown", + "id": "6b4d9bff", + "metadata": {}, + "source": [ + "## General Input Assumptions \n", + "1. Inputs to be of similar format as *Pole_Output_Sample.xls* with three sheets in the order __Design - Pole__, __Design - Structure__, and __Analysis__. Currently, the __Analysis__ sheet is not used.\n", + "2. The names of the indexes in __Design - Pole__ to be *Owner,\tSpecies,\tLength,\tClass,\tAGL,\tGLC,\tFoundation\tGround Water Level,\tLean Angle,\tLean Direction,\tAllowable Stress Adjustment\tEffective Stress Adjustment*, and \t*GPS Point*\n", + "3. The names of the indexes in __Design - Strucutre__ to be *ID#,\tSize,\tHeight,\tDirection,\tOffset/Lead,\tOwner,\tType,*\tand *Related*.\n", + "4. The first row of each sheet to be the header. \n", + "5. There is only one pole in __Design - Pole__ and every row in __Design - Structure__ represents pole_mount objects on that pole.\n" + ] + }, + { + "attachments": { + "Capture-2.PNG": { + "image/png": "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" + }, + "Capture-3.PNG": { + "image/png": "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" + }, + "Capture.PNG": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "e41856e6", + "metadata": {}, + "source": [ + "## Mapping of Input Columns to Output Columns \n", + "The output columns represent the values of properties corresponding to the GridLAB-D object. Empty output cells represent dropped input columns while empty input cells indicate a manually added property. The *class* column is used to differentiate between rows representing different objects. \n", + "1. __Design - Pole__\n", + "\n", + "![Capture.PNG](attachment:Capture.PNG)\n", + "\n", + "The output column *configuration* is for a pole object to specify its configuration. The output column *name* is for both the pole object and pole configuration object to have a name. The main purpose is so the pole object can specify its pole configuration object using the pole configuration object's name. The output of this sheet can be found in __Design - Pole.csv__. \n", + "\n", + "2. __Design - Structure__ \n", + "![Capture-2.PNG](attachment:Capture-2.PNG)\n", + "\n", + "The size column is currently not used to test the syntax of the other columns. In the near future, it can map to the area and the weight of a wire pole_mount object. The *parent* column is the name of the pole the pole_mount objects are attached to. The output of this sheet can be found in __Design - Structure.csv__. \n", + "\n", + "\n", + "3. __Combined CSV Output__\n", + "![Capture-3.PNG](attachment:Capture-3.PNG)\n", + "\n", + "The final CSV output is attached above. There are blocks of empty cells because each class has different properties that might not be shared with other classes. " + ] + }, + { + "cell_type": "markdown", + "id": "09b09100", + "metadata": {}, + "source": [ + "## Specific Input Assumptions and Functionalities\n", + "Each value in a given row is assumed to be a specific type of value.\n", + "\n", + "All cells representing measurements are expected to have a value along with units except for the column *GPS Point*. All cells given invalid values (i.e. missing units, missing values, etc.) will raise a ValueError, print a message of the value, row, and column of the input where the error occured, and produce an empty string as the output. \n", + "\n", + "1. Column Values - *Lengths*\n", + "\n", + "Multiple values can be present in one cell. Examples are 5'6\" and 7 ft 11 inch. In these cases, the values will be converted to whichever unit was listed first. There must be the same number of values as units. Otherwise, a ValueError will be raised. To recognize more strings as lengths, add to the dictionary *length_units* in the definition of the function *parse_length*. Example columns (input) include *Length, AGL,* and *GLC*. \n", + "\n", + "2. Column Values - *Angles, Pressures*\n", + "\n", + "For angles and pressures, multiple values are not supported. To recognize more strings as angles, add to the dictionary *angle_units* in the definition of the function *parse_angle*. Example columns (input) include *Lean Angle* and *Lean Direction*. \n", + "\n", + "3. Notes\n", + "* The column (output) *pole_depth*, is calculated by subtracting the *AGL* (above ground level) from the *Length* of the pole. It is expected that those two columns have the same units. A ValueError will be raised if different units are present.\n", + "* The columns *latitude* and *longitude* (output) are converted by simply splitting ' , ' from the value of *GPS Point* (input), so if the format is not exactly as the value supplied, errors might occur. \n", + "* For more information on specific lines of code, consult the comments in the program file. \n", + "\n", + "## TODOS\n", + "1. The values of the *Size* column (input) in __Design - Structure__ is dropped for testing purposes. Next steps are mapping the size of wires (wires are indicated by the ID# column) to the area and weight/ft and use that information to populate new output columns *area* and *weight* where *area* is the cross-section area of the wire and *weight* is the weight/ft of the wire multiplied by the length of the wire. \n", + "2. The last two rows in __Design - Structure__ represent the adjacent poles of the current pole. The Lead/Offset (input) value in this case should be mapped to the pole_spacing property of the pole_mount object. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "638e41c7", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb b/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb new file mode 100644 index 00000000..eab22454 --- /dev/null +++ b/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb @@ -0,0 +1,58 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "539974f2", + "metadata": {}, + "source": [ + "# Resilience Template Start Guide \n", + "\n", + "## Environment Setup and Directory Navigation\n", + "1. Follow the guide https://docs.google.com/document/d/19hcR_RtNDjdpHn-SEGlzLocJnGF0lC53rXhEkPyB6aM/edit to set up your environment. By the end of this step, you should be able to copy the files in the add-resilience-template branch into the Docker container.\n", + "2. After copying your files into the Docker container, cd into model/US/CA/SLAC/anticipation. \n", + "\n", + "## File Descriptions\n", + "This section describes useful files that can be manipulated to produce different results. \n", + "\n", + "anticipation.glm - the main file that produces the glm objects based on its inputs. Currently, the three inputs that can be used are *pole_library_config.csv, pole_vulnerability_config.csv,* and *Sample_Output.csv*. Descriptions of these files can be found below. User has to manually comment and uncomment commands to change which file is being used as an input. After this file is run, a .glm file is produced with the same name as the input. \n", + "\n", + "pole_library_config.csv - an input file for *anticipation.glm*. It represents different pole configurations and each row is read to be a pole_configuration object while the columns are different properties of a pole configuration object. \n", + "\n", + "pole_vulnerability_config.csv - an input file for *anticipation.glm*. It represents different poles and each row is read to be a pole object while the columns are different properties of a pole object. \n", + "\n", + "Sample_Output.csv - the output of p*ole_file_converter.py*. It contains information for a pole, a pole configuration, and numerous pole mounts. Further description of *pole_file_converter.py* can be found below. \n", + "\n", + "pole_file_converter.py - this python program takes in the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv*. It's main purpose is to convert information from the input into a GridLAB-D readable .csv file. It also outputs intermediate files *Design - Pole.csv* (pole and pole configuration data), *Design - Strcture.csv* (pole mount data), and *Analysis.csv*, which are the transformed sheets in *Pole_Output_Sample.xls* before they are combined into Sample_Output.csv. Currently, *Analysis.csv* is not used or converted. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "793a31ef", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/US/CA/SLAC/anticipation/pole_outputs1.csv b/US/CA/SLAC/anticipation/pole_outputs1.csv deleted file mode 100644 index 1aff66f9..00000000 --- a/US/CA/SLAC/anticipation/pole_outputs1.csv +++ /dev/null @@ -1,11 +0,0 @@ -# file...... pole_outputs1.csv -# date...... Thu Jul 1 22:57:33 2021 -# user...... (null) -# host...... (null) -# target.... pole 21 -# trigger... (none) -# interval.. -1 -# limit..... 0 -# timestamp,critical_wind_speed,pole_moment,wind_speed -2021-06-27 17:00:00 PDT,+116.146,+0,+20 -# end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs2.csv b/US/CA/SLAC/anticipation/pole_outputs2.csv deleted file mode 100644 index 13a67cff..00000000 --- a/US/CA/SLAC/anticipation/pole_outputs2.csv +++ /dev/null @@ -1,11 +0,0 @@ -# file...... pole_outputs2.csv -# date...... Mon Jun 28 21:02:31 2021 -# user...... (null) -# host...... (null) -# target.... pole 25 -# trigger... (none) -# interval.. -1 -# limit..... 0 -# timestamp,total_moment -2000-01-01 00:00:00 UTC,+0 -# end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs3.csv b/US/CA/SLAC/anticipation/pole_outputs3.csv deleted file mode 100644 index 16ddd297..00000000 --- a/US/CA/SLAC/anticipation/pole_outputs3.csv +++ /dev/null @@ -1,11 +0,0 @@ -# file...... pole_outputs3.csv -# date...... Mon Jun 28 21:02:31 2021 -# user...... (null) -# host...... (null) -# target.... pole 26 -# trigger... (none) -# interval.. -1 -# limit..... 0 -# timestamp,total_moment -2000-01-01 00:00:00 UTC,+0 -# end of tape diff --git a/US/CA/SLAC/anticipation/pole_outputs4.csv b/US/CA/SLAC/anticipation/pole_outputs4.csv deleted file mode 100644 index 725738df..00000000 --- a/US/CA/SLAC/anticipation/pole_outputs4.csv +++ /dev/null @@ -1,11 +0,0 @@ -# file...... pole_outputs4.csv -# date...... Mon Jun 28 21:02:31 2021 -# user...... (null) -# host...... (null) -# target.... pole 27 -# trigger... (none) -# interval.. -1 -# limit..... 0 -# timestamp,total_moment -2000-01-01 00:00:00 UTC,+0 -# end of tape From 36a85aa320f618096f9b9469e167833f12c16fa3 Mon Sep 17 00:00:00 2001 From: johnsonhsiung <47260592+johnsonhsiung@users.noreply.github.com> Date: Fri, 13 Aug 2021 15:06:28 -0700 Subject: [PATCH 33/82] Update Resilience_Template _Start_Guide.ipynb --- .../anticipation/Resilience_Template _Start_Guide.ipynb | 8 -------- 1 file changed, 8 deletions(-) diff --git a/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb b/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb index eab22454..00fe1963 100644 --- a/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb +++ b/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb @@ -25,14 +25,6 @@ "pole_file_converter.py - this python program takes in the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv*. It's main purpose is to convert information from the input into a GridLAB-D readable .csv file. It also outputs intermediate files *Design - Pole.csv* (pole and pole configuration data), *Design - Strcture.csv* (pole mount data), and *Analysis.csv*, which are the transformed sheets in *Pole_Output_Sample.xls* before they are combined into Sample_Output.csv. Currently, *Analysis.csv* is not used or converted. \n" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "793a31ef", - "metadata": {}, - "outputs": [], - "source": [] - } ], "metadata": { "kernelspec": { From e27a3541a3a9104e567d46e223778fb882641b26 Mon Sep 17 00:00:00 2001 From: Johnson Hsiung Date: Fri, 13 Aug 2021 15:08:14 -0700 Subject: [PATCH 34/82] added lat/long bounding and additional value checking --- ...dLAB-D_Quick_Pole_File_Converter_Guide.ipynb} | 16 ++++------------ ...ynb => Resilience_Template_Start_Guide.ipynb} | 10 +--------- 2 files changed, 5 insertions(+), 21 deletions(-) rename US/CA/SLAC/anticipation/{Pole_File_Converter_Guide.ipynb => GridLAB-D_Quick_Pole_File_Converter_Guide.ipynb} (99%) rename US/CA/SLAC/anticipation/{Resilience_Template _Start_Guide.ipynb => Resilience_Template_Start_Guide.ipynb} (94%) diff --git a/US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb b/US/CA/SLAC/anticipation/GridLAB-D_Quick_Pole_File_Converter_Guide.ipynb similarity index 99% rename from US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb rename to US/CA/SLAC/anticipation/GridLAB-D_Quick_Pole_File_Converter_Guide.ipynb index f7050606..07d4323a 100644 --- a/US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb +++ b/US/CA/SLAC/anticipation/GridLAB-D_Quick_Pole_File_Converter_Guide.ipynb @@ -5,7 +5,7 @@ "id": "41e7d7d4", "metadata": {}, "source": [ - "# GridLAB-D Pole File Converter Guide\n", + "# GridLAB-D Quick Pole File Converter Guide\n", "The pole_file_converter.py file is currently in the directory *gridlabd-template/US/CA/SLAC/anticipation* of the *add-resilience-template* branch.\n", "## Program Dependencies \n", "1. This program is dependent on the file *Pole_Output_Sample.xls* found in the same directory as the *pole_file_converter.py*. Later versions may support custom inputs, but as of now, this program only uses that file. \n", @@ -18,7 +18,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "b03ed018", + "id": "a549480d", "metadata": {}, "outputs": [], "source": [ @@ -51,7 +51,7 @@ } }, "cell_type": "markdown", - "id": "e41856e6", + "id": "fcafb3ac", "metadata": {}, "source": [ "## Mapping of Input Columns to Output Columns \n", @@ -76,7 +76,7 @@ }, { "cell_type": "markdown", - "id": "09b09100", + "id": "3654ed09", "metadata": {}, "source": [ "## Specific Input Assumptions and Functionalities\n", @@ -101,14 +101,6 @@ "1. The values of the *Size* column (input) in __Design - Structure__ is dropped for testing purposes. Next steps are mapping the size of wires (wires are indicated by the ID# column) to the area and weight/ft and use that information to populate new output columns *area* and *weight* where *area* is the cross-section area of the wire and *weight* is the weight/ft of the wire multiplied by the length of the wire. \n", "2. The last two rows in __Design - Structure__ represent the adjacent poles of the current pole. The Lead/Offset (input) value in this case should be mapped to the pole_spacing property of the pole_mount object. \n" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "638e41c7", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb b/US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb similarity index 94% rename from US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb rename to US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb index eab22454..074fafc2 100644 --- a/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb +++ b/US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "539974f2", + "id": "967157e9", "metadata": {}, "source": [ "# Resilience Template Start Guide \n", @@ -24,14 +24,6 @@ "\n", "pole_file_converter.py - this python program takes in the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv*. It's main purpose is to convert information from the input into a GridLAB-D readable .csv file. It also outputs intermediate files *Design - Pole.csv* (pole and pole configuration data), *Design - Strcture.csv* (pole mount data), and *Analysis.csv*, which are the transformed sheets in *Pole_Output_Sample.xls* before they are combined into Sample_Output.csv. Currently, *Analysis.csv* is not used or converted. \n" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "793a31ef", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From 804551f879b33ad8612f03d512a6378fe13f10b4 Mon Sep 17 00:00:00 2001 From: johnsonhsiung <47260592+johnsonhsiung@users.noreply.github.com> Date: Fri, 13 Aug 2021 15:09:15 -0700 Subject: [PATCH 35/82] Delete Resilience_Template _Start_Guide.ipynb --- .../Resilience_Template _Start_Guide.ipynb | 50 ------------------- 1 file changed, 50 deletions(-) delete mode 100644 US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb diff --git a/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb b/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb deleted file mode 100644 index 00fe1963..00000000 --- a/US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb +++ /dev/null @@ -1,50 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "539974f2", - "metadata": {}, - "source": [ - "# Resilience Template Start Guide \n", - "\n", - "## Environment Setup and Directory Navigation\n", - "1. Follow the guide https://docs.google.com/document/d/19hcR_RtNDjdpHn-SEGlzLocJnGF0lC53rXhEkPyB6aM/edit to set up your environment. By the end of this step, you should be able to copy the files in the add-resilience-template branch into the Docker container.\n", - "2. After copying your files into the Docker container, cd into model/US/CA/SLAC/anticipation. \n", - "\n", - "## File Descriptions\n", - "This section describes useful files that can be manipulated to produce different results. \n", - "\n", - "anticipation.glm - the main file that produces the glm objects based on its inputs. Currently, the three inputs that can be used are *pole_library_config.csv, pole_vulnerability_config.csv,* and *Sample_Output.csv*. Descriptions of these files can be found below. User has to manually comment and uncomment commands to change which file is being used as an input. After this file is run, a .glm file is produced with the same name as the input. \n", - "\n", - "pole_library_config.csv - an input file for *anticipation.glm*. It represents different pole configurations and each row is read to be a pole_configuration object while the columns are different properties of a pole configuration object. \n", - "\n", - "pole_vulnerability_config.csv - an input file for *anticipation.glm*. It represents different poles and each row is read to be a pole object while the columns are different properties of a pole object. \n", - "\n", - "Sample_Output.csv - the output of p*ole_file_converter.py*. It contains information for a pole, a pole configuration, and numerous pole mounts. Further description of *pole_file_converter.py* can be found below. \n", - "\n", - "pole_file_converter.py - this python program takes in the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv*. It's main purpose is to convert information from the input into a GridLAB-D readable .csv file. It also outputs intermediate files *Design - Pole.csv* (pole and pole configuration data), *Design - Strcture.csv* (pole mount data), and *Analysis.csv*, which are the transformed sheets in *Pole_Output_Sample.xls* before they are combined into Sample_Output.csv. Currently, *Analysis.csv* is not used or converted. \n" - ] - }, - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 216fe04bb7ce0bd5a9e6c7ec38ac9bb7c55bc97c Mon Sep 17 00:00:00 2001 From: johnsonhsiung <47260592+johnsonhsiung@users.noreply.github.com> Date: Fri, 13 Aug 2021 15:15:55 -0700 Subject: [PATCH 36/82] Delete Pole_File_Converter_Guide.ipynb --- .../Pole_File_Converter_Guide.ipynb | 135 ------------------ 1 file changed, 135 deletions(-) delete mode 100644 US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb diff --git a/US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb b/US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb deleted file mode 100644 index f7050606..00000000 --- a/US/CA/SLAC/anticipation/Pole_File_Converter_Guide.ipynb +++ /dev/null @@ -1,135 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "41e7d7d4", - "metadata": {}, - "source": [ - "# GridLAB-D Pole File Converter Guide\n", - "The pole_file_converter.py file is currently in the directory *gridlabd-template/US/CA/SLAC/anticipation* of the *add-resilience-template* branch.\n", - "## Program Dependencies \n", - "1. This program is dependent on the file *Pole_Output_Sample.xls* found in the same directory as the *pole_file_converter.py*. Later versions may support custom inputs, but as of now, this program only uses that file. \n", - "2. This program is dependent on pandas and regular expressions, so make sure they are installed. It is recommended to run this file within the Docker container of the latest GridLAB-D image as it is the environment this file was written in. \n", - "\n", - "## Program Usage\n", - "This python file reads the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv* where the input is a sample file from SpidaCalc and the output is a GridLAB-D recognizable csv file. This output is usually supplied to *anticipation.glm* as an input to convert csv pole data to glm objects. The statement used is " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "b03ed018", - "metadata": {}, - "outputs": [], - "source": [ - "#input \"Sample_Output.csv\" -t object -f table" - ] - }, - { - "cell_type": "markdown", - "id": "6b4d9bff", - "metadata": {}, - "source": [ - "## General Input Assumptions \n", - "1. Inputs to be of similar format as *Pole_Output_Sample.xls* with three sheets in the order __Design - Pole__, __Design - Structure__, and __Analysis__. Currently, the __Analysis__ sheet is not used.\n", - "2. The names of the indexes in __Design - Pole__ to be *Owner,\tSpecies,\tLength,\tClass,\tAGL,\tGLC,\tFoundation\tGround Water Level,\tLean Angle,\tLean Direction,\tAllowable Stress Adjustment\tEffective Stress Adjustment*, and \t*GPS Point*\n", - "3. The names of the indexes in __Design - Strucutre__ to be *ID#,\tSize,\tHeight,\tDirection,\tOffset/Lead,\tOwner,\tType,*\tand *Related*.\n", - "4. The first row of each sheet to be the header. \n", - "5. There is only one pole in __Design - Pole__ and every row in __Design - Structure__ represents pole_mount objects on that pole.\n" - ] - }, - { - "attachments": { - "Capture-2.PNG": { - "image/png": "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" - }, - "Capture-3.PNG": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAE9CAYAAAAxh2rBAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAALy0SURBVHhe7f09q2TLsi0Irr9SNC3XP2ixq6GlWpCldaoFSQkF3QkFJbze2dFKao+tlJDaI1cr+0pnwyu4B65yayVFCl1cLo/OVpLHFpaW2pWjppm7TzczN/f5GREzwscAO7ki3Ke7Dfv06Wdl7qd/+7d/O0MgEAgEAoFAIBAIBAKBQCDXFlxMQSAQCAQCgUAgEAgEAoFAbiK4mIJAIBAIBAKBQCAQCAQCgdxEcDEFgUAgEAgEAoFAIBAIBAK5iRzuYurnz5/n////7z91K//0T//k2qUXIf973/ci4A/+3ve9CPiDv/d9LwL+4O9934uAP/h73/ci4A/+3ve9SOJ/iIup//Sf/tP4MynmXdj0IriYQmJ63/ci4A/+3ve9CPiDv/d9LwL+4O9934uAP/h73/ci4A/+9OfNL6boUuo//sf/OH4mxbwLm14EF1NITO/7XgT8wd/7vhcBf/D3vu9FwB/8ve97EfAHf+/7XgT8wZ/+vOnFVLqUOsLF1Mvf/+H8X/zf/88sn//hf3LnXENwMYXE9L7vRcAf/L3vexHwB3/v+14E/MHf+74XAX/w977vRcAf/OnPm11MyUupI1xM/Xdf/p/jxdR/8+//+/O//Ov/5s67tNziYurPP/88v3//fpTPnz+ff/365c69tNwqMd/e3s4fP34cbUA/03fe3EvKtfl///5d+Z6kN/9b35N8+fLFnXtpuQV/8jX5XPK/VQzcKv9tDfzw4cP5x48f7txLyi3y34t1sgeJ/f7Sciv/k9RscU25JX8S4k928MauIbfgb2Od8p7yv5f4pzr/+++/36TeWbkmf/Jvq85TLly7D17b/zUb0GeKiWufAW4V//b8c4vcJ7kFf/sOcKuzDwn8f33+xFVyP4L/b3IxZS+lbn0x9b/+f//X8//p//V/O/9fP/+3LP/l//hfn//n/+Xv7txLy60upmQiUkPusTDLAzkl5t///nc17xpybf7eyxj5/lbF6Rb+p4spaky3uIi0cgv+vb6YJPFeQCgvZD24lhwh/0lsT7iW3ML/SWq2uKbckj8J8b9F3Ce5BX8Z6+n/pLiVDW7Bv9f6Tz7/d//u37k5T7agM1APF1NkA8uT+PdwMZXyXfY64kz2uEUvuEX+275Hn3v5P+bh//KsR/6/dt1Lkvhf/WLKu5S69cVU+mt89FtT9Nf4bvnX+Y5wMUU/3yIpSW5RmH777bdDHMpIrs3fNqUkt4qBWxRmigEqxLdoxFZuwZ8aUK8XU7esdZ4cKf9lT7iW3CL+k9RscU25JX8S4k928MauIbfgn2I9vZD0xr/X+k8+/w//4T+4vZ/y4I8//rj65cy1/Z9in/jSn+n7Xi6mLO8kt3ovuEX+2753y3oA/1/f/6kGpM+3fB9K/K96MVW7lCJJc0gx78LmkpL+Gh9dUNFvStFvTN3qr/Pd+mLq1oeUaycmFeVb3Q57cgv+siklIf9TYb52cbpFYb5lIbZyC/63znkp1+RPvG/9ImrlKPlvDyvXklvEf5KaLa4pt+RPQvxvmQ+34E9xTpcQVAtuEfNSbsG/1/qfalyS9H06+1AeXPty5tr+T9zp7CNfxOnPa3MnuSZ/y9lK7dLiknKL/Ld975b1AP6/vv9TDZCfb3UOSvyvdjHVupQiSfNIMe/C5lKS/hofCf2cPt/qr/Md4d+YulVQklw7MY/wMiLlKPxvdVlzi8JMHO2/MXWrl7Nb8E8XNJL/rRvTNcQ7gMlaKJv1teQW+S/9LqUH/lKO0AtuyZ+E+N+q9pHcgn/KeaqB134Rt3IL/rd8EbVyTf7kdxLiLf9POPl9LxdT9DPlfcqBW3AnuSb/qTOutM215Bb5b/secb5VLby2/1sXU734nzje+tyXJPG/ysXU1KUUSZpLinkXNpcS+V/js3KLv853hL/KJxuUnHcNuXZi3pKrJ7fg772M9XAwSTJ1QLmm3II/+bjHFxPiTX6nHLBjtiZeS46S/73wl1KzxTXllvxJer2YIiHuPfq/1/ova1yKe3kWuMUZ6Nr+lzYgITvQ5x7Of1MXE7eohbfIf+IoLyZu+T50NP/L3LiG3ML/sgZQLNzq3xcjSfwvfjE151KKJM0nxbwLm0uJ/K/xWbnFX+c7wsWUbM5y3jXk2ok5VZyuLdfmT4XIO4zfoiiT3KIw3zLerdyCf68vJiQU417825p4LTlK/vfCX0rNFteUW/KnOlC7qL2W3IJ/ivXE/5YxcAv+vdZ/WeOIO9mA/kqn/e6aL+nX9r+0AUk6D9N/+OfRL6ZIaufcW70X3CL/j9D3ksD/1/e/rQE1m1xDEv+LXkzNvZQiSc+QYt6FzSWk9tf20r8zlf56n3zm0oLfmLpNYtr/Ch393Ot/lY8+9+R/XEz1ezFFPqf/h8jmgK2J15Ij5D9JL/ylHOGAfkv+lP90GL9lHbwFfxnrVAupF9wi9kluwb/X+u/5XZ4D6c/eLqZIqA7e6jdnrs2ffEw+lzZIZwJrl2vILfL/CH0vyRH8n2rBLWxyC//bGkDxf6tf1kj8L3YxteRSiiQ9R4p5FzaXkPTX+OwFFP2WFP22FI3RHPnMpeUI/8bUEX6V79qSmnGSWzRlkmvzt7xJbtGQk9zC/+kgIm3Qi/9JiGevF1NJ6BDSo/9rh1J7WLmW3Mr/JEc4oN+6/pENvDnXklvwt7Ge7NHLi0l6EZP171ZnwGvyt363+d/rxRQJ2eEWPfDW9S/JrergLfgfoe8lOYr/7S8qXEtuwd+rAfT5Fj0g8b/IxdTSSymS9Cwp5l3Y9CK3uJg6ktwiMY8k4A/+3ve9CPiDv/d9LwL+4O9934uAP/h73/ci4H8M/nRZd4sLKvg/8N/9YmrNpRRJep4U8y5sehFcTCExve97EfAHf+/7XgT8wd/7vhcBf/D3vu9FwB/8ve97EfAHf/pz14uptZdSJGkNUsy7sOlFcDGFxPS+70XAH/y973sR8Ad/7/teBPzB3/u+FwF/8Pe+70XAH/zpz4v+4+drhBTzLmx6EVxMITG973sR8Ad/7/teBPzB3/u+FwF/8Pe+70XAH/y973sR8Ad/+vNQF1P0j41Dgnj26UGQmODvfd+LgD/4e9/3IuAP/t73vQj4g7/3fS8C/uDvfd+LgH/g/0Q/HEW8C5pe5R//8R8hEAgEAoFAIBAIBAKBQB5anry/TnYrSZcyPeP/+PH/wtIr/vVf/zX+1CfAH/x7BviDf88Af/DvGeAP/j0D/MG/ZyT+uJg6GHAxhcTsGeAP/j0D/MG/Z4A/+PcM8Af/ngH+4E/AxdTBgIspJGbPAH/w7xngD/49A/zBv2eAP/j3DPAHfwIupg6G/8P/479i6RVITPDvGeAP/j0D/MG/Z4A/+PcM8Af/ngH+gT8upg4GXEwhMXsG+IN/zwB/8O8Z4A/+PQP8wb9ngD/4EzZfTH3+h/+JL5P+m3//35//5V//N3fOXFlyMfX28nx++vQaPz0Odr2Y+nY6P737en6LH1djr3VmYNfEvJjer+fT09P59C1+3BH3VJg4B1fat/ZsyT/Y+omkyHcaez5//St+fACgMS3jf8Q+sEWnW/N//eTl2fWg+b+dv767TJ1dgy31bi6OzH8J1sbRteof+5L7yrH6xyL+f309Pz90/7tO/B+ph0z5/xo16JZYnP+cA+F8+PxCVhHnxTu007Xq31Gxlf/1cvky74Dwf+C/+mLqf/5f/n7+L//H/3q8TMLF1D7o92IqXDLsmph3cDFl4/ieCtOWQ5J8ln9+Og1WLfnbPeTcFDO3PpjTS1g4FG0HGpPjf1Xnde7p8WPEQ6nzfNyav7xQ4LXHXNsR/DKh1037av4LXkwba8ZPm23D9rhwH1zNfwviy50fU+tw7IspnUPp8141fD7KmNT8J/TCxVQD8306Fe979vcpTMW/qkEmb/dDGZfXqH2Epflv68weeu5R/9bC8r+lLrfAUv9bzLdXGePLEOrL3rm3lf/lsNVe85D4b76Y+u3/8+/5T1xM7QNcTO2YmLiYuihY95X2rT1r+bfz/DrFcgp7Hlzvyf+XwDL/2/FjxMOUzi3cmv/aC4VFcC6REjT/bRdTGtttw7a+cB9czX9HbInfhONfTN2+Tnh6LOKPi6ldMBXvh72Yuhhulx9L89/6Zo/atccaa2H531KXW2Cp/y3m22trjNPzuJjaG4n/5r/Kly6oLncxFQIg/Np1DgQbgHwQSvNU4dbPj0Us/r8N6ftrH/5q0BdT1JgpGCQHGxyan+JuL2YM59nNdvY6nr76ZYH9Jp7l5z/9D+PPOjEPwn+AjK/nl6+8Z44Zo4MsjKTD8Fnx5vFw6Bq/G4T0KQoTPS/msIzPD7b4ljglO9ftwTpIe8S5MqdIB8lV5YWy3+n8tVivgdazwk+Zf2mfUcY9SX9pA5JWvMnYoWeHucm+c3iY+Dl9M7bm72iiv/akLsP60/Gv+en48NccdWY96mvV9bseZvl/EBmznA9Fnhg71bDYfgmefuH5UacEEzetunNT/gO/r5T7SXcaGzlHe6T56fsmNxlrQWcdY0aGfcv4z1wLm0Q9p9as2YbrXOJKYC4iBhQ3p94t8OtctPmXXLVtSPe5+R0k6EzP0LNlzOVxRw9pi1YcDdB7yzzT0PwJZQwFWF0lV3pm+Cz9k3QtYiFLXlvvGYTWn7JD3NfkiHs2reixJP5Pwzmkj4sp6Q8d0/UctLar+TT6cIjV8txTPiN9fwkU8d+sQaRf8j/xHX6eOg/KejdAxaZbK4WM+xLMunKM1hjWkjk/tzaW+a9jvsrLEfKVrjsidty4sXvN13svZP6+LkXPivNYT8fuTX9LexwEZf4vi+mUywnzam+2Q8s+cqx8B9wHLv/W+6/iIsfomUH/NJ64N+ul3Svyb9hrbyT+B7+YEknHGIwWDSwDkH7WBs7PUDDlsYQw59JNZg3KiykdCMx7bAIhiCz3MTEpoMzckTMHqAnyGmavY/U1+vDczEX7hta1vzF1IP5Gb0rQsFbYU/MQ+8Skro3bQqr5B5skHfXc0jZp7Zo9tO0Iji7FZ+3Lce1U4NR6NUw8K/yk+UcdhH08n+bPmq/1m+Zvn51CWHv0q0BZY5y1Z+rSjn/Dj+wo9mjzi59trs6y1fUw6f/Iw88fGpuZ04QV9kt+bu1bjom4mag7V+VvdeMYMDFRtQehxS3EV86LYW56luflWCNwTR329eI/rU9zxr3cvf0146fCNnp8QEt/HpP8W9zXo8WffS05sr+0vs1aIZ7VNUvbZirmCDynZgsvjsTe+lkNj38ZQ4bbAPal0cd+rvFN+yT9lW2U3QzPAZ4dJDcaz/s6fEzMTPp/XDvaYIeYOxI8/tWYtv5w8nfap9GuYp3wuZYrl0Uz/llvG9ear6oP9nljLx1PxDOtVcalnhvWyesav8T8H8dVnWrD9X81z8Nn6RvWM803fs5oxY1Z48rQ/B1dTC1Vulu7G56lv7Vtj4B2/hNmxHTkRD/bGNXPtWLc2MfYncdkDO2EKf5KR/K90FfrH+wi+Vhb6bi3e8XPY3yU9roEEv9jX0z99VIpLNEJlaSSAcU/K+cQrNGPA+9iSgW/LUSWm0wgOe7MJdvIol7F7HVKfVWymGe1D0Pge4l5a/7lPJHgrI+OUcWrsm8at3Gs+Nu11VqObZy9+Lu4hvIFQxcqq4uydY2n3c/D1LNCb+1/RyfF0SmWgq/vtzTfebaJes1o7xMwV5ep+G/aXHCfo4Ncaw6Ha2DS/6xXLWY36jzDfmkvbS/tJ6WTiteA0tYZV+Vf0c3X3Vm7xc3J+RHOWNp3Kv4zwthox8aa8VPTnwxeI85ZULMSRu4bUOfv2ULaoBxv6duKm6mYI8yxRVqjtEs9ThX/Wgx530vfOeu3Y6FlZzl3wg7OvhZtPRb6X3F+DEzl/5y4K/Oh5dO4pox3Y9cyfi+Hqfivx1stPpznmaszf0QZl1N25+/SXsU4rVfbS2My/yd8o3zJc519m3Fj1rgydPx7umhbqvEKr6q/PfveGFP5345pz14Z2Rb8ycR4e6+yBsyP6SWYx1/n5giZgwW/Ac24L/diW47znfUugMT/2BdT3/7fwtAaOgCDUfn/pUsigpMDkr+Xa4lnjLNuicmLKREgOnAiZOKKQOS50j5RZjXc2es4+spkUEUlzM37B16TiXl1/lZPAukQ9aI9zJosKf4k/wjWJY7Lnwmavy4GurCWtpmyRzkueAywuqj9mafMn8p+HqaeFTbS/B2dlD21fRgj32Cf0jdpvvPsJMSagrfftOTa83WZjH8TT2wftWayc8nP6pl9MKXf9TDpf+ZVi9nlPl1iP7mX2pdjLs8t5qn1g9TqzjX587MilgiqxkzkWpObk/MjVB8ISPu24z9wL/YiNNaMnwr99fgA6UdHf2mvJvcNqPPXfk/IOT1RK5R9wtysq7aNjilCuXdhi2ocLastin8thtzvJYfS15qTHde2yzYdoPZq28Hb1+XfiMlF/jd15xHQzv8BIqbZ9tKuUbx8qPs0rlPEe7arevbCmIr/erxVbOXYJ3B14mlEGZdyX61DhKwvwkcBjm4VTOd/2zeFL1mvwDvN4znJFkLUuIqH60HHv69L/s7YtbC7nBv8XfK29r0tZuW/xyPaSNsrPO/NK2O8ZZ+wjq4BYf6cmF6CSf5Gb+Zb6Euw/Ly5QQKviq3dWnM5JP4P8RtT+RAUYD8n8Pe2oEaHePNvgWv+xtRszF5nIrjpZ5kUap0Q+JOJeQP+5cFEFCXZkD04+8r41IXUFCbRVIPIfaYKSYSwB++lxgWPAVaX5BO2tcOzXK+CqWeF3tr/jk6Ko1MsBd/SbxLOs7Oha4YfH3rtubpMxr/kL7gy1OdpHaQP2vpdD5P+Z161mF3o04X2k3uRvWQtK+yadJL+moGr8ze6MS9Xd2ftFrdWXXTG0r71+A8/Zzubz40146dCfz0+gNeIcxbUrD0xxV/VAmUDZ1zqSD+LeNW6a9tMxRxhyhbStvTz3Nqi+NdiyPte+s7wIbTzpLSztFXmPWEHZ18bY1Mxucj/ivNjoM4/wsa0ibuMuT4dRt14z3ZdEr9bMRX/9XirxYeTPwxn/ogyLqfyPdSXuFcx3tpLYzL/Tcxb35S+jODnog7NuGmscQXo+K/okuxi7ePwyvVmvg9uicn892JCQNprWe1t26esAfT8/vacxz/qLXOOoD6XOdyOe2cvNd9Z7wJI/A/+b0wF5+eAGD5HQ+UADAZVc6j5iIBMqBWcMuhuB+9iSgYfJ1cKFllsGXF+4igDq5i7ALPXaQc32b9u5+A3LzFvzZ/jxuowrmVj1IB0kONGD1476ThA8adnnXgNcGw9xx6mqctDWpkfxC3NNzzjXlL3OiaeFX7S/nd0kj6N6+bPmq/1m4bkthyyZrAdq3YLmKvLZGMS/G3sBH+mPUodpM4E+Xxbv+vB9b/gGHjVYlaPTWGp/fJe5Jd67CidFtada/IvdOP6IGK5yDXDuckt6JLjbfic1uLnytikfevxb7jFvXVN8deMnwrbsO1Gf8faMa5h9I/7jfZocl+PVv4zHxkL7K+k73StkLmvQVyz7cqYi7YxMV21hYkjbec2NH/jA/rMe9rvrW00H0KZJ3LcxllN1wk7VNZV+gu7pM/SZ/P9H3UxPO8dLf4MWZOaOSifbfl0mKlig6D9qOvIZdGM/2a8ObayzxvYeqL/jSm9lqoJhd1jLCYbqb5B8HTz0c5/T2c9XvoyQdiqGTeG65Wh+dd0ifYeOCiuse7aeEk8re2OiMn8n4jp7P/wbJ4Xnsv2KmO8ZR9eV9QQnmue3wMe/2LfqKONjaBTmiviPWF2vYxQeVza6xJI/A9+MTUgFeMoyTA5AAeoOc/n01BgZXCmZ7XTxPcHSlb3N6b4v75iOUQY+xSFSnKzcweZFWiz15kKbuuPQYS+5FO3MN2a/4BUiMIzlqeJp0HGghh14P9KkR1j5Gfpe9uY5L4sxpaF/i17DJDrPb+8qjVUTjFMcZNrkx7Wvi20nhU/W/6FTmpP0m+IB/pOrs1jAfx8GmNpFO4mjI/lPoJbsKW/9hxd3PiXPlb8dT49fzoNetT5ke9l7LE+gkddv+vB+l/aPegePtdiNnOYo/sy+6m9GrXE6tSaa3Fd/gNk7gzrqPWKXHPypcXNjEnOYx2K6/PnYd9m/EtdB34nE8+1NRNK22j/h//6l+Ao9ac1lT0GLPDrXEzl/8iRRfqjnNuqFSyjbaxvbcwNUFwH+1lbSN/YOBqQbS/WiGMSRfxXYyjryCJ1KfjE/at8W3FGUomJwg7lvnq+PJsG2Jhs+1/6kPZx9rtzTMW/jukB1Ryc71Mbq4UfxR5KlwugGf/Euxpvjq0YNCdxDpJrpoynQRpxyZ9bdpf2sz6q6lai4G/1V+sOo6YHKF8an8t59bgh5D3VM1dAi3/BU+k8INq9/q4R7JXGWIw9b43J/GfUY1r5X/l4uvYSWvaRY+U74D5w+Vfff3X+Tp1fGdW4d/iYPPbstTcS/80XU3uKezHVGdyLqZ2D/1bgxJYNzOE3rzDdEYom3Ybkz4XAPGsb8aNB+78/gP898A8HI1WXuOFvb9jwP/hfAnN67xFwc/9zHpsD/cIevgWI/wvwv7FPlwD+B/9ZoPi1542DxvQSwP+S/2O9/89B4o+LqYPhcS+mAhd9qVK+4D1cYm64mKq9TOBi6nEB/nfAv/aig4upzQD/S/Cf13uPgJv738lj7/8guhQQ/xfgf2OfLgH8D/5zUL4bDMDF1N1D83+k9/95SPxxMXVwXD4wy1+LlLLvJUi5l+V2/cS8MP8NF1OJ/676XAD5Vzw9WfayfrPG5PyKq5RrNYeb8T8I9uS/Z1wW4JedHdeLuBv+FwLi/1L8p3vvEXAE/xd5c8WXPcT/Zfjf0qdLAP+D/zQq/6cCLqbuHpo/LqYOIb1fTCX+PdsBhQn8ewb4g3/PAH/w7xngD/49A/zBv2eAf+D/9E//9E/no0i6kEl/na0nIchLKRICOQoCgUAgEAgEAoFAIBAI5BHl6d/+7d/OR5F0IeNd3Dy6EOSlFEmPoKDsGeAP/kC/QPyDf88Af/DvGeAP/j0D/MGfcKiLKZJ//Md/ZMV6BC6mkJjgD/5Av0D8g3/PAH/w7xngD/49A/zBn4CLKeBQQGKCf8/onX/vQPyDf88Af/DvGeAP/j0D/MGfgIupgwGBCf49A/z75t87EP/g3zPAH/x7BviDf88Af/An4GLqYEBggn/PAP+++fcOxD/49wzwB/+eAf7g3zPAH/wJuJjagLeX5/PT05OQ5/PXv+LgShwlMF8/JU6n82v87hq4Hv/X8yn57dM1GbaBwgT+QL9A/IN/zwB/8O8Z4A/+PQP8wZ+w6WLqy5cv5/fv37N8/vz5/OvXL3feErmbi6m/vp6f1UUUXXTsfDH17RQvh6zEyyJvvHbJsmTuhbjNQZGYrMsMnQeUF4VP5+eXtziqwXPffT2Po2Qf+flGKPgbv2k+b+ev7yTf9iVivmwMcvoWB6biTCL6Y3x2Z7iFuWED63Ol10TsaHs04ntJ7qxA4BBsbfnz2Oa9rpe/wDa48d8RwB/8ewb4g3/PAH/w7xngH/ivvpj68ePH+e9///v4mS6pSOScNXJfF1Pyxf0CF1MO+GU6vajyC3P7MmLEkrkX4jYHin9xCUJ6LLhsaqB44Sf7HO5iivgKP7APsx+IQ7ZFvKSqXGIUtjFrWag4uyKK+G/FrR1TnEKs1GLH2oM/z93ngrD8izhdhevlL7ANU/X/0QH+4N8zwB/8ewb4g3/PAP/Af7e/yvf9+/ddfmtKX0zRyza9UIWXSv83G+TYIOPLpn0ZCy/uxW9bpPnmtyv0C/+wzrc0fjr/jV9i89zw4ujvl+elF9u2Xs3AZB3Fs0temGfODS/oUm8rUvf9ofg7Orde1JU/q7B+cWRyjcuhXZhCrNd+W2nSNnLMxpJEa0zFb8wNlZ/bLnA0/+CrGl+6PJP5nObzdxQ7xo85Prx1G7ZdkGe0B+0vfxtL6qh+SyvpJ3TN/Ms4Hdep1qrIcRwbdGbd89x5PMgWwzy5j7Gly4NA+w1xJvUY/ZHmmxhVa22Mn3tHO/8fH+AP/j0D/MG/Z4A/+PcM8A/8d7uY+vPPP1m8sSVSXkzpl5X8ckkIL5P5xSzOjy8++sV1mDu8RD+Ll6g8bl5K1Yt5qQOD58jvaA3zjHgB45evuHdLr1Zg8hrypa546axdJgxYMrfJ7bJQ/Flnva/2v4Z+KSepv+TyXGvLyrrXRLMwqbi0MDFcIIwHzuHnHIMaRZwpyFiwuVHG/VIo/jEOT6TP6FO9t+WbdC/8S+B4Il29eA7ruTZZkDspBt1aUosx8b31f8nD+FmuX+Rtgse3hbBH1jV8TrYhnbKdjN2irezncS3WMevP/IRN2rH3+GjmfwcAf/DvGeAP/j0D/MG/Z4B/4L/LxRT9ttTHjx/Pb29v7vgS8S6m1Mvn1IsevwiFlzP10jN8//zyOqyXXtzEy5qzTr488l+Ay5dAsZ73gij0bulVD8zwcljoIcAvde6LaYnm3Ba3C8PyZ1vRi22U53f6RbaO4LfaXF5XvgB7sXQDtApT+dIeOSbbjJcFNYQY4vlVrlNxJmOhzA170bAUij/HoV6fbcDr+3omG5W2GpBqg8jFjMBl2oZxj0ruFHEl1+X9nTwSsefG/0Sckj68vmOvgKX5W8537Rmhxgr97FrSzmX8uLWzI7TyvweAP/j3DPAH/54B/uDfM8A/8N98MbXXvy2VZPJiSrzouC/B8sVG/Pz2cuJn6CWK1xMvULwOvawbqb48EYoXKPECxi+g9uVKjDf0qgXmvBf+8oWyjsbcFrcLYyox59khouCRMeeF/xbY4n++IKjwtTEZYr706fQ+Mhac3NhoR8Wf/Wd0HHn4eUk2oLwt/EsYdfPiuZLnLur54O2bdGKw/qG+jHsJm1n/2/WC33SdIhnXZ5uZ7xr6+ijnaz2CrZQOaazwv10rPBt0ozGzDkslhjvAVP17dIA/+PcM8Af/ngH+4N8zwD/w33QxRRdS9NtS3tha2fM3pvLz9Gf8jsaHlyh60VIvi9WXaUcHQuvyxrsQUS/Zdb38wAwvcJMvzWqPCbTmtrhdGO3EDHbLL9wTULGgUVwgNGPgevD4h8sIn4dC1aee3bzv5sSZjIUUxzwQsNGOmr+jz+jTOieazzYzemSfezwXxHgjd4q4cvUcwDziGsJm1v+r45R1TBwXcGOU86UefAEqdFKfC/3sWtIeTvx0jnb9e3yAP/j3DPAH/54B/uDfM8A/8F99MUUXUnv+plSSqX9jil+C0ouPevkixPnipSm8UJ3OJ/nMO/osXpaKdSQqL0/8TO3yhn7WL6NK7wE1vbzA5LnOxcTrJ/3yqPfQOrTnGrjcrvMC2UpM1lnqJV/u2U9S5zIWJNwXfsfG14bl3/KT9amOE+l/xxZOzNfiTEPGuZMbcy9OKtD8rd76c6Gv9GHBT8ewm4875E7QSeyrYlRA5piwmfW/1muA4zcf0k+a+zTkswGsB9s9+CDXtrD26KPC/3Yt/XyzDnWIVv3rAeAP/j0D/MG/Z4A/+PcM8A/8V19M0T90/v79eyUfPnw4//jxw50/V9zfmHoJL2PuX/OIL2rjXwORL9+EOJ5fpOLLrX0ZsusMEl7kog72pU6+WDLsC1h8YUtS2c/qVQZmWCfPE+CX3toe5rnmXIOC26BdfOGevrjYBs3f2NDubV76s45RbCwI5BfthBgXE89dGoq/E5MsyXfFuI1HGTfWljamGnGmQPOSzZ3cKC4mlqEW/6PexjfhsjKJvkyxMa+5CX+zNGy3IHdCXH1Vayf72Pgc7SZs1uI/6uPEBa/V4Lssf6WPA1S+qP2fz6dPYqzwv10r2F3qpn04yIb4uXeU/u8L4A/+PQP8wb9ngD/49wzwD/x3+cfP95Tpf2PqsYHABP+ece/8ywvPZejd/70D+Q/+PQP8wb9ngD/49wzwB38CLqYOBgQm+PeMe+ePiylgC5D/4N8zwB/8ewb4g3/PAH/wJ+Bi6mBAYIJ/z7h3/vdwMZX/Wp8nl/2rukAbyH/w7xngD/49A/zBv2eAP/gTDn4x1R8QmODfM8C/b/69A/EP/j0D/MG/Z4A/+PcM8Ad/wtPPnz/PRxK6mCLlIBAIBAKBQCAQCAQCgUAgjy34jSngUKCg7BngD/49A/zBv2eAf9/8ewfiH/x7BviDf89I/HExBRwKSEzw7xngD/49A/zBH+gXiH/w7xngD/49I/HHxRRwKCAxwb9ngD/49wzwB3+gXyD+wb9ngD/494zEHxdTwKGAxAT/ngH+4N8zwB/8gX6B+Af/ngH+4N8zEn9cTAGHAhIT/HsG+IN/zwB/8Af6BeIf/HsG+IN/z0j8cTG1AW8vz+enpychz+evf8XBg4F1/fQaPx0XSEzw7xm78v92Oj+9+3p+ix/vAVfz/19fz88HrNd78n/9NPSkO6j5Esh/8Af6BeIf/HsG+IN/z0j8N11Mffny5fz+/XuWz58/n3/9+uXOWyJ3czFVvNi8nk+4mNoMJCb494xd+e98McUXHU9P59O3+MUF4PLnWjvsXXB5O399l/5PAZLTUIVn4m4upqivCI4L/ImLqePB/p9ZNpfAX/Pf59xy7LMZkPHo8T8F8Af/ngH+4E9YfTH19vZ2/ud//mf+mS6k6GLqzz//LOYtlfu6mJIvQriY2gNITPDvGbvy3+tiKl4Mnb6FS5JrXkzx5crA4ZXql+FCNe35JX0TL6nm1ri7uJgKnNZyxMXUwUD5KM8M/FnHIPhr/riY6gsPHf8zAP7g3zPAH/wJu/1VPrqU2v9iig7idKCQ/6+xPWDIsUHGlxd7GLGH/HjoSfPT/ysfRb8MDOt8S+On89/oOTE3HJz8/fK8dCBbqNcIem5YQ+kpL8YG8EEv71msKQ54/Hmca216OyAxwb9naP5b6t8Aqgfyc7XGzUXY6+q/MTXAr4ka7Tm6Hp9e7MWUsaN6GTZjLKb27gTFn/3l1fjK3rL+D3b4ai6mWjVfjwVZHh/b8cj5TxeF2qZl7wf/xF/nq4rHRh3TcTzkiTkTzctbyvdhntzH1BW+9PXGaL8h56QerJ/UQ9UWs9Ys/R4Xjxz/cwD+4N8zwB/8CbtcTNFvTP3+++/nHz9+uONLpLyY0s1av3yEF4Z8MInzY+PXB6Fh7vCS9ywOEXk8rDO+cPGBJB3cSx0YxUsDrWGeEQcQPnzEvefrJRF0lIcgXjPtwQcf8bIRD1WJE9tNza3Z9LZAYoJ/z9D8t9U/znMz169xc2HWuABq/p9To1Q9NNDPJ7vqeq1qsuCp6nFR9/eF4q/8F1H1m/FNehGeU/MNJ7//XAePm/8hxmzu2JgFf82f41TldKOOVXOTnllS68IetnamnCCdbM0dP8e8s591rmX9bV1r1bAe8LjxPw/gD/49A/zBn7DpYop+Q4r+fakPHz7scilF4l1MqcOMPIh4B3dxAFdNf/j++eV1WC8dXMRhxVknH879A1V5CBLreQckofdsvRSc7wVX72VCHnLkAa+cW9vz+kBign/P0Py31T817sz1akYbVCecWrgjav63L3AFpF0KTNjRqde5XtpnL1srJX+Xc41nxb+zar55VvaKa+Nx89/PHekjAvhr/kUstuoY54ZXn5bmbDnf6imhxgr97FqhnoRcrNUlc3bsCI8b//MA/uDfM8Af/Am7/cYU/RtT9I+he+NLZPJiSjT6+sE9Nnbx89vLiZ+hQwSvJw4QvM5woLFSPTwQigOEOIDQ2sXhQozP1EujPCzldeRhJ0Me6vLPYW7J16x9IyAxwb9naP4b69/sGjcXtLdTC3dEzf8u1xFTejnjbCdZr0vbpNo5vvgS3Nq+HxR/rxcUfSfAs09+YZ6o+WpNv5dcC4+b/14um9gaAP6afz63BEzWMY5l8x3n/5LzTTlf6+HkUxorctauJfMr1CW1Dsvl6svR8bjxPw/gD/49A/zBn7DbvzFFvzFFf51v63+Zb8/fmMrP05/xOxofDhF00BgPLt46IxwdCMULgjiAeC8PUu+5eik4hyvB1R7wCPnFZNhRHKy8uUcBEhP8e4bm79SeJfVPjntzFyO8SBW1cEfU/M/1y9U/6NSuZxN29Or1iPCsfHG8Gn/py4SaH53vZf1v1nzeR3DcHCfr8bj5H+JI+6CMS/DX/PWF0IC5dYxzOq3tnJ2aKOfb85PUSX0u9LNrSTuU/HvH48b/PIA/+PcM8Ad/wuqLqX/5l39Rf32PflvqUr8xJQ/nfAhIjV8dPghxvjg0hAPF6XySz7yjz+KwUKwjUTk8FC8z8gBSviwpvQdM62W5hDXzGnqc15P6GE7yYFXMPRCQmODfMzT/jfVPviQ1a9xchBq0bY02av7nmiXqJ2MBJ11/k13r9TqDxq5XKzV/q1fQ29XT2iJdNs2o+TTmc78+Hjn/Cx+wj7RPwF/zL/J+ds5T7uj8nl+35LMBrAfnks3BsLZbcxl2Lf28PRf2jkeO/zkAf/DvGeAP/oTVF1N0KUX/thT9G1Mke1xKkbi/McX/BSV6kSAxh+t4UBn/3950QEiI4/ZwX3vJGdcZJBxkog72UMPzpS72ABIPLEkq+9X1ip9HPnH9l/jC4awZDn5xbBCpcz5YBdi5hV1vBCQm+PcMzX9j/bMvSdUaNwHnudnPLoT1P7+42b0jJ3dsEF+vWE95DtXpiXo9yFib0yXPKPK5fVHEf8u/FlLPYd78mi9tE6W1zwXx6PmvY7aMI/C3/HNejvlYq2MmT/PZSsb+nHOOrQ3x+ZQTav/n8+mTGFt4MUUo6pg51/WER4//KYA/+PcM8Ad/wm5/lW8vmf43pnpFeVh6RCAxwb9naP791b/D+Z9fQk3dLV4+98Mt+POLsbqIul3cIf/BH+gXiH/w7xngD/49I/HHxdTdABdTPQD8wT8DF1M3B/8Whv4tC/7tiYe5mAoxJn+DI/QaXEzdAuDfN//egfgH/54B/uDfMxJ/XEzdDXAx1QPAH/wzrlH/wiWE+qskQvSFxeVxRP8XfwXugn/V5jb8yxi4Vc9F/oP/pVH+lVYpx/gnDXoF4h/8ewb4g3/PSPwPfjEF9AYkJvj3DPAH/54B/uAP9AvEP/j3DPAH/56R+D/9/PnzfCShiylSDgKBQCAQCAQCgUAgEAgE8tiC35gCgAOBkrJngH/f/HsH4h/8ewb4g3/PAH/w7xngD/4EXEwBwIGAwgT+QL9A/IN/zwB/8O8Z4A/+PQP8wZ+AiykAOBBQmMAf6BeIf/DvGeAP/j0D/MG/Z4A/+BNwMQUABwIKE/gD/QLxD/49A/zBv2eAP/j3DPAHfwIupgDgQEBhAn+gXyD+wb9ngD/49wzwB/+eAf7gT8DF1Aa8vTyfn56ehDyfv/4VBw8G1vXTa/wEHBUoTOC/G76dzk/vvp7f4kfg+ED8g3/PAP9r8389nw50bj2K/18/pTP9abDQ9bAnf+ZwZ2d+5P8t+L+dv757Op++xY83BPy/I/87PP8n/rtcTP348eP84cOH8/fv393xJXI3F1N/fT0/q4Z+rAZv8YgXU4/ICYUZ/HfDA15Mrcn5/JJBctwaTUD8g3/PAH/JP7wwPr9csoLPP7fud96iPdOFD3GM+w/9yvU/9bGxfvv2SDW+9XLN+ot1qnNveLYv+dPeWecl/RwXU/cHL/9lzF7monTtxdT+eSH5c77aeOfcLHXNc0O+bKqZVG9S3tB+FR1qubhF713jf+fz/5wauxWJ/y4XU1++fDm/f/++w4spWSSu17zWgBPgwS5xHpETGjP47wZcTBWHBP585f8XfAkQ/+DfM8Bf8n/Qiyn1skf753pc+J8vpSbqNfe50/nUerm26/DnCu8bnu3b/o8XFTN9gIup+8NU/rNPdz/THfNiKuShWZ/ztoxrsstedZLq3LgW7Sf2SvZ/NedKhQ167xr/tOcescJ8KD7I33dyMUWXUb///vv58+fPF7iYooQhBweDhBtjmwhybBDV8OTcMsnVS0s0flonz4s6fEvjp/Pf+OUmzw3B5u+X56VGt1CvEfTcsIbS0zTsFPxRijVFUvDnca61aR0paTlB4/MUqHI9ue8wUrHDACeBed2oZ22vck275/0CjRn8M2LtWVX/BtjGVK1xE4jNuchxWW9Uw12f89W9VuV8eEY30mCvSzbXLUD8g3/PAH9b/2Wdc86A6pyoe0F6TtVXgqrB9Iysx6bO8nOt2jvRf4bn0/mNnpF1XUvoER7/dq1O+rfnkg66X1jbBtT1S2L7775Q/NlP3hnffJcg+/Hgh6/G75qb5uHxtra5BpD/rfwfoPxP44Mfxbspfy/jwMarOgOmMZM7/Hx+Tr5/+XuI7zdiij/n8aeTyQtZwxwupgYRXE7x2fy9EFk/B3C+qNorsV7vkj+Nyxqb/RIwUX/lZ+V7rd88hL0ueXZO/DddTL29vfGF1H/+z//5ghdTZMTsTB0QwVDZwHF+DCIOhnFsmDs4Wf5aXh43BleNu9SBUTQNWsM8I4KZEyHuPV8viaCjDDReM+1hikkKwsSJ7abm1mzaRmpgal3Sy9WjbQdt5wDJyd/L6C3WfgSgMYN/xrb6pxtTq8ZNgHNa7BM/6zxOa2/LeX+vPH9ZzsuanBD0K+vrMYD4B/+eAf5l/c+1yp4Bdf2nOurVNVVfCaoG6xpJc8ceYXpGWXv1/kXtt7U8Qq1Dc8Saij/reTqfSH/izaLreV4r7J11l/DHCrskxH3ziLbRJaH4k21GX0c4/TNA+yrZXvuico4wfGtxdA0g/1v5b2M25puMVfKliBnlZxsjNNfmDsdJji/9vN1//7yw/le1YtzPi/VkA5PrMQ+kDduc9PM0Nq4lYNewWKu35/+bn/9HmDUugMR/9cXUr1+/xsso+bM3d4l4F1PKENKgyvARwtnKicP3zy+vw3rJySlYwphdJxdnRweCKeZqvWJsgNB7tl4KzveCa9Y3QyacTJRybm3PEjrhBrh2iPaasIP6OaKmM8PML8YfAGjM4J+xrf6pcWeuVzNcFM/aehH05LU25ry/V7bBopx39lK6HhCIf/DvGeBf1v9cq8pzmqyd/LPtBwNUfSWoutg6++n9i9rr9BT+zus/ArLv2DUVf9ZT9z/FkcdTr3F65QjdQxIKuySodQktG+0LyZ9tY+3n9rQBjq0lP2nzAMHJPHvLczXyv8z/fCkbJMdxK+YjZuTjuM6LjS1nfZUb++dF4X+pP+0d9a/XEKNzwXkJp7p93dyUWKm35/9SVz9vGXJfOe7MLWvCFPw6uicS/9UXU3/++ScL/XzViykROPXCLQIi/vz2cuJnyBm8nnAUr2OSnyQ4rRKcKpgJptCrMYIYn6mXhkyYiHGdoKMNMhn4+ecwt+Rr1q5AJ9MA1w6Cy6Qd9L5kh1LnBG2Dcvz+gcYM/hkb69/sGjeBoibZWiTqz8acL/fSNliW81ZPgmfT4wDxD/49A/zL+p9rdFnPbD3kWsq1PddgVV8JqgbbNelzWiNI2t/utaT/BAQ+cu1R4rqKv9Mrcn+xdbxV1/0xsovb/yQHhtdHLgPFv7DfgEK3AM8X2e81u0dOas0wd9a54AJA/rfyfwD7KsWyH9ccC8rPwbduvjJkfNi4l+vYOfvnRen/oANxVPVnzA1rA/O5yKEGp2jbcqxiY9eWCev09vyv9842d3WQuSy481zDiWRZnmdOl0Liv+piiv4K38ePH/kfPLeSLqvWyp6/MZWfpz+Fs4YgIUeNTvHWGeEFxwBVzAk5YMqxAVLvuXopiPUTBFevycoDiUyOakOeAbkOw7VDtNeUHZRNAmo6B2gblOP3DzRm8M9wao/MGa9uiZqgxr25c1E8a2tR0JNrysacL/fSNliW86IWjXDq6IGA+Af/ngH+Zf3PZ7WydtXqIdfUWEdVfSWoGizXtPvpz8VeXk+h77z+M4LWzBxIN1mfNX+nfqf1mcPAy5PCHpYXIXyne0NE0cOu1zMUf2nLBNemA5zvpd/pZ81fgPcR9vPWvxKQ/638J8jvnBi2MSM/12JHrCPrRjNHGPvnhef/FLu6VsS9+d/XkjlidC44T3Ci3B/n0x4m/yK4Fk7kyRq9Pf8rXWXt9vxZ83fV90tAujdstwMS/83/+DnJpX9jSiaaSpzYnLKh4nzRmEIzpf9ih3iG/wseIqGKdSQqgczPyMCSSRocKAuK0nvAtF6WS1gzr6HHeT2pj+EkDxXF3AWQ6zBcO6R9p+xgxjmpDCe5F8/PfuNxYdNHABoz+GdsrH+yGRVzF6BoajoP074hj7flfLlXWFvVMTXehlt3Fzx/bSD+wb9ngH9Z/3MttXU31jN1RgqQ3/PPYw9JPUWeVeXPokfEnpH2L2rnkv4zQu5H8zUfj3/mZz9LhLGsi+4z2gYDuO9UzsDNM+1loflrDolj/ixgfWH6asFfgMbcNW8A5H8r/wcoP9uYj34WOcfnn+R3GyP0meNDrhN+TnFjz08a++eF63+uI0OMqviNthm+1/XA2MSpQU1Ocj7ZpzKvqIUEW1NW6O3WP/G80t36M81P61oum311+TqY+N/FxVT4u6/kIO0kRjR4GBNOSYjjtrgXQWXXGSQ4IOpgncHzpS7kNNlkgxPH9Sr71fUyQZbWf6Hg99cMzSeODSJ15jFhGzu31rQs7Dq+HeTeE3bgZM5j/J/hjOsXeyUbODY+SmPdCjRm8M/YWP9kYyJUa9wE7DpFHgY9cw6uz/lyL1t/l+Z8rKNpv5l17lZA/IN/zwD/sv7ruqovcvIZqVXn9Fj4z36ndcyasjYPa9A/PO7V9fG7Jf2HQWsk3Uo+pf/znsX6Cn6fkD0ivKQn0fsqFGfaaGd+7rL9o+Dfsq+F9N0wz56fM4ckiYuNnUFa+1wQyP8y/5VfBskxbmOeoJ8p/ktwKr9TDrRzR+fNICKn984L3/+xBphakvb2+I/fuTWowYnmp9h3ni2es88qOyzX2/P/zc//znOzn12IxH+Xi6k9ZfrfmOoVFOSNZgo8BNCYwT8D9a83IP7Bv2eAP/j3jFvw55dtdRF1u3MH/A/+94l9ckbz7+/8n/jjYupugIupHoDGBP4ZqH+9AfEP/j0D/MG/Z1yffzhjyN8sS7/pgYup6wP875Q//VaR+c2oNdD8cTF1GMHFVA3XuJiKv3pYEd28gEsAjQn8M65R/+455x+vXiH+wb9ngD/494zb8C/76K3eueB/8O8Zmn9/5//E/+AXUwDQF1CYwR/oF4h/8O8Z4A/+PQP8wb9ngD/4E55+/vx5PpLQxRQpB4FAIBAIBAKBQCAQCAQCeWzBb0wBwIFASdkzwL9v/r0D8Q/+PQP8wb9ngD/49wzwB38CLqYA4EBAYQJ/oF8g/sG/Z4A/+PcM8Af/ngH+4E/AxRQAHAgoTOAP9AvEP/j3DPAH/54B/uDfM8Af/Am4mAKAAwGFCfyBfoH4B/+eAf7g3zPAH/x7BviDPwEXUwBwIKAwgT/QLxD/4N8zwB/8ewb4g3/PAH/wJ+BiagPeXp7PT09PQp7PX/+KgwcD6/rpNX4CjgoUJvDfDd9O56d3X89v8SNwfCD+wb9ngD/4Hx5/fT0/xzP/88u+3fUY/F/Pp4Hb6Vv8eEUg/nfmf5gzIMVUej9+O39958cX/L8j/zs8/yf+my6mvnz5cn7//v0o9Nmbt0Tu5mKKm5O8iJKJdzw84sXUI3JCYQb/3fCAF1Prcj4chI78fxwkIP7Bv2eAf+bPtc7W73gpYl/q8txwqbDpwoT6RqqxtF9FB6sb60DfC1mqh+t/0sddM9X1JKeBfR2vn+Rc0wuqe5TgdUQP2vMcWvCfzd2ZIy7QWGbriIupW0HzDz72YpFjcM7ZbuIMuDR2vRyf9/zyi6lc0wQm65+fF6MNTT6VZ0LSM9URWkuML6gRa7Fr/E/4filS/bxkXUj8N19Mff/+3R1bK/d1MSUbIS6mro1H5ITGDP67YefGdAQsznk+TAx1+RvV6+PW5wTEP/j3DPAX/PmMaWpWejkyNZBeGvZ6UaIaq17kxF7phfh1fBHMyC+H61H4n/n6F05KT36JLO2SYF/kWddxXfkyOiD1jEqvsLZe3JMa0PyX6aXjhZ6VL5Hh87wYsc9eD8h/yb9+MTUbFDONnFwau+tznGIqxea8i6l19a9tM6t/qANiD9pzHJf5J38eMJWLK7Fr/E/4fjbYD+Svy9eFxH/1xdSvX7/Ov//++/nHjx/u+FrRF1PpxjIYJNxU2mCQY4OooJJzy4BVQRqNn9bJ86IO/GJDY6fz3ziY89yQJP5+eZ4M8AV6jaDnhjWUniJRCClpoxRrimQOCZnmWpvWQc/Rutzo4/MUqHI9ue8wUrHDAKfw8LpRz9pe5Zp2z/sFGjP4Z8Tas6r+DbCNqVrjJkDrDDlZ5LisN+qgsD7nq3ttzXln3yMC8Q/+PQP8bf3XdY5fwD6dhlomz37yTBmeGV8eYj1NZ6i0ljxT5fpc1thRVH0fZlJ9NmdU77ul8PjPfRHi/Y2eAaUdtc0sQk8t9zW91hN3//lox39Nr4Cijy7wj4yH55evxT5+vBC8mFnfZ5H/7fxP0LHe8EGMA75IjmNhvfIZbx+LegyVsannynwLe3txvFf9q3Ep9c9685iwRxa5V0I7F9ei5E+8wl5BF5tbcmwQyc3WgLXn/xGX4SyR+G+6mPr8+fP41/joZ/rOm7tEyospMmIOjDLYpYHj/JiwHMTj2DB3cLL8teQ8bgyuXmJKHRg8p50csklxYY97z9dLIugoA43XlI1IBm0MwsSJ7abm1mzaRkpetS7p5erRtoP3sig5+XsZvcXajwA0ZvDP2Fb/dGNq1bgJcE6LfeJnncdp7W057++V56/O+SV8bwjEP/j3DPDX/HW9S2dMU8u5RqYeEeqvHtPnSd1DTP01z9PYuJaAXYPA31FfGEWej+dB8eeafTqfSL9xzVoNNzZRKHtSc/5EryCbFPZc05McNOO/pZcZc3VScSJgvud4ELZpxYveJ8Vn/LgCyH/JP8StjLUEafemD2z+8+eJOGnAxkJGmU96rtTL1CiBveqfZzNCqb9eS+1H69Zsc6HzpOd/mZulTSVXU+dIfzN3tNkq/c0aF0Div9s/fk5/rW//f2PKCWBpUGX4CBGkyonD988vr8N6yclk5Po6uflUkoj1yAGj1ivGBgi9Z+ul4HwvuNpmSag1kHJubc8SKnEJrh2ivSbsoH6OqDe9AWZ+Mf4AQGMG/4xt9U+NO3O9muGieNbWi6Anr7Ux5/29sg1W57yz7xGB+Af/ngH+hr+s51TDYm2UtVvXRNMzinpa6ympZsvaXjn7DuA9TT/RCM+255RQ/FkvvT/3inHNuMcwR718uwh9JM2ll/PnCjfVjxzYvrnnObQV/y29rD/cuTKWBCyf4RvRc9vxop+tx8tcIP8l/2BPL65lzDV9sPN5iuerPEpr6XUJOibn1ZW96p/WMce81il+FuP1dTVo3hK7zYXnf2Unzr1ox8K3A6S95LgzV8fNHJQ+3huJ/24XU29vb/xbU/SnNz5XJi+m2DjBMTbIGLLJip/fXk78DDmD1xOOCsFpgzk5rZJEch+GSDwZHCPE+Ey9NGRiR4zrBB1tkMnEyj97iUti1q6gSFbXDoLLpB30vjLhi73kswPK8fsHGjP4Z2ysf7Nr3ASKmmRrkag/G3O+3EvbYHXOO/seEYh/8O8Z4G/5U+0M9U/VvrFO2h5hPru1u+wDXLO5RnpjtgdFXdS6DmQvmgnF36vZbn8J4D4ye79sV4k5vGgf2TdX9yQHtfhv61VycXUqYoEgevcIuV4jXoZRtc8OPRb5L/l7vgmQdm/6YOfzFM9347ASg+NcGk962ZqVsVf9q51reQ0njtNzeiyKsU/dBtvh+V/bKdvR1UPWXOH7kneQmp18lD7eG4n/bhdT9G9N/fbbb5e/mJKJ5xVa+s4E2+kb/SmcNQQaOWp0irfOCC84BsgAYIjEK8YGqIIxUy8FmdgRgqttloTaJY83dy7kOgzXDtFeU3ZQNgmo6RygbVCO3z/QmME/w6k9Mme8uiVqghr35s5F8aytRUFPrikbc77cS9tgdc47+x4RiH/w7xngX/JP5zX6M/eCWIP53z6V9db0jIl6WoDq5Dif9jC1PILr8FQ/ob0rz9eg+YuzZEJrzSU13lmHOc3Q156f9zyHev6f0svzRfU7R0/LR9u9HS/cu4e56150SyD/JX9xrjKQvmz6YOfzlBdXAWWu6rmxXnFu1mNqr/pXi8O6/gR6NtcPvV8APz+jRqyF53+lg6xxhW8HyLomx725i+HU452R+K++mKKLqL///e/j50v+VT4ZCJyEycDsJGmoOF8kWki80/kkn3lHn0UDK9aRcIKDwM/IAJWJFxwok0PpPWBaL8slrJnX0ONFwhhOYb/K3AWQ6zBcO6R9p+xgxjmpDCe5F8/PfuNxYdNHABoz+GdsrH+yGRVzF6BoajoP074hj7flfLlXWFvVMTU+E8xf6nxMIP7Bv2eAv8Ofa+KzOWfFmjt8r89Iul6W9dTWYwM5n2pmZV5Zh2nfUj+t2zQ0f7uG/vz6Sddz1mm0UdmHRsReWO9RbdBc+eye51Dr/2m9KjyLfh/mef1f2y3uKebWdSB/7NtTkf9l/HsxzD7jPJjwwc7nqfp8nZsp/vJcir+kp9ZBYq/65+b9gDZfq6O265IasRZu/bv1+X9EvYbshcR/08XUhw8fxn/8fI9LKRL3N6ZeYpCzyOAckBIgiQrSAXE8B2p0ng0wu84gwQFRB+sMni91kUFNCE4c16vsV9fLBFla/2UItsqaocHEsUGkzrmQBdi5hV0rsOv4dpB7T9iBkkeM8X89Iq5f7JVs4Ni4VojuDWjM4J+xsf7ZQ0m1xk2gONzYPAx65hxcn/PlXrb+Lsx5udco+sBxJCD+wb9ngL/HP9Y8U0fTGU7XcFMvi3oakC4fRklzaH61FjvPiWeLM6U6u81Dyd/0Erlm0c/Kc2jqEVY31Tucvsji2I1ANtC9Z2FPakDxn6FX4FU5u5ve19JN+jX8TQ4dV9V4WXumqAD5L/kHP0jbprOLejdq+aDI4W3nKd63khdajyEm1d60Tzp3lfGVsFf9S3ZIkrg19ed9Ui5JfQcsrBFr4fn/5uf/CvdZzy5E4r/bX+XbS6b/jaleYRIFeEigMYN/Bupfb0D8g3/PAH/w7xn3xT9cGKjzCb/EVi7KZgD+X8p/fx/cEvC/5N/f+T/xx8XU3QAXUz0AhRn8M1D/egPiH/x7BviDf8+4K/58AWLeSfi3tHAxtRaL+V/AB7cE/C/542LqMIKLqRqucTEVbt/tr+wl2fprysA0UJjBP+Ma9e+ec/7x6hXiH/x7BviDf8+4O/58CSL77rYLEfh/Bf/dfHD985T9K6Lwv+Tf3/k/8T/4xRQA9AUUZvAH+gXiH/x7BviDf88Af/DvGeAP/oSnnz9/no8kdDFFykEgEAgEAoFAIBAIBAKBQB5b8BtTAHAgUFL2DPDvm3/vQPyDf88Af/DvGeAP/j0D/MGfgIspADgQUJjAH+gXiH/w7xngD/49A/zBv2eAP/gTcDEFAAcCChP4A/0C8Q/+PQP8wb9ngD/49wzwB38CLqYA4EBAYQJ/oF8g/sG/Z4A/+PcM8Af/ngH+4E/AxRQAHAgoTOAP9AvEP/j3DPAH/54B/uDfM8Af/Am4mNqAt5fn89PTk5Dn89e/4uDBwLp+eo2fgKMChQn8d8O30/np3dfzW/wIHB+If/DvGeAP/ofHX1/Pz/HM//yyb3e9Gn/mcLz3FcT/zvwPcwZ8PZ/GeHs7f333dD594wEF+H9H/nd4/k/8N19M/fnnn+f379+zfP78+fzr1y933ly5m4uporDLxDseHvFi6hE5oTCD/254wIup5TlPdVn8nwcHtwfiH/x7Bvhn/lzrbL2KlyL2pS7PDfVu04UJ9Y1UY2m/ig6XqKWu/0mfVL8Vt/CCm8dOA/s6Xj/JueasXt2jBK8jetCe59CCf7J1ErMP7y3GvZd9F8X7yzGA/Jf8Q3x7scgxOCf/Js6AS2PXxhvLrOeXX0zlmiYwWf9sTQgy2tDkefnLJKRnqiO0lhm/YO0j7Br/E75filQ/Z9eYFUj8N11M0aXUly9f3LG1cl8XU7IR4mLq2nhETmjM4L8bdm5MR8DSnKdmmhvpDi9tFwbiH/x7BvgL/t7lQXqxMjWQ6txedY1qrHqRE3ulF+LX8UVwXxT+Z77+hZPSk18iS7sk2Bd57iPjuvJldADvWT/LW1vveQ4t/d/oX9Y2E3oreLF1ACD/Jf/6xdRsUEw08nRp7PL8VXkv34/nXUytq39tm1n9Qx0Qe9Ce47iuC5eufYRd43/C97Mx1qFQfw59MfX29saXUlt/Q8qKvphKN5bBIPUbzjQWAicHlZxbBqwK0mj8tE6eF3X4lsZP579xMOe5IUn8/fI82QQX6DWCnhvWUHqKpkRISRulWFMkc0jINNfatA56jtblJI3PU6DK9eS+w0jFDgOcwsPrRj1re5Vr2j3vF2jM4J8Ra8+q+jfANqZqjZsArTPkZJHjst6og8L6nK/utVPOq70OCMQ/+PcM8Lf1X9c5ql/Pn05DDZVnP3mmDM+MLw+xnqYzVFpLnqlyfS5r7CimZnJ9Ls6o2+Hxn/sixDq5tb20o7aZReip5b6m13qysbco/txf9RlfcuRYUJw8ngnat6cX24cNN8XD46312gvI/3b+J+hY174NEn1LMTTkKV+mxLGwXvmMHzca9bwvc0bPpfFKjRLYq/7VuJT6Z715TNgji5ODF6h9hJI/8ZL5J3OWIMcGkXpF34+f157/R2RbXQqJ/+qLqe/fv59///13/ut76a/y0Xfe3CVSXkyREXNglMEuDRznu4V7mDs4Wf5ach43BlcvT6UODJ7TTg5Z3PkgEPeer5dE0FEGGq+Z9uAmJoI2BmHixHZTc2s2bSMlr1qX9HL1aNth6iXV38voLdZ+BKAxg3/GtvqnG1Orxk2Ac1rsEz/rPE5rb8t5f688f1vOB93K2nocIP7Bv2eAv+av6106Y5pazjUy9YhQ4/SYrnm6h5j6a56nsXEtAbvGXlD8uVeczifSj/oNS61nGZsolD2pOX+iN5JNCnuu7kkair/pfYRsd+PnCO3LDO2vaI9x7fA5c9K2UXyjT/ZhWwL5L/lbv2TImNPxl2pE/LjzeUrHkUSZT3qu1MuPXcJe9c+zGaHUX6+l9qN1HdvUbbAdnv9vfv4fYda4ABL/1RdT9Nf4Pnz4cP7x4wd/pj9/++03/k0qO3eJeBdTyhDSoMrwESJIlROH759fXof1kpPJyPV1cjGuJFFRoMV6XvEWes/WS8H5XnC1zZIgm5RMuHJubc8Sch2Ga4dorwk7qJ8jajozzPxi/AGAxgz+Gdvqnxp35no1w0XxrK0XQU9ea2PO+3tlG2zKeWmbgwLxD/49A/wNf1mzqHbG2ihrt66JpmcU9bTWU1JdlLW9cvYdwHuafrIHFH/WS+/PvWLcN+iXLq3avSz0EXnB9VzhpvqRA9s39zyHWv/z2kLv53fJ7rovJvi613wue7Lui5mTfdb2/n2B/Jf8g+29uJYxp+PR+Gvn85SNR5KwVhmPPHfcW8aNE48Re9U/rWOOba1T/CzG6+tm2DX2hOd/ZSeZt4VvB0h7yXFnrq1j0/Brzp5I/DddTMl/X4r+Sh/99tTW35qavJhi4wTHuAEii6z4+e3lxM+QM3g94agQnDaYk9MqSVQUc5F4MjhGiPGZemnIxI4Y1wk62iCTiZV/9hKXxKxdgVyT4dpBcJm0g96X7FDqnKBtUI7fP9CYwT9jY/2bXeMmUNQkW4tE/dmY8+Ve2garc97Z94hA/IN/zwB/y59qZ6h/qvaNddL2CPPZrd1lH+CazTXSG7M9KOqi1t0Hir9Xs93+EsB9pDJWIttVYg4v2kf2zdU9ycFU/Gf9vLNBqVuAw1Xalm1a+jxxUms27L8HkP+SvzhXGciYU/Fnc6bI/23nqRx/FmWM6bk0nvTyY5ewV/3zbEbgNWSMj7EcntNjUYx96jbYDs//2k7Zjq4e7P/ISfi+5B2kZicfTh3ZGYn/pr/Kd5OLKVtQrWNU4UzP05/CWUOgkaNUsa0GmhccA2QAMETiFWMDVMGYqZeCTOwIwdVrSNyoY1JxYMaf/eY1D3IdhmuHaK8pOyibBNR0DtA2KMfvH2jM4J/h1B6ZM17dEjVBjXtz56J41taioCfXlI05X+6lbbAq53lPp4YfEIh/8O8Z4F/yT+c1+jPXsFiD+d8+lfXW9IyJelqAauU4n/YwtTyC6/DaftKA5i/OkgnEp6KT11uqcNZhTrW1Bez5ec9zaDv+RZ9VPyfUfOt8X/TkGu/wrHyZrcbODkD+S/6ejwNkzPH5SfhHzd/5PFXP+zJX9Vx5ZqzF6X71z7MZoa4/gZ7N9UPvl9FeYxs8/ysdZN4Wvh0g65oc9+YuhlOPd0biv+kfP//48eN4EUV/0udL/FU+2Sw4CZOB2UnSUHG+SLSQeKfzST7zjj7nACzXkXCCg1AUc5l4wYEyOZTeA6b1slzCmnkNPc7rSX0Mp7BfZe4CyHUYrh3SvlN2MOOcVIaT3IvnZ7/xuLDpIwCNGfwzNtY/2YyKuQtQNDWdh2nfkMfbcr7cK6yt6pganwCvL3U9NhD/4N8zwN/hzzXx2ZyzYs2lv9qlzki6Xpb11NZjAzmfz6T+vEudvTR/08/M59dPuq6zTqONyj40IvbCeo9qg+bKZ/e0RSv+WUcRA5rvAO51MkYyNL9ox8b7SgaN+WteAsj/Mv49v7DvOQ9oTuN8U+R/WHPteao+X+dmyrE8l+Io6al1kNir/vmx3NKfYHX07brUZkvg1j/BW+Xxtc7/I0Kd2LZGG4n/6ospEvp3pejfmaJ/+HyPSykS9zem+L8gQQ7STmKkBEiignRA0YSi82xg2XUGCQ6IOlhn8HypiwxqQnDiuF5lv7peJsjS+i/UfPw1OWHS2CBSZx4TtrFzaw3Nwq7j20HuPWEHbqZ5jP/rEXH9Yq9kA8fGtUJ0b0BjBv+MjfXPHkqqNW4CxeHG5mHQM+fg+pwv97L1d0nOxxqa9hrFP3AcAYh/8O8Z4O/xjzXP1NF0htM13NTLop4GhEsOIWkOza/WYuc5+ewOKPmbXiL7W9HPynNo6hH2vKt6h9MXWSq8yAa69yzpSW1o/oa7c0bX/mj1NdkLaR6t7Z+lk4xcZL9muVz/RP5L/t75JdhevRu1znW7nqfivrV8V3oMsar2lvFmdcjYq/4lOyRJ3Jr68z4px6S+AZeufQTP/zc//1fq46xnFyLx33QxdQmZ/jemekWZKMDjAY0Z/DNQ/3oD4h/8ewb4g3/POBx/fik17x3OheVegP+X8g+XNuqMyD4rLzHvAfC/5N/f+T/xx8XU3QAXUz0AhRn8M1D/egPiH/x7BviDf884HH/+bSl9ydH+rZNtgP8X8q9dHOJi6i6h+eNi6jCCi6karnExFW7f7a/sJdn6a8rANFCYwT/jGvXvnnP+8eoV4h/8ewb4g3/POCL/9FemRrnQpRQB/l/Bny+ihH9WX0pd/zxl/3oc/C/593f+T/wPfjEFAH0BhRn8gX6B+Af/ngH+4N8zwB/8ewb4gz/h6efPn+cjCV1MkXIQCAQCgUAgEAgEAoFAIJDHFvzGFAAcCJSUPQP8++bfOxD/4N8zwB/8ewb4g3/PAH/wJ+BiCgAOBBQm8Af6BeIf/HsG+IN/zwB/8O8Z4A/+BFxMAcCBgMIE/kC/QPyDf88Af/DvGeAP/j0D/MGfgIspADgQUJjAH+gXiH/w7xngD/49A/zBv2eAP/gTcDEFAAcCChP4A/0C8Q/+PQP8wb9ngD/49wzwB38CLqY24O3l+fz09CTk+fz1rzh4MLCun17jJ+CoQGEC/93w7XR+evf1/BY/AscH4h/8ewb4X5v/6/l0oHPrUfz/+imd6U+Dha6HPfkzhzs78yP/b8H/7fz13dP59C1+vCHg/x353+H5P/FffTH1559/nt+/f1/I9+/f3flz5W4upv76en5WDf1YDd7iES+mHpETCjP474YHvJhanvNUl9NLxiAHtwfiH/x7BvhL/uGF8fnlkhVr/rl1v/MW7ZkufIhj3t/jn/+PXxKta75AKscsWH+xVvVF/IZn+zL+1/cvXEzdH6bj/xIXpWsvpvbPC8mf89XGO+dmqWueG/JlU82kc3PKG9pP6kBjwh/ePlv03jX+dz7/p1p7yQvMxH+335iiC6nPnz+ff/365Y7Plfu6mJJF4nrNaw04AR7sEucROaExg/9uwMUUN9PcSHc4tFwYiH/w7xngL/k/6MWUetmj/dM5+nURf35REv2N9au9uPMLpRjjzxXeNzzbt/nHi4qZPsDF1P1hKv5tzO+DsM/RLqZCHpr108WQiWuyy151kurIuBbtN+4la9WAWg3ZoPeu8U977hErzIfig/jf0cUUXUb9/vvv5x8/frjjS0RfTFHCkIODQcItpQ0EOTaIanhybpnk3MjS/Gj8tE6eF3X4lsZP579xA8xzQ7D5++V5ufku0msEPTesofSUzXNACv4oxZoiKUITT3OtTetIScsFMj5PgSrXk/sOIxU7DHASWDbT2l7lmnbP+wUaM/hnxNqzqv4NsI2pWuMmQOsMOVnkuKw3quGuz/nqXjvlvD0IHA2If/DvGeBv67+sV84ZUJ0TdS9Iz6n6SlA1mJ6R9djUWX6uVXsn+s/wfDq/0TOyrmuhHrHkYsobs1wyyrrvr13XL4m//l5Q/NlP3hnffJcg+/Hgh6/G75qb5uHx9u1+WSD/J+Jf+Z/GBz+Kd1P+XsaBjVd1BkxjYZ/xwoGfz8+l/A3i7SG+34gp/pzHn04mL2TeO1xMDSK4nOKz+Xshsn6OCLWvvKhZr3fJn8Zljc1+CZBjg1zi/D+ixnc/JP67XEzRb0t9+fLFHVsq5cUUGTE7kwvoaOxgqGzgOD8GEQfDODbMHZwsfy0vjxuDq8Zd6sAomgatYZ4RwcyJEPeer5dE0FEGGq+Z9jDFJAVh4sR2U3NrNm0jNTC1Lunl6tG2g7ZzgOTk72X0Fms/AtCYwT9jW/3TjalV4ybAOS32iZ91Hqe1t+W8v1eevynnl3C+ERD/4N8zwL+s/+qsKOuuqf9UR/PcDFVfCaoO0hq5JtLcsUeYnlHWXr2/23/UeIBah+aINT3+3GuSjHPLPmP1zQhz7feFXRLYPrWz/WWh+JNtRl9HVHuY4R5tr+xcO0cYvrU4ugaQ/638tzGb8kPEKvlSxIx3XhxjhObyWiI/OE5yfOnn7f7754X1v645aT8v1pMNTK7HPJA2bHPSz9PYuJZFNRfX6+3Xv0re8roT9bfl+8W+M2tcAIn/5osp+m0p+it8W/9tqSTexZQyhDSoMnyEcLZy4vD988vrsF5ycgqWMGbXycXZ0YHAeuSAUesVYwOE3rP1UnC+F1yzvhky4WSilHNre5bQCTfAtUO014Qd1M8RNZ0ZZn4x/gBAYwb/jG31T407c72a4aJ41taLoCevtTHn/b2yDZbnfHg+vdgUdfxgQPyDf88A/7L+5xpdntNk7eSfbT8YoOorQdXgcs0MvX9Re52ewt95/UdA9h27ZtP/rLe1R67t9EL97J3V4zz7fWGXhKKHtWy0LyR/to21n9M/GY6tbWxkuxEEJ/PsLc/VyP8y/3N8B8lx7JwPLWbk47jOi40tZ32VG/vnReF/qT/tHfWv1xCjc8F5Cae2fav1g7BSb8//pa5+3jLkvnLcmVvWhCn4dXRPJP6bL6bor+/RX+Pb+m9LJZm8mBKBUy/cIiDiz28vJ36GnMHrCUfxOib5SYLTKsGpgplgCr0aI4jxmXppyISJGNcJOtogk4Gffw5zS75m7Qp0Mg1w7SC4TNpB7yuTvdhLPjugHL9/oDGDf8bG+je7xk2gqEm2Fon6szHny720DbblfKx9bn09BhD/4N8zwL+s/7lG27pb1kOupVzbcw1W9ZWgarBdkz6nNYKk/e1eS/pPQKy/Zn0WXvdt0v/t+h90L87qcV/7PdnF7X+SA6O0+6Wg+Bf2G1DoFuD5Ivu9ZvfISa1pY+66QP638n8A+yrFsh/XHAvKz8G3br4yZHzYuJfr2Dn750Xp/5zTKvfH3LA2MJ+LHGpwirYtxyo2dm2ZsE5vz/9672xzVweZy4I7zzWcSJbleeZ0KST+my+m6L/OR+KNrZE9f2MqP09/CmcNQUKOGp3irTPCC44BqpgTcsCUYwOk3nP1UhDrJwiuXpOVBxKZHNWGPANyHYZrh2ivKTsomwTUdA7QNijH7x9ozOCf4dQemTNe3RI1QY17c+eieNbWoqAn15SNOV/upW2wOeelfQ4IxD/49wzwL+t/PquVZ8BaPeSaGuuoqq8EVYPlmnY//bnYy+spsr5647xm5kC6jf1tmD/l/4KLRLW2W16E8F1xricUPay0+6Wg+Ht8XJsOcL6XtqKfNX8B3meYm8Rb/0pA/rfynyC/c2LYxoz8XIsdsQ7HzDinkSOM/fPC83+KXfoz6xL35n9fS+aI0bngPMGJcn+cT3uY/BvAddD53mKN3p7/la6ydnv+rPm76vslIN0bttsBif+mi6k9/9HzJFP/xpRKHHaSNFScLxpXaKan80k+844+i4Qq1pGoBDI/IwNLJmlwoCwoSu8B03pZLmHNvIYeL5LFcJKHirmJ5UGuw3DtkPadsoMZ56QynORePD/7jceFTR8BaMzgn7Gx/slmVMxdgKKp6TxM+4Y83pbz5V5hbVXH1HgL9Kyuc7YOHw2If/DvGeBf1v9cS23djfVQnZEC5Pf889hDYo9QZ1X5s+gRsWek/Yvau6T/jJD70XzBZ5iv+NP6klurhxldExeluzynct/RvWEEryXHjF0uCO1/zSHZN38WsLYxfbXgL0Bj7po3APK/lf8DlJ/DuIxLm6N83kl+tzFCnzk+5Drh5xQ37fPS/nnh+p/ryBCjKn6jbYbvdf0zNnFqUJOTnE/2Wfqs1HGF3p7/5Zpqf+vPND+ta7ls9tXl62Div+liii6kfvvtt/Pb25s7vkbc35jiv/tKDtJOYkSDhzHhlIQ4bot7EVx2nUGCA6IO1hk8X+pCTpOHhuDEcb3KfnW9TJCl9V8o+P01Q/OJY4NInXlM2MbOrTUtC7uObwe594QdOJnz2KtYv9gr2cCx8VEa61agMYN/xsb6JxsToVrjJmDXKfIw6JlzcH3Ol3vZ+rsw5+Vecb8ZT90MiH/w7xngX9Z/XVdl3ZVnpHheHGud7BN6LPxnv9M6Zk1VL0/n0/Ai5NX18bsl/YdBayTdSj4e/6yP7lf2DKv7QdBVfhde0pPofRWKM63cy/TfnVHEf8u+FtJ3wzx7frb2ylxKOzf3uSCQ/+34J8k5EMb1GU4/U/yX4FR+pxyw6+jc0XkziMjpvfPC93+sO6aWpL09/uN3bg1qcKL5Kfbts875uXhW2WG53p7/b37+r/Ce9exCJP6b/yrf3jL9b0z1irKJA48HNGbwz0D96w2If/DvGeAP/j3jFvz5JV1dRN3u3AH/g/99Yp+c0fz7O/8n/riYuhvgYqoHoDGBfwbqX29A/IN/zwB/8O8Z1+cfzhjeb5vhYur6AP875U+/VWR+M2oNNH9cTB1GcDFVwzUupuKvHlZENy/gEkBjAv+Ma9S/e875x6tXiH/w7xngD/494zb8yz56q3cu+B/8e4bm39/5P/E/+MUUAPQFFGbwB/oF4h/8ewb4g3/PAH/w7xngD/6Ep58/f56PJHQxRcpBIBAIBAKBQCAQCAQCgUAeW/AbUwBwIFBS9gzw75t/70D8g3/PAH/w7xngD/49A/zBn4CLKQA4EFCYwB/oF4h/8O8Z4A/+PQP8wb9ngD/4E3AxBQAHAgoT+AP9AvEP/j0D/MG/Z4A/+PcM8Ad/Ai6mAOBAQGECf6BfIP7Bv2eAP/j3DPAH/54B/uBPwMUUABwIKEzgD/QLxD/49wzwB/+eAf7g3zPAH/wJuJjagLeX5/PT05OQ5/PXv+LgwcC6fnqNn4CjAoUJ/HfDt9P56d3X81v8CBwfiH/w7xngD/6Hx19fz8/xzP/8sm93PQb/1/Np4Hb6Fj9eEYj/nfkf5gxIMZXej9/OX9/58QX/78j/Ds//if+mi6nv37+f379/z/Lx48fz29ubO2+J3M3FFDcneRElE+94eMSLqUfkhMIM/rvhAS+m1ud8OAwd+f88ICD+wb9ngH/mz7XO1u94KWJf6vLccKmw6cKE+kaqsbRfRQe/t4T9x/+zdmH/0f5PNVuKrt+vn/R46zJFzzV9gDiLdVr243VED9rzHFrEf1UvzzZmjrhAY5mtIy6mbgUv/r1Y5Bick1sTZ8ClscvzZUzNjqvlF1Pr6p+fF6MNTT6V50HS8zT8L4HWEuMLasRa7Br/E75filQ/L1kXEv/VF1N0CfXbb7+df/z4wZ///PPP85cvX4p5S+W+LqZSABNk4h0PezbPo+AROaExg/9u2LkxHQFrcz48dzp0jSYg/sG/Z4C/4M9nTFOv0suRqYH00rDXixLVSvUiJ/ZKL8SvVE+L3rL9QkP7v/5iTuCaLnVg2/j13b7I87Pj+V2+jA5orEOwtl7bkzxo/sv00vFifRE+z4uR7X5cC+T//PifBYqZxhlwaewWOTcbFFMpNuddTK2rf8tqRqgDYg/acxyX+Sd/HjCViyuxa/xP+H422A/kr8vXhcR/9cUUXUj9/vvv51+/frmf14q+mEo3lsEg4abSBoMcG0QFlZxbBqwK0mj8tE6eF3X4lsZP579xMOe5IUn8/fI8GeAL9BpBzw1rKD1FohBS0kYp1hTJHBIyzbU2rYOeo3W50cfnKVDlenLfYaRihwFO4eF1o561vco17Z73CzRm8M+ItWdV/RtgG1O1xk2A1hlysshxWW/UQWF9zlf32pLzvCfpYGvv8YD4B/+eAf62/us6xy9gn06xniXIuhaeGV8eYj1NZ6i0ljxT5fpc1thRVH0fZlJ9NmdU/s7MW4op/hLFfk5vCfDWafWC0FPLFzDTaz3Zlb9FTa+Aoo96/ineKwJkPDy/fC328eOF4MXM+h6L/J8X/zr2Gz6IccAXyXEsrFc+U8sziXoMlbGp58p8C3t7cbxX/atxKfXPevOYsEcWuVdCOxfXouRPvMJeQRebW3JsEMnN1oC15/8Rl+Eskfgf/DemUvLkwCiDXRo4zo8Jy0E8jg1zByfLX0vO48bgqsGVOjDGl50EWsM8I5oUF/a493y9JIKOMtB4TdmIZNDGIEyc2G5qbs2mbaTkVeuSXq4ebTt4BwnJyd/L6C3WfgSgMYN/xrb6pxtTq8ZNgHNa7BM/6zxOa2/LeX+vPH9NztP6YT1Zo48JxD/49wzw1/x1vUv1y9RyrpGpR4T6q8f0eVL3EFN/zfM0Nq4lYNcYnxteGrk3RJH7zoHmH3uJWE/X/mCH8F342d+v7ElpvsdtqjfmfhKwpifV0Iz/ll5mzNVJxYmA+Z7jQdimFS96nxSf8eMKIP/L+PdiWtq96QOb//x5Ik4asLGQUeaTniv10jVGYq/6V6s7pf56LbUfrVuzzUSNWAu//t34/D/CrHEBJP6b/o0pupyif1uK/o2pPS6lSLyLKWUIaVBl+AgRpMqJw/fPL6/DesnJZOT6Orn5VJKI9cgBo9YrxgYIvWfrpeB8L7jaZkmoNZBybm3PEipxCa4dor0m7KB+jqg3vQFmfjH+AEBjBv+MbfVPjTtzvZrhonjW1ougJ6+1Mef9vbINFue8Wm9+nbsVEP/g3zPA3/Cn+pXqKdXOWMtk7dY10fSMop7Wekqq2bJGVs6+A3hPZ11Vm1n3ZfW26X/W0zu7DvuSKH0sxDwW+j+DfW6qHzmwfXPPc2iLf0sv6w93rowlActn+Eb03Ha86Gfr8TIXyH/JP9hT+yZAxlzTB0X+S9/qdeaA56s8SmvpdQk6Jml8uq7sVf+0jjnmtU7xsxivr6tB85bYbS48/ys7ce5FOxa+HSDtJceduTpu5qD08d5I/FdfTNE/fC7/wXP7ea1MXkyxcYJjbJAxZJMVP7+9nPgZcgavJxwVgtMGc3JaJYnkPgyReDI4RojxmXppyMSOGNcJOtogk4mVf/YSl8SsXUGRrK4dBJdJO+h9ZcIXe8lnB5Tj9w80ZvDP2Fj/Zte4CRQ1ydYiUX825ny5l7bBspy3etrPxwPiH/x7Bvhb/lSzQv1TtW+sk7ZHmM9u7S77ANdsrs3emO1BURenTut+knWfiyn/FzYQvSb0uLn13det5FXCvtApnTaixr+tV8nF1amIBcKU3xrxMoyqfZzevhTIf8nf802AtHvTB7uep+J8Nw4rMTjOpfGkl6lRAnvVP89mBF7DieP0nB6LYuxTt8F2eP7Xdsp2dPW4xPl/ROnjvZH4r76Yot+Qor++lz7Tvy31+fNnvqCS85bKnr8xlZ+nP4WzhkAjR41O8dYZ4QXHABkADJF4xdgAVTBm6qUgEztCcLXNklC75PHmzoVch+HaIdpryg7KJgE1nQO0Dcrx+wcaM/hnOLVH5oxXt0RNUOPe3LkonrW1KOjJNWVjzpd7aRssynm2RW7CUtbWv0sD8Q/+PQP8S/7pvEZ/5l4QazD/26ey3pqeMVFPC1B9HufTHqaWR3AdNv1E1XGGOAvOxJT/8x6i54zwvquAe4PmxpwqfCWSPxL2PId6/Kf08nxR/c7R0/LRfmvHC/tjx76K/Jf86/Esfdn0wZ7nqQFeXAWUua7nxnrF5756TO1V/2pxWNefQM/ms6neL4Cfn1Ej1sLzv9LhFuf/Ecvr+VIk/pt+Y4ououQ/fk6/MZX+zam1MvVvTHESJgOzk6Sh4nyRaCHxTueTfOYdfc4BWK4j4QQHgZ+RASoTLzhQJofSe8C0XpZLWDOvoceLhDGcwn6VuQsg12G4dkj7TtnBjHNSGU5yL56f/cbjwqaPADRm8M/YWP9kMyrmLkDR1HQepn1DHm/L+XKvsLaqY2p8CazexwPiH/x7Bvg7/LkmPptzVqy5w/f6jKTrZVlPbT02kPP5TOrP8+owfyd0tJ/nQPGn/SU31cNMryOo8bIPjYjz6j2qDZorn93zHGr9P61XhaeyBSHMy58zrJ94TzG3rgP5YN9+ivyX/GOOOzHMPuPYn/DBzuep+nyTjzH+8lx59tI6SOxV/9y8H9Dma3XUdl1SI9bC8//Nz/8j6jVkLyT+m/6NKfqNKfr3pUg+fPiw+VKKxP2NqZcY5Cym0aUESKKCdEAcz4EanWcDzK4zSHBA1ME6g+dLXWRQE4ITx/Uq+9X1MkGW1n8Zgq2yZmgwcWwQqXMuZAF27twDhF3Ht4Pce8IOlDxijP/rEXH9Yq9kA8fGtUJ0b0BjBv+MjfXPHkqqNW4CxeHG5mHQM+fg+pwv97L1d0vOW72PB8Q/+PcM8Pf4x5pn6mg6w+kabuplUU8D0uWDrMM8h+ZXa7HznHy2GJ93ppTQ/OMZWOyluZo+M4jtQemzPe+q3uH0RRbHbgTiqHvPlp6kofjP0CvwqthZ9tlBWrpJv4W/yaFtXY2XtWeKCpD/7fhPf1VVvRu1fLDzeYr3reSF1mOISbU37ZPOXmV8JexV/5IdkiRuTf15n5RLUt8BC2vEWnj+v/n5v8J91rMLkfhvupi6hEz/G1O9wiQK8JBAYwb/DNS/3oD4B/+eAf7g3zPui3+4MFDnE36JXX4hmQD/L+W/vw9uCfhf8u/v/J/442LqboCLqR6Awgz+Gah/vQHxD/49A/zBv2fcFX++ADHvJPxbWriYWovF/C/gg1sC/pf8cTF1GMHFVA3XuJgKt+/2V/aSbP01ZWAaKMzgn3GN+nfPOf949QrxD/49A/zBv2fcHX++BJF9d9uFCPy/gv9uPrj+ecr+FVH4X/Lv7/yf+B/8YgoA+gIKM/gD/QLxD/49A/zBv2eAP/j3DPAHf8LTz58/z0cSupgi5SAQCAQCgUAgEAgEAoFAII8t+I0pADgQKCl7Bvj3zb93IP7Bv2eAP/j3DPAH/54B/uBPwMUUABwIKEzgD/QLxD/49wzwB/+eAf7g3zPAH/wJuJgCgAMBhQn8gX6B+Af/ngH+4N8zwB/8ewb4gz8BF1MAcCCgMIE/0C8Q/+DfM8Af/HsG+IN/zwB/8CfgYgoADgQUJvAH+gXiH/x7BviDf88Af/DvGeAP/gRcTG3A28vz+enpScjz+etfcfBgYF0/vcZPwFGBwgT+u+Hb6fz07uv5LX4Ejg/EP/j3DPAH/8Pjr6/n53jmf37Zt7tejT9zON77CuJ/Z/6HOQO+nk9jvL2dv757Op++8YAC/L8j/zs8/yf+my6mvn//fn7//j3Lx48fz29vb+68JXI3F1NFYZeJdzw84sXUI3JCYQb/3fCAF1NLc778Pw/2f5nYE4h/8O8Z4J/5c+2y9TteitiXujyXzqEbaxz1jVRjaT+pA41dsJZq/4cXWLmf/T9/Xz/pce9lN0HPNWf1Bbx4HdGD9jyHFvEvLsFYzD62v7X4K+Bi6pDw4t+LRY7BOWe7iTPg0ti18cYy6/nlF1O5pglM1j+vZggbmjwvf5mE9DwN/0ugtcx4ysc5tl+BXeN/wvdLkern7BqzAon/6oupHz9+8GUU/Umf//zzz/OXL1+KeUvlvi6mUgATcDF1bTwiJzRm8N8NOzemI2BpzruHmwMD8Q/+PQP8BX/v8iC9WJkaSC8Ne10SUc1UL3LjXvKlbQDrsu+ZV/u//mJOKGp7Qx/7Is/PjlyW8bK2XtqTWij9L18ESU/7kr3SH15sHQDI//nxPwsUE43zz9LYLXJuNuT78byLqXX1b1nNCHVA7EF7juO6LqQa8rraBtPYNf4nfD8bYx0K9efQF1N0EUWSPtNvS33+/Hnzb03pi6l0YxkMUr/hTGMhcHJQybllwKogjcZP6+R5UYdvafx0/hsHc54bksTfL8+TTXCBXiPouWENpadoSoSUtFGKNUUyh4RMc61N66DnaF1O0vg8BapcT+47jFTsMMApPLxu1LO2V7mm3fN+gcYM/hmx9qyqfwNsY6rWuAnQOkNOFjku6406KKzP+epeK3Oe1ylq6XGB+Af/ngH+tv7rOke18vnTaaih8uwnz5ThmfHlIdbTdIZKa8kzVa7PZY0dRdX3hNB79nxRmeIvwbVd6uX0lgBvHWkzixov02s9ce00H4o/91d9xpecORYUp5a9tG9PL9ZWhpvi4fHWeu0F5P+8+Nexr30bJPqWYmg4//BlShwL65XP+HGjUT9PlTmj59J4pUYJ7FX/alxK/bPePCbskcXJwQudKUv+xEvmn8xZghwbROoVfT9+Xnv+H5FtdSkk/rtdTP369ev8+++/j79BtVbKiykyYg6MMtilgeN8t3APcwcny19LzuPG4KrBlToweE47OWRx54NA3Hu+XhJBRxlovGbag5uYCNoYhIkT203Nrdm0jZS8al3Sy9WjbQfvICE5+XsZvcXajwA0ZvDP2Fb/dGNq1bgJcE6LfeJnncdp7W057++V5y/N+VRDspg6fjAg/sG/Z4C/5q/rXTpjmlrONTLVtVB/9Zg+T+oeYuqveZ7GxrUslvSQmdD8U/8Tomp/PBPzd7YXSpQ9Kc13uU3wIpsU9lRrr4fib3ofIfvO+DlC+zJD+zzZNa0dPmdO2jaKL9vmcj0U+V/GvxfTMuZ0/JHvRMxc4jwlakdGmU96rtTLj13CXvXPsxmh1F+vpfajdR3b1G2wHX79u/H5f4RZ4wJI/FdfTNG/LyX/XSn6/OHDh4tcTClDSIMqw0eIIFVOHL5/fnkd1ktOJiPX18nFuJJERYEW63nFW+g9Wy8F53vB1TZLgmxSMuHKubU9S8h1GK4dor0m7KB+jqjpzDDzi/EHABoz+Gdsq39q3Jnr1QwXxbO2XgQ9ea2NOe/vlW2wLedj47Y2OxAQ/+DfM8Df8Jf1nGpnrF2yduuaaHpGUU9rPSXVbFnbnbkCqm7vhKb/WU/v7DroQdKs62IeC/2fwT63KV62b+55DrX8eW2h9/O74TPz1H0xwde95nPZk3XPzpzsszI+9gfyX/IPtvfOaDLmdDwaf+18nrLxSBLWKuOR5457y7ip15W96p/WMce21il+FuP1dTPsGnvC87+yk8zbwrcDpL3kuDPX1rFp+DVnTyT+m/7xc/qNqfSPn9NvS13qN6a0IXKAuwEii6z4+e3lxM+QM3g94agQnDaYk9MqSVQUc5F4MjhGiPGZemnIxI4Y1wk62iCTiZV/9hKXxKxdgVyT4dpBcJm0g96X7FDqnKBtUI7fP9CYwT9jY/2bXeMmUNQkW4tE/dmY8+Ve2gabc76oV8cC4h/8ewb4W/5UO0P9U7VvrJO2R5jPbu0u+wDXbK6N3pjtQVEXte4+mPJ/YQNRy0OP072ljmxXiTm87Aud0mkjZvF3/R5gdQtwuMo+zHZ0/B45qTWNzfcG8l/yF+cqAxlzKv7s+arI/23nqRx/FmWM6bk0nvTyY5ewV/3zbEbgNWSMj7EcntNjUYx96jbYDs//2k7Zjq4e8nwrfF/yDlKzkw+njuyMxH/TxZQUupCiiyn6K33e+FzZ8zem8vP0p3DWEGjkKFVsq4HmBccAGQAMkXjF2ABVMGbqpSATO0Jw9RqSfOHjwIw/+81rHuQ6DNcO0V5TdlA2CajpHKBtUI7fP9CYwT/DqT0yZ7y6JWqCGvfmzkXxrK1FQU+uKRtzvtxL22Bzzkv7HBCIf/DvGeBf8k/nNfoz94JYg/nfPpX1zPSMiXpagOrzOJ/2KGsl1+AL1dAp/+deIXrOCO+7Cpw+MJdX8kfCnufQNn/Jr86/9K3zfdGTa7zDs/Jltho7OwD5L/l7Pg6QMcc5Ifyj5u98nuL5ar0E8d4XoefKM2MtTverf57NCHX9CfRsPpvq/TLaa2yD53+lg8zbwrcDZF2T497cxSh9vDcS/10upugyiv7hc/rrfN74Epn6N6Y4CZOB2UnSUHG+SLSQeKfzST7zjj7nACzXkXCCg1AUc5l4wYEyOZTeA6b1slzCmnkNPc7rSX0Mp7BfZe4CyHUYrh3SvlN2MOOcVIaT3IvnZ7/xuLDpIwCNGfwzNtY/2YyKuQtQNDWdh2nfkMfbcr7cK6yt6pgab4GelbXJ2OeAQPyDf88Af4c/18Rnc86KNZf+apeqZ7pelvXU1mMDOZ/PpAue3QGKP+0vuake5tRyNV72oRFxXr1HtUFz5bN7nkNb8c86ihjgfWVMcC+VMZKh+UXbNd5XMmjMX/MSQP5L/jHHHb/kdyOaI89iBruep1rzTT7GHMtzKY70u+1YowT2qn9+LLf0J1gdfbsutdkSeP6/+fl/RKgT29ZoI/FffTFF/7YU/RtT6a/y7XEpReL+xhT/FyTIQdpJjJQASVSQDiiaUHSeDSy7ziDBAVEH6wyeL3WRQU0IThzXq+xX18sEWVr/hZqPvyYnTBobROrMY8I2dm6toVnYdXw7yL0n7MDNNI/xfz0irl/slWzg2LhWiO4NaMzgn7Gx/tlDSbXGTaA43Ng8DHrmHFyf8+Vetv4uy/mizql6cjwg/sG/Z4C/xz/WPFNHU23TNdzUy6KeBoRLDiFpDs2v1WKnf6hnd4DmH8/AYi/N1fSZQWwPSp9tH1C9YyEvezEl9ZjTk1rQ/C2/8oyu/ei/SAdIW9I8Wts/SycZuch+zdLaZxuQ/+34T7ZX70atc90lzlO1fFd6DLGq9pbxZnXI2Kv+JTskSdya+vM+KcekvgFFzSSprrUOnv9vfv6v1MdZzy5E4r/bX+XbS6b/jaleUSYK8HhAYwb/DNS/3oD4B/+eAf7g3zMOx59fSs17R3HZsR/g/6X8w6WNOiOyz8pLzHsA/C/593f+T/xxMXU3wMVUD0BhBv8M1L/egPgH/54B/uDfMw7Hn39bSl9ytH/rZBvg/4X8axeHuJi6S2j+uJg6jOBiqoZrXEyF23f7K3tJtv6aMjANFGbwz7hG/bvnnH+8eoX4B/+eAf7g3zOOyD/9lalRLnQpRYD/V/Dniyjhn9WXUtc/T9m/Hgf/S/79nf8T/4NfTAFAX0BhBn+gXyD+wb9ngD/49wzwB/+eAf7gT3j6+fPn+UhCF1OkHAQCgUAgEAgEAoFAIBAI5LEFvzEFAAcCJWXPAP+++fcOxD/49wzwB/+eAf7g3zPAH/wJuJgCgAMBhQn8gX6B+Af/ngH+4N8zwB/8ewb4gz8BF1MAcCCgMIE/0C8Q/+DfM8Af/HsG+IN/zwB/8CfgYgoADgQUJvAH+gXiH/x7BviDf88Af/DvGeAP/gRcTAHAgYDCBP5Av0D8g3/PAH/w7xngD/49A/zBn4CLqQ14e3k+Pz09CXk+f/0rDh4MrOun1/gJOCpQmMB/N3w7nZ/efT2/xY/A8YH4B/+eAf7X5v96Ph3o3HoU/79+Smf602Ch62FP/szhzs78yP9b8H87f333dD59ix9vCPh/R/53eP5P/FddTH358uX88ePH89vbW/H9+/fvWf788081Nlfu5mLqr6/nZ9XQj9XgLR7xYuoROaEwg/9ueMCLqXU5T7U5vWgMcmCbIP7Bv2eAv+QfXhifXy5ZreafW/c7b9Ge6cKHOOb9Pf75//gl8XVNF0mtl2vWX6xVnXvDs30Z/+t7Fy6m7g/T8X+Ji9K1F1P754Xkz/lq451zs9Q1zw35sqlm0rk55Q3tJ3WgMeEPb58teu8a/zuf/+fU2K1I/BddTP348eP84cOH8x9//HH+7bff1MUUXUTRxRT9TN/TxdX379/H8blyXxdTskhcr3mtASfAg13iPCInNGbw3w24mBoQGv4lm+meQPyDf88Af8n/QS+m1Mse7R/P0cP3q/hznzudT62Xa36hFOd1/lzhfcOzfZt/vKiY6QNcTN0fpuKffbr7mS7ss/yMtH9eKP6ch2Z9ztsyrskue9VJqnPjWrTfuJeoVYRaDdmg967xT3vuESvMh+KD+B/wYioJXVDJi6lfv36df//9d/4+zZEXVUtEX0xRwpCDg0HCLaUNBDk2iGp4cm6Z5Nxo0/xo/LROnhd1+JbGT+e/0XNibgg2f788LwX0Qr1G0HPDGkpP2TwHpOCPUqwpkoI/j3OtTetISZtuT0koUOV6ct9hpGKHAU4Cy2Za26tc0+55v0BjBv+MWHtW1b8BtjFVa9wEaJ0hJ4scl/VGNdz1OV/da2XO8zpKt2MD8Q/+PQP8bf2Xdc45A6pzou4F6TlVXwmqBtMzsh6bOsvPtWrvRP8Znk/nN3pG1nUtA69hfpu/h6R/mFt7aSId9Dr+2nX9ktj+uy8Uf/aTd8Y33yXIfjz44avxu+ameXi823a/DJD/E/Gv/E/jgx/Fuyl/L+PAxqs6A6Yxkzv8fH5Ovn/5e4jvN2KKP+fxp5PJC1nDHC6mBhFcTvHZ/L0QWT9H2NqZsF7vkj+Nyxpr95Njg1zi/D8i7FWrsXsg8d/lYor+/Pz5s/oNKvptKfqOLq3Sd3OkvJgiI2ZncgEdjR0MlQ0c58cg4mAYx4a5g5Plr+XlcWNw1bhLHRhF06A1zDMimDkR4t7z9ZIIOspA4zXTHqaYpCBMnNhuam7Npm2kBqbWJb1cPdp20HYOkJz8vYzeYu1HABoz+Gdsq3+6MbVq3AQ4p8U+8bPO47T2tpz398rzl+V80OU0HAhY3yhlbT0OEP/g3zPAv6z/uV7ZM6Cu/1RHvdqm6itB1WBaI9dXmjv2CNMzytqr9y9qv63lEWodmiN+9vjL2q33l2vFWj/qLuGPFXZJYPvUzvaXheJPthl9HVHt29pXyfbKzrVzhOFbi6NrAPnfyn8bsyk/RKySL0XMKD/bGKG5Nnc4Tsx5S6yn998/L6z/Va0Y9/NiPdnA5HrMA2nDNif9PI2NaxnYdSTW6u3Xv0re8roT9bfl+8W+M2tcAIn/LhdT9nP6jn6Lao+LKWUIaVBl+AjhbOXE4fvnl9dhveTkFCxhzK6Ti7OjA8EUc7VeMTZA6D1bLwXne8E165shE04mSjm3tmcJnXADXDtEe03YQf0cUdOZYeYX4w8ANGbwz9hW/9S4M9erGS6KZ229CHryWhtz3t8r22BZzptGTWD76P2PBMQ/+PcM8C/rf67R5TlN1k7+2faDAaq+ElQNbp399P5F7XV6SqivTv8RkH3Hrtn0P+st7KF6jdMrR+geklDYJUGtS2jZaF9I/mwbaz+nfzIcW9vYyHFEEJzMs7c8VyP/y/xXF7MqjlsxHzEjH8d1XmxsOeur3Ng/Lwr/S/1p76h/vYYYnQvOSzg5c1mf5AtZIwxW6u35v9TVz1uG3FeOO3PLmjAFv47uicT/Ln5jShsiB069cIuAiD+/vZz4GXIGryccxeuMwZYlOM3TYYAKZoIp9GqMIMZn6qUhEyZiXCfoaINMBn7+Ocwt+Zq1K9DJNMC1g+AyaQe9L9mh1DlB26Acv3+gMYN/xsb6N7vGTaCoSbYWifqzMefLvbQNluW8VxdJF6eeHwSIf/DvGeBf1v9cv2zdLesh11Ku7bkGq/pKUDXYrhnqo9cj7F5L+k9A4CPXHiWuO+X/rIPuC+VnCX+M7OL2P8mBUdr9UlD8C/sNKHQL8HyR/V6ze+Sk1gxzXbtcAcj/Vv4PYF+lWPbjmmNB+Tn41s1XhowPG/dyHTtn/7wo/R90II459weMuWFtYD4XOdTgFG1bjpU2ZsT5fq6s09vzv94729z1p8xlwb2MiSDL8jxzuhQS/90upugzfZ/m7PdvTBlDsOFjMniFm74bEyc9T38KZw1BQo4aneKtM8ILjgEyABg5YMqxAVLvuXopiPUTBFevycoDiUyOakOeAbkOw7VDtNeUHZRNAmo6B2gblOP3DzRm8M9wao/MGa9uiZqgxr25c1E8a2tR0JNrysacL/fSNlia82pthqhPBwTiH/x7BviX9T+f1cozYK0ect2LdbSogaoGyzXtfvpzsZfXU+g7r/+MoDUzB9JN1uIp/49cmMPwsyeFPSwvQvjO7QNFDyvtfiko/tKWCa5NBzjfS7/Tz5q/AO8j7OetfyUg/1v5T5DfOTFsY0Z+rsWOWIdjZpzTyBHG/nnh+T/FLv2ZdYl787+vJXPE6FxwnuBEuT/Opz1M/hnIHLNYo7fnf6WrrN2eP2v+rvp+CUj3hu12QOK/y8UUif2v8tmLqrky9W9McSAkA8fmlA0V54tACc2U/osd4hn+L3iIhCrWkagEMj8jA0smaXCgLChK7wHTelkuYc28hh7n9aQ+hpM8VBRzF0Cuw3DtkPadsoMZ56QynORePD/7jceFTR8BaMzgn7Gx/slmVMxdgKKp6TxM+4Y83pbz5V5hbVXH1HgbttbZz0cD4h/8ewb4l/U/11Jbd2M9U2ekAPm9rnmpp8izqvxZ9IjYM9L+vI6svUv6zwi5H83XfBR/Wl9ya/Yw3SdsnynqPvedSh/gfeSYscsFof2vOSSO+bOAtY3pqwV/ARpz17wBkP+t/B+g/GxjPvpZ5ByfvZLfbYzQZ44PuU74OcWNfW/V2D8vXP9zHRliVMVvtM3wva5/xiZODWpykvPJPnLeaK8Ek5+2pqzQ2/O/XPMm5/8Rl6+Dif9uF1P0V/bor+69f/+ehf4qn3xmrri/McV/95UcpJ3EiAYPY8IpCXHcFvciMO06gwQHRB2sM3i+1IWcJptscOK4XmW/ul4myNL6LxT8/pqh+cSxQaTOPCZsY+fWmpaFXce3g9x7wg6czHnsVaxf7JVs4Nj4KI11K9CYwT9jY/2TjYlQrXETsOsUeRj0zDm4PufLvWz9XZ7z4XCWZF6duxUQ/+DfM8C/rP+6ruqLnHxGiudFt87psfCf/U7rmDVlbR7WOA2106vr43dL+g+D1ki6WT6vLv+sT6tf+X1C9gjdB7QdFYozbbQzP3fZ/lHEf8u+FtJ3wzx7fs4ckiQupZ2b+1wQyP92/JPkGLcxT9DPFP8lOJXfKQfauaPzZhCR03vnhe//WHdMLUl7e/zH79wa1OBE81PsO8/a52R9CbaVdliut+f/m5//nedmP7sQif+qi6lLyvS/MdUrbBMHHhFozOCfgfrXGxD/4N8zwB/8e8Yt+PPLtrqIut25A/4H//vEPjmj+fd3/k/8cTF1N8DFVA9AYwL/DNS/3oD4B/+eAf7g3zOuzz+cMdRvfsTf9MDF1PUB/nfKn36ryPnNrKXQ/HExdRjBxVQN17iYir96WBHdvIBLAI0J/DOuUf/uOecfr14h/sG/Z4A/+PeM2/Av++it3rngf/DvGZp/f+f/xP/gF1MA0BdQmMEf6BeIf/DvGeAP/j0D/MG/Z4A/+BOefv78eT6S0MUUKQeBQCAQCAQCgUAgEAgEAnlswW9MAcCBQEnZM8C/b/69A/EP/j0D/MG/Z4A/+PcM8Ad/Ai6mAOBAQGECf6BfIP7Bv2eAP/j3DPAH/54B/uBPwMUUABwIKEzgD/QLxD/49wzwB/+eAf7g3zPAH/wJuJgCgAMBhQn8gX6B+Af/ngH+4N8zwB/8ewb4gz8BF1MAcCCgMIE/0C8Q/+DfM8Af/HsG+IN/zwB/8CfgYmoD3l6ez09PT0Kez1//ioMHA+v66TV+Ao4KFCbw3w3fTuend1/Pb/EjcHwg/sG/Z4A/+B8ef309P8cz//PLvt31GPxfz6eB2+lb/HhFIP535n+YMyDFVHo/fjt/fefHF/y/I/87PP8n/qsupr58+XL++PHj+e3tbdHYHLmbiyluTvIiSibe8fCIF1OPyAmFGfx3wwNeTC3L+XDA1v/nQZBbHLrnAPEP/j0D/DN/rnW2fsdLEVu/8txQ8zZdmFDfSDWW9qvooHXbp9Zq/4cXWL2ePGPb8dOgRR2vn+Rcc1YnzuNY2368juhBe55Di/iv6uXZxswRF2gsC/smLqauDy/+vVjkGJxztps4Ay6NXZ4vY2p2XMn343kXU+vqn58Xow1NPpW/TEJ6pjpCa4nxBTViLXaN/wnfL0Wqn5esC4n/ooupHz9+nD98+HD+448/zr/99pu6fGqNLZH7upiSjVAm3vGwZ/M8Ch6RExoz+O+GnRvTEbA55/lw0X6BuSUQ/+DfM8Bf8OczZuUCxdRAemnY60WJaqx6kRN7pRfi1/FFsIEVtVb7v/5iTlB6xrm13mBf5LmPjLrJl9EBrHf9LG9tvec5VPNfppeOF3pWvkSGz/NixD57PSD/58f/LFDMNPJ0aezy/FVnSoqpFJuB19TF1Lr6N10zyjog9qA9x3GZf/LnAVO5uBK7xv+E72eD/UD+unxdSPxX/cYUXULVLp9aY3NEX0xRkJHzg0HCTaUNBjk2iAoqObcMWBWk0fhpnTwv6vAtjZ/Of+NgznNDkvj75XkywBfoNYKeG9ZQeopEIaSkjVKsKZI5JGSaa21aBz1H63Kjj89ToMr15L7DSMUOA5zCw+tGPWt7lWvaPe8XaMzgnxFrz6r6N8A2pmqNmwCtM+RkkeOy3qiDwvqcr+61S86HNY5cKxD/4N8zwN/Wf12v+AXs02moofLsJ8+U4Znx5SHW03SGSmvJM1Wuz2WNHUXV92Em1efijCqxrtZO8W+BdTJ6Bnjr2HO4ROip5QuY6bWeuPvPRzv+a3oFFH3U+KflMxkPzy9fi338eCF4MVOz6zSQ//PiX8d6wwcxDvgiOY6F9cpn5uRZPYbK2NRzZb6Fvb043qv+1biU+me9eUzYI4vcK6Gdi2tR8ideYa+gi80tOTaI5GZrwNrz/4jLcJZI/O/gYoqMmAOjDHZp4Dg/JiwH8Tg2zB2cLH8tOY8bg6uXp1IHBs9pJ4dsUlzY497z9ZIIOspA4zVlI5JBG4MwcWK7qbk1m7aRkletS3q5erTtMPWS6u9l9BZrPwLQmME/Y1v9042pVeMmwDkt9omfdR6ntbflvL9Xnr8p53ktU8cPBsQ/+PcM8Nf8db1LZ0xTy1VdC/VXj+nzpO4hpv6a52lsXEvArlFgZa3V/FP/E1Kt/cYmCmVPas6f6I1kk8Kea3uSQTP+W3qZMVenmk/M9xwPwjateNH7pPiMH1cA+V/Gv4y1BGn3pg9s/vPniThpwMZCRplPeq7Uy9Qogb3qn2czQqm/XkvtR+vWbDNRI9bCr385N0ubSq6mzpH+Zu5os1X6mzUugMT/Li6mlCGkQZXhI0SQKicO3z+/vA7rJSeTkevr5OZTSSLWIweMWq8YGyD0nq2XgvO94GqbJaHWQMq5tT1LqMQluHaI9pqwg/o5ot70Bpj5xfgDAI0Z/DO21T817sz1aoaL4llbL4KevNbGnPf3yjbYkvNqn4MC8Q/+PQP8DX9Zz6l2xtooa7euiaZnFPW01lNSzZa1vXL2HcB7mn4isbbWNv3PesqeFfRLl1btXhb6SJpLL+fPFW5TukvbE/Y8h7b4t/Sy/nDnylgSsHyGb0TPbceLfrYeL3OB/Jf8gz29uJYx1/TBzucpnq/yKK2l1yXomJxXV/aqf1rHHPNap/hZjNfX1aB5S+w2F57/lZ0496IdC98OkPaS485cHTdzUPp4byT+93cxxcYJjrFBxpBNVvz89nLiZ8gZvJ5wVAhOG8zJaZUkkvswROLJ4BghxmfqpSETO2JcJ+hog0wmVv7ZS1wSs3YFRbK6dhBcJu2g95UJX+wlnx1Qjt8/0JjBP2Nj/Ztd4yZQ1CRbi0T92Zjz5V7aBqtz3tn3iED8g3/PAH/Ln2pnqH+q9o110vYI89mt3WUf4JrNNdIbsz0o6qLWFdhQa6f836r/3EeK3lNDtqtEk1cE7SP75uqe5KDGv61XycXVqYgFgujdI+R6jXgZRtU+O/RY5L/k7/kmQNq96YOdz1M8343DSgyOc2k86WVrVsZe9a92ruU1nDhOz+mxKMY+dRtsh+d/badsR1cP9n/kJHxf8g5Ss5OP0sd7I/F/6N+Yys/Tn8JZQ6CRo0aneOuM8IJjgAwAhki8YmyAKhgz9VKQiR0huNpmSahd8nhz50Kuw3DtEO01ZQdlk4CazgHaBuX4/QONGfwznNojc8arW6ImqHFv7lwUz9paFPTkmrIx58u9tA3W5rza48BA/IN/zwD/kn86r9GfuRfEGsz/9qmst6ZnTNTTAlSfx/m0h6nlEVyHK/1kS62d8n9zbae3VEF2MdyYU4WvRPJHwp7nUI//lF6eL6rfOXpaPsHvKUba8cL+iC+5y190SyD/JX9xrjKQvmz6YOfzlBdXATJmAvRceWasx9Re9a8Wh3X9CfRsrh96vwB+fkaNWAvP/0oHWeMK3w6QdU2Oe3MXo/Tx3kj87+7fmOIkTAZmJ0lDxfki0ULinc4n+cw7+iwaWLGOhBMcBH5GBqhMvOBAmRxK7wHTelkuYc28hh4vEsZwCvtV5i6AXIfh2iHtO2UHM85JZTjJvXh+9huPC5s+AtCYwT9jY/2TzaiYuwBFU9N5mPYNebwt58u9wtqqjqnxGdjC/cpA/IN/zwB/hz/XxGdzzoo1d/hen5F0vSzrqa3HBnI+1c3KvGod3lhrFX9aS3Iza79+kj0o6jTaqOxDI+I69R7VBs2Vz+55DrX+n9arwrPwQ5jn+UXbLe4p5tZ1oFjTPtgK5L/kL89VGuwzzo0JH+x8nqrPD+uOtSjGX55L8Zf01DpI7FX/3Lwf0OZrddR2XVIj1sLz/83P/yPqNWQvJP738RtTLzHIWWRwDkgJkEQF6YA4ngM1Os8GmF1nkOCAqIN1Bs+XusigJgQnjutV9qvrZYIsrf8yBFtlzdBg4tggUudcyALs3MKuFdh1fDvIvSfsQMkjxvi/HhHXL/ZKNnBsXCtE9wY0ZvDP2Fj/7KGkWuMmUBxubB4GPXMOrs/5ci9bf5fn/DUOFHsB8Q/+PQP8Pf6x5pkals5wuoabelnU04B0+SDrMM+h+dVa7Dwnn03jzn5zofnHM7DYS3Et+ll5Dk09wp53Ve9w+iJLhQdx1L1neU+qQfGfoVfgVTm7yz47SEs36dfwNzm0ravxsvZMUQHyvx3/6Z9cUe9GLR/sfJ7ifWv5rfQYYlLtTfukM2MZXwl71b9khySJW1N/3iflktR3wMIasRae/29+/q9wn/XsQiT+qy6mLinT/8ZUrzCJAjwk0JjBPwP1rzcg/sG/Z4A/+PeM++IfLgzU+YRfYisXZTMA/y/lv78Pbgn4X/Lv7/yf+ONi6m6Ai6kegMIM/hmof70B8Q/+PQP8wb9n3BV/vgAx7yT8W1q4mFqLxfwv4INbAv6X/HExdRjBxVQN17iYCrfv9lf2kmz9NWVgGijM4J9xjfp3zzn/ePUK8Q/+PQP8wb9n3B1/vgSRfXfbhQj8v4L/bj64/nnK/hVR+F/y7+/8n/gf/GIKAPoCCjP4A/0C8Q/+PQP8wb9ngD/49wzwB3/C08+fP89HErqYIuUgEAgEAoFAIBAIBAKBQCCPLfiNKQA4ECgpewb4982/dyD+wb9ngD/49wzwB/+eAf7gT8DFFAAcCChM4A/0C8Q/+PcM8Af/ngH+4N8zwB/8CbiYAoADAYUJ/IF+gfgH/54B/uDfM8Af/HsG+IM/ARdTAHAgoDCBP9AvEP/g3zPAH/x7BviDf88Af/An4GIKAA4EFCbwB/oF4h/8ewb4g3/PAH/w7xngD/4EXExtwNvL8/np6UnI8/nrX3HwYGBdP73GT8BRgcIE/rvh2+n89O7r+S1+BI4PxD/49wzwB//D46+v5+d45n9+2be7Xo0/czje+wrif2f+hzkDvp5PY7y9nb++ezqfvvGAAvy/I/87PP8n/qsupr58+XL++PHj+e3tbfzux48f5w8fPpzfv3/P8v37d/XMXLmbi6misMvEOx4e8WLqETmhMIP/bnjAi6nlOR8OQffwfx4QEP/g3zPAP/PnWmfrd7wUsS91eS6dQzdemFDfSDWW9pM60NhYSy99MWNrN4ms33b8NLCv4/WTnGv6wAJevI7oQXueQ4v4F5dgLGYf3luMey/7LnAxdUh48e/FIsfgnLPdxBlwaezaeGOZ9fzyi6lc0wQm659XM4QNTZ6X50HSM9URWsuMp3ycY/sV2DX+J3y/FKl+zq4xK5D4L7qYSpdPf/zxx/m3335TF1P/8A//MH6meXRxRX+m8blyXxdTshHiYuraeEROaMzgvxt2bkxHwNKcd18iJl5gbgnEP/j3DPAX/L3Lg/RiZWog1bm9LomoRqoXuXEv+dI2gHXZ98yr/V9/MScoPePcWm+wL/K6DyzjZW29tCe1UPpfvgiSnvYle6U/vNg6AJD/8+N/FigmGmfApbHL81edKeX7ceA1dTG1rv5N14yyDog9aM9xXNeFVENeV9tgGrvG/4TvZ2OsQ6H+HO5iKgldONmLKSm/fv06f/78edVvTemLKQoyCppgkPoNZxoLgZODSs4tA1YFaTR+WifPizp8S+On8984mPPckCT+fnmebIIL9BpBzw1rKD1FUyKkpI1SrCmSOSRkmmttWgc9R+tyksbnKVDlenLfYaRihwFO4eF1o561vco17Z73CzRm8M+ItWdV/RtgG1O1xk2A1hlysshxWW/UQWF9zlf3WpnztLaaxzqbunkgIP7Bv2eAv63/un5xPft0GmqorGHyTBmeGV8eYj1NZ6i0ljxT5XpY1thRVH1PsGfZ7Zji3wL3DFdPb52W7qGnli9gptd64u4/H4q/06skx6K3Ne2lfXt6sX3YcFM8PN6X6aHI/3nxr2Nd+zZI9C3F0HAG5MuUOBbWK5/x40aD9y3eTQllzui5NF6pUQJ71b8al1L/rDePCXtkcXLQtcF2lPyJl8w/mbMEOTaI1Cv6fvy89vw/ItvqUkj8L3IxRd/TxVRtvCXlxRQZMQdGGezSwHG+W7iHuYOT5a8l53FjcPXyVOrA4Dnt5JDFnQ8Cce/5ekkEHWWg8ZppD25iImhjECZObDc1t2bTNlLyqnVJL1ePth2mXlL9vYzeYu1HABoz+Gdsq3+6MbVq3AQ4p8U+8bPO47T2tpz398rzF+d81I3XU3oeE4h/8O8Z4K/563qXzpimlnONTD0i1F89ps+TuoeY+muep7FavbTr7AHNP/U/IdXab2yiUPak5vyJ3kg2Key5pCc1oPib3kfINjd+jtC+zNC+SnZNa4fPmZO2jeLLtpHvPfsC+V/Gv4y1BBlzOv5SjYgfdz5P6TiSKPNJz5V6+bFL2Kv+eTYjlPrrtdR+tK5jm7oNtsOvfzc+/48wa1wAif/uF1Ppt6X+/PPPYmyOeBdTyhDSoMrwESJIlROH759fXof1kpPJyPV1cjGuJFFRoMV6XvEWes/WS8H5XnC1zZIgm5RMuHJubc8Sch2Ga4dorwk7qJ8jajozzPxi/AGAxgz+Gdvqnxp35no1w0XxrK0XQU9ea2PO+3tlG6zKed6TGrzY56BA/IN/zwB/w1/Wc6pjsTbK2q1roukZRT2t9ZRUs2Vtd+ayPrGW2jq/A5r+j3U896ygX9Kn3ctCH8m60/8ZbLhFqH7kwPbNPc+hlj+vLfR+fjd8Zn/qvpjg617zuezJ2peZk33W9v59gfyX/IPtvbiWMafj0fhr5/OUjUeSsFYZjzx33FvGjROPEXvVP61jjm2tU/wsxuvrZtg19oTnf2UnmbeFbwdIe8lxZ66tY9Pwa86eSPx3vZii79f+21JJJi+m2DjBMW6AyCIrfn57OfEz5AxeTzgqBKcN5uS0ShIVxVwkngyOEWJ8pl4aMrEjxnWCjjbIZGLln73EJTFrVyDXZLh2EFwm7aD3JTuUOidoG5Tj9w80ZvDP2Fj/Zte4CRQ1ydYiUX825ny5l7bB0py3NuK9Cv2OA8Q/+PcM8Lf8qXaG+qdq31gnbY8wn93arXtAkKEmcm32xmwPiojzl73ctDHl/1b9X1bbs10lbL/wQPtIzkt7Uguz+Lt+D7C6BThcZR/mnl36PHFSa7r9fT8g/yV/ca4ykDGn4s+ery58nsooY0zPpfGklx+7hL3qX60m8RoyxsdYDs/psSjGPnUbbIfnf22nbEdXD/Z/5CR8X/IOUrOTD6eO7IzEf7eLKfru999/59+YknOXyp6/MZWfpz+Fs4ZAI0epYlsNNC84BsgAYIjEK8YGqIIxUy8FmdgRgqvXkLhRx6TiwIw/+81rHuQ6DNcO0V5TdlA2CajpHKBtUI7fP9CYwT/DqT0yZ7y6JWqCGvfmzkXxrK1FQU+uKRtzvtxL22BZzotaNML77jhA/IN/zwD/kn86r9GfuW7FGsz/9qmst6ZnTNTTAlSfx/m0h6nlBqp274Ap/zf3c3pLFWQXw417ywRfQvJHwp7n0DZ/0WfVzwk13zrfFz25xjs8K19mq7GzA5D/kr/n4wAZc5wTwj9q/q7nqThfrZdQnqv03FivODdrcbpf/fNsRqjrT6Bnc/3Q+2W019gGz/9KB5m3hW8HyLomx725i1H6eG8k/rtcTNFlFF1KbflNqSRT/8YUJ2EyMDtJGirOF4kWEu90Psln3tHnHIDlOhJOcBCKYi4TLzhQJofSe8C0XpZLWDOvocd5PamP4RT2q8xdALkOw7VD2nfKDmack8pwknvx/Ow3Hhc2fQSgMYN/xsb6J5tRMXcBiqam8zDtG/J4W86Xe4W1VR1T4y2UuoT9pO7HAuIf/HsG+Dv8uSY+m3NWrLn0V7vUGUnXy7Ke2npsIOfzmVTMo8/FeczU141Q/O1+poe9ftJ1XJ9rG7rFdeo9qg2aK5/d8xzain/WUcSA5juAe5uMkQzNL54TGu8rGTTmr3kJIP8lf3mu0mDfc27QnMZ5psh/XR+Wxm59foyplK8xx/JciqOkp9ZBYq/658dyS3+C1dG361KbLYHn/5uf/0eEOrFtjTYS/10upuhP+it879+/V/Lly5fi2Slxf2OK/wsS5CDtJEZKgCQqSAcUTSg6zwaWXWeQ4ICog3UGz5e6yKAmBCeO61X2q+tlgiyt/0LNx1+TEyaNDSJ15jFhGzu31tAs7Dq+HeTeE3bgZprH+L8eEdcv9ko2cGxcK0T3BjRm8M/YWP/soaRa4yZQHG5sHgY9cw6uz/lyL1t/F+b8Ws43AuIf/HsG+Hv8Y80zdTSd4XQ9M/WyqKcB4ZJDSJpD86u1uHxu73OX5h/PwGI/xbWo7eU5NOlnz7tKb6dHsDh2I5ANNO+FPakBzd/0UeeMrv3hv0gHSFvSPFrbP0snGbnIfs3S2mcbkP/t+E+2V+9GrTPOzucp3reSF1qPIVbV3jLerA4Ze9W/ZIckiVtTf94n5ZjUN6ComSTVtdbB8//Nz/+V+jjr2YVI/FddTF1Spv+NqV5RJgrweEBjBv8M1L/egPgH/54B/uDfMw7Hn19KzXuHc2G5F+D/pfzDpY06I7LPykvMewD8L/n3d/5P/HExdTfAxVQPQGEG/wzUv96A+Af/ngH+4N8zDseff1tKX3K0f+tkG+D/hfxrF4e4mLpLaP64mDqM4GKqhmtcTIXbd/sre0m2/poyMA0UZvDPuEb9u+ecf7x6hfgH/54B/uDfM47IP/2VqVEudClFgP9X8OeLKOGf1ZdS1z9P2b8eB/9L/v2d/xP/g19MAUBfQGEGf6BfIP7Bv2eAP/j3DPAH/54B/uBPePr58+f5SEIXU6QcBAKBQCAQCAQCgUAgEAjksQW/MQUABwIlZc8A/7759w7EP/j3DPAH/54B/uDfM8Af/Am4mAKAAwGFCfyBfoH4B/+eAf7g3zPAH/x7BviDPwEXUwBwIKAwgT/QLxD/4N8zwB/8ewb4g3/PAH/wJ+BiCgAOBBQm8Af6BeIf/HsG+IN/zwB/8O8Z4A/+BFxMAcCBgMIE/kC/QPyDf88Af/DvGeAP/j0D/MGfgIupDXh7eT4/PT0JeT5//SsOHgys66fX+Ak4KlCYwH83fDudn959Pb/Fj8DxgfgH/54B/uB/ePz19fwcz/zPL/t212Pwfz2fBm6nb/HjFYH435n/Yc6AFFPp/fjt/PWdH1/w/4787/D8n/ivupj68uXL+ePHj+e3t7fxux8/fpw/fPhwfv/+Pcv379/VM3Plbi6muDnJiyiZeMfDI15MPSInFGbw3w0PeDG1POfDISj/nwenoVIfF4h/8O8Z4J/5c62z9TteitiXujw3XCpsujChvpFqLO0ndaCxsZZ6+4T9xzkL+0/V/+kyyFnv9VPYq32R0uoDdoykfpbn/UQP2vMcWvCv2tvT2cwRF2gss3XExdStoPkHH3u5zDE4J7cmzoBLY5fny5iaHVfLL6bW1T8/L0Ybmnwq85z0TLWB1hLjk7VvO3aN/wnfL8W8OrsNif+ii6l0+fTHH3+cf/vtN3Ux9c///M/jZ7qUshdXc+W+LqZkc5OJdzzs2TyPgkfkhMYM/rth58Z0BCzL+XhIEfNnH+huBMQ/+PcM8Bf8+YxpzpTp5cjUQKpre70oUY1VL3LjXvKlbQDrIvXbfqHh+z++yH4y/Wx8SZ3eV3Eq+kL4PNd+1tZ7nkM1/yl7G6h4sTYJn+dx3O7HtUD+S/7L4tLFxBlwaezy/FXnJ4qpFJsxn5342l7/2jaz+vNnuQftOY7L/JM/D5jKxZXYNf4nfD8bC+rsViT+q35jii6o7MWUFPr+8+fPO1xMUZCR84NBwk2lDQY5NogKKjm3DFgVpNH4aZ08L+rwLY2fzn/jYM5zQ5L4++V5MsAX6DWCnhvWUHqKRCGkpI1SrCmSOSRkmmttWgc9R+um21MSClS5ntx3GKnYYYBTeHjdqGdtr3JNu+f9Ao0Z/DNi7VlV/wbYxlStcROgdYacLHJc1ht1UFif89W9VuV8sI1qpLy/qZsHAuIf/HsG+Nv6r+scv4B9OpkaJs+U4Zmx5sV6ms5QaS15psr1uayxo6j6nqDrK9dsd958eP4f17X9bIRT5yfAa45rlXb2YXqtJxfgn9HmWfRRYyvNWUPGw/PL12IfP14IXszYM8p8IP/b+Z+gc63hgxgHrzQ/joX1ymem4z/uOzMH9Vwar9Qogb3qX41LqX/Wm8eEPbJ458V2Lq5FyZ94hb2CLja35NggkputAWvP/yMuw1ki8b/IxRT9xhT9dT9vbErKiykyYg6MMtilgeP8mLAcxOPYMHdwsvy15DxuDK5enkodGMULDq1hnhFNigt73Hu+XhJBRxlovKZsRDJoYxAmTmw3Nbdm0zZS8qp1SS9Xj7YdtJ0DJCd/L6O3WPsRgMYM/hnb6p9uTK0aNwHOabFP/KzzOK29Lef9vfL8ZTlv7TNgCe8bAPEP/j0D/DV/Xe+onlHtMrWca2TqEaH+6jFdA3UPMfXXPE9j41oWqpbG5+i3mob9kqjaOwOl/xPn4UfiIvTOMPaYAY+z1LvVY+jZwp6ze1Ibzfhv9S4z5uqk4kTAfM+2EfZsxYsfn/HjCiD/Jf8Ql14OSbs3fWDznz9PxEkDNhYyyhzUc6VepkYJ7FX/anWn1F+vpfajdWu2udA50vP/zc//I8waF0Div9vFFP1Mf32P/n2ptZdSJN7FlDKENKgyfIQIUuXE4fvnl9dhveRkMnJ9ndx8KknEeuSAUesVYwOE3rP1UnC+F1xtsyTUGkg5t7ZnCZW4BNcO0V4TdlA/R9Sb3gAzvxh/AKAxg3/Gtvqnxp25Xs1wUTxr60XQk9famPP+XtkGi3Oe96PmHoX+TwCz/5GA+Af/ngH+hr+s51TLYm2UtVvXRNMzinpa6ympZsvaXjn7Rqi6Heeq2sy6L6u1lr/qUQWXBN0jJuH0IIXYM2q90fbNPc+hrfjX9tZgHYRt3LkylgQsH23PdrzoZ9vxMgfIf8k/2NOLQxlzTR8UObPtPMXz6RwlJKxV5qCOyXl1Za/6p3XMMa91ip/FeH1dDZq3xG5z4flf2UnWLq8eSnvJcWeujps5WFhnVyDxv9hvTNG/RUXzvPGWTF5MsXGCY2yQMUTRlD+/vZz4GXIGryccFYLTBnNyWiWJ5D4MkXgyOEaI8Zl6acjEjhjXCTraIJOJlX/2EpfErF1BkayuHQSXSTvofWXCF3vJZweU4/cPNGbwz9hY/2bXuAkUNcnWIlF/NuZ8uZe2weacd/Y/EhD/4N8zwN/yp9oZ6p+qfWOdtD3CfHZrd9kHuGZzbfTGbA+Kujh1WveTrPtcKP5W94JLwpJ95s1t9Rn7Qre5JwnU4r+0t0TJydXJtd+U38LPZUyEHq/22aG3Iv8lf883AdLuTR8UPtf1wY2TBnj+zBzUc2k86WVqlMBe9c+zGYHXcOI4PafHohj71G2wHZ7/tZ2yHV092P87n/9HlD7eG4n/RS6mSOi3ptb8l/n2/I2p/Dz9KZw1BBo5anSKt84ILzgGyABgiMQrxgaogjFTLwWZ2BGCq22WhNoljzd3LuQ6DNcO0V5TdlA2CajpHKBtUI7fP9CYwT/DqT0yZ7y6JWqCGvfmzkXxrK1FQU+uKRtzvtxL22BrzvPza+1wBSD+wb9ngH/JP53X6M/cC2IN5n/7VNZb0zMm6mkBqs/jfNrD1PIBXEOd71UdZ4iz4ExI/rxefIHSovvH/H3CvDln35JLRvJHwp7nUM//NXsneD2t+p2jp+Wj7dmOF+ujObZtAfkv+YtzlYH0ZdMHO5+nvLgKKHNQz6XxlLf1mNqr/tXisK4/gZ7NtUXvF8DPN3JxKzz/Kx1ucf4fUfp4byT+u1xM/fr16/z3v/9djdNf69vrN6ZkIHASJgOzk6Sh4nyRaCHxTueTfOYdfRbNrVhHwgkOAj8jA1QmXnCgTA6l94BpvSyXsGZeQ48XCWM4hf0qcxdArsNw7ZD2nbKDGeekMpzkXjw/+43HhU0fAWjM4J+xsf7JZlTMXYCiqek8TPuGPN6W8+VeYW1Vx9T4AsS9VtngSkD8g3/PAH+HP9dE+ivI8pwVa+7wvT4j6XpZ1lNbjw3kfD6Tzn/Wnivt5zlo+t/hEhB6iq7rps+0+h+NSRtO9Eqygexve55DLf+mrxhlv2UUHDwbBVg/8Z5ibl0HijV5DtgO5L/kL89VGuwzjtkJHxQ5o+vD0titzw/rjrUoxl+eS/Gn3229WNyr/nk2I7T5Wh21XadzcTs8/9/8/D+iXkP2QuK/229M0W9I0b8vRbL2r/GRuL8x9RKDnMU0upQASVSQDojjOVCj82yA2XUGCQ6IOlhn8HypiwxqQnDiuF5lv7peJsjS+i9DsFXWDA0mjg0idc6FLMDOnXuAsOv4dpB7T9iBkkeM8X89Iq5f7JVs4Ni4VojuDWjM4J+xsf7ZQ0m1xk2gONzYPAx65hxcn/PlXrb+Lsv5dMhOMovvDYH4B/+eAf4e/1jzTB1NZzhd00y9LOppgK2L4xyaX6vFTv9Qzw7Q6847U0o0/T9Tn8A92Cz1iIJvlDA3nrWL733QWrr3LOtJLSj+M+wdYqBiZ7KXeK6lm7RP+Jsc2gbVeFl7pqgA+S/5l3GZfltQvRu1fFDk/7bzFO+r1hNQegwxqfamfdKZsYyvhL3qX7JDksStqT/vk3JJ6jtgRi7uAc//Nz//V7jPenYhEv9VF1OXlOl/Y6pXmEQBHhJozOCfgfrXGxD/4N8zwB/8e8Z98Q8XBup8wi+xyy8kE+D/pfz398EtAf9L/v2d/xN/XEzdDXAx1QNQmME/A/WvNyD+wb9ngD/494y74s8XIOadhH9LCxdTa7GY/wV8cEvA/5I/LqYOI7iYquEaF1Ph9t3+yl6Srb+mDEwDhRn8M65R/+455x+vXiH+wb9ngD/494y748+XILLvbrsQgf9X8N/NB9c/T9m/Igr/S/79nf8T/4NfTAFAX0BhBn+gXyD+wb9ngD/49wzwB/+eAf7gT3j6+fPn+UhCF1OkHAQCgUAgEAgEAoFAIBAI5LEFvzEFAAcCJWXPAP+++fcOxD/49wzwB/+eAf7g3zPAH/wJuJgCgAMBhQn8gX6B+Af/ngH+4N8zwB/8ewb4gz8BF1MAcCCgMIE/0C8Q/+DfM8Af/HsG+IN/zwB/8CfgYgoADgQUJvAH+gXiH/x7BviDf88Af/DvGeAP/gRcTAHAgYDCBP5Av0D8g3/PAH/w7xngD/49A/zBn4CLqQ14e3k+Pz09CXk+f/0rDh4MrOun1/gJOCpQmMB/N3w7nZ/efT2/xY/A8YH4B/+eAf7gf3j89fX8HM/8zy/7dter8WcOx3tfQfzvzP8wZ8DX82mMt7fz13dP59M3HlCA/3fkf4fn/8R/1cXUly9fzh8/fjy/vb1Vxz9//nz+9euXO96Su7mYKgq7TLzj4REvph6REwoz+O+GB7yYWpfz4SDk/h8H4iWD5cb1BPEP/j0D/DN/rnW2fsd6ZV/q8lw6h268MKG+keog7VfRwe8tjVo7A1X/N/Z8/RRqt/eim5H0SnIaLJVgx0jq+vN+ok/seQ4t+E/0J95bjLdtIMDrHu99Bfkv+Ye49HKZY9DNP4OJM+DS2LXxxjLr+eUXU7mmCcR8qNc/L5eFDckeaszmAOmZagOtZcabtW87do3/nc//8+rsNiT+iy6mfvz4cf7w4cP5jz/+OP/222/uxVSa08fFlGxuuJi6Nh6RExoz+O8GXEzFg8hQl795B/HwEpcb7Q4vdRuB+Af/ngH+gr93eZBerEwNpJeGveoW1Vj1Iif2Si/Er+OLoECz1s6D7//4IvvJ9LPxJdXW8RKKU1wv8wqf59rP2nrPc2jp/0Z/YnuLd5Bk/zl292LrAED+S/7L4tIFxUTjDLg0dnn+qjOlfD+O+ezk6/b617aZ1Z8/yz1oz3GcdM751ax9O2HX+J/w/WwsqLNbkfiv+o0punzyLqboIur333/ni6t9LqYoyChogkHqN5xpLARODio5twxYFaTR+GmdPC/qwM2Wxk7nv3Ew57khSfz98rwU4Av1GkHPDWsoPeXF2ICUtFGKNUUyh4RMc61N66DnaF1O0vg8BapcT+47jFTsMMApPLxu1LO2V7mm3fN+gcYM/hmx9qyqfwNsY6rWuAnQOkNOFjku6406KKzP+epeW3Pe2bewzwDet6i91wPiH/x7Bvjb+q/rHNXK50+noZbJs588U4ZnxpeHWE/TGSqtJc9UuT6XNXYUVd8n6qRXa2fC8z/vRfs79Tog9MAlL0xa/9LOPkyv9cTYaSkUf+6v+ow/2mIAx4LSucVD+/b0Yn1kuCkeHm+t115A/rfzP0HGgfVtkOjbmDN8mRLHwnrlM9PxH/edmYN6Lo1XapTAXvWvxqXUP+vNY8IeWZwcdG2wHSV/4iXzT+YsQY4NIvWy9XLt+X9EttWlkPjvejH1559/snz//n3HiykyYg6MMtilgeN8t3APcwcny19LzuPG4KqxljoweE47OWRx54NA3Hu+XhJBRxlovGbag5uYCNoYhIkT203Nrdm0jZS8al3Sy9WjbQfvACM5+XsZvcXajwA0ZvDP2Fb/dGNq1bgJcE6LfeJnncdp7W057++V56/OeWdfdy3ez9T6KwLxD/49A/w1f12j0hnT1HJVs0L91WP6PKl7iKm/5nkaG9cSsGsoLOktBqX/E+fhR+Li7mnsMQMeZ+5pSRo9hp4t7NmYvwSKv+l9hGx34+cIzStD+yvxTWuHz5mTtqfiy769XH9E/kv+1i8ZMuZ0/Il8Idj8NzG1NHZ1HEmUOajnSr382CXsVf88mxFK/fVaaj9a17FN3Qbb4fn/5uf/EWaNCyDx3+1iSl5G7X0xpQwhDaoMHyGCVDlx+P755XVYLzmZjFxfJxfjShIVBVqs5xVvofdsvRSc7wVX2ywJsknJhCvn1vYsIddhuHaI9pqwg/o5oqYzw8wvxh8AaMzgn7Gt/qlxZ65XM1wUz9p6EfTktTbmvL9XtsHqnJ/aN0Ha7wZA/IN/zwB/w1/WI6phsTbK2q1roukZRT2t9ZRU82Rtr5x9B/Cepp+McGrtXFj+qkcVXBJ0j5jElH48Xu+Ntm/ueQ61/HntQZckz++S3X3Obk+r+jzaQPk/IHOyz9revy+Q/5J/sL0XhzLmdDwaf+18nrLxSBLWKuOR5457y7ip15W96p/WMce21il+FuP1dTPsGnvC87+yk8xbrx5Ke8lxZ66tY9Pwa86eSPx3uZiiP+kiKn2+6MUUGyc4xg0QWWTFz28vJ36GnMHrCUeF4LTBnJxWSaKimIvEk8ExQozP1EtDJnbEuE7Q0QaZTKz8s5e4JGbtCuSaDNcOgsukHfS+ZIdS5wRtg3L8/oHGDP4ZG+vf7Bo3gaIm2Vok6s/GnC/30jZYnfPOvu5axf7XBeIf/HsG+Fv+VDtD/VP1aqxTtkeYz27tLvsA12yukd6Y7UFRl1qddGrtXCj+Vvdqbc42msa8ua0+Y1/oVvckB1Pxn+3unQ1K3QIcztJHZNfoZyWRk1qT59r+vh+Q/5K/OFcZyJhT8Wdzr8iZbeepHH8WZYzpuTSe9PJjl7BX/fNsRuA1ZIyPsRye02NRjH3qNtgOz//aTtmOrh7s/53P/yOcOrIzEv9dLqbor++9f/++kNZ/ua8me/7GVH6e/hTOGgKNHKWKbTXQvOAYIAOAIRKvGBugCsZMvRRkYkcIrl5Dki98HJjxZ795zYNch+HaIdpryg7KJgE1nQO0Dcrx+wcaM/hnOLVH5oxXt0RNUOPe3LkonrW1KOjJNWVjzpd7aRusznlnX17L2OTWNQXxD/49A/xL/um8Rn/mXhBrMP/bp7Lemp4xUU8LUJ0c59MeppZHeLVzhFNr50Ly574gXqKy2LXFmbOJMG/O2Vf1JIPkj4Q9e0Y7/kWfVT8n1HzrfF/0ZN/P6Vlp/2k7rwfyX/L3fBwgY87miZq/83mqnvdlDuq5sV5x3tbidL/659mMUNefQM/m2qL3y2ivsQ2e/5UOMm+9Mz19l+whx725izG3zq5H4r/rvzGV5JL/xhQnYTIwO0kaKs4XiRYS73Q+yWfe0eccgOU6Ek5wEIpiLhMvOFAmh9J7wLRelktYM6+hx3k9qY/hFParzF0AuQ7DtUPad8oOZpyTynCSe/H87DceFzZ9BKAxg3/Gxvonm1ExdwGKpqbzMO0b8nhbzpd7hbVVHVPjM8H8pc4DCpsE3VbZaCcg/sG/Z4C/w59r4rM5Z8WaS3+1S52RdL0s66mtxwZyPtXHyrxmHfZq7Uw0/e9wCfDqtukzrf5HY9KGrbkDyH6yv+15Dm3xZ7+JGOB9ZUyQfVSMZGifx3NC430lg8b8NS8B5L/kL89VGux7jlma08i1Imd0fVgau/X5MaZSHsUcynMpjpKeWgeJveqfH8st/QlWR9+uS222BJ7/b37+HxHqxLY12kj87+JiKvwXJMhB2kmMlABJVJAOiOM5UKPzbGDZdQYJDog6WGfwfKmLDGpCcOK4XmW/ul4myNL6L9R8/DU5YdLYIFJnHhO2sXNrDc3CruPbQe49YQdupnmM/+sRcf1ir2QDx8a1QnRvQGMG/4yN9c8eSqo1bgLF4cbmYdAz5+D6nC/3svV3Yc7LvUYRupvxW9cRxD/49wzw9/jHmmfqaDrD6Rpu6mVRTwPCJYeQNIfmV2ux85x91o6pPjGNpv+tPk4/Iwncg81SPXf1HiTMjWft4nsftJbuEwt7UgOav+mjzhld82rZWnKkebS2nG/3ElwKvy7z6RIg/yX/Mi6T7dW7UetcV+TwtvMU72tqwgilxxCram8Zb1aHjL3qX7JDksStqT/vk3JM6hvQrH07wfP/zc//zTq7LxL/VRdTl5Tpf2OqV5SJAjwe0JjBPwP1rzcg/sG/Z4A/+PeMw/Hnl1Lz3lFcduwH+H8p/3Bpo86I7LPyEvMeAP9L/v2d/xN/XEzdDXAx1QNQmME/A/WvNyD+wb9ngD/494zD8effltKXHO3fOtkG+H8h/9rFIS6m7hKaPy6mDiO4mKrhGhdT4fbd/spekq2/pgxMA4UZ/DOuUf/uOecfr14h/sG/Z4A/+PeMI/JPf2VqlAtdShHg/xX8+SJK+Gf1pdT1z1P2r8fB/5J/f+f/xP/gF1MA0BdQmMEf6BeIf/DvGeAP/j0D/MG/Z4A/+BOefv78eT6S0MUUKQeBQCAQCAQCgUAgEAgEAnlswW9MAcCBQEnZM8C/b/69A/EP/j0D/MG/Z4A/+PcM8Ad/Ai6mAOBAQGECf6BfIP7Bv2eAP/j3DPAH/54B/uBPwMUUABwIKEzgD/QLxD/49wzwB/+eAf7g3zPAH/wJuJgCgAMBhQn8gX6B+Af/ngH+4N8zwB/8ewb4gz8BF1MAcCCgMIE/0C8Q/+DfM8Af/HsG+IN/zwB/8CfgYmoD3l6ez09PT0Kez1//ioMHA+v66TV+Ao4KFCbw3w3fTuend1/Pb/EjcHwg/sG/Z4A/+B8ef309P8cz//PLvt31GPxfz6eB2+lb/HhFIP535n+YMyDFVHo/fjt/fefHF/y/I/87PP8n/qsupr58+XL++PHj+e3tbfzux48f5w8fPpzfv3/PQj/Td/K5OXI3F1PcnORFlEy84+ERL6YekRMKM/jvhge8mFqX8+EgVP0/DshO9KJxgFqC+Af/ngH+mT/XOlu/46WIfanLc8OlwqYLE6qHqRbSflKHVCujyH1YBzFmx+eg6v90GeT0s9dPYa/2RUrqAUlOg6US7BhJ/SzP+4lesec5tOBftbens5kjLtBYZuuIi6lbQfMPPvZyiGNwztlu4gy4NHa9HJ/3/PKLqVzTBCbrn58Xow1NPpV5Tnqm2kBrifFG7dsLu8b/hO+XYl6d3YbEf9HFVLp8+uOPP86//fZbcTH1+++/n3/9+qWeWSr3dTElmxsupq6NR+SExgz+u2HnxnQELM55PkwMdfkb1Wtbn+MhZljPvmzcCoh/8O8Z4C/48xnT1Kz0cmRqFdWvvV6UqMaqF7lxL/nSNiDV1qhffjlcD9//8UX2k+ln40vq9EWK4iTqvvw8137W1nueQzX/tr0LqHixNgmf53GctuelgPyX/JfFpQuKmUZOLo3d9TlOMZViM+azE1/b61/bZlZ//iz3oD3HcZl/8ucBU7m4ErvG/4TvZ2NBnd2KxH/Vb0zRJZS9mPr+/Tv/JpWct0b0xRQFGTk/GCTcVNpgkGODqKCSc8uAVUEajZ/WyfOiDvxiQ2On8984mPPckCT+fnmeDPAFeo2g54Y1lJ4iUQgpaaMUa4pkDgmZ5lqb1kHP0brp9pSEAlWuJ/cdRip2GOAUHvmCWNurXNPueb9AYwb/jFh7VtW/AbYxVWvcBGidISeLHJf1Rh0U1ud8da+tOe/sK6F0uCEQ/+DfM8Df1n9d56hOPX86DbVMnv3kmTI8M748xHqazlBpLXmmyvW5rLGjuLUx9J60F9fs4ty6DJ7/eV3a3/azEVqPOdC6lnb2YXqtJxt7SDv+2zyLPmps1fKPjIfnl6/FPn68ELyYqffZKSD/2/mfMOZE+FT3QYyDV5ofx8J65TPT8R/3nZmDei6NV2qUwF71r8al1D/rzWPCHlnkXgntXFyLkj/xCnsFXWxuybFBJDdbA9ae/0dchrNE4r/rxVT6a3wk9Fk+M1fKiykyYg6MMtilgeP8mLAcxOPYMHdwsvy15DxuDK5eYkodGDynnRyySXFhj3vP10si6CgDjdeUjUgGbQzCxIntpubWbNpGSl61Lunl6tG2g/eyKDn5exm9xdqPADRm8M/YVv90Y2rVuAlwTot94medx2ntbTnv75Xnr875Cb5KhxsC8Q/+PQP8NX9d79IZ09RyrpGpR4T6q8f0eVL3EFv79PM0Nq5lYWoqr0t9YRR5Pp6H0v+J8/AjcRF6Zxh7zIDHWene6AX0bGHPnXpHM/5bPczzhdVJxYmA+Z5tI+zZihe9j/DVSiD/Jf8QlzLWEqTdmz6w+c+fJ+KkARsLGWUO6rlSL1OjBPaqf57NCKX+ei21H61bs83EeXItPP/L3CxtKrnG+VJ/M3e02Sr9zRoXQOK/28WUHad/g4r+9MZb4l1MKUNIgyrDR4ggVU4cvn9+eR3WS04mI9fXyc2nkkSsRw4YtV4xNkDoPVsvBed7wdU2S0KtgZRza3uWUIlLcO0Q7TVhB/VzRL3pDTDzi/EHABoz+Gdsq39q3Jnr1QwXxbO2XgQ9ea2NOe/vlW2wOuedfSWUDjcE4h/8ewb4G/6ynlMNi7VR1m5dE03PKOppraekmi1re+XsG9GumeFZ23OmYPmrHuX0sADdIyYx0QvCeL03Kp0G7HkObcV/y96sg7CNO1fGkoDlo+3Zjhf9bDte5gD5L/kHe3pxKGOu6YOdz1M8f3heSlirzEEdk/Pqyl71T+uYY17rFD+L8fq6GjRvid3mwvO/spOsXV49lPaS485cHTdzsLDOrkDif5GLKZI///yTxRtryeTFFBsnOMYGGUMUTfnz28uJnyFn8HrCUSE4bTAnp1WSSO7DEIkng2OEGJ+pl4ZM7IhxnaCjDTKZWPlnL3FJzNoVFMnq2kFwmbSD3lcmfLGXfHZAOX7/QGMG/4yN9W92jZtAUZNsLRL1Z2POl3tpG6zOeWdfCaXDDYH4B/+eAf6WP9XOUP9U7RvrpO0R5rNbu3UPCDLUbK6R3pjtQVEXta4D2YtmQvG3uhdcErKNpjFvbqvPUK+QfXN1T3JQi/+2vUtOrk6u/UTvHiHXa8TLMKr2meixc4D8l/w93wRIuzd9UPh823mK58/MQT2XxpNetmZl7FX/audaXsOJ4/ScHoti7FO3wXZ4/td2ynZ09ZA1V/i+5B2kZicfpY/3RuJ/sYsp+vemLnIxJRPPK7T0nQm20zf6UzhrCDRy1OgUb50RXnAMKJquSLxibIAqGDP1UpCJHSG42mZJqF3yeHPnQq7DcO0Q7TVlB2WTgJrOAdoG5fj9A40Z/DOc2iNzxqtboiaocW/uXBTP2loU9OSasjHny720DVbnvLOvhNLhhkD8g3/PAP+Sfzqv0Z+5F8QazP/2qay3pmdM1NMCVCfH+bSHqeUDuAY73xegvefME5D8uSaLl6gsto6LM2cTYd6cs2+rHyR/JOx5DvX8P2VvHje9vfqdo6flo+3Zjhfrozm2bQH5L/mLc5WB9GXTBzufp7y4CihzUM+l8ZS39Zjaq/7V4rCuP4GezbVF7xfAzy+saUvg+V/pIM+xhW8HyJorx725i1H6eG8k/rtdTP3DP/zD+Hnvv8onA4GTMBmYnSQNFeeLRAuJdzqf5DPv6LNobsU6Ek5wEPgZGaAy8YIDZXIovQdM62W5hDXzGnq8SBjDKexXmbsAch2Ga4e075QdzDgnleEk9+L52W88Lmz6CEBjBv+MjfVPNqNi7gIUTU3nYdo35PG2nC/3CmurOqbGZ4L5S501WEdVa24DxD/49wzwd/hzTXw256xYc4fvdd3S9bKsp7YeG8j5VDNnP0v7lvotralN/ztcAkJP0b3N9JlW/6MxqedEryQbyP625znU8m/6ilH2W0bBwbNRAOtvzxhibtvn9Z66Bsh/yT/muPXtgPxuNOGDnc9T9fkm32P85bkUf0lPrYPEXvXPsxmhzdfqqO06nYvb4fn/5uf/EfUashcC//P5fwe54IWfQl+SVgAAAABJRU5ErkJggg==" - }, - "Capture.PNG": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "id": "e41856e6", - "metadata": {}, - "source": [ - "## Mapping of Input Columns to Output Columns \n", - "The output columns represent the values of properties corresponding to the GridLAB-D object. Empty output cells represent dropped input columns while empty input cells indicate a manually added property. The *class* column is used to differentiate between rows representing different objects. \n", - "1. __Design - Pole__\n", - "\n", - "![Capture.PNG](attachment:Capture.PNG)\n", - "\n", - "The output column *configuration* is for a pole object to specify its configuration. The output column *name* is for both the pole object and pole configuration object to have a name. The main purpose is so the pole object can specify its pole configuration object using the pole configuration object's name. The output of this sheet can be found in __Design - Pole.csv__. \n", - "\n", - "2. __Design - Structure__ \n", - "![Capture-2.PNG](attachment:Capture-2.PNG)\n", - "\n", - "The size column is currently not used to test the syntax of the other columns. In the near future, it can map to the area and the weight of a wire pole_mount object. The *parent* column is the name of the pole the pole_mount objects are attached to. The output of this sheet can be found in __Design - Structure.csv__. \n", - "\n", - "\n", - "3. __Combined CSV Output__\n", - "![Capture-3.PNG](attachment:Capture-3.PNG)\n", - "\n", - "The final CSV output is attached above. There are blocks of empty cells because each class has different properties that might not be shared with other classes. " - ] - }, - { - "cell_type": "markdown", - "id": "09b09100", - "metadata": {}, - "source": [ - "## Specific Input Assumptions and Functionalities\n", - "Each value in a given row is assumed to be a specific type of value.\n", - "\n", - "All cells representing measurements are expected to have a value along with units except for the column *GPS Point*. All cells given invalid values (i.e. missing units, missing values, etc.) will raise a ValueError, print a message of the value, row, and column of the input where the error occured, and produce an empty string as the output. \n", - "\n", - "1. Column Values - *Lengths*\n", - "\n", - "Multiple values can be present in one cell. Examples are 5'6\" and 7 ft 11 inch. In these cases, the values will be converted to whichever unit was listed first. There must be the same number of values as units. Otherwise, a ValueError will be raised. To recognize more strings as lengths, add to the dictionary *length_units* in the definition of the function *parse_length*. Example columns (input) include *Length, AGL,* and *GLC*. \n", - "\n", - "2. Column Values - *Angles, Pressures*\n", - "\n", - "For angles and pressures, multiple values are not supported. To recognize more strings as angles, add to the dictionary *angle_units* in the definition of the function *parse_angle*. Example columns (input) include *Lean Angle* and *Lean Direction*. \n", - "\n", - "3. Notes\n", - "* The column (output) *pole_depth*, is calculated by subtracting the *AGL* (above ground level) from the *Length* of the pole. It is expected that those two columns have the same units. A ValueError will be raised if different units are present.\n", - "* The columns *latitude* and *longitude* (output) are converted by simply splitting ' , ' from the value of *GPS Point* (input), so if the format is not exactly as the value supplied, errors might occur. \n", - "* For more information on specific lines of code, consult the comments in the program file. \n", - "\n", - "## TODOS\n", - "1. The values of the *Size* column (input) in __Design - Structure__ is dropped for testing purposes. Next steps are mapping the size of wires (wires are indicated by the ID# column) to the area and weight/ft and use that information to populate new output columns *area* and *weight* where *area* is the cross-section area of the wire and *weight* is the weight/ft of the wire multiplied by the length of the wire. \n", - "2. The last two rows in __Design - Structure__ represent the adjacent poles of the current pole. The Lead/Offset (input) value in this case should be mapped to the pole_spacing property of the pole_mount object. \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "638e41c7", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 781b8d39e331e6da115af4cb13e338926f504898 Mon Sep 17 00:00:00 2001 From: johnsonhsiung <47260592+johnsonhsiung@users.noreply.github.com> Date: Fri, 13 Aug 2021 15:20:12 -0700 Subject: [PATCH 37/82] Update Resilience_Template_Start_Guide.ipynb --- US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb b/US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb index c2c149f9..074fafc2 100644 --- a/US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb +++ b/US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb @@ -24,11 +24,7 @@ "\n", "pole_file_converter.py - this python program takes in the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv*. It's main purpose is to convert information from the input into a GridLAB-D readable .csv file. It also outputs intermediate files *Design - Pole.csv* (pole and pole configuration data), *Design - Strcture.csv* (pole mount data), and *Analysis.csv*, which are the transformed sheets in *Pole_Output_Sample.xls* before they are combined into Sample_Output.csv. Currently, *Analysis.csv* is not used or converted. \n" ] -<<<<<<< HEAD:US/CA/SLAC/anticipation/Resilience_Template_Start_Guide.ipynb } -======= - }, ->>>>>>> 36a85aa320f618096f9b9469e167833f12c16fa3:US/CA/SLAC/anticipation/Resilience_Template _Start_Guide.ipynb ], "metadata": { "kernelspec": { From 25ecc6efe19c09ef2a510321ab79dc87f4d37b7b Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Mon, 13 Sep 2021 11:20:09 -0700 Subject: [PATCH 38/82] Updating anticipation template --- US/CA/SLAC/anticipation/Sample_Output.glm | 2 +- US/CA/SLAC/anticipation/anticipation.glm | 48 +- US/CA/SLAC/anticipation/anticipation.py | 13 +- .../SLAC/anticipation/anticipation_config.csv | 7 +- .../SLAC/anticipation/anticipation_config.glm | 7 +- US/CA/SLAC/anticipation/gridlabd.json | 1492 ++++++----------- US/CA/SLAC/anticipation/pole_data.csv | 29 + US/CA/SLAC/anticipation/pole_data.glm | 318 ++++ US/CA/SLAC/anticipation/pole_outputs.csv | 11 - 9 files changed, 874 insertions(+), 1053 deletions(-) create mode 100644 US/CA/SLAC/anticipation/pole_data.csv create mode 100644 US/CA/SLAC/anticipation/pole_data.glm delete mode 100644 US/CA/SLAC/anticipation/pole_outputs.csv diff --git a/US/CA/SLAC/anticipation/Sample_Output.glm b/US/CA/SLAC/anticipation/Sample_Output.glm index 8d40d44e..7816db55 100644 --- a/US/CA/SLAC/anticipation/Sample_Output.glm +++ b/US/CA/SLAC/anticipation/Sample_Output.glm @@ -1,4 +1,4 @@ -// Objects +// /usr/local/opt/gridlabd/4.2.27-210827-develop_add_weather_metar/share/gridlabd/csv-table2glm-object.py Sample_Output.csv Sample_Output.glm {} object powerflow.pole_configuration { pole_length 75.5 ft; pole_depth 9.5 ft; diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index a44ea542..23ed52a6 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -3,7 +3,7 @@ //Set up for globals #set literal_if=FALSE -#set verbose=TRUE +#set verbose=FALSE #set output_message_context=NONE //Set up modules @@ -41,15 +41,27 @@ class pole_mount // load the gridlabd-python module module anticipation; module powerflow { +#if RELIABILITY_MODE==off stop_on_pole_failure TRUE; +#endif message_flags VERBOSE; } +#if RELIABILITY_MODE==off // TO DO _ CHANGE TO ON +object fault_check +{ + check_mode ONCHANGE; + output_filename "fault_check.txt"; + reliability_mode TRUE; + grid_association true; +} +#endif //RELIABILITY_MODE + #if POLE_VULNERABILITY_ANALYSIS=="on" #debug "POLE VULNERABILITY ANALYSIS is enabled" // INPUT CSV POLE DATA CONVERTER //#input "pole_library_config.csv" -f table -t "object" -C powerflow.pole_configuration //#input "pole_vulnerability_config.csv" -f "table" -t "object" -#input "Sample_Output.csv" -t object -f table +#input "${POLE_DATA}" -f table -t object #endif //POLE_VULNERABILITY_ANALYSIS #if PSPS_ANALYSIS=="on" @@ -59,21 +71,23 @@ module powerflow { #if VEGETATION_VULNERABILITY_ANALYSIS=="on" #debug "VEGETATION_VULNERABILITY_ANALYSIS is enabled" #endif -object recorder { - parent "pole6"; - property "equipment_moment_nowind"; - property "equipment_moment"; - property "pole_moment_nowind"; - property "pole_moment"; - property "wire_tension"; - property "tilt_angle"; - property "total_moment"; - property "resisting_moment"; - property "critical_wind_speed"; - property "pole_stress"; - file "pole_outputs.csv"; - interval -1; -} + + +//object recorder { +// parent "pole6"; +// property "equipment_moment_nowind"; +// property "equipment_moment"; +// property "pole_moment_nowind"; +// property "pole_moment"; +// property "wire_tension"; +// property "tilt_angle"; +// property "total_moment"; +// property "resisting_moment"; +// property "critical_wind_speed"; +// property "pole_stress"; +// file "pole_outputs.csv"; +// interval -1; +//} diff --git a/US/CA/SLAC/anticipation/anticipation.py b/US/CA/SLAC/anticipation/anticipation.py index 2f90e6bf..feb9e009 100644 --- a/US/CA/SLAC/anticipation/anticipation.py +++ b/US/CA/SLAC/anticipation/anticipation.py @@ -1,5 +1,16 @@ import gridlabd def on_init(t): - print(gridlabd.get("objects")) + # ATTACH THE POLES TO LINE OBJECTS BASED ON LAT / LONG + model_objects = gridlabd.get("objects") + pole_objects = [] + pole_coordinates = {} + for model_object in model_objects : + if "pole" == gridlabd.get_value(model_object, "class") or "powerflow.pole" == gridlabd.get_value(model_object, "class"): + pole_objects.append(model_object) + pole_coordinates[model_object]={"latitude" : gridlabd.get_value(model_object, "latitude"), "longitude" : gridlabd.get_value(model_object, "latitude") } + print(pole_coordinates) + # for pole in pole_objects : + # gridlabd.get_value("") + # print(pole_objects) return True \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/anticipation_config.csv b/US/CA/SLAC/anticipation/anticipation_config.csv index 527e4a23..f0a9c600 100644 --- a/US/CA/SLAC/anticipation/anticipation_config.csv +++ b/US/CA/SLAC/anticipation/anticipation_config.csv @@ -1,6 +1,9 @@ POLE_VULNERABILITY_ANALYSIS,on PSPS_ANALYSIS,off VEGETATION_VULNERABILITY_ANALYSIS,off -STARTTIME,2021-06-28 00:00:00 -STOPTIME,2021-06-28 00:00:00 +RELIABILITY_MODE,on +POLE_DATA,"pole_data.csv" +WEATHER_FILE,test_wind.player +STARTTIME,2021-06-08 00:00:00 +STOPTIME,2021-06-08 01:00:00 TIMEZONE,PST+8PDT \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/anticipation_config.glm b/US/CA/SLAC/anticipation/anticipation_config.glm index 6127e8f7..95d0ab29 100644 --- a/US/CA/SLAC/anticipation/anticipation_config.glm +++ b/US/CA/SLAC/anticipation/anticipation_config.glm @@ -1,6 +1,9 @@ #define POLE_VULNERABILITY_ANALYSIS=on #define PSPS_ANALYSIS=off #define VEGETATION_VULNERABILITY_ANALYSIS=off -#define STARTTIME=2021-06-28 00:00:00 -#define STOPTIME=2021-06-28 00:00:00 +#define RELIABILITY_MODE=on +#define POLE_DATA="pole_data.csv" +#define WEATHER_FILE=test_wind.player +#define STARTTIME=2021-06-08 00:00:00 +#define STOPTIME=2021-06-08 01:00:00 #define TIMEZONE=PST+8PDT diff --git a/US/CA/SLAC/anticipation/gridlabd.json b/US/CA/SLAC/anticipation/gridlabd.json index d35da220..897153df 100644 --- a/US/CA/SLAC/anticipation/gridlabd.json +++ b/US/CA/SLAC/anticipation/gridlabd.json @@ -1,5 +1,5 @@ { "application": "gridlabd", - "version" : "4.2.25", + "version" : "4.2.27", "modules" : { "powerflow" : { "major" : "4", @@ -7653,10 +7653,10 @@ } }, "pole" : { - "object_size" : "320", + "object_size" : "328", "trl" : "7", "module" : "powerflow", - "profiler.numobjs" : "1", + "profiler.numobjs" : "11", "profiler.clocks" : "0", "profiler.count" : "0", "status" : { @@ -7837,7 +7837,7 @@ "object_size" : "248", "trl" : "9", "module" : "powerflow", - "profiler.numobjs" : "1", + "profiler.numobjs" : "3", "profiler.clocks" : "0", "profiler.count" : "0", "pole_type" : { @@ -7983,7 +7983,7 @@ "object_size" : "1260", "trl" : "7", "module" : "powerflow", - "profiler.numobjs" : "50", + "profiler.numobjs" : "0", "profiler.clocks" : "0", "profiler.count" : "0", "equipment" : { @@ -9334,27 +9334,27 @@ "version.patch" : { "type" : "int32", "access" : "REFERENCE", - "value" : "25" + "value" : "27" }, "version.build" : { "type" : "int32", "access" : "REFERENCE", - "value" : "210801" + "value" : "210903" }, "version.branch" : { "type" : "char256", "access" : "REFERENCE", - "value" : "master" + "value" : "use_case_resilience" }, "version" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "4.2.25-210801-master" + "value" : "4.2.27-210903-use_case_resilience" }, "command_line" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.25-210801-master/bin/gridlabd.bin anticipation.glm" + "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/bin/gridlabd.bin anticipation.glm" }, "environment" : { "type" : "char1024", @@ -9404,7 +9404,7 @@ "workdir" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/model/us/ca/slac/anticipation" + "value" : "/Users/aivanovalocal/gridlabd/templates/gridlabd-template/US/CA/SLAC/anticipation" }, "dumpfile" : { "type" : "char1024", @@ -9459,12 +9459,12 @@ "starttime" : { "type" : "timestamp", "access" : "PUBLIC", - "value" : "2021-06-27 17:00:00 PDT" + "value" : "2021-06-08 00:00:00 PDT" }, "stoptime" : { "type" : "timestamp", "access" : "PUBLIC", - "value" : "2021-06-27 17:00:00 PDT" + "value" : "2021-06-08 01:00:00 PDT" }, "double_format" : { "type" : "char32", @@ -9520,7 +9520,7 @@ "execdir" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.25-210801-master/bin" + "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/bin" }, "strictnames" : { "type" : "bool", @@ -9565,7 +9565,7 @@ "tmp" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "/root/.gridlabd/tmp" + "value" : "/Users/aivanovalocal/.gridlabd/tmp" }, "force_compile" : { "type" : "int32", @@ -9612,7 +9612,7 @@ "platform" : { "type" : "char8", "access" : "REFERENCE", - "value" : "LINUX" + "value" : "MACOSX" }, "suppress_repeat_messages" : { "type" : "bool", @@ -9662,7 +9662,7 @@ "browser" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "firefox" + "value" : "safari" }, "server_portnum" : { "type" : "int32", @@ -9853,7 +9853,7 @@ "VERBOSE" : "0x8" }, "access" : "PUBLIC", - "value" : "" + "value" : "NONE" }, "init_max_defer" : { "type" : "int32", @@ -9981,7 +9981,7 @@ "exename" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.25-210801-master/bin/gridlabd.bin" + "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/bin/gridlabd.bin" }, "wget_options" : { "type" : "char1024", @@ -10097,7 +10097,7 @@ "COMMIT" : "0x2" }, "access" : "PUBLIC", - "value" : "SYNC" + "value" : "1414746112" }, "daemon_configfile" : { "type" : "char1024", @@ -10107,7 +10107,7 @@ "timezone_locale" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "UTC" + "value" : "PST8PDT" }, "glm_save_options" : { "type" : "set", @@ -10177,12 +10177,12 @@ "pythonexec" : { "type" : "char1024", "access" : "REFERENCE", - "value" : "/usr/local/bin/python3" + "value" : "/usr/local/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/bin/python3.9" }, "datadir" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "" + "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/share/gridlabd" }, "json_complex_format" : { "type" : "set", @@ -10194,7 +10194,7 @@ "RADIANS" : "0x20" }, "access" : "PUBLIC", - "value" : "" + "value" : "STRING" }, "rusage_file" : { "type" : "char1024", @@ -10221,6 +10221,21 @@ "access" : "REFERENCE", "value" : "anticipation.glm" }, + "country" : { + "type" : "char8", + "access" : "PUBLIC", + "value" : "US" + }, + "region" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "CA" + }, + "organization" : { + "type" : "char32", + "access" : "PUBLIC", + "value" : "SLAC" + }, "powerflow::message_flags" : { "type" : "set", "keywords" : { @@ -10521,7 +10536,7 @@ "powerflow::stop_on_pole_failure" : { "type" : "bool", "access" : "PUBLIC", - "value" : "TRUE" + "value" : "FALSE" }, "powerflow::climate_impact_zone" : { "type" : "enumeration", @@ -10550,7 +10565,7 @@ "climate::library_path" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "/usr/local/opt/gridlabd/4.2.25-210801-master/share/gridlabd/weather/US" + "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/share/gridlabd/weather/US" }, "tape::gnuplot_path" : { "type" : "char1024", @@ -10602,15 +10617,30 @@ "access" : "PUBLIC", "value" : "off" }, + "RELIABILITY_MODE" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "on" + }, + "POLE_DATA" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "pole_data.csv" + }, + "WEATHER_FILE" : { + "type" : "char1024", + "access" : "PUBLIC", + "value" : "test_wind.player" + }, "STARTTIME" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "2021-06-28 00:00:00" + "value" : "2021-06-08 00:00:00" }, "STOPTIME" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "2021-06-28 00:00:00" + "value" : "2021-06-08 01:00:00" }, "TIMEZONE" : { "type" : "char1024", @@ -10620,61 +10650,65 @@ "csv_load_options" : { "type" : "char1024", "access" : "PUBLIC", - "value" : "-t object -f table" + "value" : "-f table -t object " } }, "schedules" : { }, "objects" : { - "test_name" : { + "pole1" : { "id" : "0", - "class" : "pole_configuration", + "class" : "pole", + "latitude" : "37.427500", + "longitude" : "122.169700", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", - "rng_state" : "1804289383", - "guid" : "1ABA7D58BBF51EDCB3E6E046A50BFF6", - "flags" : "0x80100", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "75.5 ft", - "pole_depth": "9.5 ft", - "ground_diameter": "23.87 in", - "top_diameter": "6.05096 in", - "fiber_strength": "6000.5 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" + "clock" : "2021-06-08 00:00:00 PDT", + "rng_state" : "16807", + "guid" : "317619AC11E7D2C47627B32170A54E42", + "flags" : "0x80000", + "status": "OK", + "tilt_angle": "5 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "1990", + "repair_time": "1 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" }, - "powerflow.pole_2" : { + "pole2" : { "id" : "1", "class" : "pole", - "latitude" : "0.000000", - "longitude" : "-0.000000", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", - "clock" : "2021-06-27 17:00:00 PDT", - "rng_state" : "846930886", - "guid" : "47A9B0B6BEE8CF9A6A5C5DC7DDEA7B95", + "clock" : "INIT", + "rng_state" : "282475249", + "guid" : "6BF618C4B83FF2EA746A74BFF138839C", "flags" : "0x80000", "status": "OK", - "tilt_angle": "12 deg", - "tilt_direction": "0 deg", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", "weather": "", "configuration": "", - "install_year": "0", - "repair_time": "0 h", + "install_year": "2000", + "repair_time": "8 h", "wind_speed": "0 m/s", "wind_direction": "0 deg", "wind_gusts": "0 m/s", @@ -10694,1005 +10728,425 @@ "wire_tension": "0 ft*lb", "guy_height": "0 ft" }, - "powerflow.pole_mount_3" : { + "pole3" : { "id" : "2", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "1681692777", - "guid" : "128B103DDDCC31AD1295DE9F858422DF", + "rng_state" : "1622650073", + "guid" : "31A1DD197DC73B856DBA1C0EECD39141", "flags" : "0x80000", - "equipment": "", - "height": "64 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Bracket", - "related": "Wire#1,Wire#15", - "id": "Insulator#7", - "size": "" - }, - "powerflow.pole_mount_4" : { + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "pole4" : { "id" : "3", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "1714636915", - "guid" : "760900661AACA7F0BBA35C6A1435AF2", + "rng_state" : "984943658", + "guid" : "55806C05E56D09C8630E2D6CA3F54863", "flags" : "0x80000", - "equipment": "", - "height": "63.92 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#15", - "size": "" - }, - "powerflow.pole_mount_5" : { + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "pole5" : { "id" : "4", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "1957747793", - "guid" : "A8ABCFEBE0241B225FE7BDBC9E4772D", + "rng_state" : "1144108930", + "guid" : "240E40BD01844DC621796DB9889E3CC7", "flags" : "0x80000", - "equipment": "", - "height": "63.92 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#1", - "size": "" - }, - "powerflow.pole_mount_6" : { + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "pole6" : { "id" : "5", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "424238335", - "guid" : "16BC110F6F4CCBFB792BE1B08E4DD389", + "rng_state" : "470211272", + "guid" : "1C5F3ADAEF1DCA5F15CAB863DFEE01BA", "flags" : "0x80000", - "equipment": "", - "height": "59 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Bracket", - "related": "Wire#2,Wire#16", - "id": "Insulator#8", - "size": "" - }, - "powerflow.pole_mount_7" : { + "status": "OK", + "tilt_angle": "57.2958 deg", + "tilt_direction": "0 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "pole7" : { "id" : "6", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "719885386", - "guid" : "1A43F021B25986F65283536BB76763CC", + "rng_state" : "101027544", + "guid" : "39D973774812A58D45B2BF6C30F0C659", "flags" : "0x80000", - "equipment": "", - "height": "58.92 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#16", - "size": "" - }, - "powerflow.pole_mount_8" : { + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "100 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "pole8" : { "id" : "7", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "1649760492", - "guid" : "3D82BEB514D8DE9A483BBFD82E9240D7", + "rng_state" : "1457850878", + "guid" : "634112936A546E52098C6AEC44699F2", "flags" : "0x80000", - "equipment": "", - "height": "58.92 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#2", - "size": "" - }, - "powerflow.pole_mount_9" : { + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "pole9" : { "id" : "8", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "596516649", - "guid" : "5989E7F678ABD06E11955A0B22A09C9B", + "rng_state" : "1458777923", + "guid" : "7A4B69153126BAB053BB983C58F3475", "flags" : "0x80000", - "equipment": "", - "height": "54 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Bracket", - "related": "Wire#3,Wire#17", - "id": "Insulator#9", - "size": "" - }, - "powerflow.pole_mount_10" : { + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "pole10" : { "id" : "9", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "1189641421", - "guid" : "5321AEB606786B6C6AA0BB29A735924A", + "rng_state" : "2007237709", + "guid" : "2B7681595FCCF70B4C41183B031682DD", "flags" : "0x80000", - "equipment": "", - "height": "53.92 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#17", - "size": "" - }, - "powerflow.pole_mount_11" : { + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "pole11" : { "id" : "10", - "class" : "pole_mount", + "class" : "pole", + "latitude" : "37.127000", + "longitude" : "122.164600", "rank" : "0", "clock" : "INIT", - "rng_state" : "1025202362", - "guid" : "4BF8F7A374F0D203328FDA8AAACBEF14", + "rng_state" : "823564440", + "guid" : "21EEDF034BAEA5B222CAA880D42A0E06", "flags" : "0x80000", - "equipment": "", - "height": "53.92 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#3", - "size": "" - }, - "powerflow.pole_mount_12" : { + "status": "OK", + "tilt_angle": "8 deg", + "tilt_direction": "270 deg", + "weather": "", + "configuration": "", + "install_year": "2000", + "repair_time": "8 h", + "wind_speed": "0 m/s", + "wind_direction": "0 deg", + "wind_gusts": "0 m/s", + "pole_stress": "0 pu", + "pole_stress_polynomial_a": "0 ft*lb", + "pole_stress_polynomial_b": "0 ft*lb", + "pole_stress_polynomial_c": "0 ft*lb", + "susceptibility": "0 pu*s/m", + "total_moment": "0 ft*lb", + "resisting_moment": "0 ft*lb", + "pole_moment": "0 ft*lb", + "pole_moment_nowind": "0 ft*lb", + "equipment_moment": "0 ft*lb", + "equipment_moment_nowind": "0 ft*lb", + "critical_wind_speed": "0 m/s", + "wire_moment": "0 ft*lb", + "wire_tension": "0 ft*lb", + "guy_height": "0 ft" + }, + "WOOD-C-45/5" : { "id" : "11", - "class" : "pole_mount", + "class" : "pole_configuration", "rank" : "0", "clock" : "INIT", - "rng_state" : "1350490027", - "guid" : "34EA1ABF707D8BD91BB86215BF030857", + "rng_state" : "1115438165", + "guid" : "3C03EFF8B11ABC5B433711F25A99B892", "flags" : "0x80000", - "equipment": "", - "height": "41.25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#26", - "size": "" - }, - "powerflow.pole_mount_13" : { + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "45 ft", + "pole_depth": "4.5 ft", + "ground_diameter": "10.3503 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "1 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "WOOD2" : { "id" : "12", - "class" : "pole_mount", + "class" : "pole_configuration", "rank" : "0", "clock" : "INIT", - "rng_state" : "783368690", - "guid" : "14739A1B0F551E622C30F4C9CFB4CA5A", + "rng_state" : "1784484492", + "guid" : "709AD6DF2BE6DC96653C1E3D1FDDA1A8", "flags" : "0x80000", - "equipment": "", - "height": "41.25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#11", - "size": "" - }, - "powerflow.pole_mount_14" : { + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "60 ft", + "pole_depth": "4.5 ft", + "ground_diameter": "10.3503 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "3 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" + }, + "SYP-20/3" : { "id" : "13", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1102520059", - "guid" : "5C34EBC95E556B4176088DA684597413", - "flags" : "0x80000", - "equipment": "", - "height": "41.25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#25", - "size": "" - }, - "powerflow.pole_mount_15" : { - "id" : "14", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "2044897763", - "guid" : "70A5551F320EC76756242CB7A7DDBFF5", - "flags" : "0x80000", - "equipment": "", - "height": "41.25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#10", - "size": "" - }, - "powerflow.pole_mount_16" : { - "id" : "15", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1967513926", - "guid" : "DDF251E888FEBF330BD987393408ECD", - "flags" : "0x80000", - "equipment": "", - "height": "41.25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#24", - "size": "" - }, - "powerflow.pole_mount_17" : { - "id" : "16", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1365180540", - "guid" : "7C846C40E77FB01CA7B095036596F67", - "flags" : "0x80000", - "equipment": "", - "height": "41.25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#9", - "size": "" - }, - "powerflow.pole_mount_18" : { - "id" : "17", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1540383426", - "guid" : "11D19F5D42D4DEB752E25A3FB5D27A9", - "flags" : "0x80000", - "equipment": "", - "height": "41.25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#23", - "size": "" - }, - "powerflow.pole_mount_19" : { - "id" : "18", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "304089172", - "guid" : "3DC963E8181C46C62F2FC3A860D77BA9", - "flags" : "0x80000", - "equipment": "", - "height": "41.25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#8", - "size": "" - }, - "powerflow.pole_mount_20" : { - "id" : "19", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1303455736", - "guid" : "727B136D89FD97333C5877EBC5FEC455", - "flags" : "0x80000", - "equipment": "", - "height": "40.5 ft", - "offset": "5 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "", - "related": "Insulator#1,Insulator#2,Insulator#3,Insulator#4", - "id": "CrossArm#1", - "size": "" - }, - "powerflow.pole_mount_21" : { - "id" : "20", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "35005211", - "guid" : "777854456889B87F27A105D885B0B29D", - "flags" : "0x80000", - "equipment": "", - "height": "40.5 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Cutout_Arrestor", - "related": "nan", - "id": "Equip#2", - "size": "" - }, - "powerflow.pole_mount_22" : { - "id" : "21", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "521595368", - "guid" : "4454758A31EC2DE0645F58951BFFCD78", - "flags" : "0x80000", - "equipment": "", - "height": "40.5 ft", - "offset": "9.67 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Pin", - "related": "Wire#11,Wire#26", - "id": "Insulator#4", - "size": "" - }, - "powerflow.pole_mount_23" : { - "id" : "22", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "294702567", - "guid" : "455D0C58378A9AF42E1BBA15B1E05984", - "flags" : "0x80000", - "equipment": "", - "height": "40.5 ft", - "offset": "6.67 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Pin", - "related": "Wire#10,Wire#25", - "id": "Insulator#3", - "size": "" - }, - "powerflow.pole_mount_24" : { - "id" : "23", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1726956429", - "guid" : "755CA03F33B6A01E2E128E770BE56C05", - "flags" : "0x80000", - "equipment": "", - "height": "40.5 ft", - "offset": "3.33 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Pin", - "related": "Wire#9,Wire#24", - "id": "Insulator#2", - "size": "" - }, - "powerflow.pole_mount_25" : { - "id" : "24", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "336465782", - "guid" : "7F8B04F8BBF0809F154FE99976F9F7F1", - "flags" : "0x80000", - "equipment": "", - "height": "40.5 ft", - "offset": "0.33 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Pin", - "related": "Wire#8,Wire#23", - "id": "Insulator#1", - "size": "" - }, - "powerflow.pole_mount_26" : { - "id" : "25", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "861021530", - "guid" : "249A4F691B848B927267E4F7EFE27D6B", - "flags" : "0x80000", - "equipment": "", - "height": "37.5 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Transformer", - "related": "nan", - "id": "Equip#3", - "size": "" - }, - "powerflow.pole_mount_27" : { - "id" : "26", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "278722862", - "guid" : "65DE23C842C7E7FD71D6ABB6612CA754", - "flags" : "0x80000", - "equipment": "", - "height": "33 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Clamp", - "related": "Wire#12", - "id": "Insulator#15", - "size": "" - }, - "powerflow.pole_mount_28" : { - "id" : "27", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "233665123", - "guid" : "19D6B2F96AD1B665FFAC30B73B1BD47", - "flags" : "0x80000", - "equipment": "", - "height": "33 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Clamp", - "related": "Wire#18", - "id": "Insulator#10", - "size": "" - }, - "powerflow.pole_mount_29" : { - "id" : "28", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "2145174067", - "guid" : "13794E3B8D2328D82BB024CB0D5B9A5E", - "flags" : "0x80000", - "equipment": "", - "height": "33 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#12", - "size": "" - }, - "powerflow.pole_mount_30" : { - "id" : "29", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "468703135", - "guid" : "33FDA30F21958D685091523C3ABB47CF", - "flags" : "0x80000", - "equipment": "", - "height": "33 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#18", - "size": "" - }, - "powerflow.pole_mount_31" : { - "id" : "30", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1101513929", - "guid" : "3A48CC914E47266D77C99543DEEEBF22", - "flags" : "0x80000", - "equipment": "", - "height": "27 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Street_Light", - "related": "nan", - "id": "Equip#1", - "size": "" - }, - "powerflow.pole_mount_32" : { - "id" : "31", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1801979802", - "guid" : "4ADA58D5D5D3CF70469A35A3260829F7", - "flags" : "0x80000", - "equipment": "", - "height": "26.17 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#28", - "size": "" - }, - "powerflow.pole_mount_33" : { - "id" : "32", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1315634022", - "guid" : "267F7CDEC98B0EFF397278A356061EE1", - "flags" : "0x80000", - "equipment": "", - "height": "26.17 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#14", - "size": "" - }, - "powerflow.pole_mount_34" : { - "id" : "33", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "635723058", - "guid" : "345BDB995808816612AAD0E23A3D5D6F", - "flags" : "0x80000", - "equipment": "", - "height": "26.17 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#27", - "size": "" - }, - "powerflow.pole_mount_35" : { - "id" : "34", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1369133069", - "guid" : "A18D6069073D2084BE3B475055114BD", - "flags" : "0x80000", - "equipment": "", - "height": "26.17 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#13", - "size": "" - }, - "powerflow.pole_mount_36" : { - "id" : "35", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1125898167", - "guid" : "3D2FF2C7E6105EF120FF1F35259C920B", - "flags" : "0x80000", - "equipment": "", - "height": "26 ft", - "offset": "5 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "", - "related": "Insulator#5,Insulator#6", - "id": "CrossArm#2", - "size": "" - }, - "powerflow.pole_mount_37" : { - "id" : "36", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1059961393", - "guid" : "1057BABD609BB94633BED75B282ACE06", - "flags" : "0x80000", - "equipment": "", - "height": "26 ft", - "offset": "0.33 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Clamp", - "related": "Wire#14,Wire#28", - "id": "Insulator#6", - "size": "" - }, - "powerflow.pole_mount_38" : { - "id" : "37", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "2089018456", - "guid" : "180FB91A84D0DBC06EFD1A5F6617AF10", - "flags" : "0x80000", - "equipment": "", - "height": "26 ft", - "offset": "9.67 ft", - "area": "0 sf", - "direction": "180 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Clamp", - "related": "Wire#13,Wire#27", - "id": "Insulator#5", - "size": "" - }, - "powerflow.pole_mount_39" : { - "id" : "38", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "628175011", - "guid" : "39491C8521C0B28B388E6802D887721F", - "flags" : "0x80000", - "equipment": "", - "height": "25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Clamp", - "related": "Wire#4,Wire#19", - "id": "Insulator#11", - "size": "" - }, - "powerflow.pole_mount_40" : { - "id" : "39", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1656478042", - "guid" : "6D39C79E4E5CE40B28B4B1B80F258E1D", - "flags" : "0x80000", - "equipment": "", - "height": "25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#19", - "size": "" - }, - "powerflow.pole_mount_41" : { - "id" : "40", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1131176229", - "guid" : "7D3F6EB003C062D36643442CE4FAAAD1", - "flags" : "0x80000", - "equipment": "", - "height": "25 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#4", - "size": "" - }, - "powerflow.pole_mount_42" : { - "id" : "41", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1653377373", - "guid" : "71F5B0ACDFDF3FCA6E5851292FF2BB3E", - "flags" : "0x80000", - "equipment": "", - "height": "24 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Clamp", - "related": "Wire#5,Wire#20", - "id": "Insulator#12", - "size": "" - }, - "powerflow.pole_mount_43" : { - "id" : "42", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "859484421", - "guid" : "3856E963BCA303F976B60FA746BFCCBD", - "flags" : "0x80000", - "equipment": "", - "height": "24 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#20", - "size": "" - }, - "powerflow.pole_mount_44" : { - "id" : "43", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1914544919", - "guid" : "812CAF3E7A4959C41C6F826D9447B09", - "flags" : "0x80000", - "equipment": "", - "height": "24 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#5", - "size": "" - }, - "powerflow.pole_mount_45" : { - "id" : "44", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "608413784", - "guid" : "5DF29C8EE674EEB8232BB34F37A6F6AD", - "flags" : "0x80000", - "equipment": "", - "height": "23 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Clamp", - "related": "Wire#6,Wire#21", - "id": "Insulator#13", - "size": "" - }, - "powerflow.pole_mount_46" : { - "id" : "45", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "756898537", - "guid" : "65694C69D323CB411C04E0B9C3878CA4", - "flags" : "0x80000", - "equipment": "", - "height": "23 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#21", - "size": "" - }, - "powerflow.pole_mount_47" : { - "id" : "46", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1734575198", - "guid" : "743D52F67D80402D5DC9EC15E825A802", - "flags" : "0x80000", - "equipment": "", - "height": "23 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#6", - "size": "" - }, - "powerflow.pole_mount_48" : { - "id" : "47", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1973594324", - "guid" : "4358B55D9CDE594F2AC0B67794BB36DC", - "flags" : "0x80000", - "equipment": "", - "height": "21.5 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "0 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Clamp", - "related": "Wire#7,Wire#22", - "id": "Insulator#14", - "size": "" - }, - "powerflow.pole_mount_49" : { - "id" : "48", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "149798315", - "guid" : "57AC452F7E1EE3B37322E9F9D55AEDA6", - "flags" : "0x80000", - "equipment": "", - "height": "21.5 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#2", - "id": "Wire#22", - "size": "" - }, - "powerflow.pole_mount_50" : { - "id" : "49", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "2038664370", - "guid" : "16478B67BA8529A735D05D86C6815D77", - "flags" : "0x80000", - "equipment": "", - "height": "21.5 ft", - "offset": "0 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Light_Full_(Tension)", - "related": "WEP#1", - "id": "Wire#7", - "size": "" - }, - "powerflow.pole_mount_51" : { - "id" : "50", - "class" : "pole_mount", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1129566413", - "guid" : "46799C9AA2D1415513B1FF06BEF5EEBB", - "flags" : "0x80000", - "equipment": "", - "height": "0 ft", - "offset": "204 ft", - "area": "0 sf", - "direction": "270 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Previous_Pole", - "related": "nan", - "id": "WEP#2", - "size": "" - }, - "powerflow.pole_mount_52" : { - "id" : "51", - "class" : "pole_mount", + "class" : "pole_configuration", "rank" : "0", "clock" : "INIT", - "rng_state" : "184803526", - "guid" : "4D2664742AEDC0B82CB049A02C298122", + "rng_state" : "74243042", + "guid" : "5AB26563F0148416515AB1E1FA84D8A0", "flags" : "0x80000", - "equipment": "", - "height": "0 ft", - "offset": "180 ft", - "area": "0 sf", - "direction": "90 deg", - "weight": "0 lb", - "pole_spacing": "0 ft", - "type": "Next_Pole", - "related": "nan", - "id": "WEP#1", - "size": "" + "pole_type": "WOOD", + "design_ice_thickness": "0.25 in", + "design_wind_loading": "4 psi", + "design_temperature": "15 degF", + "overload_factor_vertical": "1.9", + "overload_factor_transverse_general": "1.75", + "overload_factor_transverse_crossing": "2.2", + "overload_factor_transverse_wire": "1.65", + "overload_factor_longitudinal_general": "1", + "overload_factor_longitudinal_deadend": "1.3", + "strength_factor_250b_wood": "0.85", + "strength_factor_250b_support": "1", + "strength_factor_250c_wood": "0.75", + "strength_factor_250c_support": "1", + "pole_length": "20 ft", + "pole_depth": "5.5 ft", + "ground_diameter": "10.3503 in", + "top_diameter": "6.05096 in", + "fiber_strength": "8000 psi", + "repair_time": "0 h", + "degradation_rate": "0 in/yr", + "treatment_method": "NONE", + "material_density": "35 lb/cf" } } } diff --git a/US/CA/SLAC/anticipation/pole_data.csv b/US/CA/SLAC/anticipation/pole_data.csv new file mode 100644 index 00000000..169cbb82 --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_data.csv @@ -0,0 +1,29 @@ +class,name, tilt_angle, tilt_direction, configuration, equipment_moment_nowind, install_year, repair_time,latitude,longitude,configuration,wind_speed, //flags, pole_type, design_ice_thickness, design_wind_loading, design_temperature, overload_factor_vertical, overload_factor_transverse_general, overload_factor_transverse_crossing, overload_factor_transverse_wire, overload_factor_longitudinal_general, overload_factor_longitudinal_deadend, strength_factor_250b_wood, strength_factor_250b_support, pole_length, pole_depth, ground_diameter, top_diameter, fiber_strength, repair_time, treatment_method, pole_moment +powerflow.pole,pole1,5,270,WOOD-C-45/5,,1990,1 h,37.4275,122.1697,WOOD-C-45/5,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole2,8 deg,270,WOOD-C-45/5,,2000,8 h,37.127,122.1646,WOOD-C-45/5,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole3,8 deg,270,SYP-20/3,,2000,8 h,37.127,122.1646,SYP-20/3,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole4,8 deg,270,SYP-25/3,,2000,8 h,37.127,122.1646,SYP-25/3,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole5,8 deg,270,SYP-50/3,,2000,8 h,37.127,122.1646,SYP-50/3,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole6,1 rad,0,SYP-35/5,,2000,8 h,37.127,122.1646,SYP-35/5,0, VERBOSE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole7,8 deg,270,SYP-80/H-2,100,2000,8 h,37.127,122.1646,SYP-80/H-2,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole8,8 deg,270,SYP-90/H-2,,2000,8 h,37.127,122.1646,SYP-90/H-2,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole9,8 deg,270,SYP-100/H-2,,2000,8 h,37.127,122.1646,SYP-100/H-2,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole10,8 deg,270,SYP-110/H-3,,2000,8 h,37.127,122.1646,SYP-110/H-3,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole11,8 deg,270,SYP-120/H-4,,2000,8 h,37.127,122.1646,SYP-120/H-4,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole_configuration,WOOD-C-45/5,,,,,,,,,,,,WOOD,,,,,,,,,,,,45 ft,4.5 ft,10.35031847,6.050955414,8000 psi,1 h,, +powerflow.pole_configuration,WOOD2,,,,,,,,,,,,WOOD,,,,,,,,,,,,60 ft,4.5 ft,10.35031847,6.050955414,8000 psi,3 h,, +powerflow.pole_configuration,SYP-20/3,,,,,,,,,,,,WOOD,,,,,,,,,,,,20 ft, 5.5 ft,8.598726115,7.324840764, 8000 psi,,, +powerflow.pole_configuration,SYP-25/3,,,,,,,,,,,,WOOD,,,,,,,,,,,,25 ft , 5.5 ft,9.394904459,7.324840764, 8000 psi,,, +powerflow.pole_configuration,SYP-30/5,,,,,,,,,,,,WOOD,,,,,,,,,,,,30 ft, 5.5 ft,8.757961783,6.050955414, 8000 psi,,, +powerflow.pole_configuration,SYP-35/5,,,,,,,,,,,,WOOD,,,,,1.75,,,,,0.75,1,35 ft, 5.5 ft,9.23566879,6.050955414, 8000 psi,50,, +powerflow.pole_configuration,SYP-40/3,,,,,,,,,,,,WOOD,,,,,,,,,,,,40 ft, 6 ft,11.46496815,7.324840764, 8000 psi,,, +powerflow.pole_configuration,SYP-45/4,,,,,,,,,,,,WOOD,,,,,,,,,,,,45 ft, 6.5 ft,11.14649682,6.687898089, 8000 psi,,, +powerflow.pole_configuration,SYP-50/3,,,,,,,,,,,,WOOD,,,,,1.75,,,,,0.75,,50 ft, 7 ft,12.42038217,7.324840764, 8000 psi,,, +powerflow.pole_configuration,SYP-55/2,,,,,,,,,,,,WOOD,,,,,,,,,,,,55 ft, 7.5 ft,13.85350318,7.961783439, 8000 psi,,, +powerflow.pole_configuration,SYP-60/1,,,,,,,,,,,,WOOD,,,,,,,,,,,,60 ft, 8 ft,15.2866242,8.598726115, 8000 psi,,, +powerflow.pole_configuration,SYP-70/H-2,,,,,,,,,,,,WOOD,,,,,,,,,,,,70 ft, 9 ft,18.15286624,9.872611465, 8000 psi,,, +powerflow.pole_configuration,SYP-80/H-2,,,,,,,,,,,,WOOD,70,40,70,70,1.75,70,70,70,70,0.75,1, 80 ft, 10 ft ,19.10828025,9.872611465, 8000 psi,50,, +powerflow.pole_configuration,SYP-90/H-2,,,,,,,,,,,,WOOD,,,,,,,,,,,,90 ft, 11 ft,20.06369427,9.872611465, 8000 psi,,, +powerflow.pole_configuration,SYP-100/H-2,,,,,,,,,,,,WOOD,,,,,,,,,,,,100 ft, 12 ft,20.85987261,9.872611465, 8000 psi,,, +powerflow.pole_configuration,SYP-110/H-3,,,,,,,,,,,,WOOD,,,,,,,,,,,,110 ft, 13 ft,22.77070064,10.50955414, 8000 psi,,, +powerflow.pole_configuration,SYP-120/H-4,,,,,,,,,,,,WOOD,,,,,,,,,,,,120 ft, 14 ft,24.68152866,11.14649682, 8000 psi,,, \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/pole_data.glm b/US/CA/SLAC/anticipation/pole_data.glm new file mode 100644 index 00000000..3df8c56a --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_data.glm @@ -0,0 +1,318 @@ +// /usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/share/gridlabd/csv-table2glm-object.py pole_data.csv pole_data.glm {} +object powerflow.pole { + name "pole1"; + tilt_angle 5; + tilt_direction 270; + configuration "WOOD-C-45/5"; + install_year 1990; + repair_time 1 h; + latitude 37.4275; + longitude 122.1697; + configuration "WOOD-C-45/5"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole2"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "WOOD-C-45/5"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "WOOD-C-45/5"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole3"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-20/3"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-20/3"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole4"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-25/3"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-25/3"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole5"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-50/3"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-50/3"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole6"; + tilt_angle 1 rad; + tilt_direction 0; + configuration "SYP-35/5"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-35/5"; + wind_speed 0; + //flags " VERBOSE"; +} +object powerflow.pole { + name "pole7"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-80/H-2"; + equipment_moment_nowind 100; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-80/H-2"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole8"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-90/H-2"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-90/H-2"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole9"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-100/H-2"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-100/H-2"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole10"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-110/H-3"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-110/H-3"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole { + name "pole11"; + tilt_angle 8 deg; + tilt_direction 270; + configuration "SYP-120/H-4"; + install_year 2000; + repair_time 8 h; + latitude 37.127; + longitude 122.1646; + configuration "SYP-120/H-4"; + wind_speed 0; + //flags " NONE"; +} +object powerflow.pole_configuration { + name "WOOD-C-45/5"; + pole_type "WOOD"; + pole_length 45 ft; + pole_depth 4.5 ft; + ground_diameter 10.35031847; + top_diameter 6.050955414; + fiber_strength 8000 psi; + repair_time 1 h; +} +object powerflow.pole_configuration { + name "WOOD2"; + pole_type "WOOD"; + pole_length 60 ft; + pole_depth 4.5 ft; + ground_diameter 10.35031847; + top_diameter 6.050955414; + fiber_strength 8000 psi; + repair_time 3 h; +} +object powerflow.pole_configuration { + name "SYP-20/3"; + pole_type "WOOD"; + pole_length 20 ft; + pole_depth " 5.5 ft"; + ground_diameter 8.598726115; + top_diameter 7.324840764; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-25/3"; + pole_type "WOOD"; + pole_length 25 ft ; + pole_depth " 5.5 ft"; + ground_diameter 9.394904459; + top_diameter 7.324840764; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-30/5"; + pole_type "WOOD"; + pole_length 30 ft; + pole_depth " 5.5 ft"; + ground_diameter 8.757961783; + top_diameter 6.050955414; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-35/5"; + pole_type "WOOD"; + overload_factor_transverse_general 1.75; + strength_factor_250b_wood 0.75; + strength_factor_250b_support 1; + pole_length 35 ft; + pole_depth " 5.5 ft"; + ground_diameter 9.23566879; + top_diameter 6.050955414; + fiber_strength " 8000 psi"; + repair_time 50; +} +object powerflow.pole_configuration { + name "SYP-40/3"; + pole_type "WOOD"; + pole_length 40 ft; + pole_depth " 6 ft"; + ground_diameter 11.46496815; + top_diameter 7.324840764; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-45/4"; + pole_type "WOOD"; + pole_length 45 ft; + pole_depth " 6.5 ft"; + ground_diameter 11.14649682; + top_diameter 6.687898089; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-50/3"; + pole_type "WOOD"; + overload_factor_transverse_general 1.75; + strength_factor_250b_wood 0.75; + pole_length 50 ft; + pole_depth " 7 ft"; + ground_diameter 12.42038217; + top_diameter 7.324840764; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-55/2"; + pole_type "WOOD"; + pole_length 55 ft; + pole_depth " 7.5 ft"; + ground_diameter 13.85350318; + top_diameter 7.961783439; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-60/1"; + pole_type "WOOD"; + pole_length 60 ft; + pole_depth " 8 ft"; + ground_diameter 15.2866242; + top_diameter 8.598726115; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-70/H-2"; + pole_type "WOOD"; + pole_length 70 ft; + pole_depth " 9 ft"; + ground_diameter 18.15286624; + top_diameter 9.872611465; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-80/H-2"; + pole_type "WOOD"; + design_ice_thickness 70; + design_wind_loading 40; + design_temperature 70; + overload_factor_vertical 70; + overload_factor_transverse_general 1.75; + overload_factor_transverse_crossing 70; + overload_factor_transverse_wire 70; + overload_factor_longitudinal_general 70; + overload_factor_longitudinal_deadend 70; + strength_factor_250b_wood 0.75; + strength_factor_250b_support 1; + pole_length " 80 ft"; + pole_depth " 10 ft "; + ground_diameter 19.10828025; + top_diameter 9.872611465; + fiber_strength " 8000 psi"; + repair_time 50; +} +object powerflow.pole_configuration { + name "SYP-90/H-2"; + pole_type "WOOD"; + pole_length 90 ft; + pole_depth " 11 ft"; + ground_diameter 20.06369427; + top_diameter 9.872611465; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-100/H-2"; + pole_type "WOOD"; + pole_length 100 ft; + pole_depth " 12 ft"; + ground_diameter 20.85987261; + top_diameter 9.872611465; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-110/H-3"; + pole_type "WOOD"; + pole_length 110 ft; + pole_depth " 13 ft"; + ground_diameter 22.77070064; + top_diameter 10.50955414; + fiber_strength " 8000 psi"; +} +object powerflow.pole_configuration { + name "SYP-120/H-4"; + pole_type "WOOD"; + pole_length 120 ft; + pole_depth " 14 ft"; + ground_diameter 24.68152866; + top_diameter 11.14649682; + fiber_strength " 8000 psi"; +} diff --git a/US/CA/SLAC/anticipation/pole_outputs.csv b/US/CA/SLAC/anticipation/pole_outputs.csv deleted file mode 100644 index 58247c65..00000000 --- a/US/CA/SLAC/anticipation/pole_outputs.csv +++ /dev/null @@ -1,11 +0,0 @@ -# file...... pole_outputs.csv -# date...... Wed Aug 11 01:49:02 2021 -# user...... (null) -# host...... (null) -# target.... pole 22 -# trigger... (none) -# interval.. -1 -# limit..... 0 -# timestamp,equipment_moment_nowind,equipment_moment,pole_moment_nowind,pole_moment,wire_tension,tilt_angle,total_moment,resisting_moment,critical_wind_speed,pole_stress -2021-06-27 17:00:00 PDT,+0,+0,+451.331,+0,+0,+57.2958,+0,+38692.6,+0,+0 -# end of tape From 0fa05a612682f7f26e7367ce46ec51594e7ed880 Mon Sep 17 00:00:00 2001 From: "David P. Chassin" Date: Wed, 22 Sep 2021 12:13:33 -0700 Subject: [PATCH 39/82] Update .index --- US/CA/SLAC/.index | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/US/CA/SLAC/.index b/US/CA/SLAC/.index index 36c2089d..48ee7787 100644 --- a/US/CA/SLAC/.index +++ b/US/CA/SLAC/.index @@ -1 +1,2 @@ -anticipation ica_analysis \ No newline at end of file +anticipation +ica_analysis From fb8dad74e69a87200976b38a6bdd95e6477fb528 Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Fri, 29 Oct 2021 12:40:40 -0700 Subject: [PATCH 40/82] Removing intermediate files --- US/CA/SLAC/anticipation/Sample_Output.glm | 472 - US/CA/SLAC/anticipation/anticipation.py | 16 +- US/CA/SLAC/anticipation/gridlabd.json | 11152 ---------------- US/CA/SLAC/anticipation/pole_data.glm | 318 - .../SLAC/anticipation/pole_data/pole_data.csv | 30 + .../SLAC/anticipation/pole_library_config.glm | 174 - .../pole_vulnerability_config.glm | 145 - 7 files changed, 38 insertions(+), 12269 deletions(-) delete mode 100644 US/CA/SLAC/anticipation/Sample_Output.glm delete mode 100644 US/CA/SLAC/anticipation/gridlabd.json delete mode 100644 US/CA/SLAC/anticipation/pole_data.glm create mode 100644 US/CA/SLAC/anticipation/pole_data/pole_data.csv delete mode 100644 US/CA/SLAC/anticipation/pole_library_config.glm delete mode 100644 US/CA/SLAC/anticipation/pole_vulnerability_config.glm diff --git a/US/CA/SLAC/anticipation/Sample_Output.glm b/US/CA/SLAC/anticipation/Sample_Output.glm deleted file mode 100644 index 7816db55..00000000 --- a/US/CA/SLAC/anticipation/Sample_Output.glm +++ /dev/null @@ -1,472 +0,0 @@ -// /usr/local/opt/gridlabd/4.2.27-210827-develop_add_weather_metar/share/gridlabd/csv-table2glm-object.py Sample_Output.csv Sample_Output.glm {} -object powerflow.pole_configuration { - pole_length 75.5 ft; - pole_depth 9.5 ft; - ground_diameter 23.87 in; - fiber_strength 6000.5 psi; - name "test_name"; -} -object powerflow.pole { - name "pole_1"; - tilt_angle 12 deg; - tilt_direction 0 deg; - latitude 30.0; - longitude "-70.0"; - configuration "test_name"; -} -object powerflow.pole_mount { - name "pole_mount_0"; - id "Insulator_7"; - height 64.0 ft; - direction 0 deg; - type "Bracket"; - related "Wire_1,Wire_15"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_1"; - id "Wire_15"; - height 63.92 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_2"; - id "Wire_1"; - height 63.92 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_3"; - id "Insulator_8"; - height 59.0 ft; - direction 0 deg; - type "Bracket"; - related "Wire_2,Wire_16"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_4"; - id "Wire_16"; - height 58.92 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_5"; - id "Wire_2"; - height 58.92 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_6"; - id "Insulator_9"; - height 54.0 ft; - direction 0 deg; - type "Bracket"; - related "Wire_3,Wire_17"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_7"; - id "Wire_17"; - height 53.92 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_8"; - id "Wire_3"; - height 53.92 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_9"; - id "Wire_26"; - height 41.25 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_10"; - id "Wire_11"; - height 41.25 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_11"; - id "Wire_25"; - height 41.25 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_12"; - id "Wire_10"; - height 41.25 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_13"; - id "Wire_24"; - height 41.25 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_14"; - id "Wire_9"; - height 41.25 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_15"; - id "Wire_23"; - height 41.25 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_16"; - id "Wire_8"; - height 41.25 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_17"; - id "CrossArm_1"; - height 40.5 ft; - direction 180 deg; - offset 5.0 ft; - related "Insulator_1,Insulator_2,Insulator_3,Insulator_4"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_18"; - id "Equip_2"; - height 40.5 ft; - direction 180 deg; - type "Cutout_Arrestor"; - related "nan"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_19"; - id "Insulator_4"; - height 40.5 ft; - direction 180 deg; - offset 9.67 ft; - type "Pin"; - related "Wire_11,Wire_26"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_20"; - id "Insulator_3"; - height 40.5 ft; - direction 180 deg; - offset 6.67 ft; - type "Pin"; - related "Wire_10,Wire_25"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_21"; - id "Insulator_2"; - height 40.5 ft; - direction 180 deg; - offset 3.33 ft; - type "Pin"; - related "Wire_9,Wire_24"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_22"; - id "Insulator_1"; - height 40.5 ft; - direction 180 deg; - offset 0.33 ft; - type "Pin"; - related "Wire_8,Wire_23"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_23"; - id "Equip_3"; - height 37.5 ft; - direction 90 deg; - type "Transformer"; - related "nan"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_24"; - id "Insulator_15"; - height 33.0 ft; - direction 90 deg; - type "Clamp"; - related "Wire_12"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_25"; - id "Insulator_10"; - height 33.0 ft; - direction 0 deg; - type "Clamp"; - related "Wire_18"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_26"; - id "Wire_12"; - height 33.0 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_27"; - id "Wire_18"; - height 33.0 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_28"; - id "Equip_1"; - height 27.0 ft; - direction 0 deg; - type "Street_Light"; - related "nan"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_29"; - id "Wire_28"; - height 26.17 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_30"; - id "Wire_14"; - height 26.17 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_31"; - id "Wire_27"; - height 26.17 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_32"; - id "Wire_13"; - height 26.17 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_33"; - id "CrossArm_2"; - height 26.0 ft; - direction 180 deg; - offset 5.0 ft; - related "Insulator_5,Insulator_6"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_34"; - id "Insulator_6"; - height 26.0 ft; - direction 180 deg; - offset 0.33 ft; - type "Clamp"; - related "Wire_14,Wire_28"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_35"; - id "Insulator_5"; - height 26.0 ft; - direction 180 deg; - offset 9.67 ft; - type "Clamp"; - related "Wire_13,Wire_27"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_36"; - id "Insulator_11"; - height 25.0 ft; - direction 0 deg; - type "Clamp"; - related "Wire_4,Wire_19"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_37"; - id "Wire_19"; - height 25.0 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_38"; - id "Wire_4"; - height 25.0 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_39"; - id "Insulator_12"; - height 24.0 ft; - direction 0 deg; - type "Clamp"; - related "Wire_5,Wire_20"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_40"; - id "Wire_20"; - height 24.0 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_41"; - id "Wire_5"; - height 24.0 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_42"; - id "Insulator_13"; - height 23.0 ft; - direction 0 deg; - type "Clamp"; - related "Wire_6,Wire_21"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_43"; - id "Wire_21"; - height 23.0 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_44"; - id "Wire_6"; - height 23.0 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_45"; - id "Insulator_14"; - height 21.5 ft; - direction 0 deg; - type "Clamp"; - related "Wire_7,Wire_22"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_46"; - id "Wire_22"; - height 21.5 ft; - direction 270 deg; - type "Light_Full_(Tension)"; - related "WEP_2"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_47"; - id "Wire_7"; - height 21.5 ft; - direction 90 deg; - type "Light_Full_(Tension)"; - related "WEP_1"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_48"; - id "WEP_2"; - direction 270 deg; - offset 204.0 ft; - type "Previous_Pole"; - related "nan"; - parent "pole_1"; -} -object powerflow.pole_mount { - name "pole_mount_49"; - id "WEP_1"; - direction 90 deg; - offset 180.0 ft; - type "Next_Pole"; - related "nan"; - parent "pole_1"; -} diff --git a/US/CA/SLAC/anticipation/anticipation.py b/US/CA/SLAC/anticipation/anticipation.py index feb9e009..84db2585 100644 --- a/US/CA/SLAC/anticipation/anticipation.py +++ b/US/CA/SLAC/anticipation/anticipation.py @@ -1,14 +1,14 @@ import gridlabd def on_init(t): # ATTACH THE POLES TO LINE OBJECTS BASED ON LAT / LONG - model_objects = gridlabd.get("objects") - pole_objects = [] - pole_coordinates = {} - for model_object in model_objects : - if "pole" == gridlabd.get_value(model_object, "class") or "powerflow.pole" == gridlabd.get_value(model_object, "class"): - pole_objects.append(model_object) - pole_coordinates[model_object]={"latitude" : gridlabd.get_value(model_object, "latitude"), "longitude" : gridlabd.get_value(model_object, "latitude") } - print(pole_coordinates) + # model_objects = gridlabd.get("objects") + # pole_objects = [] + # pole_coordinates = {} + # for model_object in model_objects : + # if "pole" == gridlabd.get_value(model_object, "class") or "powerflow.pole" == gridlabd.get_value(model_object, "class"): + # pole_objects.append(model_object) + # pole_coordinates[model_object]={"latitude" : gridlabd.get_value(model_object, "latitude"), "longitude" : gridlabd.get_value(model_object, "latitude") } + # print(pole_coordinates) # for pole in pole_objects : # gridlabd.get_value("") # print(pole_objects) diff --git a/US/CA/SLAC/anticipation/gridlabd.json b/US/CA/SLAC/anticipation/gridlabd.json deleted file mode 100644 index 897153df..00000000 --- a/US/CA/SLAC/anticipation/gridlabd.json +++ /dev/null @@ -1,11152 +0,0 @@ -{ "application": "gridlabd", - "version" : "4.2.27", - "modules" : { - "powerflow" : { - "major" : "4", - "minor" : "2" - }, - "climate" : { - "major" : "4", - "minor" : "2" - }, - "tape" : { - "major" : "4", - "minor" : "2" - }, - "anticipation" : { - "major" : "4", - "minor" : "2" - } - }, - "types" : { - "double" : { - "xsdtype" : "decimal", - "default" : "0.0", - "memsize" : "8", - "strsize" : "24", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "complex" : { - "xsdtype" : "string", - "default" : "0+0i", - "memsize" : "24", - "strsize" : "48", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "enumeration" : { - "xsdtype" : "string", - "default" : "0", - "memsize" : "4", - "strsize" : "1024", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "set" : { - "xsdtype" : "string", - "default" : "0", - "memsize" : "8", - "strsize" : "1024", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "int16" : { - "xsdtype" : "integer", - "default" : "0", - "memsize" : "2", - "strsize" : "6", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "int32" : { - "xsdtype" : "integer", - "default" : "0", - "memsize" : "4", - "strsize" : "12", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "int64" : { - "xsdtype" : "integer", - "default" : "0", - "memsize" : "8", - "strsize" : "24", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "char8" : { - "xsdtype" : "string", - "default" : "", - "memsize" : "9", - "strsize" : "8", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "char32" : { - "xsdtype" : "string", - "default" : "", - "memsize" : "33", - "strsize" : "32", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "char256" : { - "xsdtype" : "string", - "default" : "", - "memsize" : "257", - "strsize" : "256", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "char1024" : { - "xsdtype" : "string", - "default" : "", - "memsize" : "1025", - "strsize" : "1024", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "object" : { - "xsdtype" : "string", - "memsize" : "8", - "strsize" : "64", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "!=" : {"nargs": "2"} - } - }, - "delegated" : { - "xsdtype" : "string", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - } - }, - "bool" : { - "xsdtype" : "string", - "default" : "FALSE", - "memsize" : "1", - "strsize" : "6", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "!=" : {"nargs": "2"} - } - }, - "timestamp" : { - "xsdtype" : "string", - "default" : "0", - "memsize" : "8", - "strsize" : "32", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "double_array" : { - "xsdtype" : "string", - "default" : "", - "memsize" : "56", - "strsize" : "1024", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "True", - "has_stream" : "False", - "compareops" : { - } - }, - "complex_array" : { - "xsdtype" : "string", - "default" : "", - "memsize" : "40", - "strsize" : "1024", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "True", - "has_stream" : "False", - "compareops" : { - } - }, - "real" : { - "xsdtype" : "decimal", - "default" : "0.0", - "memsize" : "8", - "strsize" : "24", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - } - }, - "float" : { - "xsdtype" : "decimal", - "default" : "0.0", - "memsize" : "4", - "strsize" : "24", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - } - }, - "loadshape" : { - "xsdtype" : "string", - "memsize" : "208", - "strsize" : "1024", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "True", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "enduse" : { - "xsdtype" : "string", - "memsize" : "720", - "strsize" : "1024", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "True", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "randomvar" : { - "xsdtype" : "string", - "memsize" : "72", - "strsize" : "24", - "has_tostr" : "True", - "has_fromstr" : "True", - "has_create" : "True", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "method" : { - "xsdtype" : "string", - "has_create" : "False", - "has_stream" : "False", - "compareops" : { - } - }, - "string" : { - "xsdtype" : "string", - "default" : "", - "memsize" : "8", - "has_create" : "True", - "has_stream" : "False", - "compareops" : { - "==" : {"nargs": "2"}, - "<=" : {"nargs": "2"}, - ">=" : {"nargs": "2"}, - "!=" : {"nargs": "2"}, - "<" : {"nargs": "2"}, - ">" : {"nargs": "2"}, - "inside" : {"nargs": "3"}, - "outside" : {"nargs": "3"} - } - }, - "python" : { - "xsdtype" : "string", - "default" : "None", - "memsize" : "8", - "has_create" : "True", - "has_stream" : "False", - "compareops" : { - } - } - }, - "header" : { - "id" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "class" : { - "type" : "string", - "access" : "PROTECTED" - }, - "groupid" : { - "type" : "char32", - "access" : "PROTECTED" - }, - "name" : { - "type" : "string", - "access" : "PROTECTED" - }, - "next" : { - "type" : "object", - "access" : "PROTECTED" - }, - "parent" : { - "type" : "object", - "access" : "PROTECTED" - }, - "child_count" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "rank" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "clock" : { - "type" : "timestamp", - "access" : "PROTECTED" - }, - "valid_to" : { - "type" : "timestamp", - "access" : "PROTECTED" - }, - "schedule_skew" : { - "type" : "int64", - "access" : "PROTECTED" - }, - "latitude" : { - "type" : "double", - "access" : "PROTECTED" - }, - "longitude" : { - "type" : "double", - "access" : "PROTECTED" - }, - "in_svc" : { - "type" : "timestamp", - "access" : "PROTECTED" - }, - "out_svc" : { - "type" : "timestamp", - "access" : "PROTECTED" - }, - "rng_state" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "heartbeat" : { - "type" : "int64", - "access" : "PROTECTED" - }, - "guid" : { - "type" : "int64", - "access" : "PROTECTED" - }, - "profiler.presync" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "profiler.sync" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "profiler.postsync" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "profiler.init" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "profiler.heartbeat" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "profiler.precommit" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "profiler.commit" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "profiler.finalize" : { - "type" : "int32", - "access" : "PROTECTED" - }, - "event.init" : { - "type" : "string", - "access" : "PROTECTED" - }, - "event.precommit" : { - "type" : "string", - "access" : "PROTECTED" - }, - "event.presync" : { - "type" : "string", - "access" : "PROTECTED" - }, - "event.sync" : { - "type" : "string", - "access" : "PROTECTED" - }, - "event.postsync" : { - "type" : "string", - "access" : "PROTECTED" - }, - "event.commit" : { - "type" : "string", - "access" : "PROTECTED" - }, - "event.finalize" : { - "type" : "string", - "access" : "PROTECTED" - }, - "flags" : { - "type" : "int64", - "access" : "PROTECTED" - } - }, - "classes" : { - "powerflow_object" : { - "object_size" : "32", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "phases" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "A" : "0x1", - "B" : "0x2", - "C" : "0x4", - "D" : "0x100", - "N" : "0x8", - "S" : "0x70", - "G" : "0x80" - }, - "flags" : "CHARSET|REQUIRED", - "description" : "phases to which this object is connected" - }, - "nominal_voltage" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "V", - "description" : "nominal voltage for this object" - }, - "violation_detected" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "NONE" : "0x0", - "CURRENT" : "0x1", - "VOLTAGE" : "0x2", - "POWER" : "0x4", - "THERMAL" : "0x8", - "CONTROL" : "0x10" - }, - "flags" : "OUTPUT", - "description" : "rating or limit violation flag" - } - }, - "powerflow_library" : { - "object_size" : "1", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0" - }, - "node" : { - "object_size" : "2856", - "parent" : "powerflow_object", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "bustype" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "SWING_PQ" : "0x3", - "SWING" : "0x2", - "PV" : "0x1", - "PQ" : "0x0" - }, - "default" : "PQ", - "description" : "defines whether the node is a PQ, PV, or SWING node" - }, - "busflags" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "ISSOURCE" : "0x2", - "HASSOURCE" : "0x1" - }, - "default" : "HASSOURCE", - "description" : "flag indicates node has a source for voltage, i.e. connects to the swing node" - }, - "reference_bus" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "reference bus from which frequency is defined" - }, - "maximum_voltage_error" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "convergence voltage limit or convergence criteria" - }, - "voltage_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "bus voltage, Phase A to ground" - }, - "voltage_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "bus voltage, Phase B to ground" - }, - "voltage_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "bus voltage, Phase C to ground" - }, - "voltage_AB" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "line voltages, Phase AB" - }, - "voltage_BC" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "line voltages, Phase BC" - }, - "voltage_CA" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "line voltages, Phase CA" - }, - "current_A" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current injection (in = positive), this an accumulator only, not a output or input variable" - }, - "current_B" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current injection (in = positive), this an accumulator only, not a output or input variable" - }, - "current_C" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_A" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_B" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_C" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power injection (in = positive), this an accumulator only, not a output or input variable" - }, - "shunt_A" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt admittance, this an accumulator only, not a output or input variable" - }, - "shunt_B" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt admittance, this an accumulator only, not a output or input variable" - }, - "shunt_C" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt admittance, this an accumulator only, not a output or input variable" - }, - "prerotated_current_A" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" - }, - "prerotated_current_B" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" - }, - "prerotated_current_C" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" - }, - "current_AB" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current delta-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "current_BC" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current delta-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "current_CA" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current delta-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "current_AN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current wye-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "current_BN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current wye-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "current_CN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "bus current wye-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_AB" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power delta-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_BC" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power delta-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_CA" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power delta-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_AN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power wye-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_BN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power wye-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "power_CN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "bus power wye-connected injection (in = positive), this an accumulator only, not a output or input variable" - }, - "shunt_AB" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt delta-connected admittance, this an accumulator only, not a output or input variable" - }, - "shunt_BC" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt delta-connected admittance, this an accumulator only, not a output or input variable" - }, - "shunt_CA" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt delta-connected admittance, this an accumulator only, not a output or input variable" - }, - "shunt_AN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt wye-connected admittance, this an accumulator only, not a output or input variable" - }, - "shunt_BN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt wye-connected admittance, this an accumulator only, not a output or input variable" - }, - "shunt_CN" : { - "type" : "complex", - "access" : "HIDDEN", - "flags" : "OUTPUT", - "unit" : "S", - "description" : "bus shunt wye-connected admittance, this an accumulator only, not a output or input variable" - }, - "mean_repair_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "default" : "0 s", - "description" : "Time after a fault clears for the object to be back in service" - }, - "frequency_measure_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "PLL" : "0x3", - "SIMPLE" : "0x2", - "NONE" : "0x1" - }, - "description" : "PLL frequency measurement" - }, - "sfm_Tf" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Transducer time constant for simplified frequency measurement (seconds)" - }, - "pll_Kp" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Proportional gain of PLL frequency measurement" - }, - "pll_Ki" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Integration gain of PLL frequency measurement" - }, - "measured_angle_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "rad", - "description" : "bus angle measurement, phase A" - }, - "measured_frequency_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "frequency measurement, phase A" - }, - "measured_angle_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "rad", - "description" : "bus angle measurement, phase B" - }, - "measured_frequency_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "frequency measurement, phase B" - }, - "measured_angle_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "rad", - "description" : "bus angle measurement, phase C" - }, - "measured_frequency_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "frequency measurement, phase C" - }, - "measured_frequency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "frequency measurement - average of present phases" - }, - "service_status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "OUT_OF_SERVICE" : "0x0", - "IN_SERVICE" : "0x1" - }, - "description" : "In and out of service flag" - }, - "service_status_double" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "In and out of service flag - type double - will indiscriminately override service_status - useful for schedules" - }, - "previous_uptime" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "min", - "description" : "Previous time between disconnects of node in minutes" - }, - "current_uptime" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "min", - "description" : "Current time since last disconnect of node in minutes" - }, - "Norton_dynamic" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Flag to indicate a Norton-equivalent connection -- used for generators and deltamode" - }, - "generator_dynamic" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Flag to indicate a voltage-sourcing or swing-type generator is present -- used for generators and deltamode" - }, - "GFA_enable" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Disable/Enable Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_freq_low_trip" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Low frequency trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_freq_high_trip" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "High frequency trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_volt_low_trip" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Low voltage trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_volt_high_trip" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "High voltage trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_reconnect_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Reconnect time for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_freq_disconnect_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Frequency violation disconnect time for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_volt_disconnect_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Voltage violation disconnect time for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_status" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Low frequency trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_trip_method" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "OVER_VOLTAGE" : "0x4", - "UNDER_VOLTAGE" : "0x3", - "OVER_FREQUENCY" : "0x2", - "UNDER_FREQUENCY" : "0x1", - "NONE" : "0x0" - }, - "description" : "GFA trip for over-voltage" - }, - "topological_parent" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "topological parent as per GLM configuration" - } - }, - "link" : { - "object_size" : "3072", - "parent" : "powerflow_object", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "OPEN" : "0x0", - "CLOSED" : "0x1" - }, - "default" : "CLOSED", - "description" : "" - }, - "from" : { - "type" : "object", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "from_node - source node" - }, - "to" : { - "type" : "object", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "to_node - load node" - }, - "power_in" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power flow in (w.r.t from node)" - }, - "power_out" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power flow out (w.r.t to node)" - }, - "power_out_real" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W", - "description" : "power flow out (w.r.t to node), real" - }, - "power_losses" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power losses" - }, - "power_in_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power flow in (w.r.t from node), phase A" - }, - "power_in_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power flow in (w.r.t from node), phase B" - }, - "power_in_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power flow in (w.r.t from node), phase C" - }, - "power_out_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power flow out (w.r.t to node), phase A" - }, - "power_out_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power flow out (w.r.t to node), phase B" - }, - "power_out_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power flow out (w.r.t to node), phase C" - }, - "power_losses_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power losses, phase A" - }, - "power_losses_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power losses, phase B" - }, - "power_losses_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power losses, phase C" - }, - "current_out_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "current flow out of link (w.r.t. to node), phase A" - }, - "current_out_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "current flow out of link (w.r.t. to node), phase B" - }, - "current_out_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "current flow out of link (w.r.t. to node), phase C" - }, - "current_in_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "current flow to link (w.r.t from node), phase A" - }, - "current_in_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "current flow to link (w.r.t from node), phase B" - }, - "current_in_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "current flow to link (w.r.t from node), phase C" - }, - "fault_current_in_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "fault current flowing in, phase A" - }, - "fault_current_in_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "fault current flowing in, phase B" - }, - "fault_current_in_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "fault current flowing in, phase C" - }, - "fault_current_out_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "fault current flowing out, phase A" - }, - "fault_current_out_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "fault current flowing out, phase B" - }, - "fault_current_out_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "fault current flowing out, phase C" - }, - "fault_voltage_A" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "fault voltage, phase A" - }, - "fault_voltage_B" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "fault voltage, phase B" - }, - "fault_voltage_C" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "fault voltage, phase C" - }, - "flow_direction" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "CN" : "0x300", - "CR" : "0x200", - "CF" : "0x100", - "BN" : "0x30", - "BR" : "0x20", - "BF" : "0x10", - "AN" : "0x3", - "AR" : "0x2", - "AF" : "0x1", - "UNKNOWN" : "0x0" - }, - "flags" : "OUTPUT", - "description" : "flag used for describing direction of the flow of power" - }, - "mean_repair_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Time after a fault clears for the object to be back in service" - }, - "continuous_rating" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "Continuous rating for this link object (set individual line segments" - }, - "emergency_rating" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "Emergency rating for this link object (set individual line segments" - }, - "inrush_convergence_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "description" : "Tolerance, as change in line voltage drop between iterations, for deltamode in-rush completion" - } - }, - "capacitor" : { - "object_size" : "3320", - "parent" : "node", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "pt_phase" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "N" : "0x8", - "D" : "0x100", - "C" : "0x4", - "B" : "0x2", - "A" : "0x1" - }, - "flags" : "CHARSET", - "description" : "Phase(s) that the PT is on, used as measurement points for control" - }, - "phases_connected" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "N" : "0x8", - "D" : "0x100", - "C" : "0x4", - "B" : "0x2", - "A" : "0x1" - }, - "flags" : "CHARSET", - "description" : "phases capacitor is connected to" - }, - "switchA" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CLOSED" : "0x1", - "OPEN" : "0x0" - }, - "default" : "OPEN", - "description" : "capacitor A switch open or close" - }, - "switchB" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CLOSED" : "0x1", - "OPEN" : "0x0" - }, - "default" : "OPEN", - "description" : "capacitor B switch open or close" - }, - "switchC" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CLOSED" : "0x1", - "OPEN" : "0x0" - }, - "default" : "OPEN", - "description" : "capacitor C switch open or close" - }, - "control" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CURRENT" : "0x4", - "VARVOLT" : "0x3", - "VOLT" : "0x2", - "VAR" : "0x1", - "MANUAL" : "0x0" - }, - "default" : "MANUAL", - "description" : "control operation strategy" - }, - "cap_A_switch_count" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "default" : "-1", - "description" : "number of switch operations on Phase A" - }, - "cap_B_switch_count" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "default" : "-1", - "description" : "number of switch operations on Phase B" - }, - "cap_C_switch_count" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "default" : "-1", - "description" : "number of switch operations on Phase C" - }, - "voltage_set_high" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "description" : "Turn off if voltage is above this set point" - }, - "voltage_set_low" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "description" : "Turns on if voltage is below this set point" - }, - "VAr_set_high" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "high VAR set point for VAR control (turn off)" - }, - "VAr_set_low" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "low VAR set point for VAR control (turn on)" - }, - "current_set_low" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "high current set point for current control mode (turn on)" - }, - "current_set_high" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "low current set point for current control mode (turn off)" - }, - "capacitor_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "Capacitance value for phase A or phase AB" - }, - "capacitor_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "Capacitance value for phase B or phase BC" - }, - "capacitor_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "Capacitance value for phase C or phase CA" - }, - "cap_nominal_voltage" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "description" : "Nominal voltage for the capacitor. Used for calculation of capacitance value" - }, - "time_delay" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "control time delay" - }, - "dwell_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Time for system to remain constant before a state change will be passed" - }, - "lockout_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Time for capacitor to remain locked out from further switching operations (VARVOLT control)" - }, - "remote_sense" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Remote object for sensing values used for control schemes" - }, - "remote_sense_B" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Secondary Remote object for sensing values used for control schemes (VARVOLT uses two)" - }, - "control_level" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "INDIVIDUAL" : "0x1", - "BANK" : "0x0" - }, - "default" : "INDIVIDUAL", - "description" : "define bank or individual control" - } - }, - "fuse" : { - "object_size" : "3200", - "parent" : "link", - "trl" : "8", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "phase_A_status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "GOOD" : "0x1", - "BLOWN" : "0x0" - }, - "default" : "GOOD" - }, - "phase_B_status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "GOOD" : "0x1", - "BLOWN" : "0x0" - }, - "default" : "GOOD" - }, - "phase_C_status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "GOOD" : "0x1", - "BLOWN" : "0x0" - }, - "default" : "GOOD" - }, - "repair_dist_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "EXPONENTIAL" : "0x1", - "NONE" : "0x0" - }, - "default" : "NONE" - }, - "current_limit" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "9999 A" - }, - "mean_replacement_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s" - }, - "fuse_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "-1 Ohm", - "description" : "The resistance value of the fuse when it is not blown." - } - }, - "meter" : { - "object_size" : "4256", - "parent" : "node", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "measured_real_energy" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "Wh", - "description" : "metered real energy consumption, cummalitive" - }, - "measured_real_energy_delta" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "Wh", - "description" : "delta in metered real energy consumption from last specified measured_energy_delta_timestep" - }, - "measured_reactive_energy" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VAh", - "description" : "metered reactive energy consumption, cummalitive" - }, - "measured_reactive_energy_delta" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VAh", - "description" : "delta in metered reactive energy consumption from last specified measured_energy_delta_timestep" - }, - "measured_energy_delta_timestep" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "s", - "description" : "Period of timestep for real and reactive delta energy calculation" - }, - "measured_power" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "metered complex power" - }, - "measured_power_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "metered complex power on phase A" - }, - "measured_power_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "metered complex power on phase B" - }, - "measured_power_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "metered complex power on phase C" - }, - "measured_demand" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W", - "description" : "greatest metered real power during simulation" - }, - "measured_real_power" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W", - "description" : "metered real power" - }, - "measured_reactive_power" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VAr", - "description" : "metered reactive power" - }, - "meter_power_consumption" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "metered power used for operating the meter; standby and communication losses" - }, - "measured_voltage_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "measured line-to-neutral voltage on phase A" - }, - "measured_voltage_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "measured line-to-neutral voltage on phase B" - }, - "measured_voltage_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "measured line-to-neutral voltage on phase C" - }, - "measured_voltage_AB" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "measured line-to-line voltage on phase AB" - }, - "measured_voltage_BC" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "measured line-to-line voltage on phase BC" - }, - "measured_voltage_CA" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "measured line-to-line voltage on phase CA" - }, - "measured_real_max_voltage_in_interval_A" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real max line-to-neutral voltage on phase A over a specified interval" - }, - "measured_real_max_voltage_in_interval_B" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real max line-to-neutral voltage on phase B over a specified interval" - }, - "measured_real_max_voltage_in_interval_C" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real max line-to-neutral voltage on phase C over a specified interval" - }, - "measured_reactive_max_voltage_in_interval_A" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive max line-to-neutral voltage on phase A over a specified interval" - }, - "measured_reactive_max_voltage_in_interval_B" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive max line-to-neutral voltage on phase B over a specified interval" - }, - "measured_reactive_max_voltage_in_interval_C" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive max line-to-neutral voltage on phase C over a specified interval" - }, - "measured_real_max_voltage_in_interval_AB" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real max line-to-line voltage on phase A over a specified interval" - }, - "measured_real_max_voltage_in_interval_BC" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real max line-to-line voltage on phase B over a specified interval" - }, - "measured_real_max_voltage_in_interval_CA" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real max line-to-line voltage on phase C over a specified interval" - }, - "measured_reactive_max_voltage_in_interval_AB" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive max line-to-line voltage on phase A over a specified interval" - }, - "measured_reactive_max_voltage_in_interval_BC" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive max line-to-line voltage on phase B over a specified interval" - }, - "measured_reactive_max_voltage_in_interval_CA" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive max line-to-line voltage on phase C over a specified interval" - }, - "measured_real_min_voltage_in_interval_A" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real min line-to-neutral voltage on phase A over a specified interval" - }, - "measured_real_min_voltage_in_interval_B" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real min line-to-neutral voltage on phase B over a specified interval" - }, - "measured_real_min_voltage_in_interval_C" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real min line-to-neutral voltage on phase C over a specified interval" - }, - "measured_reactive_min_voltage_in_interval_A" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive min line-to-neutral voltage on phase A over a specified interval" - }, - "measured_reactive_min_voltage_in_interval_B" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive min line-to-neutral voltage on phase B over a specified interval" - }, - "measured_reactive_min_voltage_in_interval_C" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive min line-to-neutral voltage on phase C over a specified interval" - }, - "measured_real_min_voltage_in_interval_AB" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real min line-to-line voltage on phase A over a specified interval" - }, - "measured_real_min_voltage_in_interval_BC" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real min line-to-line voltage on phase B over a specified interval" - }, - "measured_real_min_voltage_in_interval_CA" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured real min line-to-line voltage on phase C over a specified interval" - }, - "measured_reactive_min_voltage_in_interval_AB" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive min line-to-line voltage on phase A over a specified interval" - }, - "measured_reactive_min_voltage_in_interval_BC" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive min line-to-line voltage on phase B over a specified interval" - }, - "measured_reactive_min_voltage_in_interval_CA" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured reactive min line-to-line voltage on phase C over a specified interval" - }, - "measured_avg_voltage_mag_in_interval_A" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured avg line-to-neutral voltage magnitude on phase A over a specified interval" - }, - "measured_avg_voltage_mag_in_interval_B" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured avg line-to-neutral voltage magnitude on phase B over a specified interval" - }, - "measured_avg_voltage_mag_in_interval_C" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured avg line-to-neutral voltage magnitude on phase C over a specified interval" - }, - "measured_avg_voltage_mag_in_interval_AB" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured avg line-to-line voltage magnitude on phase A over a specified interval" - }, - "measured_avg_voltage_mag_in_interval_BC" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured avg line-to-line voltage magnitude on phase B over a specified interval" - }, - "measured_avg_voltage_mag_in_interval_CA" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "measured avg line-to-line voltage magnitude on phase C over a specified interval" - }, - "measured_current_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "measured current on phase A" - }, - "measured_current_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "measured current on phase B" - }, - "measured_current_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "measured current on phase C" - }, - "customer_interrupted" : { - "type" : "bool", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "Reliability flag - goes active if the customer is in an 'interrupted' state" - }, - "customer_interrupted_secondary" : { - "type" : "bool", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "Reliability flag - goes active if the customer is in an 'secondary interrupted' state - i.e., momentary" - }, - "monthly_bill" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "$", - "description" : "Accumulator for the current month's bill" - }, - "previous_monthly_bill" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "$", - "description" : "Total monthly bill for the previous month" - }, - "previous_monthly_energy" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "kWh", - "description" : "Total monthly energy for the previous month" - }, - "monthly_fee" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "$", - "description" : "Once a month flat fee for customer hook-up" - }, - "monthly_energy" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "kWh", - "description" : "Accumulator for the current month's energy consumption" - }, - "bill_mode" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "TIERED_RTP" : "0x4", - "HOURLY" : "0x3", - "TIERED" : "0x2", - "UNIFORM" : "0x1", - "NONE" : "0x0" - }, - "default" : "NONE", - "description" : "Billing structure desired" - }, - "power_market" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Market (auction object) where the price is being received from" - }, - "bill_day" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "15", - "description" : "day of month bill is to be processed (currently limited to days 1-28)" - }, - "price" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "current price of electricity" - }, - "price_base" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "Used only in TIERED_RTP mode to describe the price before the first tier" - }, - "first_tier_price" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "price of electricity between first tier and second tier energy usage" - }, - "first_tier_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh", - "description" : "switching point between base price and first tier price" - }, - "second_tier_price" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "price of electricity between second tier and third tier energy usage" - }, - "second_tier_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh", - "description" : "switching point between first tier price and second tier price" - }, - "third_tier_price" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "price of electricity when energy usage exceeds third tier energy usage" - }, - "third_tier_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh", - "description" : "switching point between second tier price and third tier price" - } - }, - "line" : { - "object_size" : "3088", - "parent" : "link", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "configuration" : { - "type" : "object", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "reference to library object that describes this line's configuration" - }, - "length" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "ft", - "description" : "length of this line" - } - }, - "line_sensor" : { - "object_size" : "568", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "measured_phase" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "C" : "0x4", - "B" : "0x2", - "A" : "0x1" - }, - "flags" : "REQUIRED", - "description" : "phase from which measurement is taken" - }, - "measured_voltage" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "voltage measurement (with noise)" - }, - "measured_current" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "current measurement (with noise)" - }, - "measured_power" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "power measurement (with noise)" - }, - "location" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "ft", - "description" : "sensor placement downline" - }, - "covariance" : { - "type" : "double_array", - "access" : "PUBLIC", - "description" : "sensor covariance matrix (components are [Vr Vi Ir Ii])" - } - }, - "line_spacing" : { - "object_size" : "80", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "distance_AB" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft" - }, - "distance_BC" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft" - }, - "distance_AC" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft" - }, - "distance_AN" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft" - }, - "distance_BN" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft" - }, - "distance_CN" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft" - }, - "distance_AE" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft", - "description" : "distance between phase A wire and earth" - }, - "distance_BE" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft", - "description" : "distance between phase B wire and earth" - }, - "distance_CE" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft", - "description" : "distance between phase C wire and earth" - }, - "distance_NE" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft", - "description" : "distance between neutral wire and earth" - } - }, - "overhead_line" : { - "object_size" : "3096", - "parent" : "line", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "ice_thickness" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in", - "description" : "thickness of ice build-up on lines" - } - }, - "underground_line" : { - "object_size" : "3088", - "parent" : "line", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0" - }, - "overhead_line_conductor" : { - "object_size" : "72", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "geometric_mean_radius" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "ft", - "description" : "radius of the conductor" - }, - "resistance" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "Ohm/mile", - "description" : "resistance in Ohms/mile of the conductor" - }, - "diameter" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "in", - "description" : "Diameter of line for capacitance calculations" - }, - "rating.summer.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "1000 A", - "description" : "Continuous summer amp rating" - }, - "rating.summer.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "2000 A", - "description" : "Emergency summer amp rating" - }, - "rating.winter.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "1000 A", - "description" : "Continuous winter amp rating" - }, - "rating.winter.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "2000 A", - "description" : "Emergency winter amp rating" - }, - "weight" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/ft", - "description" : "Cable weight per lineal foot" - }, - "strength" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb", - "description" : "Cable strength" - } - }, - "underground_line_conductor" : { - "object_size" : "136", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "outer_diameter" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "in", - "description" : "Outer diameter of conductor and sheath" - }, - "conductor_gmr" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "description" : "Geometric mean radius of the conductor" - }, - "conductor_diameter" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "in", - "description" : "Diameter of conductor" - }, - "conductor_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "description" : "Resistance of conductor in ohm/mile" - }, - "neutral_gmr" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "description" : "Geometric mean radius of an individual neutral conductor/strand" - }, - "neutral_diameter" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "in", - "description" : "Diameter of individual neutral conductor/strand of concentric neutral" - }, - "neutral_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "description" : "Resistance of an individual neutral conductor/strand in ohm/mile" - }, - "neutral_strands" : { - "type" : "int16", - "access" : "PUBLIC", - "description" : "Number of cable strands in neutral conductor" - }, - "shield_thickness" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in", - "description" : "The thickness of Tape shield in inches" - }, - "shield_diameter" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in", - "description" : "The outside diameter of Tape shield in inches" - }, - "insulation_relative_permitivitty" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "unit", - "default" : "1 unit", - "description" : "Permitivitty of insulation, relative to air" - }, - "shield_gmr" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "description" : "Geometric mean radius of shielding sheath" - }, - "shield_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "description" : "Resistance of shielding sheath in ohms/mile" - }, - "rating.summer.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "1000 A", - "description" : "amp rating in summer, continuous" - }, - "rating.summer.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "2000 A", - "description" : "amp rating in summer, short term" - }, - "rating.winter.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "1000 A", - "description" : "amp rating in winter, continuous" - }, - "rating.winter.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "2000 A", - "description" : "amp rating in winter, short term" - } - }, - "line_configuration" : { - "object_size" : "360", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "conductor_A" : { - "type" : "object", - "access" : "PUBLIC" - }, - "conductor_B" : { - "type" : "object", - "access" : "PUBLIC" - }, - "conductor_C" : { - "type" : "object", - "access" : "PUBLIC" - }, - "conductor_N" : { - "type" : "object", - "access" : "PUBLIC" - }, - "spacing" : { - "type" : "object", - "access" : "PUBLIC" - }, - "z11" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "z12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "z13" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "z21" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "z22" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "z23" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "z31" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "z32" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "z33" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "default" : "0+0j" - }, - "c11" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "c12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "c13" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "c21" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "c22" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "c23" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "c31" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "c32" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "c33" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "nF/mile", - "default" : "0 nF/mile" - }, - "rating.summer.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "1000 A", - "description" : "amp rating in summer, continuous" - }, - "rating.summer.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "2000 A", - "description" : "amp rating in summer, short term" - }, - "rating.winter.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "1000 A", - "description" : "amp rating in winter, continuous" - }, - "rating.winter.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "2000 A", - "description" : "amp rating in winter, short term" - } - }, - "transformer_configuration" : { - "object_size" : "296", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "connect_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "SINGLE_PHASE_CENTER_TAPPED" : "0x5", - "SINGLE_PHASE" : "0x4", - "DELTA_GWYE" : "0x3", - "DELTA_DELTA" : "0x2", - "WYE_WYE" : "0x1", - "UNKNOWN" : "0x0" - }, - "default" : "UNKNOWN", - "description" : "transformation connection type" - }, - "install_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "VAULT" : "0x3", - "PADMOUNT" : "0x2", - "POLETOP" : "0x1", - "UNKNOWN" : "0x0" - }, - "default" : "UNKNOWN", - "description" : "transformation installation type" - }, - "coolant_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "DRY" : "0x2", - "MINERAL_OIL" : "0x1", - "UNKNOWN" : "0x0" - }, - "default" : "UNKNOWN", - "description" : "transformation coolant type" - }, - "cooling_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "DFOW" : "0x6", - "DFOA" : "0x5", - "NDFOW" : "0x4", - "NDFOA" : "0x3", - "FA" : "0x2", - "OA" : "0x1", - "UNKNOWN" : "0x0" - }, - "default" : "UNKNOWN", - "description" : "transformation cooling type" - }, - "primary_voltage" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "V", - "description" : "primary voltage level in L-L value kV" - }, - "secondary_voltage" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "V", - "description" : "secondary voltage level kV" - }, - "power_rating" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "unit" : "kVA", - "description" : "kVA rating of transformer, total" - }, - "powerA_rating" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kVA", - "description" : "kVA rating of transformer, phase A" - }, - "powerB_rating" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kVA", - "description" : "kVA rating of transformer, phase B" - }, - "powerC_rating" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kVA", - "description" : "kVA rating of transformer, phase C" - }, - "powerN_rating" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kVA", - "description" : "kVA rating of transformer, neutral" - }, - "resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Series impedance, pu, real" - }, - "reactance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Series impedance, pu, imag" - }, - "impedance" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Series impedance, pu" - }, - "resistance1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu, real" - }, - "reactance1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu, imag" - }, - "impedance1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu" - }, - "resistance2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu, real" - }, - "reactance2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu, imag" - }, - "impedance2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "description" : "Secondary series impedance (only used when you want to define each individual winding seperately, pu" - }, - "shunt_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "default" : "+1e+09 pu*Ohm", - "description" : "Shunt impedance on primary side, pu, real" - }, - "shunt_reactance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "default" : "+1e+09 pu*Ohm", - "description" : "Shunt impedance on primary side, pu, imag" - }, - "shunt_impedance" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "pu*Ohm", - "default" : "+1e+09+1e+09j pu*Ohm", - "description" : "Shunt impedance on primary side, pu" - }, - "core_coil_weight" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb", - "description" : "The weight of the core and coil assembly in pounds" - }, - "tank_fittings_weight" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb", - "description" : "The weight of the tank and fittings in pounds" - }, - "oil_volume" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "gal", - "description" : "The number of gallons of oil in the transformer" - }, - "rated_winding_time_constant" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "h", - "description" : "The rated winding time constant in hours" - }, - "rated_winding_hot_spot_rise" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "degC", - "description" : "winding hottest-spot rise over ambient temperature at rated load, degrees C" - }, - "rated_top_oil_rise" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "degC", - "description" : "top-oil hottest-spot rise over ambient temperature at rated load, degrees C" - }, - "no_load_loss" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Another method of specifying transformer impedances, defined as per unit power values (shunt)" - }, - "full_load_loss" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Another method of specifying transformer impedances, defined as per unit power values (shunt and series)" - }, - "reactance_resistance_ratio" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "the reactance to resistance ratio (X/R)" - }, - "installed_insulation_life" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "h", - "description" : "the normal lifetime of the transformer insulation at rated load, hours" - }, - "magnetization_location" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "BOTH" : "0x3", - "SECONDARY" : "0x2", - "PRIMARY" : "0x1", - "NONE" : "0x0" - }, - "description" : "winding to place magnetization influence for in-rush calculations" - }, - "inrush_saturation_enabled" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "flag to include saturation effects during inrush calculations" - }, - "L_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "+0.2 pu", - "description" : "Air core inductance of transformer" - }, - "phi_K" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "+1.17 pu", - "description" : "Knee flux value where the air core inductance interstes the flux axis of the saturation curve" - }, - "phi_M" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "+1 pu", - "description" : "Peak magnetization flux at rated voltage of the saturation curve" - }, - "I_M" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "+0.01 pu", - "description" : "Peak magnetization current at rated voltage of the saturation curve" - }, - "T_D" : { - "type" : "double", - "access" : "PUBLIC", - "default" : "+0.5", - "description" : "Inrush decay time constant for inrush current" - } - }, - "transformer" : { - "object_size" : "3448", - "parent" : "link", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "configuration" : { - "type" : "object", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "Configuration library used for transformer setup" - }, - "climate" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "climate object used to describe thermal model ambient temperature" - }, - "ambient_temperature" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "degC", - "description" : "ambient temperature in degrees C" - }, - "top_oil_hot_spot_temperature" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "degC", - "description" : "top-oil hottest-spot temperature, degrees C" - }, - "winding_hot_spot_temperature" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "degC", - "description" : "winding hottest-spot temperature, degrees C" - }, - "percent_loss_of_life" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "the percent loss of life" - }, - "aging_constant" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "the aging rate slope for the transformer insulation" - }, - "use_thermal_model" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "boolean to enable use of thermal model" - }, - "transformer_replacement_count" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "counter of the number times the transformer has been replaced due to lifetime failure" - }, - "aging_granularity" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "maximum timestep before updating thermal and aging model in seconds" - }, - "phase_A_primary_flux_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Wb", - "description" : "instantaneous magnetic flux in phase A on the primary side of the transformer during saturation calculations" - }, - "phase_B_primary_flux_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Wb", - "description" : "instantaneous magnetic flux in phase B on the primary side of the transformer during saturation calculations" - }, - "phase_C_primary_flux_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Wb", - "description" : "instantaneous magnetic flux in phase C on the primary side of the transformer during saturation calculations" - }, - "phase_A_secondary_flux_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Wb", - "description" : "instantaneous magnetic flux in phase A on the secondary side of the transformer during saturation calculations" - }, - "phase_B_secondary_flux_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Wb", - "description" : "instantaneous magnetic flux in phase B on the secondary side of the transformer during saturation calculations" - }, - "phase_C_secondary_flux_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Wb", - "description" : "instantaneous magnetic flux in phase C on the secondary side of the transformer during saturation calculations" - } - }, - "load" : { - "object_size" : "3904", - "parent" : "node", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "load_class" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "A" : "0x4", - "I" : "0x3", - "C" : "0x2", - "R" : "0x1", - "U" : "0x0" - }, - "default" : "U", - "description" : "Flag to track load type, not currently used for anything except sorting" - }, - "constant_power_A" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power load on phase A, specified as VA" - }, - "constant_power_B" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power load on phase B, specified as VA" - }, - "constant_power_C" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power load on phase C, specified as VA" - }, - "constant_power_A_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power load on phase A, real only, specified as W" - }, - "constant_power_B_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power load on phase B, real only, specified as W" - }, - "constant_power_C_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power load on phase C, real only, specified as W" - }, - "constant_power_A_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power load on phase A, imaginary only, specified as VAr" - }, - "constant_power_B_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power load on phase B, imaginary only, specified as VAr" - }, - "constant_power_C_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power load on phase C, imaginary only, specified as VAr" - }, - "constant_current_A" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase A, specified as Amps" - }, - "constant_current_B" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase B, specified as Amps" - }, - "constant_current_C" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase C, specified as Amps" - }, - "constant_current_A_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase A, real only, specified as Amps" - }, - "constant_current_B_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase B, real only, specified as Amps" - }, - "constant_current_C_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase C, real only, specified as Amps" - }, - "constant_current_A_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase A, imaginary only, specified as Amps" - }, - "constant_current_B_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase B, imaginary only, specified as Amps" - }, - "constant_current_C_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current load on phase C, imaginary only, specified as Amps" - }, - "constant_impedance_A" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase A, specified as Ohms" - }, - "constant_impedance_B" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase B, specified as Ohms" - }, - "constant_impedance_C" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase C, specified as Ohms" - }, - "constant_impedance_A_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase A, real only, specified as Ohms" - }, - "constant_impedance_B_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase B, real only, specified as Ohms" - }, - "constant_impedance_C_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase C, real only, specified as Ohms" - }, - "constant_impedance_A_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase A, imaginary only, specified as Ohms" - }, - "constant_impedance_B_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase B, imaginary only, specified as Ohms" - }, - "constant_impedance_C_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance load on phase C, imaginary only, specified as Ohms" - }, - "constant_power_AN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power wye-connected load on phase A, specified as VA" - }, - "constant_power_BN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power wye-connected load on phase B, specified as VA" - }, - "constant_power_CN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power wye-connected load on phase C, specified as VA" - }, - "constant_power_AN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power wye-connected load on phase A, real only, specified as W" - }, - "constant_power_BN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power wye-connected load on phase B, real only, specified as W" - }, - "constant_power_CN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power wye-connected load on phase C, real only, specified as W" - }, - "constant_power_AN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power wye-connected load on phase A, imaginary only, specified as VAr" - }, - "constant_power_BN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power wye-connected load on phase B, imaginary only, specified as VAr" - }, - "constant_power_CN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power wye-connected load on phase C, imaginary only, specified as VAr" - }, - "constant_current_AN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase A, specified as Amps" - }, - "constant_current_BN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase B, specified as Amps" - }, - "constant_current_CN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase C, specified as Amps" - }, - "constant_current_AN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase A, real only, specified as Amps" - }, - "constant_current_BN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase B, real only, specified as Amps" - }, - "constant_current_CN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase C, real only, specified as Amps" - }, - "constant_current_AN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase A, imaginary only, specified as Amps" - }, - "constant_current_BN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase B, imaginary only, specified as Amps" - }, - "constant_current_CN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current wye-connected load on phase C, imaginary only, specified as Amps" - }, - "constant_impedance_AN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase A, specified as Ohms" - }, - "constant_impedance_BN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase B, specified as Ohms" - }, - "constant_impedance_CN" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase C, specified as Ohms" - }, - "constant_impedance_AN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase A, real only, specified as Ohms" - }, - "constant_impedance_BN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase B, real only, specified as Ohms" - }, - "constant_impedance_CN_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase C, real only, specified as Ohms" - }, - "constant_impedance_AN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase A, imaginary only, specified as Ohms" - }, - "constant_impedance_BN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase B, imaginary only, specified as Ohms" - }, - "constant_impedance_CN_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance wye-connected load on phase C, imaginary only, specified as Ohms" - }, - "constant_power_AB" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power delta-connected load on phase A, specified as VA" - }, - "constant_power_BC" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power delta-connected load on phase B, specified as VA" - }, - "constant_power_CA" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "constant power delta-connected load on phase C, specified as VA" - }, - "constant_power_AB_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power delta-connected load on phase A, real only, specified as W" - }, - "constant_power_BC_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power delta-connected load on phase B, real only, specified as W" - }, - "constant_power_CA_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "default" : "0 W", - "description" : "constant power delta-connected load on phase C, real only, specified as W" - }, - "constant_power_AB_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power delta-connected load on phase A, imaginary only, specified as VAr" - }, - "constant_power_BC_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power delta-connected load on phase B, imaginary only, specified as VAr" - }, - "constant_power_CA_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "default" : "0 VAr", - "description" : "constant power delta-connected load on phase C, imaginary only, specified as VAr" - }, - "constant_current_AB" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase A, specified as Amps" - }, - "constant_current_BC" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase B, specified as Amps" - }, - "constant_current_CA" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase C, specified as Amps" - }, - "constant_current_AB_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase A, real only, specified as Amps" - }, - "constant_current_BC_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase B, real only, specified as Amps" - }, - "constant_current_CA_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase C, real only, specified as Amps" - }, - "constant_current_AB_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase A, imaginary only, specified as Amps" - }, - "constant_current_BC_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase B, imaginary only, specified as Amps" - }, - "constant_current_CA_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "default" : "0 A", - "description" : "constant current delta-connected load on phase C, imaginary only, specified as Amps" - }, - "constant_impedance_AB" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase A, specified as Ohms" - }, - "constant_impedance_BC" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase B, specified as Ohms" - }, - "constant_impedance_CA" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase C, specified as Ohms" - }, - "constant_impedance_AB_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase A, real only, specified as Ohms" - }, - "constant_impedance_BC_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase B, real only, specified as Ohms" - }, - "constant_impedance_CA_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase C, real only, specified as Ohms" - }, - "constant_impedance_AB_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase A, imaginary only, specified as Ohms" - }, - "constant_impedance_BC_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase B, imaginary only, specified as Ohms" - }, - "constant_impedance_CA_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "default" : "0 Ohm", - "description" : "constant impedance delta-connected load on phase C, imaginary only, specified as Ohms" - }, - "measured_voltage_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "current measured voltage on phase A" - }, - "measured_voltage_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "current measured voltage on phase B" - }, - "measured_voltage_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "current measured voltage on phase C" - }, - "measured_voltage_AB" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "current measured voltage on phases AB" - }, - "measured_voltage_BC" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "current measured voltage on phases BC" - }, - "measured_voltage_CA" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V", - "description" : "current measured voltage on phases CA" - }, - "phase_loss_protection" : { - "type" : "bool", - "access" : "PUBLIC", - "default" : "FALSE", - "description" : "Trip all three phases of the load if a fault occurs" - }, - "base_power_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "in similar format as ZIPload, this represents the nominal power on phase A before applying ZIP fractions" - }, - "base_power_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "in similar format as ZIPload, this represents the nominal power on phase B before applying ZIP fractions" - }, - "base_power_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VA", - "default" : "0 VA", - "description" : "in similar format as ZIPload, this represents the nominal power on phase C before applying ZIP fractions" - }, - "power_pf_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase A constant power portion of load" - }, - "current_pf_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase A constant current portion of load" - }, - "impedance_pf_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase A constant impedance portion of load" - }, - "power_pf_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase B constant power portion of load" - }, - "current_pf_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase B constant current portion of load" - }, - "impedance_pf_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase B constant impedance portion of load" - }, - "power_pf_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase C constant power portion of load" - }, - "current_pf_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase C constant current portion of load" - }, - "impedance_pf_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "1 pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase C constant impedance portion of load" - }, - "power_fraction_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant power fraction of base power on phase A" - }, - "current_fraction_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant current fraction of base power on phase A" - }, - "impedance_fraction_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant impedance fraction of base power on phase A" - }, - "power_fraction_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant power fraction of base power on phase B" - }, - "current_fraction_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant current fraction of base power on phase B" - }, - "impedance_fraction_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant impedance fraction of base power on phase B" - }, - "power_fraction_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant power fraction of base power on phase C" - }, - "current_fraction_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant current fraction of base power on phase C" - }, - "impedance_fraction_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "this is the constant impedance fraction of base power on phase C" - } - }, - "regulator_configuration" : { - "object_size" : "160", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "connect_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CLOSED_DELTA" : "0x5", - "OPEN_DELTA_CABA" : "0x4", - "OPEN_DELTA_BCAC" : "0x3", - "OPEN_DELTA_ABBC" : "0x2", - "WYE_WYE" : "0x1", - "UNKNOWN" : "0x0" - }, - "flags" : "REQUIRED", - "default" : "UNKNOWN", - "description" : "Designation of connection style" - }, - "band_center" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "band center setting of regulator control" - }, - "band_width" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "band width setting of regulator control" - }, - "time_delay" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "default" : "0 s", - "description" : "mechanical time delay between tap changes" - }, - "dwell_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "default" : "0 s", - "description" : "time delay before a control action of regulator control" - }, - "raise_taps" : { - "type" : "int16", - "access" : "PUBLIC", - "default" : "0", - "description" : "number of regulator raise taps, or the maximum raise voltage tap position" - }, - "lower_taps" : { - "type" : "int16", - "access" : "PUBLIC", - "default" : "0", - "description" : "number of regulator lower taps, or the minimum lower voltage tap position" - }, - "current_transducer_ratio" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "primary rating of current transformer" - }, - "power_transducer_ratio" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "default" : "0 pu", - "description" : "potential transformer rating" - }, - "compensator_r_setting_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "Line Drop Compensation R setting of regulator control (in volts) on Phase A" - }, - "compensator_r_setting_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "Line Drop Compensation R setting of regulator control (in volts) on Phase B" - }, - "compensator_r_setting_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "Line Drop Compensation R setting of regulator control (in volts) on Phase C" - }, - "compensator_x_setting_A" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "Line Drop Compensation X setting of regulator control (in volts) on Phase A" - }, - "compensator_x_setting_B" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "Line Drop Compensation X setting of regulator control (in volts) on Phase B" - }, - "compensator_x_setting_C" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "default" : "0 V", - "description" : "Line Drop Compensation X setting of regulator control (in volts) on Phase C" - }, - "CT_phase" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "C" : "0x4", - "B" : "0x2", - "A" : "0x1" - }, - "flags" : "CHARSET", - "default" : "ABC", - "description" : "phase(s) monitored by CT" - }, - "PT_phase" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "C" : "0x4", - "B" : "0x2", - "A" : "0x1" - }, - "flags" : "CHARSET", - "default" : "ABC", - "description" : "phase(s) monitored by PT" - }, - "regulation" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "default" : "0 %", - "description" : "regulation of voltage regulator in %" - }, - "control_level" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "BANK" : "0x2", - "INDIVIDUAL" : "0x1" - }, - "default" : "INDIVIDUAL", - "description" : "Designates whether control is on per-phase or banked level" - }, - "Control" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "REMOTE_NODE" : "0x3", - "LINE_DROP_COMP" : "0x4", - "OUTPUT_VOLTAGE" : "0x2", - "MANUAL" : "0x1" - }, - "default" : "MANUAL", - "description" : "Type of control used for regulating voltage" - }, - "reverse_flow_control" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "LOCK_CURRENT_POSITION" : "0x2", - "LOCK_NEUTRAL" : "0x1", - "LOCK_NONE" : "0x0" - }, - "default" : "LOCK_NONE", - "description" : "Type of control used when power is flowing in reverse through the regulator" - }, - "Type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "B" : "0x2", - "A" : "0x1" - }, - "default" : "B", - "description" : "Defines regulator type" - }, - "tap_pos_A" : { - "type" : "int16", - "access" : "PUBLIC", - "default" : "999", - "description" : "initial tap position of phase A" - }, - "tap_pos_B" : { - "type" : "int16", - "access" : "PUBLIC", - "default" : "999", - "description" : "initial tap position of phase B" - }, - "tap_pos_C" : { - "type" : "int16", - "access" : "PUBLIC", - "default" : "999", - "description" : "initial tap position of phase C" - } - }, - "regulator" : { - "object_size" : "4088", - "parent" : "link", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "configuration" : { - "type" : "object", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "reference to the regulator_configuration object used to determine regulator properties" - }, - "tap_A" : { - "type" : "int16", - "access" : "PUBLIC", - "description" : "current tap position of tap A" - }, - "tap_B" : { - "type" : "int16", - "access" : "PUBLIC", - "description" : "current tap position of tap B" - }, - "tap_C" : { - "type" : "int16", - "access" : "PUBLIC", - "description" : "current tap position of tap C" - }, - "tap_A_change_count" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "count of all physical tap changes on phase A since beginning of simulation (plus initial value)" - }, - "tap_B_change_count" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "count of all physical tap changes on phase B since beginning of simulation (plus initial value)" - }, - "tap_C_change_count" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "count of all physical tap changes on phase C since beginning of simulation (plus initial value)" - }, - "sense_node" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Node to be monitored for voltage control in remote sense mode" - }, - "regulator_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "The resistance value of the regulator when it is not blown." - } - }, - "triplex_node" : { - "object_size" : "3008", - "parent" : "powerflow_object", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "bustype" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "SWING_PQ" : "0x3", - "SWING" : "0x2", - "PV" : "0x1", - "PQ" : "0x0" - }, - "description" : "defines whether the node is a PQ, PV, or SWING node" - }, - "busflags" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "ISSOURCE" : "0x2", - "HASSOURCE" : "0x1" - }, - "description" : "flag indicates node has a source for voltage, i.e. connects to the swing node" - }, - "reference_bus" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "reference bus from which frequency is defined" - }, - "maximum_voltage_error" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "description" : "convergence voltage limit or convergence criteria" - }, - "voltage_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "bus voltage, phase 1 to ground" - }, - "voltage_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "bus voltage, phase 2 to ground" - }, - "voltage_N" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "bus voltage, phase N to ground" - }, - "voltage_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "bus voltage, phase 1 to 2" - }, - "voltage_1N" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "bus voltage, phase 1 to N" - }, - "voltage_2N" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "bus voltage, phase 2 to N" - }, - "current_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1, also acts as accumulator" - }, - "current_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 2, also acts as accumulator" - }, - "current_N" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase N, also acts as accumulator" - }, - "current_1_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1, real" - }, - "current_2_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 2, real" - }, - "current_N_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase N, real" - }, - "current_1_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1, imag" - }, - "current_2_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 2, imag" - }, - "current_N_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase N, imag" - }, - "current_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1 to 2" - }, - "current_12_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1 to 2, real" - }, - "current_12_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1 to 2, imag" - }, - "prerotated_current_1" : { - "type" : "complex", - "access" : "HIDDEN", - "unit" : "A", - "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" - }, - "prerotated_current_2" : { - "type" : "complex", - "access" : "HIDDEN", - "unit" : "A", - "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" - }, - "prerotated_current_12" : { - "type" : "complex", - "access" : "HIDDEN", - "unit" : "A", - "description" : "deltamode-functionality - bus current injection (in = positive), but will not be rotated by powerflow for off-nominal frequency, this an accumulator only, not a output or input variable" - }, - "residential_nominal_current_1" : { - "type" : "complex", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 1 from a residential object, if attached" - }, - "residential_nominal_current_2" : { - "type" : "complex", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 2 from a residential object, if attached" - }, - "residential_nominal_current_12" : { - "type" : "complex", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 1 to 2 from a residential object, if attached" - }, - "residential_nominal_current_1_real" : { - "type" : "double", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 1, real, from a residential object, if attached" - }, - "residential_nominal_current_1_imag" : { - "type" : "double", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 1, imag, from a residential object, if attached" - }, - "residential_nominal_current_2_real" : { - "type" : "double", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 2, real, from a residential object, if attached" - }, - "residential_nominal_current_2_imag" : { - "type" : "double", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 2, imag, from a residential object, if attached" - }, - "residential_nominal_current_12_real" : { - "type" : "double", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 1 to 2, real, from a residential object, if attached" - }, - "residential_nominal_current_12_imag" : { - "type" : "double", - "access" : "HIDDEN", - "unit" : "A", - "description" : "posted current on phase 1 to 2, imag, from a residential object, if attached" - }, - "power_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "constant power on phase 1 (120V)" - }, - "power_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "constant power on phase 2 (120V)" - }, - "power_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "constant power on phase 1 to 2 (240V)" - }, - "power_1_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "constant power on phase 1, real" - }, - "power_2_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "constant power on phase 2, real" - }, - "power_12_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "constant power on phase 1 to 2, real" - }, - "power_1_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "constant power on phase 1, imag" - }, - "power_2_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "constant power on phase 2, imag" - }, - "power_12_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "constant power on phase 1 to 2, imag" - }, - "shunt_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "S", - "description" : "constant shunt impedance on phase 1" - }, - "shunt_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "S", - "description" : "constant shunt impedance on phase 2" - }, - "shunt_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "S", - "description" : "constant shunt impedance on phase 1 to 2" - }, - "impedance_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 1" - }, - "impedance_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 2" - }, - "impedance_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 1 to 2" - }, - "impedance_1_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 1, real" - }, - "impedance_2_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 2, real" - }, - "impedance_12_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 1 to 2, real" - }, - "impedance_1_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 1, imag" - }, - "impedance_2_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 2, imag" - }, - "impedance_12_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant series impedance on phase 1 to 2, imag" - }, - "house_present" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "boolean for detecting whether a house is attached, not an input" - }, - "GFA_enable" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Disable/Enable Grid Friendly Applicance(TM)-type functionality" - }, - "GFA_freq_low_trip" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Low frequency trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_freq_high_trip" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "High frequency trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_volt_low_trip" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Low voltage trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_volt_high_trip" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "High voltage trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_reconnect_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Reconnect time for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_freq_disconnect_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Frequency violation disconnect time for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_volt_disconnect_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Voltage violation disconnect time for Grid Friendly Appliance(TM)-type functionality" - }, - "GFA_status" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Low frequency trip point for Grid Friendly Appliance(TM)-type functionality" - }, - "service_status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "OUT_OF_SERVICE" : "0x0", - "IN_SERVICE" : "0x1" - }, - "description" : "In and out of service flag" - }, - "service_status_double" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "In and out of service flag - type double - will indiscriminately override service_status - useful for schedules" - }, - "previous_uptime" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "min", - "description" : "Previous time between disconnects of node in minutes" - }, - "current_uptime" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "min", - "description" : "Current time since last disconnect of node in minutes" - }, - "topological_parent" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "topological parent as per GLM configuration" - }, - "frequency_measure_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "PLL" : "0x3", - "SIMPLE" : "0x2", - "NONE" : "0x1" - }, - "description" : "PLL frequency measurement" - }, - "sfm_Tf" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Transducer time constant for simplified frequency measurement (seconds)" - }, - "pll_Kp" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Proportional gain of PLL frequency measurement" - }, - "pll_Ki" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Integration gain of PLL frequency measurement" - }, - "measured_angle_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "rad", - "description" : "bus angle measurement, phase 1N" - }, - "measured_frequency_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "frequency measurement, phase 1N" - }, - "measured_angle_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "rad", - "description" : "bus angle measurement, phase 2N" - }, - "measured_frequency_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "frequency measurement, phase 2N" - }, - "measured_angle_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "rad", - "description" : "bus angle measurement, across the phases" - }, - "measured_frequency_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "frequency measurement, across the phases" - }, - "measured_frequency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "frequency measurement - average of present phases" - } - }, - "triplex_meter" : { - "object_size" : "4000", - "parent" : "triplex_node", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "measured_real_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Wh", - "description" : "metered real energy consumption" - }, - "measured_real_energy_delta" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Wh", - "description" : "delta in metered real energy consumption from last specified measured_energy_delta_timestep" - }, - "measured_reactive_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAh", - "description" : "metered reactive energy consumption" - }, - "measured_reactive_energy_delta" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAh", - "description" : "delta in metered reactive energy consumption from last specified measured_energy_delta_timestep" - }, - "measured_energy_delta_timestep" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Period of timestep for real and reactive delta energy calculation" - }, - "measured_power" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "metered power" - }, - "indiv_measured_power_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "metered power, phase 1" - }, - "indiv_measured_power_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "metered power, phase 2" - }, - "indiv_measured_power_N" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "metered power, phase N" - }, - "measured_demand" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "metered demand (peak of power)" - }, - "measured_real_power" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "metered real power" - }, - "measured_reactive_power" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "metered reactive power" - }, - "meter_power_consumption" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "power consumed by meter operation" - }, - "measured_voltage_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "measured voltage, phase 1 to ground" - }, - "measured_voltage_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "measured voltage, phase 2 to ground" - }, - "measured_voltage_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "measured voltage, phase 1 to phase 2" - }, - "measured_voltage_N" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "measured voltage, phase N to ground" - }, - "measured_real_max_voltage_1_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured real max line-to-ground voltage on phase 1 over a specified interval" - }, - "measured_real_max_voltage_2_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured real max line-to-ground voltage on phase 2 over a specified interval" - }, - "measured_real_max_voltage_12_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured real max line-to-ground voltage on phase 12 over a specified interval" - }, - "measured_imag_max_voltage_1_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured imaginary max line-to-ground voltage on phase 1 over a specified interval" - }, - "measured_imag_max_voltage_2_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured imaginary max line-to-ground voltage on phase 2 over a specified interval" - }, - "measured_imag_max_voltage_12_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured imaginary max line-to-ground voltage on phase 12 over a specified interval" - }, - "measured_real_min_voltage_1_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured real min line-to-ground voltage on phase 1 over a specified interval" - }, - "measured_real_min_voltage_2_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured real min line-to-ground voltage on phase 2 over a specified interval" - }, - "measured_real_min_voltage_12_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured real min line-to-ground voltage on phase 12 over a specified interval" - }, - "measured_imag_min_voltage_1_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured imaginary min line-to-ground voltage on phase 1 over a specified interval" - }, - "measured_imag_min_voltage_2_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured imaginary min line-to-ground voltage on phase 2 over a specified interval" - }, - "measured_imag_min_voltage_12_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured imaginary min line-to-ground voltage on phase 12 over a specified interval" - }, - "measured_avg_voltage_mag_1_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured average line-to-ground voltage magnitude on phase 1 over a specified interval" - }, - "measured_avg_voltage_mag_2_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured average line-to-ground voltage magnitude on phase 2 over a specified interval" - }, - "measured_avg_voltage_mag_12_in_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "measured average line-to-ground voltage magnitude on phase 12 over a specified interval" - }, - "measured_current_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "measured current, phase 1" - }, - "measured_current_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "measured current, phase 2" - }, - "measured_current_N" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "measured current, phase N" - }, - "customer_interrupted" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Reliability flag - goes active if the customer is in an interrupted state" - }, - "customer_interrupted_secondary" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Reliability flag - goes active if the customer is in a secondary interrupted state - i.e., momentary" - }, - "monthly_bill" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$", - "description" : "Accumulator for the current month's bill" - }, - "previous_monthly_bill" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$", - "description" : "Total monthly bill for the previous month" - }, - "previous_monthly_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh", - "description" : "" - }, - "monthly_fee" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$", - "description" : "Total monthly energy for the previous month" - }, - "monthly_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh", - "description" : "Accumulator for the current month's energy" - }, - "bill_mode" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "TIERED_RTP" : "0x4", - "HOURLY" : "0x3", - "TIERED" : "0x2", - "UNIFORM" : "0x1", - "NONE" : "0x0" - }, - "description" : "Designates the bill mode to be used" - }, - "power_market" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Designates the auction object where prices are read from for bill mode" - }, - "bill_day" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "Day bill is to be processed (assumed to occur at midnight of that day)" - }, - "price" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "Standard uniform pricing" - }, - "price_base" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "Used only in TIERED_RTP mode to describe the price before the first tier" - }, - "first_tier_price" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "first tier price of energy between first and second tier energy" - }, - "first_tier_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh", - "description" : "price of energy on tier above price or price base" - }, - "second_tier_price" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "first tier price of energy between second and third tier energy" - }, - "second_tier_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh", - "description" : "price of energy on tier above first tier" - }, - "third_tier_price" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "$/kWh", - "description" : "first tier price of energy greater than third tier energy" - }, - "third_tier_energy" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh", - "description" : "price of energy on tier above second tier" - } - }, - "triplex_line" : { - "object_size" : "3088", - "parent" : "line", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0" - }, - "triplex_line_configuration" : { - "object_size" : "408", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "conductor_1" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "conductor type for phase 1" - }, - "conductor_2" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "conductor type for phase 2" - }, - "conductor_N" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "conductor type for phase N" - }, - "insulation_thickness" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in", - "description" : "thickness of insulation around cabling" - }, - "diameter" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in", - "description" : "total diameter of cable" - }, - "spacing" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "defines the line spacing configuration" - }, - "z11" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "description" : "phase 1 self-impedance, used for direct entry of impedance values" - }, - "z12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "description" : "phase 1-2 induced impedance, used for direct entry of impedance values" - }, - "z21" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "description" : "phase 2-1 induced impedance, used for direct entry of impedance values" - }, - "z22" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "description" : "phase 2 self-impedance, used for direct entry of impedance values" - }, - "rating.summer.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "amp rating in summer, continuous" - }, - "rating.summer.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "amp rating in summer, short term" - }, - "rating.winter.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "amp rating in winter, continuous" - }, - "rating.winter.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "amp rating in winter, short term" - } - }, - "triplex_line_conductor" : { - "object_size" : "48", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm/mile", - "description" : "resistance of cable in ohm/mile" - }, - "geometric_mean_radius" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "description" : "geometric mean radius of the cable" - }, - "rating.summer.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "amp ratings for the cable during continuous operation in summer" - }, - "rating.summer.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "amp ratings for the cable during short term operation in summer" - }, - "rating.winter.continuous" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "amp ratings for the cable during continuous operation in winter" - }, - "rating.winter.emergency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "amp ratings for the cable during short term operation in winter" - } - }, - "switch_coordinator" : { - "object_size" : "544", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "DIRECT" : "0x3", - "TOGGLE" : "0x2", - "ARMED" : "0x1", - "IDLE" : "0x0" - }, - "description" : "switch coordination status" - }, - "arm" : { - "type" : "method", - "access" : "PUBLIC", - "description" : "method to arm a switch" - }, - "disarm" : { - "type" : "method", - "access" : "PUBLIC", - "description" : "method to disarm a switch" - }, - "connect" : { - "type" : "method", - "access" : "PUBLIC", - "description" : "method to connect switches" - }, - "armed" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "NONE" : "0x0" - }, - "flags" : "OUTPUT", - "description" : "set of armed switches" - } - }, - "switch" : { - "object_size" : "3144", - "parent" : "link", - "trl" : "8", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "phase_A_state" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CLOSED" : "0x1", - "OPEN" : "0x0" - }, - "default" : "CLOSED", - "description" : "state of phase A switch" - }, - "phase_B_state" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CLOSED" : "0x1", - "OPEN" : "0x0" - }, - "default" : "CLOSED", - "description" : "state of phase B switch" - }, - "phase_C_state" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CLOSED" : "0x1", - "OPEN" : "0x0" - }, - "default" : "CLOSED", - "description" : "state of phase C switch" - }, - "operating_mode" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "BANKED" : "0x1", - "INDIVIDUAL" : "0x0" - }, - "default" : "BANKED", - "description" : "switch bank operating mode" - }, - "switch_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "The resistance value of the switch when it is not blown." - } - }, - "substation" : { - "object_size" : "3592", - "parent" : "node", - "trl" : "7", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "zero_sequence_voltage" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "The zero sequence representation of the voltage for the substation object." - }, - "positive_sequence_voltage" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "The positive sequence representation of the voltage for the substation object." - }, - "negative_sequence_voltage" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "The negative sequence representation of the voltage for the substation object." - }, - "base_power" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "The 3 phase VA power rating of the substation." - }, - "power_convergence_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "Default convergence criterion before power is posted to pw_load objects if connected, otherwise ignored" - }, - "reference_phase" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "PHASE_C" : "0x2", - "PHASE_B" : "0x1", - "PHASE_A" : "0x0" - }, - "default" : "PHASE_A", - "description" : "The reference phase for the positive sequence voltage." - }, - "transmission_level_constant_power_load" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "the average constant power load to be posted directly to the pw_load object." - }, - "transmission_level_constant_current_load" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A", - "description" : "the average constant current load at nominal voltage to be posted directly to the pw_load object." - }, - "transmission_level_constant_impedance_load" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "Ohm", - "description" : "the average constant impedance load at nominal voltage to be posted directly to the pw_load object." - }, - "distribution_load" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA", - "description" : "The total load of all three phases at the substation object." - }, - "distribution_power_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA" - }, - "distribution_power_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA" - }, - "distribution_power_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "VA" - }, - "distribution_voltage_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V" - }, - "distribution_voltage_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V" - }, - "distribution_voltage_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V" - }, - "distribution_voltage_AB" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V" - }, - "distribution_voltage_BC" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V" - }, - "distribution_voltage_CA" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "V" - }, - "distribution_current_A" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A" - }, - "distribution_current_B" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A" - }, - "distribution_current_C" : { - "type" : "complex", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "A" - }, - "distribution_real_energy" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "Wh" - } - }, - "pqload" : { - "object_size" : "5472", - "parent" : "load", - "trl" : "7", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "weather" : { - "type" : "object", - "access" : "PUBLIC" - }, - "T_nominal" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "degF" - }, - "Zp_T" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm/degF" - }, - "Zp_H" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm/%" - }, - "Zp_S" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm*h/Btu" - }, - "Zp_W" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm/mph" - }, - "Zp_R" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm*h/in" - }, - "Zp" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm" - }, - "Zq_T" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "F/degF" - }, - "Zq_H" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "F/%" - }, - "Zq_S" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "F*h/Btu" - }, - "Zq_W" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "F/mph" - }, - "Zq_R" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "F*h/in" - }, - "Zq" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "F" - }, - "Im_T" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A/degF" - }, - "Im_H" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A/%" - }, - "Im_S" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A*h/Btu" - }, - "Im_W" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A/mph" - }, - "Im_R" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A*h/in" - }, - "Im" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A" - }, - "Ia_T" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg/degF" - }, - "Ia_H" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg/%" - }, - "Ia_S" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg*h/Btu" - }, - "Ia_W" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg/mph" - }, - "Ia_R" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg*h/in" - }, - "Ia" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg" - }, - "Pp_T" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W/degF" - }, - "Pp_H" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W/%" - }, - "Pp_S" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W*h/Btu" - }, - "Pp_W" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W/mph" - }, - "Pp_R" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W*h/in" - }, - "Pp" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W" - }, - "Pq_T" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr/degF" - }, - "Pq_H" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr/%" - }, - "Pq_S" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr*h/Btu" - }, - "Pq_W" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr/mph" - }, - "Pq_R" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr*h/in" - }, - "Pq" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr" - }, - "input_temp" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "degF" - }, - "input_humid" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "%" - }, - "input_solar" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "Btu/h" - }, - "input_wind" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "mph" - }, - "input_rain" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "in/h" - }, - "output_imped_p" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "Ohm" - }, - "output_imped_q" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "Ohm" - }, - "output_current_m" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "A" - }, - "output_current_a" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "deg" - }, - "output_power_p" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "W" - }, - "output_power_q" : { - "type" : "double", - "access" : "REFERENCE", - "unit" : "VAr" - }, - "output_impedance" : { - "type" : "complex", - "access" : "REFERENCE", - "unit" : "ohm" - }, - "output_current" : { - "type" : "complex", - "access" : "REFERENCE", - "unit" : "A" - }, - "output_power" : { - "type" : "complex", - "access" : "REFERENCE", - "unit" : "VA" - } - }, - "voltdump" : { - "object_size" : "344", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "group" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "the group ID to output data for (all nodes if empty)" - }, - "runtime" : { - "type" : "timestamp", - "access" : "PUBLIC", - "default" : "NEVER", - "description" : "the time to check voltage data" - }, - "filename" : { - "type" : "char256", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "the file to dump the voltage data into" - }, - "file" : { - "type" : "char256", - "access" : "PUBLIC", - "flags" : "DEPRECATED", - "description" : "the file to dump the voltage data into" - }, - "runcount" : { - "type" : "int32", - "access" : "REFERENCE", - "default" : "0", - "description" : "the number of times the file has been written to" - }, - "maxcount" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "-1", - "description" : "the maximum number of times the file is written" - }, - "mode" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "polar" : "0x1", - "rect" : "0x0" - }, - "default" : "rect", - "description" : "dumps the voltages in either polar or rectangular notation" - }, - "filemode" : { - "type" : "char8", - "access" : "PUBLIC", - "default" : "", - "description" : "sets the file write mode" - }, - "version" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "0", - "description" : "dump format version" - }, - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "default" : "0 s", - "description" : "interval at which voltdump runs" - } - }, - "series_reactor" : { - "object_size" : "3152", - "parent" : "link", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "phase_A_impedance" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Series impedance of reactor on phase A" - }, - "phase_A_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Resistive portion of phase A's impedance" - }, - "phase_A_reactance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Reactive portion of phase A's impedance" - }, - "phase_B_impedance" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Series impedance of reactor on phase B" - }, - "phase_B_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Resistive portion of phase B's impedance" - }, - "phase_B_reactance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Reactive portion of phase B's impedance" - }, - "phase_C_impedance" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Series impedance of reactor on phase C" - }, - "phase_C_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Resistive portion of phase C's impedance" - }, - "phase_C_reactance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "Reactive portion of phase C's impedance" - }, - "rated_current_limit" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "Rated current limit for the reactor" - } - }, - "restoration" : { - "object_size" : "8032", - "trl" : "7", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "reconfig_attempts" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "Number of reconfigurations/timestep to try before giving up" - }, - "reconfig_iteration_limit" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "Number of iterations to let PF go before flagging this as a bad reconfiguration" - }, - "source_vertex" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Source vertex object for reconfiguration" - }, - "faulted_section" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Faulted section for reconfiguration" - }, - "feeder_power_limit" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Comma-separated power limit (VA) for feeders during reconfiguration" - }, - "feeder_power_links" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Comma-separated list of link-based objects for monitoring power through" - }, - "feeder_vertex_list" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Comma-separated object list that defines the feeder vertices" - }, - "microgrid_power_limit" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Comma-separated power limit (complex VA) for microgrids during reconfiguration" - }, - "microgrid_power_links" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Comma-separated list of link-based objects for monitoring power through" - }, - "microgrid_vertex_list" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Comma-separated object list that defines the microgrid vertices" - }, - "lower_voltage_limit" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Lower voltage limit for the reconfiguration validity checks - per unit" - }, - "upper_voltage_limit" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "Upper voltage limit for the reconfiguration validity checks - per unit" - }, - "output_filename" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Output text file name to describe final or attempted switching operations" - }, - "generate_all_scenarios" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Flag to determine if restoration reconfiguration and continues, or explores the full space" - } - }, - "frequency_gen" : { - "object_size" : "1712", - "trl" : "6", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "Frequency_Mode" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "AUTO" : "0x1", - "OFF" : "0x0" - }, - "description" : "Frequency object operations mode" - }, - "Frequency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Instantaneous frequency value" - }, - "FreqChange" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz/s", - "description" : "Frequency change from last timestep" - }, - "Deadband" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Frequency deadband of the governor" - }, - "Tolerance" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "description" : "% threshold a power difference must be before it is cared about" - }, - "M" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu*s", - "description" : "Inertial constant of the system" - }, - "D" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "description" : "Load-damping constant" - }, - "Rated_power" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "Rated power of system (base power)" - }, - "Gen_power" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "Mechanical power equivalent" - }, - "Load_power" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "Last sensed load value" - }, - "Gov_delay" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Governor delay time" - }, - "Ramp_rate" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W/s", - "description" : "Ramp ideal ramp rate" - }, - "Low_Freq_OI" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Low frequency setpoint for GFA devices" - }, - "High_Freq_OI" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "High frequency setpoint for GFA devices" - }, - "avg24" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Average of last 24 hourly instantaneous measurements" - }, - "std24" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Standard deviation of last 24 hourly instantaneous measurements" - }, - "avg168" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Average of last 168 hourly instantaneous measurements" - }, - "std168" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Standard deviation of last 168 hourly instantaneous measurements" - }, - "Num_Resp_Eqs" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "Total number of equations the response can contain" - } - }, - "volt_var_control" : { - "object_size" : "9552", - "trl" : "0", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "control_method" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "STANDBY" : "0x0", - "ACTIVE" : "0x1" - }, - "description" : "IVVC activated or in standby" - }, - "capacitor_delay" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Default capacitor time delay - overridden by local defintions" - }, - "regulator_delay" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Default regulator time delay - overriden by local definitions" - }, - "desired_pf" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Desired power-factor magnitude at the substation transformer or regulator" - }, - "d_max" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Scaling constant for capacitor switching on - typically 0.3 - 0.6" - }, - "d_min" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Scaling constant for capacitor switching off - typically 0.1 - 0.4" - }, - "substation_link" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Substation link, transformer, or regulator to measure power factor" - }, - "pf_phase" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "C" : "0x4", - "B" : "0x2", - "A" : "0x1" - }, - "flags" : "CHARSET", - "description" : "Phase to include in power factor monitoring" - }, - "regulator_list" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "List of voltage regulators for the system, separated by commas" - }, - "capacitor_list" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "List of controllable capacitors on the system separated by commas" - }, - "voltage_measurements" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "List of voltage measurement devices, separated by commas" - }, - "minimum_voltages" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Minimum voltages allowed for feeder, separated by commas" - }, - "maximum_voltages" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Maximum voltages allowed for feeder, separated by commas" - }, - "desired_voltages" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Desired operating voltages for the regulators, separated by commas" - }, - "max_vdrop" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Maximum voltage drop between feeder and end measurements for each regulator, separated by commas" - }, - "high_load_deadband" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "High loading case voltage deadband for each regulator, separated by commas" - }, - "low_load_deadband" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Low loading case voltage deadband for each regulator, separated by commas" - }, - "pf_signed" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Set to true to consider the sign on the power factor. Otherwise, it just maintains the deadband of +/-desired_pf" - } - }, - "fault_check" : { - "object_size" : "1136", - "trl" : "6", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "check_mode" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "ALL" : "0x2", - "ONCHANGE" : "0x1", - "SINGLE" : "0x0" - }, - "description" : "Frequency of fault checks" - }, - "output_filename" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "Output filename for list of unsupported nodes" - }, - "reliability_mode" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "General flag indicating if fault_check is operating under faulting or restoration mode -- reliability set this" - }, - "strictly_radial" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Flag to indicate if a system is known to be strictly radial -- uses radial assumptions for reliability alterations" - }, - "full_output_file" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Flag to indicate if the output_filename report contains both supported and unsupported nodes -- if false, just does unsupported" - }, - "grid_association" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "Flag to indicate if multiple, distinct grids are allowed in a GLM, or if anything not attached to the master swing is removed" - }, - "eventgen_object" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "Link to generic eventgen object to handle unexpected faults" - } - }, - "motor" : { - "object_size" : "5240", - "parent" : "node", - "trl" : "1", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "base_power" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "base power" - }, - "n" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "ratio of stator auxiliary windings to stator main windings" - }, - "Rds" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "d-axis resistance" - }, - "Rqs" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "q-asis resistance" - }, - "Rr" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "rotor resistance" - }, - "Xm" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "magnetizing reactance" - }, - "Xr" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "rotor reactance" - }, - "Xc_run" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "running capacitor reactance" - }, - "Xc_start" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "starting capacitor reactance" - }, - "Xd_prime" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "d-axis reactance" - }, - "Xq_prime" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ohm", - "description" : "q-axis reactance" - }, - "A_sat" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "flux saturation parameter, A" - }, - "b_sat" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "flux saturation parameter, b" - }, - "H" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "moment of inertia" - }, - "To_prime" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "rotor time constant" - }, - "capacitor_speed" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "description" : "percentage speed of nominal when starting capacitor kicks in" - }, - "trip_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "time motor can stay stalled before tripping off " - }, - "reconnect_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "time before tripped motor reconnects" - }, - "mechanical_torque" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "mechanical torque applied to the motor" - }, - "iteration_count" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "maximum number of iterations for steady state model" - }, - "delta_mode_voltage_trigger" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "description" : "percentage voltage of nominal when delta mode is triggered" - }, - "delta_mode_rotor_speed_trigger" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "description" : "percentage speed of nominal when delta mode is triggered" - }, - "delta_mode_voltage_exit" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "description" : "percentage voltage of nominal to exit delta mode" - }, - "delta_mode_rotor_speed_exit" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "description" : "percentage speed of nominal to exit delta mode" - }, - "maximum_speed_error" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "maximum speed error for the steady state model" - }, - "wr" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "rotor speed" - }, - "motor_status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "OFF" : "0x3", - "TRIPPED" : "0x2", - "STALLED" : "0x1", - "RUNNING" : "0x0" - }, - "description" : "the current status of the motor" - }, - "motor_status_number" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "the current status of the motor as an integer" - }, - "motor_override" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "OFF" : "0x1", - "ON" : "0x0" - }, - "description" : "override function to dictate if motor is turned off or on" - }, - "motor_operation_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "THREE-PHASE" : "0x1", - "SINGLE-PHASE" : "0x0" - }, - "description" : "current operation type of the motor - deltamode related" - }, - "triplex_connection_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "TRIPLEX_12" : "0x2", - "TRIPLEX_2N" : "0x1", - "TRIPLEX_1N" : "0x0" - }, - "description" : "Describes how the motor will connect to the triplex devices" - }, - "wb" : { - "type" : "double", - "access" : "HIDDEN", - "unit" : "rad/s", - "description" : "base speed" - }, - "ws" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "system speed" - }, - "psi_b" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "backward rotating flux" - }, - "psi_f" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "forward rotating flux" - }, - "psi_dr" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "Rotor d axis flux" - }, - "psi_qr" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "Rotor q axis flux" - }, - "Ids" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "time before tripped motor reconnects" - }, - "Iqs" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "time before tripped motor reconnects" - }, - "If" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "forward current" - }, - "Ib" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "backward current" - }, - "Is" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor current" - }, - "Ss" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor power" - }, - "electrical_torque" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "electrical torque" - }, - "Vs" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor voltage" - }, - "motor_trip" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "boolean variable to check if motor is tripped" - }, - "trip" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "current time in tripped state" - }, - "reconnect" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "current time since motor was tripped" - }, - "rs" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "stator resistance" - }, - "rr" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "rotor resistance" - }, - "lm" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "magnetizing reactance" - }, - "lls" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "stator leakage reactance" - }, - "llr" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "rotor leakage reactance" - }, - "TPIM_rated_mechanical_Load_torque" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "rated mechanical load torque applied to three-phase induction motor" - }, - "friction_coefficient" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "coefficient of speed-dependent torque" - }, - "TPIM_initial_status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "STATIONARY" : "0x1", - "RUNNING" : "0x0" - }, - "description" : "initial status of three-phase induction motor: RUNNING or STATIONARY" - }, - "wsyn" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "system frequency in pu" - }, - "phips" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "positive sequence stator flux" - }, - "phins_cj" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "conjugate of negative sequence stator flux" - }, - "phipr" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "positive sequence rotor flux" - }, - "phinr_cj" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "conjugate of negative sequence rotor flux" - }, - "omgr0" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "dc component of rotor speed" - }, - "TL" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "actually applied mechanical torque" - }, - "Ias" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor phase-a stator current" - }, - "Ibs" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor phase-b stator current" - }, - "Ics" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor phase-c stator current" - }, - "Smt" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor complex power" - }, - "Vas" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor phase-a stator-to-ground voltage" - }, - "Vbs" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor phase-b stator-to-ground voltage" - }, - "Vcs" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "motor phase-c stator-to-ground voltage" - }, - "Ips" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "positive sequence stator current" - }, - "Ipr" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "positive sequence rotor current" - }, - "Ins_cj" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "conjugate of negative sequence stator current" - }, - "Inr_cj" : { - "type" : "complex", - "access" : "HIDDEN", - "description" : "conjugate of negative sequence rotor current" - }, - "Ls" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "stator synchronous reactance" - }, - "Lr" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "rotor synchronous reactance" - }, - "sigma1" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "intermediate variable 1 associated with synch. react." - }, - "sigma2" : { - "type" : "double", - "access" : "HIDDEN", - "description" : "intermediate variable 2 associated with synch. react." - } - }, - "billdump" : { - "object_size" : "312", - "trl" : "8", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "group" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "the group ID to output data for (all nodes if empty)" - }, - "runtime" : { - "type" : "timestamp", - "access" : "PUBLIC", - "description" : "the time to check voltage data" - }, - "filename" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "the file to dump the voltage data into" - }, - "runcount" : { - "type" : "int32", - "access" : "REFERENCE", - "description" : "the number of times the file has been written to" - }, - "meter_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "METER" : "0x1", - "TRIPLEX_METER" : "0x0" - }, - "description" : "describes whether to collect from 3-phase or S-phase meters" - } - }, - "power_metrics" : { - "object_size" : "208", - "trl" : "8", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "SAIFI" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays annual SAIFI values as per IEEE 1366-2003" - }, - "SAIFI_int" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays SAIFI values over the period specified by base_time_value as per IEEE 1366-2003" - }, - "SAIDI" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays annual SAIDI values as per IEEE 1366-2003" - }, - "SAIDI_int" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays SAIDI values over the period specified by base_time_value as per IEEE 1366-2003" - }, - "CAIDI" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays annual CAIDI values as per IEEE 1366-2003" - }, - "CAIDI_int" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays SAIDI values over the period specified by base_time_value as per IEEE 1366-2003" - }, - "ASAI" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays annual AISI values as per IEEE 1366-2003" - }, - "ASAI_int" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays AISI values over the period specified by base_time_value as per IEEE 1366-2003" - }, - "MAIFI" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays annual MAIFI values as per IEEE 1366-2003" - }, - "MAIFI_int" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Displays MAIFI values over the period specified by base_time_value as per IEEE 1366-2003" - }, - "base_time_value" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "time period over which _int values are claculated" - } - }, - "currdump" : { - "object_size" : "344", - "trl" : "0", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "group" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "the group ID to output data for (all links if empty)" - }, - "runtime" : { - "type" : "timestamp", - "access" : "PUBLIC", - "default" : "NEVER", - "description" : "the time to check current data" - }, - "filename" : { - "type" : "char256", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "the file to dump the current data into" - }, - "runcount" : { - "type" : "int32", - "access" : "REFERENCE", - "default" : "0", - "description" : "the number of times the file has been written to" - }, - "maxcount" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "1", - "description" : "the maximum number of times the file is written" - }, - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "default" : "0 s", - "description" : "interval at which currdump runs" - }, - "filemode" : { - "type" : "char8", - "access" : "PUBLIC", - "default" : "w", - "description" : "sets the file write mode" - }, - "mode" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "POLAR" : "0x1", - "RECT" : "0x0" - }, - "default" : "RECT" - }, - "version" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "0", - "description" : "dump format version" - } - }, - "recloser" : { - "object_size" : "3184", - "parent" : "switch", - "trl" : "0", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "retry_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "the amount of time in seconds to wait before the recloser attempts to close" - }, - "max_number_of_tries" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "the number of times the recloser will try to close before permanently opening" - }, - "number_of_tries" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "Current number of tries recloser has attempted" - } - }, - "sectionalizer" : { - "object_size" : "3144", - "parent" : "switch", - "trl" : "0", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0" - }, - "emissions" : { - "object_size" : "864", - "trl" : "0", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "Nuclear_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Hydroelectric_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Solarthermal_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Biomass_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Wind_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Coal_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Naturalgas_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Geothermal_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Petroleum_Order" : { - "type" : "double", - "access" : "PUBLIC" - }, - "Naturalgas_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Coal_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Biomass_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Geothermal_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Hydroelectric_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Nuclear_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Wind_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Petroleum_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Solarthermal_Max_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Naturalgas_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Coal_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Biomass_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Geothermal_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Hydroelectric_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Nuclear_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Wind_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Petroleum_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Solarthermal_Out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Naturalgas_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Coal_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Biomass_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Geothermal_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Hydroelectric_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Nuclear_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Wind_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Petroleum_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Solarthermal_Conv_Eff" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Btu/kWh" - }, - "Naturalgas_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Coal_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Biomass_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Geothermal_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Hydroelectric_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Nuclear_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Wind_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Petroleum_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Solarthermal_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Naturalgas_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Coal_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Biomass_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Geothermal_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Hydroelectric_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Nuclear_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Wind_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Petroleum_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Solarthermal_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Naturalgas_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Coal_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Biomass_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Geothermal_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Hydroelectric_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Nuclear_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Wind_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Petroleum_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Solarthermal_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/Btu" - }, - "Naturalgas_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Naturalgas_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Naturalgas_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Coal_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Coal_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Coal_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Biomass_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Biomass_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Biomass_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Geothermal_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Geothermal_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Geothermal_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Hydroelectric_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Hydroelectric_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Hydroelectric_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Nuclear_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Nuclear_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Nuclear_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Wind_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Wind_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Wind_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Petroleum_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Petroleum_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Petroleum_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Solarthermal_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Solarthermal_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Solarthermal_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Total_emissions_CO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Total_emissions_SO2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Total_emissions_NOx" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb" - }, - "Total_energy_out" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "kWh" - }, - "Region" : { - "type" : "double", - "access" : "PUBLIC" - }, - "cycle_interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s" - } - }, - "load_tracker" : { - "object_size" : "344", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "target" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "target object to track the load of" - }, - "target_property" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "property on the target object representing the load" - }, - "operation" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "ANGLE" : "0x3", - "MAGNITUDE" : "0x2", - "IMAGINARY" : "0x1", - "REAL" : "0x0" - }, - "description" : "operation to perform on complex property types" - }, - "full_scale" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "magnitude of the load at full load, used for feed-forward control" - }, - "setpoint" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "load setpoint to track to" - }, - "deadband" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "percentage deadband" - }, - "damping" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "load setpoint to track to" - }, - "output" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "output scaling value" - }, - "feedback" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "the feedback signal, for reference purposes" - } - }, - "triplex_load" : { - "object_size" : "3480", - "parent" : "triplex_node", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "load_class" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "A" : "0x4", - "I" : "0x3", - "C" : "0x2", - "R" : "0x1", - "U" : "0x0" - }, - "description" : "Flag to track load type, not currently used for anything except sorting" - }, - "constant_power_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "constant power load on split phase 1, specified as VA" - }, - "constant_power_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "constant power load on split phase 2, specified as VA" - }, - "constant_power_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "constant power load on split phase 12, specified as VA" - }, - "constant_power_1_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "constant power load on spit phase 1, real only, specified as W" - }, - "constant_power_2_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "constant power load on phase 2, real only, specified as W" - }, - "constant_power_12_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W", - "description" : "constant power load on phase 12, real only, specified as W" - }, - "constant_power_1_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "constant power load on phase 1, imaginary only, specified as VAr" - }, - "constant_power_2_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "constant power load on phase 2, imaginary only, specified as VAr" - }, - "constant_power_12_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VAr", - "description" : "constant power load on phase 12, imaginary only, specified as VAr" - }, - "constant_current_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1, specified as Amps" - }, - "constant_current_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 2, specified as Amps" - }, - "constant_current_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 12, specified as Amps" - }, - "constant_current_1_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1, real only, specified as Amps" - }, - "constant_current_2_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 2, real only, specified as Amps" - }, - "constant_current_12_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 12, real only, specified as Amps" - }, - "constant_current_1_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 1, imaginary only, specified as Amps" - }, - "constant_current_2_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 2, imaginary only, specified as Amps" - }, - "constant_current_12_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "A", - "description" : "constant current load on phase 12, imaginary only, specified as Amps" - }, - "constant_impedance_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 1, specified as Ohms" - }, - "constant_impedance_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 2, specified as Ohms" - }, - "constant_impedance_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 12, specified as Ohms" - }, - "constant_impedance_1_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 1, real only, specified as Ohms" - }, - "constant_impedance_2_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 2, real only, specified as Ohms" - }, - "constant_impedance_12_real" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 12, real only, specified as Ohms" - }, - "constant_impedance_1_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 1, imaginary only, specified as Ohms" - }, - "constant_impedance_2_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 2, imaginary only, specified as Ohms" - }, - "constant_impedance_12_reac" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Ohm", - "description" : "constant impedance load on phase 12, imaginary only, specified as Ohms" - }, - "measured_voltage_1" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "measured voltage on phase 1" - }, - "measured_voltage_2" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "measured voltage on phase 2" - }, - "measured_voltage_12" : { - "type" : "complex", - "access" : "PUBLIC", - "unit" : "V", - "description" : "measured voltage on phase 12" - }, - "base_power_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "in similar format as ZIPload, this represents the nominal power on phase 1 before applying ZIP fractions" - }, - "base_power_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "in similar format as ZIPload, this represents the nominal power on phase 2 before applying ZIP fractions" - }, - "base_power_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "VA", - "description" : "in similar format as ZIPload, this represents the nominal power on phase 12 before applying ZIP fractions" - }, - "power_pf_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 1 constant power portion of load" - }, - "current_pf_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 1 constant current portion of load" - }, - "impedance_pf_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 1 constant impedance portion of load" - }, - "power_pf_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 2 constant power portion of load" - }, - "current_pf_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 2 constant current portion of load" - }, - "impedance_pf_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 2 constant impedance portion of load" - }, - "power_pf_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 12 constant power portion of load" - }, - "current_pf_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 12 constant current portion of load" - }, - "impedance_pf_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "in similar format as ZIPload, this is the power factor of the phase 12 constant impedance portion of load" - }, - "power_fraction_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant power fraction of base power on phase 1" - }, - "current_fraction_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant current fraction of base power on phase 1" - }, - "impedance_fraction_1" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant impedance fraction of base power on phase 1" - }, - "power_fraction_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant power fraction of base power on phase 2" - }, - "current_fraction_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant current fraction of base power on phase 2" - }, - "impedance_fraction_2" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant impedance fraction of base power on phase 2" - }, - "power_fraction_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant power fraction of base power on phase 12" - }, - "current_fraction_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant current fraction of base power on phase 12" - }, - "impedance_fraction_12" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "pu", - "description" : "this is the constant impedance fraction of base power on phase 12" - } - }, - "impedance_dump" : { - "object_size" : "416", - "trl" : "0", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "group" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "the group ID to output data for (all links if empty)" - }, - "filename" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "the file to dump the current data into" - }, - "runtime" : { - "type" : "timestamp", - "access" : "PUBLIC", - "description" : "the time to check voltage data" - }, - "runcount" : { - "type" : "int32", - "access" : "REFERENCE", - "description" : "the number of times the file has been written to" - } - }, - "vfd" : { - "object_size" : "3416", - "parent" : "link", - "trl" : "7", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "rated_motor_speed" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "1/min", - "description" : "Rated speed of the VFD in RPM. Default = 1800 RPM" - }, - "desired_motor_speed" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "1/min", - "description" : "Desired speed of the VFD In ROM. Default = 1800 RPM (max)" - }, - "motor_poles" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "Number of Motor Poles. Default = 4" - }, - "rated_output_voltage" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "V", - "description" : "Line to Line Voltage - VFD Rated voltage. Default to TO node nominal_voltage" - }, - "rated_horse_power" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "hp", - "description" : "Rated Horse Power of the VFD. Default = 75 HP" - }, - "nominal_output_frequency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "Nominal VFD output frequency. Default = 60 Hz" - }, - "desired_output_frequency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "VFD desired output frequency based on the desired RPM" - }, - "current_output_frequency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "Hz", - "description" : "VFD currently output frequency" - }, - "efficiency" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "%", - "description" : "Current VFD efficiency based on the load/VFD output Horsepower" - }, - "stable_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Time taken by the VFD to reach desired frequency (based on RPM). Default = 1.45 seconds" - }, - "vfd_state" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "STEADY_STATE" : "0x2", - "CHANGING" : "0x1", - "OFF" : "0x0" - }, - "description" : "Current state of the VFD" - } - }, - "pole" : { - "object_size" : "328", - "trl" : "7", - "module" : "powerflow", - "profiler.numobjs" : "11", - "profiler.clocks" : "0", - "profiler.count" : "0", - "status" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "FAILED" : "0x1", - "OK" : "0x0" - }, - "default" : "OK", - "description" : "pole status" - }, - "tilt_angle" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg", - "default" : "0.0 deg", - "description" : "tilt angle of pole" - }, - "tilt_direction" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg", - "default" : "0.0 deg", - "description" : "tilt direction of pole" - }, - "weather" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "weather data" - }, - "configuration" : { - "type" : "object", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "configuration data" - }, - "install_year" : { - "type" : "int32", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "the year of pole was installed" - }, - "repair_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "h", - "description" : "typical repair time after pole failure" - }, - "wind_speed" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "m/s", - "default" : "0 m/s", - "description" : "local wind speed" - }, - "wind_direction" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg", - "default" : "0 deg", - "description" : "local wind direction" - }, - "wind_gusts" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "m/s", - "default" : "0 m/s", - "description" : "local wind gusts" - }, - "pole_stress" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "description" : "ratio of actual stress to critical stress" - }, - "pole_stress_polynomial_a" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "constant a of the pole stress polynomial function" - }, - "pole_stress_polynomial_b" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "constant b of the pole stress polynomial function" - }, - "pole_stress_polynomial_c" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "constant c of the pole stress polynomial function" - }, - "susceptibility" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu*s/m", - "description" : "susceptibility of pole to wind stress (derivative of pole stress w.r.t wind speed)" - }, - "total_moment" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "the total moment on the pole" - }, - "resisting_moment" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "the resisting moment on the pole" - }, - "pole_moment" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "the moment of the pole" - }, - "pole_moment_nowind" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "the moment of the pole without wind" - }, - "equipment_moment" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "the moment of the equipment" - }, - "equipment_moment_nowind" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "the moment of the equipment without wind" - }, - "critical_wind_speed" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "m/s", - "description" : "wind speed at pole failure" - }, - "wire_moment" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "wind moment at current wind speed" - }, - "wire_tension" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "ft*lb", - "description" : "wind tension at current wind speed" - }, - "guy_height" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0 ft", - "description" : "guy wire attachment height" - } - }, - "pole_configuration" : { - "object_size" : "248", - "trl" : "9", - "module" : "powerflow", - "profiler.numobjs" : "3", - "profiler.clocks" : "0", - "profiler.count" : "0", - "pole_type" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "STEEL" : "0x1", - "CONCRETE" : "0x2", - "WOOD" : "0x0" - }, - "description" : "material from which pole is made" - }, - "design_ice_thickness" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in", - "description" : "design ice thickness on conductors" - }, - "design_wind_loading" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "psi", - "description" : "design wind loading on pole" - }, - "design_temperature" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "degF", - "description" : "design temperature for pole" - }, - "overload_factor_vertical" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design overload factor (vertical)" - }, - "overload_factor_transverse_general" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design overload factor (transverse general)" - }, - "overload_factor_transverse_crossing" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design overload factor (transverse crossing)" - }, - "overload_factor_transverse_wire" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design overload factor (transverse wire)" - }, - "overload_factor_longitudinal_general" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design overload factor (longitudinal general)" - }, - "overload_factor_longitudinal_deadend" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design overload factor (longitudinal deadend)" - }, - "strength_factor_250b_wood" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design strength factor (Rule 250B wood structure)" - }, - "strength_factor_250b_support" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design strength factor (Rule 250B support hardware)" - }, - "strength_factor_250c_wood" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design strength factor (Rule 250C wood structure)" - }, - "strength_factor_250c_support" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "design strength factor (Rule 250C support hardware)" - }, - "pole_length" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "description" : "total length of pole (including underground portion)" - }, - "pole_depth" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "description" : "depth of pole underground" - }, - "ground_diameter" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in", - "description" : "diameter of pole at ground level" - }, - "top_diameter" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in", - "description" : "diameter of pole at top" - }, - "fiber_strength" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "psi", - "description" : "pole structural strength" - }, - "repair_time" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "h", - "description" : "pole repair time" - }, - "degradation_rate" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "in/yr", - "description" : "rate of pole degradation." - }, - "treatment_method" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CCA" : "0x3", - "PENTA" : "0x2", - "CREOSOTE" : "0x1", - "NONE" : "0x0" - }, - "description" : "pole degradation prevention treatment" - }, - "material_density" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb/cf", - "default" : "35 lb/cf", - "description" : "pole material density" - } - }, - "pole_mount" : { - "object_size" : "1260", - "trl" : "7", - "module" : "powerflow", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "equipment" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "powerflow link object id" - }, - "height" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0.0 ft", - "description" : "height above ground at which equipment is mounted" - }, - "offset" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "default" : "0.0 ft", - "description" : "distance from pole centerline at which equipment is mounted" - }, - "area" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "sf", - "default" : "0.0 sf", - "description" : "cross sectional area of equipment" - }, - "direction" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "deg", - "default" : "0.0 deg", - "description" : "direction from pole centerline at which equipment is mounted" - }, - "weight" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "lb", - "default" : "0.0 lb", - "description" : "weight of equipment mounted" - }, - "pole_spacing" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "ft", - "description" : "Mean spacing between poles adjacent" - }, - "type" : { - "type" : "char32", - "access" : "PUBLIC", - "flags" : "EXTENDED" - }, - "related" : { - "type" : "char1024", - "access" : "PUBLIC", - "flags" : "EXTENDED" - }, - "id" : { - "type" : "char32", - "access" : "PUBLIC", - "flags" : "EXTENDED" - }, - "size" : { - "type" : "char32", - "access" : "PUBLIC", - "flags" : "EXTENDED" - } - }, - "climate" : { - "object_size" : "2600", - "trl" : "0", - "module" : "climate", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "solar_elevation" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "rad", - "description" : "solar elevation angle in radians" - }, - "solar_azimuth" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "rad", - "description" : "solar azimuth angle in radians" - }, - "solar_zenith" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "rad", - "description" : "solar zenith angle in radians" - }, - "city" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "weather data city name" - }, - "tmyfile" : { - "type" : "char1024", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "weather data file name" - }, - "temperature" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "degF", - "default" : "59.0 degF", - "description" : "current temperature" - }, - "humidity" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "75%", - "description" : "current humidity" - }, - "solar_flux" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "current solar irradiance (9 orientiations)" - }, - "solar_direct" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "solar direct irradiance" - }, - "solar_diffuse" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "solar diffuse irradiance" - }, - "solar_global" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "solar global flux irradiance" - }, - "extraterrestrial_global_horizontal" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "solar global extraterrestrial irradiance" - }, - "extraterrestrial_direct_normal" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "default" : "1367 W/m^2", - "description" : "solar direct normal extraterrestrial irradiance" - }, - "pressure" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "mbar", - "default" : "1013.25 mbar", - "description" : "current air pressure" - }, - "wind_speed" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "m/s", - "description" : "current wind speed" - }, - "wind_dir" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "rad", - "description" : "current direction in radians" - }, - "wind_gust" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "m/s", - "description" : "current wind gusts" - }, - "record.low" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "degF", - "description" : "record low temperature observed" - }, - "record.low_day" : { - "type" : "int32", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "day of year for record low observation" - }, - "record.high" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "degF", - "description" : "record high temperature observed" - }, - "record.high_day" : { - "type" : "int32", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "day of year for record high observation" - }, - "record.solar" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "record high solar irradiance observed" - }, - "rainfall" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "in/h", - "description" : "rainfall observed" - }, - "snowdepth" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "in", - "description" : "snow depth observed" - }, - "interpolate" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "QUADRATIC" : "0x2", - "LINEAR" : "0x1", - "NONE" : "0x0" - }, - "flags" : "OUTPUT", - "default" : "NONE", - "description" : "the interpolation mode used on the climate data" - }, - "solar_horiz" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on horizontal surface" - }, - "solar_north" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on north surface" - }, - "solar_northeast" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on northeast surface" - }, - "solar_east" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on east surface" - }, - "solar_southeast" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on southeast surface" - }, - "solar_south" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on south surface" - }, - "solar_southwest" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on southwest surface" - }, - "solar_west" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on west surface" - }, - "solar_northwest" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "solar flux on northwest surface" - }, - "solar_raw" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "raw solar flux" - }, - "ground_reflectivity" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "0.3 pu", - "description" : "ground reflectivity observed" - }, - "reader" : { - "type" : "object", - "access" : "PUBLIC", - "description" : "weather reader object" - }, - "forecast" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "forecasting specifications" - }, - "cloud_model" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "CUMULUS" : "0x1", - "NONE" : "0x0" - }, - "flags" : "OUTPUT", - "default" : "NONE", - "description" : "the cloud model to use" - }, - "cloud_opacity" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "1.0 pu", - "description" : "cloud opacity factor" - }, - "opq_sky_cov" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "description" : "cloud sky coverage factor" - }, - "cloud_speed_factor" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "1.0 pu", - "description" : "cloud speed factor" - }, - "solar_cloud_direct" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "cloud direct irradiance" - }, - "solar_cloud_diffuse" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "cloud diffuse irradiance" - }, - "solar_cloud_global" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "description" : "cloud global irradiance" - }, - "cloud_alpha" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "400 pu", - "description" : "cloud alpha" - }, - "cloud_num_layers" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "40 pu", - "description" : "number of cloud layers" - }, - "cloud_aerosol_transmissivity" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "0.95 pu", - "description" : "cloud aerosal transmissivity" - }, - "heat_index" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "degF", - "description" : "heat index based on temperature and humidity" - } - }, - "weather" : { - "object_size" : "128", - "trl" : "2", - "module" : "climate", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "temperature" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "degF", - "default" : "0.0 degF", - "description" : "dry-bulb air temperature" - }, - "humidity" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "%", - "default" : "0%", - "description" : "relative humidity" - }, - "solar_dir" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "DEPRECATED|OUTPUT", - "unit" : "W/sf", - "default" : "0.0 W/sf", - "description" : "direct solar flux" - }, - "solar_direct" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "W/sf", - "default" : "0.0 W/sf", - "description" : "direct solar flux" - }, - "solar_diff" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "DEPRECATED|OUTPUT", - "unit" : "W/sf", - "default" : "0.0 W/sf", - "description" : "diffuse solar flux" - }, - "solar_diffuse" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "default" : "0.0 W/sf", - "description" : "diffuse solar flux" - }, - "solar_global" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "default" : "0.0 W/sf", - "description" : "global solar flux" - }, - "global_horizontal_extra" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "W/sf", - "default" : "0.0 W/sf", - "description" : "horizontal surface solar flux" - }, - "wind_speed" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "mph", - "default" : "0.0 mph", - "description" : "wind speed" - }, - "wind_dir" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "deg", - "default" : "0.0 deg", - "description" : "wind direction" - }, - "opq_sky_cov" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "0.0 pu", - "description" : "opaque sky cover" - }, - "tot_sky_cov" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "pu", - "default" : "0.0 pu", - "description" : "total sky cover" - }, - "rainfall" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "in/h", - "default" : "0.0 in/h", - "description" : "rainfall rate" - }, - "snowdepth" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "in", - "default" : "0.0 in", - "description" : "depth of snow on the ground" - }, - "pressure" : { - "type" : "double", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "unit" : "mbar", - "default" : "0.0 mbar", - "description" : "air pressure" - }, - "month" : { - "type" : "int16", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "current month" - }, - "day" : { - "type" : "int16", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "current day" - }, - "hour" : { - "type" : "int16", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "current hour" - }, - "minute" : { - "type" : "int16", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "current minute" - }, - "second" : { - "type" : "int16", - "access" : "PUBLIC", - "flags" : "OUTPUT", - "description" : "current second" - } - }, - "csv_reader" : { - "object_size" : "864", - "trl" : "0", - "module" : "climate", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "index" : { - "type" : "int32", - "access" : "REFERENCE", - "description" : "reader line index" - }, - "city_name" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "name of city" - }, - "state_name" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "name of state/province" - }, - "lat_deg" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "latitude degrees" - }, - "lat_min" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "latitude minutes" - }, - "long_deg" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "longitude degrees" - }, - "long_min" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "longitude minutes" - }, - "low_temp" : { - "type" : "double", - "access" : "REFERENCE", - "description" : "lowest temperature" - }, - "high_temp" : { - "type" : "double", - "access" : "REFERENCE", - "description" : "highest temperature" - }, - "peak_solar" : { - "type" : "double", - "access" : "REFERENCE", - "description" : "peak solar flux" - }, - "elevation" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "elevation" - }, - "status" : { - "type" : "enumeration", - "access" : "REFERENCE", - "keywords" : { - "ERROR" : "0x2", - "OPEN" : "0x1", - "INIT" : "0x0" - }, - "description" : "reader status" - }, - "timefmt" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "time format" - }, - "timezone" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "timezone" - }, - "timezone_offset" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "timezone offset" - }, - "columns" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "column names" - }, - "filename" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "filename" - } - }, - "player" : { - "object_size" : "13672", - "trl" : "9", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "property" : { - "type" : "char256", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "property to play values into" - }, - "file" : { - "type" : "char1024", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "file from which to read values" - }, - "filetype" : { - "type" : "char8", - "access" : "PUBLIC" - }, - "mode" : { - "type" : "char32", - "access" : "PUBLIC" - }, - "loop" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "0", - "description" : "number of time to loop the player" - } - }, - "shaper" : { - "object_size" : "66200", - "trl" : "8", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "file" : { - "type" : "char1024", - "access" : "PUBLIC" - }, - "filetype" : { - "type" : "char8", - "access" : "PUBLIC" - }, - "mode" : { - "type" : "char32", - "access" : "PUBLIC" - }, - "group" : { - "type" : "char256", - "access" : "PUBLIC" - }, - "property" : { - "type" : "char256", - "access" : "PUBLIC" - }, - "magnitude" : { - "type" : "double", - "access" : "PUBLIC" - }, - "events" : { - "type" : "double", - "access" : "PUBLIC" - } - }, - "recorder" : { - "object_size" : "15816", - "trl" : "9", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "trigger" : { - "type" : "char32", - "access" : "PUBLIC", - "default" : "", - "description" : "condition to trigger recorder" - }, - "file" : { - "type" : "char1024", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "file in which to record data" - }, - "filetype" : { - "type" : "char8", - "access" : "PUBLIC", - "description" : "file type to use when storing data" - }, - "mode" : { - "type" : "char32", - "access" : "PUBLIC", - "default" : "file", - "description" : "recorder operating mode" - }, - "multifile" : { - "type" : "char1024", - "access" : "PUBLIC" - }, - "limit" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "0", - "description" : "limit on number of rows to record (0=none)" - }, - "plotcommands" : { - "type" : "char1024", - "access" : "PUBLIC" - }, - "xdata" : { - "type" : "char32", - "access" : "PUBLIC" - }, - "columns" : { - "type" : "char32", - "access" : "PUBLIC" - }, - "flush" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "-1", - "description" : "row flush mode (-1=when full, 0=every row, >0=interval in seconds)" - }, - "format" : { - "type" : "bool", - "access" : "PUBLIC", - "default" : "0" - }, - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "default" : "-1 s", - "description" : "sampling interval" - }, - "strftime_format" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "date/time format" - }, - "property" : { - "type" : "method", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "list of properties to sample" - }, - "output" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "SVG" : "0x6", - "PNG" : "0x5", - "PDF" : "0x4", - "JPG" : "0x3", - "GIF" : "0x2", - "EPS" : "0x1", - "SCREEN" : "0x0" - } - }, - "header_units" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "NONE" : "0x2", - "ALL" : "0x1", - "DEFAULT" : "0x0" - }, - "default" : "DEFAULT", - "description" : "header option for output of units" - }, - "line_units" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "NONE" : "0x2", - "ALL" : "0x1", - "DEFAULT" : "0x0" - }, - "default" : "DEFAULT", - "description" : "inline option for output of units" - } - }, - "multi_recorder" : { - "object_size" : "15816", - "trl" : "8", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "default" : "-1 s", - "description" : "sampling interval" - }, - "property" : { - "type" : "method", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "list of properties to sample" - }, - "trigger" : { - "type" : "char32", - "access" : "PUBLIC", - "default" : "", - "description" : "condition to trigger recorder" - }, - "file" : { - "type" : "char1024", - "access" : "PUBLIC", - "flags" : "REQUIRED", - "description" : "file in which to record data" - }, - "filetype" : { - "type" : "char8", - "access" : "PUBLIC", - "description" : "file type to use when storing data" - }, - "mode" : { - "type" : "char32", - "access" : "PUBLIC", - "default" : "file", - "description" : "recorder operating mode" - }, - "multifile" : { - "type" : "char1024", - "access" : "PUBLIC" - }, - "limit" : { - "type" : "int32", - "access" : "PUBLIC", - "default" : "0", - "description" : "limit on number of rows to record (0=none)" - }, - "plotcommands" : { - "type" : "char1024", - "access" : "PUBLIC" - }, - "xdata" : { - "type" : "char32", - "access" : "PUBLIC" - }, - "columns" : { - "type" : "char32", - "access" : "PUBLIC" - }, - "format" : { - "type" : "char32", - "access" : "PUBLIC", - "default" : "0" - }, - "output" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "SVG" : "0x6", - "PNG" : "0x5", - "PDF" : "0x4", - "JPG" : "0x3", - "GIF" : "0x2", - "EPS" : "0x1", - "SCREEN" : "0x0" - } - }, - "header_units" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "NONE" : "0x2", - "ALL" : "0x1", - "DEFAULT" : "0x0" - } - }, - "line_units" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "NONE" : "0x2", - "ALL" : "0x1", - "DEFAULT" : "0x0" - } - } - }, - "collector" : { - "object_size" : "7568", - "trl" : "9", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "trigger" : { - "type" : "char32", - "access" : "PUBLIC" - }, - "file" : { - "type" : "char1024", - "access" : "PUBLIC" - }, - "limit" : { - "type" : "int32", - "access" : "PUBLIC" - }, - "group" : { - "type" : "char256", - "access" : "PUBLIC" - }, - "flush" : { - "type" : "int32", - "access" : "PUBLIC" - }, - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s" - }, - "property" : { - "type" : "method", - "access" : "PUBLIC" - } - }, - "histogram" : { - "object_size" : "4568", - "trl" : "7", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "filename" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "the name of the file to write" - }, - "filetype" : { - "type" : "char8", - "access" : "PUBLIC", - "description" : "the format to output a histogram in" - }, - "mode" : { - "type" : "char32", - "access" : "PUBLIC", - "description" : "the mode of file output" - }, - "group" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "the GridLAB-D group expression to use for this histogram" - }, - "bins" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "the specific bin values to use" - }, - "property" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "the property to sample" - }, - "min" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "the minimum value of the auto-sized bins to use" - }, - "max" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "the maximum value of the auto-sized bins to use" - }, - "samplerate" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "the rate at which samples are read" - }, - "countrate" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "the reate at which bins are counted and written" - }, - "bin_count" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "the number of auto-sized bins to use" - }, - "limit" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "the number of samples to write" - } - }, - "group_recorder" : { - "object_size" : "1696", - "trl" : "0", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "file" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "output file name" - }, - "group" : { - "type" : "char1024", - "access" : "PUBLIC", - "description" : "group definition string" - }, - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "recordering interval (0 'every iteration', -1 'on change')" - }, - "flush_interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "file flush interval (0 never, negative on samples)" - }, - "strict" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "causes the group_recorder to stop the simulation should there be a problem opening or writing with the group_recorder" - }, - "print_units" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "flag to append units to each written value, if applicable" - }, - "property" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "property to record" - }, - "limit" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "the maximum number of lines to write to the file" - }, - "format" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "determines whether output timestamp is formatted to be formatted as human-readable (default) or epoch" - }, - "complex_part" : { - "type" : "enumeration", - "access" : "PUBLIC", - "keywords" : { - "ANG_RAD" : "0x5", - "ANG_DEG" : "0x4", - "MAG" : "0x3", - "IMAG" : "0x2", - "REAL" : "0x1", - "NONE" : "0x0" - }, - "description" : "the complex part to record if complex properties are gathered" - } - }, - "violation_recorder" : { - "object_size" : "1576", - "trl" : "0", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "file" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "output file name" - }, - "summary" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "summary output file name" - }, - "virtual_substation" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "name of the substation node to monitor for reverse flow violation" - }, - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "recording interval (0 'every iteration', -1 'on change')" - }, - "flush_interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "file flush interval (0 never, negative on samples)" - }, - "strict" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "causes the violation_recorder to stop the simulation should there be a problem opening or writing with the violation_recorder" - }, - "echo" : { - "type" : "bool", - "access" : "PUBLIC", - "description" : "causes the violation_recorder to echo messages to the screen" - }, - "limit" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "the maximum number of lines to write to the file" - }, - "violation_delay" : { - "type" : "int32", - "access" : "PUBLIC", - "description" : "the number of seconds to skip before recording violations" - }, - "xfrmr_thermal_limit_upper" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "xfrmr_thermal_limit_upper" - }, - "xfrmr_thermal_limit_lower" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "xfrmr_thermal_limit_lower" - }, - "line_thermal_limit_upper" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "line_thermal_limit_upper" - }, - "line_thermal_limit_lower" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "line_thermal_limit_lower" - }, - "node_instantaneous_voltage_limit_upper" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "node_instantaneous_voltage_limit_upper" - }, - "node_instantaneous_voltage_limit_lower" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "node_instantaneous_voltage_limit_lower" - }, - "node_continuous_voltage_limit_upper" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "node_continuous_voltage_limit_upper" - }, - "node_continuous_voltage_limit_lower" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "node_continuous_voltage_limit_lower" - }, - "node_continuous_voltage_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "node_continuous_voltage_interval" - }, - "secondary_dist_voltage_rise_upper_limit" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "secondary_dist_voltage_rise_upper_limit" - }, - "secondary_dist_voltage_rise_lower_limit" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "secondary_dist_voltage_rise_lower_limit" - }, - "substation_breaker_A_limit" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "breaker_phase_A_limit" - }, - "substation_breaker_B_limit" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "breaker_phase_B_limit" - }, - "substation_breaker_C_limit" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "breaker_phase_C_limit" - }, - "substation_pf_lower_limit" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "substation_pf_lower_limit" - }, - "inverter_v_chng_per_interval_upper_bound" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "inverter_v_chng_per_interval_upper_bound" - }, - "inverter_v_chng_per_interval_lower_bound" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "inverter_v_chng_per_interval_lower_bound" - }, - "inverter_v_chng_interval" : { - "type" : "double", - "access" : "PUBLIC", - "description" : "inverter_v_chng_interval" - }, - "violation_flag" : { - "type" : "set", - "access" : "PUBLIC", - "keywords" : { - "ALLVIOLATIONS" : "0xff", - "VIOLATION8" : "0x80", - "VIOLATION7" : "0x40", - "VIOLATION6" : "0x20", - "VIOLATION5" : "0x10", - "VIOLATION4" : "0x8", - "VIOLATION3" : "0x4", - "VIOLATION2" : "0x2", - "VIOLATION1" : "0x1", - "VIOLATION0" : "0x0" - }, - "description" : "bit set for determining which violations to check" - } - }, - "metrics_collector" : { - "object_size" : "720", - "trl" : "0", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Interval at which the metrics_collector output is stored in JSON format" - } - }, - "metrics_collector_writer" : { - "object_size" : "6960", - "trl" : "0", - "module" : "tape", - "profiler.numobjs" : "0", - "profiler.clocks" : "0", - "profiler.count" : "0", - "filename" : { - "type" : "char256", - "access" : "PUBLIC", - "description" : "the JSON formatted output file name" - }, - "interval" : { - "type" : "double", - "access" : "PUBLIC", - "unit" : "s", - "description" : "Interval at which the metrics_collector_writer output is stored in JSON format" - } - } - }, - "globals" : { - "version.major" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "4" - }, - "version.minor" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "2" - }, - "version.patch" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "27" - }, - "version.build" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "210903" - }, - "version.branch" : { - "type" : "char256", - "access" : "REFERENCE", - "value" : "use_case_resilience" - }, - "version" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "4.2.27-210903-use_case_resilience" - }, - "command_line" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/bin/gridlabd.bin anticipation.glm" - }, - "environment" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "batch" - }, - "quiet" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "warn" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "debugger" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "gdb" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "debug" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "test" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "verbose" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "iteration_limit" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "100" - }, - "workdir" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "/Users/aivanovalocal/gridlabd/templates/gridlabd-template/US/CA/SLAC/anticipation" - }, - "dumpfile" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "gridlabd.json" - }, - "savefile" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "" - }, - "dumpall" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "runchecks" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "threadcount" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "1" - }, - "profiler" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "pauseatexit" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "testoutputfile" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "test.txt" - }, - "xml_encoding" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "8" - }, - "clock" : { - "type" : "timestamp", - "access" : "PUBLIC", - "value" : "1999-12-31 16:00:00 PST" - }, - "starttime" : { - "type" : "timestamp", - "access" : "PUBLIC", - "value" : "2021-06-08 00:00:00 PDT" - }, - "stoptime" : { - "type" : "timestamp", - "access" : "PUBLIC", - "value" : "2021-06-08 01:00:00 PDT" - }, - "double_format" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "%+lg" - }, - "complex_format" : { - "type" : "char256", - "access" : "PUBLIC", - "value" : "%+lg%+lg%c" - }, - "complex_output_format" : { - "type" : "enumeration", - "keywords" : { - "DEFAULT" : "0x0", - "RECT" : "0x1", - "POLAR_DEG" : "0x2", - "POLAR_RAD" : "0x3" - }, - "access" : "PUBLIC", - "value" : "DEFAULT" - }, - "object_format" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "%s:%d" - }, - "object_scan" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "%[^:]:%d" - }, - "object_tree_balance" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "kmlfile" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "" - }, - "kmlhost" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "https://raw.githubusercontent.com/slacgismo/gridlabd/master/gldcore/rt" - }, - "modelname" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "anticipation.glm" - }, - "execdir" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/bin" - }, - "strictnames" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "website" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "http://www.gridlabd.org/" - }, - "urlbase" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "http://www.gridlabd.org/" - }, - "randomstate" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "randomseed" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "include" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "" - }, - "trace" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "" - }, - "gdb_window" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "tmp" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "/Users/aivanovalocal/.gridlabd/tmp" - }, - "force_compile" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "nolocks" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "skipsafe" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "dateformat" : { - "type" : "enumeration", - "keywords" : { - "ISO" : "0x0", - "US" : "0x1", - "EURO" : "0x2", - "ISO8601" : "0x3" - }, - "access" : "PUBLIC", - "value" : "ISO" - }, - "init_sequence" : { - "type" : "enumeration", - "keywords" : { - "CREATION" : "0x0", - "DEFERRED" : "0x1", - "BOTTOMUP" : "0x2", - "TOPDOWN" : "0x3" - }, - "access" : "PUBLIC", - "value" : "DEFERRED" - }, - "minimum_timestep" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "1" - }, - "platform" : { - "type" : "char8", - "access" : "REFERENCE", - "value" : "MACOSX" - }, - "suppress_repeat_messages" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "maximum_synctime" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "60" - }, - "run_realtime" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "enter_realtime" : { - "type" : "timestamp", - "access" : "PUBLIC", - "value" : "NEVER" - }, - "realtime_metric" : { - "type" : "double", - "access" : "REFERENCE", - "value" : "+0" - }, - "no_deprecate" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "streaming_io" : { - "type" : "bool", - "access" : "PROTECTED", - "value" : "FALSE" - }, - "compileonly" : { - "type" : "bool", - "access" : "PROTECTED", - "value" : "FALSE" - }, - "relax_naming_rules" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "browser" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "safari" - }, - "server_portnum" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "server_quit_on_close" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "client_allowed" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "" - }, - "autoclean" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "technology_readiness_level" : { - "type" : "enumeration", - "keywords" : { - "PRINCIPLE" : "0x1", - "CONCEPT" : "0x2", - "PROOF" : "0x3", - "STANDALONE" : "0x4", - "INTEGRATED" : "0x5", - "DEMONSTRATED" : "0x6", - "PROTOTYPE" : "0x7", - "QUALIFIED" : "0x8", - "PROVEN" : "0x9", - "UNKNOWN" : "0x0" - }, - "access" : "PUBLIC", - "value" : "UNKNOWN" - }, - "show_progress" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "checkpoint_type" : { - "type" : "enumeration", - "keywords" : { - "NONE" : "0x0", - "WALL" : "0x1", - "SIM" : "0x2" - }, - "access" : "PUBLIC", - "value" : "NONE" - }, - "checkpoint_file" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "" - }, - "checkpoint_seqnum" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "checkpoint_interval" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "checkpoint_keepall" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "check_version" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "random_number_generator" : { - "type" : "enumeration", - "keywords" : { - "RNG2" : "0x2", - "RNG3" : "0x3" - }, - "access" : "PUBLIC", - "value" : "RNG3" - }, - "mainloop_state" : { - "type" : "enumeration", - "keywords" : { - "INIT" : "0x0", - "RUNNING" : "0x1", - "PAUSED" : "0x2", - "DONE" : "0x3", - "LOCKED" : "0x4" - }, - "access" : "PUBLIC", - "value" : "INIT" - }, - "pauseat" : { - "type" : "timestamp", - "access" : "PUBLIC", - "value" : "NEVER" - }, - "infourl" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "http://docs.gridlabd.us/index.html?owner=slacgismo&project=gridlabd&search=" - }, - "hostname" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "localhost" - }, - "hostaddr" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "127.0.0.1" - }, - "autostart_gui" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "master" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "" - }, - "master_port" : { - "type" : "int64", - "access" : "PUBLIC", - "value" : "0" - }, - "multirun_mode" : { - "type" : "enumeration", - "keywords" : { - "STANDALONE" : "0x0", - "MASTER" : "0x1", - "SLAVE" : "0x2", - "LIBRARY" : "0x3" - }, - "access" : "PUBLIC", - "value" : "STANDALONE" - }, - "multirun_conn" : { - "type" : "enumeration", - "keywords" : { - "NONE" : "0x0", - "MEMORY" : "0x1", - "SOCKET" : "0x2" - }, - "access" : "PUBLIC", - "value" : "NONE" - }, - "signal_timeout" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "5000" - }, - "slave_port" : { - "type" : "int16", - "access" : "PUBLIC", - "value" : "6267" - }, - "slave_id" : { - "type" : "int64", - "access" : "PUBLIC", - "value" : "0" - }, - "return_code" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "0" - }, - "exit_code" : { - "type" : "int16", - "access" : "REFERENCE", - "value" : "5" - }, - "module_compiler_flags" : { - "type" : "set", - "keywords" : { - "NONE" : "0x0", - "CLEAN" : "0x1", - "KEEPWORK" : "0x2", - "DEBUG" : "0x4", - "VERBOSE" : "0x8" - }, - "access" : "PUBLIC", - "value" : "NONE" - }, - "init_max_defer" : { - "type" : "int32", - "access" : "REFERENCE", - "value" : "64" - }, - "mt_analysis" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "inline_block_size" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "1048576" - }, - "validate" : { - "type" : "set", - "keywords" : { - "NONE" : "0x0", - "TSTD" : "0x7", - "TALL" : "0xf", - "TRUN" : "0x1", - "TERR" : "0x2", - "TEXC" : "0x4", - "TOPT" : "0x8", - "RALL" : "0x300", - "RDIR" : "0x100", - "RGLM" : "0x200" - }, - "access" : "PUBLIC", - "value" : "TSTD|RALL" - }, - "sanitize" : { - "type" : "set", - "keywords" : { - "NAMES" : "0x10", - "POSITIONS" : "0x60" - }, - "access" : "PUBLIC", - "value" : "NAMES|POSITIONS" - }, - "sanitize_prefix" : { - "type" : "char8", - "access" : "PUBLIC", - "value" : "GLD_" - }, - "sanitize_index" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : ".txt" - }, - "sanitize_offset" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "" - }, - "simulation_mode" : { - "type" : "enumeration", - "keywords" : { - "INIT" : "0x0", - "EVENT" : "0x1", - "DELTA" : "0x2", - "DELTA_ITER" : "0x3", - "ERROR" : "0xff" - }, - "access" : "PUBLIC", - "value" : "INIT" - }, - "deltamode_allowed" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "deltamode_timestep" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "10000000" - }, - "deltamode_maximumtime" : { - "type" : "int64", - "access" : "PUBLIC", - "value" : "3600000000000" - }, - "deltaclock" : { - "type" : "int64", - "access" : "PUBLIC", - "value" : "0" - }, - "delta_current_clock" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+0" - }, - "deltamode_updateorder" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "" - }, - "deltamode_iteration_limit" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "10" - }, - "deltamode_forced_extra_timesteps" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "deltamode_forced_always" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "run_powerworld" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "bigranks" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "exename" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/bin/gridlabd.bin" - }, - "wget_options" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "maxsize:100MB;update:newer" - }, - "curl_options" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "maxsize:100MB;update:newer" - }, - "svnroot" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "http://gridlab-d.svn.sourceforge.net/svnroot/gridlab-d" - }, - "github" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "https://github.com/gridlab-d" - }, - "gitraw" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "https://raw.githubusercontent.com/gridlab-d" - }, - "allow_reinclude" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "output_message_context" : { - "type" : "set", - "keywords" : { - "NONE" : "0x0", - "ALL" : "0xffffffff", - "LOAD" : "0x4", - "CREATE" : "0x8", - "EXEC" : "0x10", - "TIME" : "0x20", - "FIND" : "0x40", - "CLASS" : "0x80", - "OBJECT" : "0x100", - "MODULE" : "0x200", - "INDEX" : "0x400", - "GLOBALS" : "0x800", - "EXCEPTION" : "0x1000", - "AGGREGATE" : "0x2000", - "COMPARE" : "0x4000", - "CONVERT" : "0x8000", - "DELTAMODE" : "0x10000", - "ENDUSE" : "0x20000", - "ENVIRONMENT" : "0x40000", - "GUI" : "0x80000", - "HTTPCLIENT" : "0x100000", - "INSTANCE" : "0x200000", - "INTERPOLATE" : "0x400000", - "JOB" : "0x800000", - "KML" : "0x1000000", - "LEGAL" : "0x2000000", - "LINK" : "0x4000000", - "LIST" : "0x8000000", - "XML" : "0x10000000", - "LOADSHAPE" : "0x20000000", - "LOCALE" : "0x40000000", - "LOCK" : "0x80000000", - "MATCH" : "0x0", - "MATLAB" : "0x0", - "PROPERTY" : "0x0", - "RANDOM" : "0x0", - "REALTIME" : "0x0", - "SANITIZE" : "0x0", - "SAVE" : "0x0", - "SCHEDULE" : "0x0", - "SERVER" : "0x0", - "SETUP" : "0x0", - "STREAM" : "0x0", - "TEST" : "0x0", - "THREADPOOL" : "0x0", - "TRANSFORM" : "0x0", - "HTTP" : "0x0", - "UNIT" : "0x0", - "VALIDATE" : "0x0", - "VERSION" : "0x0", - "XCORE" : "0x0", - "MAIN" : "0x1", - "PYTHON" : "0x0", - "CMDARG" : "0x2" - }, - "access" : "PUBLIC", - "value" : "NONE" - }, - "permissive_access" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "relax_undefined_if" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "literal_if" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "validto_context" : { - "type" : "enumeration", - "keywords" : { - "SYNC" : "0x0", - "PRECOMMIT" : "0x1", - "COMMIT" : "0x2" - }, - "access" : "PUBLIC", - "value" : "1414746112" - }, - "daemon_configfile" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "gridlabd.cnf" - }, - "timezone_locale" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "PST8PDT" - }, - "glm_save_options" : { - "type" : "set", - "keywords" : { - "LEGACY" : "0x0", - "MINIMAL" : "0xf", - "NOGLOBALS" : "0x4", - "NODEFAULTS" : "0x8", - "NOMACROS" : "0x2", - "NOINTERNALS" : "0x1", - "ORIGINAL" : "0x10" - }, - "access" : "PUBLIC", - "value" : "MINIMAL" - }, - "filesave_options" : { - "type" : "set", - "keywords" : { - "ALLINITIAL" : "0xc1ff", - "ALLMINIMAL" : "0x81ff", - "ALL" : "0x1ff", - "MODULES" : "0x1", - "PROPERTIES" : "0x2", - "CLASSES" : "0x4", - "GLOBALS" : "0x8", - "OBJECTS" : "0x10", - "SCHEDULES" : "0x20", - "FILTERS" : "0x40", - "SCRIPTS" : "0x80", - "CLOCK" : "0x100", - "INITIAL" : "0x4000", - "MINIMAL" : "0x8000" - }, - "access" : "PUBLIC", - "value" : "ALL" - }, - "ignore_errors" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "keep_progress" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "allow_variant_aggregates" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "progress" : { - "type" : "double", - "access" : "REFERENCE", - "value" : "+0" - }, - "server_keepalive" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "pythonpath" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "." - }, - "pythonexec" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "/usr/local/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/bin/python3.9" - }, - "datadir" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/share/gridlabd" - }, - "json_complex_format" : { - "type" : "set", - "keywords" : { - "STRING" : "0x0", - "LIST" : "0x1", - "DICT" : "0x2", - "DEGREES" : "0x10", - "RADIANS" : "0x20" - }, - "access" : "PUBLIC", - "value" : "STRING" - }, - "rusage_file" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "gridlabd-rusage.csv" - }, - "rusage_rate" : { - "type" : "int64", - "access" : "PUBLIC", - "value" : "0" - }, - "rusage" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "{}" - }, - "echo" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "filename" : { - "type" : "char1024", - "access" : "REFERENCE", - "value" : "anticipation.glm" - }, - "country" : { - "type" : "char8", - "access" : "PUBLIC", - "value" : "US" - }, - "region" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "CA" - }, - "organization" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "SLAC" - }, - "powerflow::message_flags" : { - "type" : "set", - "keywords" : { - "QUIET" : "0x10000", - "WARNING" : "0x20000", - "DEBUG" : "0x40000", - "VERBOSE" : "0x80000" - }, - "access" : "PUBLIC", - "value" : "VERBOSE" - }, - "powerflow::show_matrix_values" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::primary_voltage_ratio" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+60" - }, - "powerflow::nominal_frequency" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+60" - }, - "powerflow::require_voltage_control" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::geographic_degree" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+0" - }, - "powerflow::fault_impedance" : { - "type" : "complex", - "access" : "PUBLIC", - "value" : "+1e-06+0j" - }, - "powerflow::ground_impedance" : { - "type" : "complex", - "access" : "PUBLIC", - "value" : "+1e-06+0j" - }, - "powerflow::warning_underfrequency" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+55" - }, - "powerflow::warning_overfrequency" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+65" - }, - "powerflow::warning_undervoltage" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+0.8" - }, - "powerflow::warning_overvoltage" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+1.2" - }, - "powerflow::warning_voltageangle" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+2" - }, - "powerflow::maximum_voltage_error" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+1e-06" - }, - "powerflow::solver_method" : { - "type" : "enumeration", - "keywords" : { - "NR" : "0x2", - "GS" : "0x1", - "FBS" : "0x0" - }, - "access" : "PUBLIC", - "value" : "FBS" - }, - "powerflow::NR_matrix_file" : { - "type" : "char256", - "access" : "PUBLIC", - "value" : "" - }, - "powerflow::NR_matrix_output_interval" : { - "type" : "enumeration", - "keywords" : { - "ALL" : "0x3", - "PER_CALL" : "0x2", - "ONCE" : "0x1", - "NEVER" : "0x0" - }, - "access" : "PUBLIC", - "value" : "NEVER" - }, - "powerflow::NR_matrix_output_references" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::line_capacitance" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::line_limits" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "powerflow::lu_solver" : { - "type" : "char256", - "access" : "PUBLIC", - "value" : "" - }, - "powerflow::NR_iteration_limit" : { - "type" : "int64", - "access" : "PUBLIC", - "value" : "500" - }, - "powerflow::NR_deltamode_iteration_limit" : { - "type" : "int64", - "access" : "PUBLIC", - "value" : "10" - }, - "powerflow::NR_superLU_procs" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "1" - }, - "powerflow::default_maximum_voltage_error" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+1e-06" - }, - "powerflow::default_maximum_power_error" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+0.0001" - }, - "powerflow::NR_admit_change" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "powerflow::enable_subsecond_models" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::all_powerflow_delta" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::deltamode_timestep" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+1e+07 ns" - }, - "powerflow::current_frequency" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+60 Hz" - }, - "powerflow::master_frequency_update" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::enable_frequency_dependence" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::default_resistance" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+0.0001" - }, - "powerflow::enable_inrush" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::low_voltage_impedance_level" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+0.7" - }, - "powerflow::enable_mesh_fault_current" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::convergence_error_handling" : { - "type" : "enumeration", - "keywords" : { - "COLLAPSE" : "0x2", - "IGNORE" : "0x1", - "FATAL" : "0x0" - }, - "access" : "PUBLIC", - "value" : "FATAL" - }, - "powerflow::solver_profile_enable" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::solver_profile_filename" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "solver_nr_profile.csv" - }, - "powerflow::solver_profile_headers_included" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "TRUE" - }, - "powerflow::solver_headers" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "timestamp,duration[microsec],iteration,bus_count,branch_count,error" - }, - "powerflow::solver_py_config" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "/usr/local/var/gridlabd/solver_py.conf" - }, - "powerflow::solver_dump_enable" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::violation_record" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "" - }, - "powerflow::violation_count" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "powerflow::violation_active" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "powerflow::violation_watchset" : { - "type" : "set", - "keywords" : { - "ALL" : "0xffff", - "LINK" : "0xff00", - "VREG" : "0x400", - "XFRM" : "0x200", - "LINE" : "0x100", - "NODE" : "0xff", - "LOAD" : "0x1", - "NONE" : "0x0" - }, - "access" : "PUBLIC", - "value" : "ALL" - }, - "powerflow::market_price_name" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "current_market.clearing_price" - }, - "powerflow::repair_time" : { - "type" : "double", - "access" : "PUBLIC", - "value" : "+24 h" - }, - "powerflow::wind_speed_name" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "wind_speed" - }, - "powerflow::wind_dir_name" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "wind_dir" - }, - "powerflow::wind_gust_name" : { - "type" : "char32", - "access" : "PUBLIC", - "value" : "wind_gust" - }, - "powerflow::stop_on_pole_failure" : { - "type" : "bool", - "access" : "PUBLIC", - "value" : "FALSE" - }, - "powerflow::climate_impact_zone" : { - "type" : "enumeration", - "keywords" : { - "NONE" : "0x0", - "LOW" : "0x1", - "MODERATE" : "0x2", - "INTERMEDIATE" : "0x3", - "HIGH" : "0x4", - "EXTREME" : "0x5" - }, - "access" : "PUBLIC", - "value" : "NONE" - }, - "climate::message_flags" : { - "type" : "set", - "keywords" : { - "QUIET" : "0x10000", - "WARNING" : "0x20000", - "DEBUG" : "0x40000", - "VERBOSE" : "0x80000" - }, - "access" : "PUBLIC", - "value" : "" - }, - "climate::library_path" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "/usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/share/gridlabd/weather/US" - }, - "tape::gnuplot_path" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "/usr/bin/gnuplot" - }, - "tape::flush_interval" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "tape::csv_data_only" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "tape::csv_header_type" : { - "type" : "enumeration", - "keywords" : { - "NAME" : "0x2", - "NONE" : "0x1", - "FULL" : "0x0" - }, - "access" : "PUBLIC", - "value" : "FULL" - }, - "tape::csv_keep_clean" : { - "type" : "int32", - "access" : "PUBLIC", - "value" : "0" - }, - "tape::delta_mode_needed" : { - "type" : "timestamp", - "access" : "PUBLIC", - "value" : "NEVER" - }, - "POLE_VULNERABILITY_ANALYSIS" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "on" - }, - "PSPS_ANALYSIS" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "off" - }, - "VEGETATION_VULNERABILITY_ANALYSIS" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "off" - }, - "RELIABILITY_MODE" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "on" - }, - "POLE_DATA" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "pole_data.csv" - }, - "WEATHER_FILE" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "test_wind.player" - }, - "STARTTIME" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "2021-06-08 00:00:00" - }, - "STOPTIME" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "2021-06-08 01:00:00" - }, - "TIMEZONE" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "PST+8PDT" - }, - "csv_load_options" : { - "type" : "char1024", - "access" : "PUBLIC", - "value" : "-f table -t object " - } - }, - "schedules" : { - }, - "objects" : { - "pole1" : { - "id" : "0", - "class" : "pole", - "latitude" : "37.427500", - "longitude" : "122.169700", - "rank" : "0", - "clock" : "2021-06-08 00:00:00 PDT", - "rng_state" : "16807", - "guid" : "317619AC11E7D2C47627B32170A54E42", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "5 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "1990", - "repair_time": "1 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole2" : { - "id" : "1", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "282475249", - "guid" : "6BF618C4B83FF2EA746A74BFF138839C", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole3" : { - "id" : "2", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1622650073", - "guid" : "31A1DD197DC73B856DBA1C0EECD39141", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole4" : { - "id" : "3", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "984943658", - "guid" : "55806C05E56D09C8630E2D6CA3F54863", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole5" : { - "id" : "4", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1144108930", - "guid" : "240E40BD01844DC621796DB9889E3CC7", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole6" : { - "id" : "5", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "470211272", - "guid" : "1C5F3ADAEF1DCA5F15CAB863DFEE01BA", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "57.2958 deg", - "tilt_direction": "0 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole7" : { - "id" : "6", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "101027544", - "guid" : "39D973774812A58D45B2BF6C30F0C659", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "100 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole8" : { - "id" : "7", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1457850878", - "guid" : "634112936A546E52098C6AEC44699F2", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole9" : { - "id" : "8", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1458777923", - "guid" : "7A4B69153126BAB053BB983C58F3475", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole10" : { - "id" : "9", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "2007237709", - "guid" : "2B7681595FCCF70B4C41183B031682DD", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "pole11" : { - "id" : "10", - "class" : "pole", - "latitude" : "37.127000", - "longitude" : "122.164600", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "823564440", - "guid" : "21EEDF034BAEA5B222CAA880D42A0E06", - "flags" : "0x80000", - "status": "OK", - "tilt_angle": "8 deg", - "tilt_direction": "270 deg", - "weather": "", - "configuration": "", - "install_year": "2000", - "repair_time": "8 h", - "wind_speed": "0 m/s", - "wind_direction": "0 deg", - "wind_gusts": "0 m/s", - "pole_stress": "0 pu", - "pole_stress_polynomial_a": "0 ft*lb", - "pole_stress_polynomial_b": "0 ft*lb", - "pole_stress_polynomial_c": "0 ft*lb", - "susceptibility": "0 pu*s/m", - "total_moment": "0 ft*lb", - "resisting_moment": "0 ft*lb", - "pole_moment": "0 ft*lb", - "pole_moment_nowind": "0 ft*lb", - "equipment_moment": "0 ft*lb", - "equipment_moment_nowind": "0 ft*lb", - "critical_wind_speed": "0 m/s", - "wire_moment": "0 ft*lb", - "wire_tension": "0 ft*lb", - "guy_height": "0 ft" - }, - "WOOD-C-45/5" : { - "id" : "11", - "class" : "pole_configuration", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1115438165", - "guid" : "3C03EFF8B11ABC5B433711F25A99B892", - "flags" : "0x80000", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "45 ft", - "pole_depth": "4.5 ft", - "ground_diameter": "10.3503 in", - "top_diameter": "6.05096 in", - "fiber_strength": "8000 psi", - "repair_time": "1 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "WOOD2" : { - "id" : "12", - "class" : "pole_configuration", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "1784484492", - "guid" : "709AD6DF2BE6DC96653C1E3D1FDDA1A8", - "flags" : "0x80000", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "60 ft", - "pole_depth": "4.5 ft", - "ground_diameter": "10.3503 in", - "top_diameter": "6.05096 in", - "fiber_strength": "8000 psi", - "repair_time": "3 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - }, - "SYP-20/3" : { - "id" : "13", - "class" : "pole_configuration", - "rank" : "0", - "clock" : "INIT", - "rng_state" : "74243042", - "guid" : "5AB26563F0148416515AB1E1FA84D8A0", - "flags" : "0x80000", - "pole_type": "WOOD", - "design_ice_thickness": "0.25 in", - "design_wind_loading": "4 psi", - "design_temperature": "15 degF", - "overload_factor_vertical": "1.9", - "overload_factor_transverse_general": "1.75", - "overload_factor_transverse_crossing": "2.2", - "overload_factor_transverse_wire": "1.65", - "overload_factor_longitudinal_general": "1", - "overload_factor_longitudinal_deadend": "1.3", - "strength_factor_250b_wood": "0.85", - "strength_factor_250b_support": "1", - "strength_factor_250c_wood": "0.75", - "strength_factor_250c_support": "1", - "pole_length": "20 ft", - "pole_depth": "5.5 ft", - "ground_diameter": "10.3503 in", - "top_diameter": "6.05096 in", - "fiber_strength": "8000 psi", - "repair_time": "0 h", - "degradation_rate": "0 in/yr", - "treatment_method": "NONE", - "material_density": "35 lb/cf" - } - } -} diff --git a/US/CA/SLAC/anticipation/pole_data.glm b/US/CA/SLAC/anticipation/pole_data.glm deleted file mode 100644 index 3df8c56a..00000000 --- a/US/CA/SLAC/anticipation/pole_data.glm +++ /dev/null @@ -1,318 +0,0 @@ -// /usr/local/opt/gridlabd/4.2.27-210903-use_case_resilience/share/gridlabd/csv-table2glm-object.py pole_data.csv pole_data.glm {} -object powerflow.pole { - name "pole1"; - tilt_angle 5; - tilt_direction 270; - configuration "WOOD-C-45/5"; - install_year 1990; - repair_time 1 h; - latitude 37.4275; - longitude 122.1697; - configuration "WOOD-C-45/5"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole2"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "WOOD-C-45/5"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "WOOD-C-45/5"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole3"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-20/3"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-20/3"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole4"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-25/3"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-25/3"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole5"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-50/3"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-50/3"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole6"; - tilt_angle 1 rad; - tilt_direction 0; - configuration "SYP-35/5"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-35/5"; - wind_speed 0; - //flags " VERBOSE"; -} -object powerflow.pole { - name "pole7"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-80/H-2"; - equipment_moment_nowind 100; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-80/H-2"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole8"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-90/H-2"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-90/H-2"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole9"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-100/H-2"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-100/H-2"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole10"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-110/H-3"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-110/H-3"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole { - name "pole11"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-120/H-4"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-120/H-4"; - wind_speed 0; - //flags " NONE"; -} -object powerflow.pole_configuration { - name "WOOD-C-45/5"; - pole_type "WOOD"; - pole_length 45 ft; - pole_depth 4.5 ft; - ground_diameter 10.35031847; - top_diameter 6.050955414; - fiber_strength 8000 psi; - repair_time 1 h; -} -object powerflow.pole_configuration { - name "WOOD2"; - pole_type "WOOD"; - pole_length 60 ft; - pole_depth 4.5 ft; - ground_diameter 10.35031847; - top_diameter 6.050955414; - fiber_strength 8000 psi; - repair_time 3 h; -} -object powerflow.pole_configuration { - name "SYP-20/3"; - pole_type "WOOD"; - pole_length 20 ft; - pole_depth " 5.5 ft"; - ground_diameter 8.598726115; - top_diameter 7.324840764; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-25/3"; - pole_type "WOOD"; - pole_length 25 ft ; - pole_depth " 5.5 ft"; - ground_diameter 9.394904459; - top_diameter 7.324840764; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-30/5"; - pole_type "WOOD"; - pole_length 30 ft; - pole_depth " 5.5 ft"; - ground_diameter 8.757961783; - top_diameter 6.050955414; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-35/5"; - pole_type "WOOD"; - overload_factor_transverse_general 1.75; - strength_factor_250b_wood 0.75; - strength_factor_250b_support 1; - pole_length 35 ft; - pole_depth " 5.5 ft"; - ground_diameter 9.23566879; - top_diameter 6.050955414; - fiber_strength " 8000 psi"; - repair_time 50; -} -object powerflow.pole_configuration { - name "SYP-40/3"; - pole_type "WOOD"; - pole_length 40 ft; - pole_depth " 6 ft"; - ground_diameter 11.46496815; - top_diameter 7.324840764; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-45/4"; - pole_type "WOOD"; - pole_length 45 ft; - pole_depth " 6.5 ft"; - ground_diameter 11.14649682; - top_diameter 6.687898089; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-50/3"; - pole_type "WOOD"; - overload_factor_transverse_general 1.75; - strength_factor_250b_wood 0.75; - pole_length 50 ft; - pole_depth " 7 ft"; - ground_diameter 12.42038217; - top_diameter 7.324840764; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-55/2"; - pole_type "WOOD"; - pole_length 55 ft; - pole_depth " 7.5 ft"; - ground_diameter 13.85350318; - top_diameter 7.961783439; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-60/1"; - pole_type "WOOD"; - pole_length 60 ft; - pole_depth " 8 ft"; - ground_diameter 15.2866242; - top_diameter 8.598726115; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-70/H-2"; - pole_type "WOOD"; - pole_length 70 ft; - pole_depth " 9 ft"; - ground_diameter 18.15286624; - top_diameter 9.872611465; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-80/H-2"; - pole_type "WOOD"; - design_ice_thickness 70; - design_wind_loading 40; - design_temperature 70; - overload_factor_vertical 70; - overload_factor_transverse_general 1.75; - overload_factor_transverse_crossing 70; - overload_factor_transverse_wire 70; - overload_factor_longitudinal_general 70; - overload_factor_longitudinal_deadend 70; - strength_factor_250b_wood 0.75; - strength_factor_250b_support 1; - pole_length " 80 ft"; - pole_depth " 10 ft "; - ground_diameter 19.10828025; - top_diameter 9.872611465; - fiber_strength " 8000 psi"; - repair_time 50; -} -object powerflow.pole_configuration { - name "SYP-90/H-2"; - pole_type "WOOD"; - pole_length 90 ft; - pole_depth " 11 ft"; - ground_diameter 20.06369427; - top_diameter 9.872611465; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-100/H-2"; - pole_type "WOOD"; - pole_length 100 ft; - pole_depth " 12 ft"; - ground_diameter 20.85987261; - top_diameter 9.872611465; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-110/H-3"; - pole_type "WOOD"; - pole_length 110 ft; - pole_depth " 13 ft"; - ground_diameter 22.77070064; - top_diameter 10.50955414; - fiber_strength " 8000 psi"; -} -object powerflow.pole_configuration { - name "SYP-120/H-4"; - pole_type "WOOD"; - pole_length 120 ft; - pole_depth " 14 ft"; - ground_diameter 24.68152866; - top_diameter 11.14649682; - fiber_strength " 8000 psi"; -} diff --git a/US/CA/SLAC/anticipation/pole_data/pole_data.csv b/US/CA/SLAC/anticipation/pole_data/pole_data.csv new file mode 100644 index 00000000..7fb33d84 --- /dev/null +++ b/US/CA/SLAC/anticipation/pole_data/pole_data.csv @@ -0,0 +1,30 @@ +class,name,equipment,parent, tilt_angle, tilt_direction, configuration, equipment_moment_nowind, install_year, repair_time,latitude,longitude,configuration,wind_speed, //flags, pole_type, design_ice_thickness, design_wind_loading, design_temperature, overload_factor_vertical, overload_factor_transverse_general, overload_factor_transverse_crossing, overload_factor_transverse_wire, overload_factor_longitudinal_general, overload_factor_longitudinal_deadend, strength_factor_250b_wood, strength_factor_250b_support, pole_length, pole_depth, ground_diameter, top_diameter, fiber_strength, repair_time, treatment_method, pole_moment +powerflow.pole,pole1,,,5,270,WOOD-C-45/5,,1990,1 h,37.4275,122.1697,WOOD-C-45/5,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole2,,,8 deg,270,WOOD-C-45/5,,2000,8 h,37.127,122.1646,WOOD-C-45/5,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole3,,,8 deg,270,SYP-20/3,,2000,8 h,37.127,122.1646,SYP-20/3,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole4,,,8 deg,270,SYP-25/3,,2000,8 h,37.127,122.1646,SYP-25/3,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole5,,,8 deg,270,SYP-50/3,,2000,8 h,37.127,122.1646,SYP-50/3,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole6,,,1 rad,0,SYP-35/5,,2000,8 h,37.127,122.1646,SYP-35/5,0, VERBOSE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole7,,,8 deg,270,SYP-80/H-2,100,2000,8 h,37.127,122.1646,SYP-80/H-2,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole8,,,8 deg,270,SYP-90/H-2,,2000,8 h,37.127,122.1646,SYP-90/H-2,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole9,,,8 deg,270,SYP-100/H-2,,2000,8 h,37.127,122.1646,SYP-100/H-2,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole10,,,8 deg,270,SYP-110/H-3,,2000,8 h,37.127,122.1646,SYP-110/H-3,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole,pole11,,,8 deg,270,SYP-120/H-4,,2000,8 h,37.127,122.1646,SYP-120/H-4,0, NONE,,,,,,,,,,,,,,,,,,,, +powerflow.pole_configuration,WOOD-C-45/5,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,45 ft,4.5 ft,10.35031847,6.050955414,8000 psi,1 h,, +powerflow.pole_configuration,WOOD2,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,60 ft,4.5 ft,10.35031847,6.050955414,8000 psi,3 h,, +powerflow.pole_configuration,SYP-20/3,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,20 ft, 5.5 ft,8.598726115,7.324840764, 8000 psi,,, +powerflow.pole_configuration,SYP-25/3,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,25 ft , 5.5 ft,9.394904459,7.324840764, 8000 psi,,, +powerflow.pole_configuration,SYP-30/5,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,30 ft, 5.5 ft,8.757961783,6.050955414, 8000 psi,,, +powerflow.pole_configuration,SYP-35/5,,,,,,,,,,,,,,WOOD,,,,,1.75,,,,,0.75,1,35 ft, 5.5 ft,9.23566879,6.050955414, 8000 psi,50,, +powerflow.pole_configuration,SYP-40/3,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,40 ft, 6 ft,11.46496815,7.324840764, 8000 psi,,, +powerflow.pole_configuration,SYP-45/4,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,45 ft, 6.5 ft,11.14649682,6.687898089, 8000 psi,,, +powerflow.pole_configuration,SYP-50/3,,,,,,,,,,,,,,WOOD,,,,,1.75,,,,,0.75,,50 ft, 7 ft,12.42038217,7.324840764, 8000 psi,,, +powerflow.pole_configuration,SYP-55/2,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,55 ft, 7.5 ft,13.85350318,7.961783439, 8000 psi,,, +powerflow.pole_configuration,SYP-60/1,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,60 ft, 8 ft,15.2866242,8.598726115, 8000 psi,,, +powerflow.pole_configuration,SYP-70/H-2,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,70 ft, 9 ft,18.15286624,9.872611465, 8000 psi,,, +powerflow.pole_configuration,SYP-80/H-2,,,,,,,,,,,,,,WOOD,70,40,70,70,1.75,70,70,70,70,0.75,1, 80 ft, 10 ft ,19.10828025,9.872611465, 8000 psi,50,, +powerflow.pole_configuration,SYP-90/H-2,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,90 ft, 11 ft,20.06369427,9.872611465, 8000 psi,,, +powerflow.pole_configuration,SYP-100/H-2,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,100 ft, 12 ft,20.85987261,9.872611465, 8000 psi,,, +powerflow.pole_configuration,SYP-110/H-3,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,110 ft, 13 ft,22.77070064,10.50955414, 8000 psi,,, +powerflow.pole_configuration,SYP-120/H-4,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,120 ft, 14 ft,24.68152866,11.14649682, 8000 psi,,, +powerflow.pole_mount,,line1to2,pole1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/pole_library_config.glm b/US/CA/SLAC/anticipation/pole_library_config.glm deleted file mode 100644 index 6dbeaa05..00000000 --- a/US/CA/SLAC/anticipation/pole_library_config.glm +++ /dev/null @@ -1,174 +0,0 @@ -// Objects -object powerflow.pole_configuration { - name "WOOD-C-45/5"; - pole_type "WOOD"; - pole_length 45 ft; - pole_depth 4.5 ft; - ground_diameter (32.5/3.14); - top_diameter (19/3.14); - fiber_strength 8000 psi; - repair_time 1 h; -} -object powerflow.pole_configuration { - name "WOOD2"; - pole_type "WOOD"; - pole_length 60 ft; - pole_depth 4.5 ft; - ground_diameter (32.5/3.14); - top_diameter (19/3.14); - fiber_strength 8000 psi; - repair_time 3 h; -} -object powerflow.pole_configuration { - name "SYP-20/3"; - pole_type "WOOD"; - pole_length 20 ft; - pole_depth 5.5 ft; - ground_diameter (27/3.14); - top_diameter (23/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-25/3"; - pole_type "WOOD"; - pole_length 25 ft ; - pole_depth 5.5 ft; - ground_diameter (29.5/3.14); - top_diameter (23/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-30/5"; - pole_type "WOOD"; - pole_length 30 ft; - pole_depth 5.5 ft; - ground_diameter (27.5/3.14); - top_diameter (19/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-35/5"; - pole_type "WOOD"; - overload_factor_transverse_general 1.75; - strength_factor_250b_wood 0.75; - strength_factor_250b_support 1; - pole_length 35 ft; - pole_depth 5.5 ft; - ground_diameter (29/3.14); - top_diameter (19/3.14); - fiber_strength 8000 psi; - repair_time 50; -} -object powerflow.pole_configuration { - name "SYP-40/3"; - pole_type "WOOD"; - pole_length 40 ft; - pole_depth 6 ft; - ground_diameter (36/3.14); - top_diameter (23/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-45/4"; - pole_type "WOOD"; - pole_length 45 ft; - pole_depth 6.5 ft; - ground_diameter (35/3.14); - top_diameter (21/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-50/3"; - pole_type "WOOD"; - overload_factor_transverse_general 1.75; - strength_factor_250b_wood 0.75; - pole_length 50 ft; - pole_depth 7 ft; - ground_diameter (39/3.14); - top_diameter (23/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-55/2"; - pole_type "WOOD"; - pole_length 55 ft; - pole_depth 7.5 ft; - ground_diameter (43.5/3.14); - top_diameter (25/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-60/1"; - pole_type "WOOD"; - pole_length 60 ft; - pole_depth 8 ft; - ground_diameter (48/3.14); - top_diameter (27/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-70/H-2"; - pole_type "WOOD"; - pole_length 70 ft; - pole_depth 9 ft; - ground_diameter (57/3.14); - top_diameter (31/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-80/H-2"; - pole_type "WOOD"; - design_ice_thickness 70; - design_wind_loading 40; - design_temperature 70; - overload_factor_vertical 70; - overload_factor_transverse_general 1.75; - overload_factor_transverse_crossing 70; - overload_factor_transverse_wire 70; - overload_factor_longitudinal_general 70; - overload_factor_longitudinal_deadend 70; - strength_factor_250b_wood 0.75; - strength_factor_250b_support 1; - pole_length 80 ft; - pole_depth 10 ft ; - ground_diameter (60/3.14); - top_diameter (31/3.14); - fiber_strength 8000 psi; - repair_time 50; -} -object powerflow.pole_configuration { - name "SYP-90/H-2"; - pole_type "WOOD"; - pole_length 90 ft; - pole_depth 11 ft; - ground_diameter (63/3.14); - top_diameter (31/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-100/H-2"; - pole_type "WOOD"; - pole_length 100 ft; - pole_depth 12 ft; - ground_diameter (65.5/3.14); - top_diameter (31/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-110/H-3"; - pole_type "WOOD"; - pole_length 110 ft; - pole_depth 13 ft; - ground_diameter (71.5/3.14); - top_diameter (33/3.14); - fiber_strength 8000 psi; -} -object powerflow.pole_configuration { - name "SYP-120/H-4"; - pole_type "WOOD"; - pole_length 120 ft; - pole_depth 14 ft; - ground_diameter (77.5/3.14); - top_diameter (35/3.14); - fiber_strength 8000 psi; -} diff --git a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm b/US/CA/SLAC/anticipation/pole_vulnerability_config.glm deleted file mode 100644 index 1a9c84a3..00000000 --- a/US/CA/SLAC/anticipation/pole_vulnerability_config.glm +++ /dev/null @@ -1,145 +0,0 @@ -// Objects -object pole { - name "pole1"; - tilt_angle 5; - tilt_direction 270; - configuration "WOOD-C-45/5"; - install_year 1990; - repair_time 1 h; - latitude 37.4275; - longitude 122.1697; - configuration "WOOD-C-45/5"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole2"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "WOOD-C-45/5"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "WOOD-C-45/5"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole3"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-20/3"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-20/3"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole4"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-25/3"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-25/3"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole5"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-50/3"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-50/3"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole6"; - tilt_angle 1 rad; - tilt_direction 0; - configuration "SYP-35/5"; - install_year 2000; - repair_time 8 h; - latitude 37.127 ; - longitude 122.1646; - configuration "SYP-35/5"; - wind_speed 0; - //flags VERBOSE; -} -object pole { - name "pole7"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-80/H-2"; - equipment_moment_nowind 100; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-80/H-2"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole8"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-90/H-2"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-90/H-2"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole9"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-100/H-2"; - install_year 2000; - repair_time 8 h; - latitude 37.127 ; - longitude 122.1646; - configuration "SYP-100/H-2"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole10"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-110/H-3"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-110/H-3"; - wind_speed 0; - //flags NONE; -} -object pole { - name "pole11"; - tilt_angle 8 deg; - tilt_direction 270; - configuration "SYP-120/H-4"; - install_year 2000; - repair_time 8 h; - latitude 37.127; - longitude 122.1646; - configuration "SYP-120/H-4"; - wind_speed 0; - //flags NONE; -} From fd6e91e6da00cab6e9f10b69e5ff2426e388b7ae Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Fri, 29 Oct 2021 12:41:10 -0700 Subject: [PATCH 41/82] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8dd435bb..ba49fb04 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .DS_Store __MACOSX/ *.pyc +*.csv \ No newline at end of file From 925a20c7cbd4825d8cd77d37ad63a413ff758d50 Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Fri, 29 Oct 2021 12:41:33 -0700 Subject: [PATCH 42/82] Update .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ba49fb04..041dd343 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store __MACOSX/ *.pyc -*.csv \ No newline at end of file +*.csv +*.json \ No newline at end of file From 14cc5efdc9308b3a587aa1716aba30ac300d5da0 Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Fri, 29 Oct 2021 12:47:38 -0700 Subject: [PATCH 43/82] Moving resilience_demo.sh from models to templates --- US/CA/SLAC/anticipation/resilience_demo.sh | 202 +++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 US/CA/SLAC/anticipation/resilience_demo.sh diff --git a/US/CA/SLAC/anticipation/resilience_demo.sh b/US/CA/SLAC/anticipation/resilience_demo.sh new file mode 100644 index 00000000..9fe75af3 --- /dev/null +++ b/US/CA/SLAC/anticipation/resilience_demo.sh @@ -0,0 +1,202 @@ +#!/bin/sh +# +# Resilience demonstration +# +# Environment: +# +# OPENFIDO_INPUT --> input folder when input files are placed +# OPENFIDO_OUTPUT --> output folder when output files are placed +# + +VERSION=0 +EXECPATHNAME=$0 +if [ "${EXECPATHNAME##/*}" != "" ]; then + EXECPATH="$PWD" + EXECNAME=$EXECPATHNAME +else + EXECPATH=${EXECPATHNAME%/*} + EXECNAME=${EXECPATHNAME##*/} +fi +OPENFIDO_INIT="$EXECPATH/src/openfido-init.sh" +OPENFIDO_RUN="$EXECPATH/src/openfido-run.sh" + +# +# Exit codes +# +E_INTERNAL=1 # internal error +E_NOTFOUND=2 # file not found +E_REQUIRED=3 # requirement not satisfied +E_INSTALL=4 # install failure +E_DOWNLOAD=5 # download failure +E_CONVERT=6 # conversion failure + +# +# Error handling +# +TMP=/tmp/openfido-$$ +OLDWD=${PWD} +LINENO="?" +CONFIG="${OPENFIDO_INPUT}/config.csv" +STDOUT="${OPENFIDO_OUTPUT}/stdout" +STDERR="${OPENFIDO_OUTPUT}/stderr" +trap 'onexit $0 ${LINENO} $?' EXIT +onexit() +{ + cd $OLDWD + rm -rf $TMP + if [ $3 -ne 0 -a $# -gt 3 ]; then + echo "*** ERROR $3 ***" + grep -v '^+' ${STDERR} + echo " $1($2): see ${STDERR} output for details" + fi + + # show input files + debug "Output files:" + [ "${OPENFIDO_DEBUG:-no}" = "yes" ] && ls -l ${OPENFIDO_OUTPUT} | sed '1,$s/^/* /' + + if [ $3 -eq 0 ]; then + debug "Completed $1 at $(date)" + else + echo "Failed $1 at $(date) (see ${STDERR} for details)" + fi + + exit $3 +} +error() +{ + XC=$1 + shift 1 + echo "*** ERROR $XC ***" + echo " $* " + exit $XC +} +warning() +{ + echo "WARNING [${EXECNAME}:${LINENO}]: $*" +} +debug() +{ + if [ "${OPENFIDO_DEBUG:-no}" = "yes" ]; then + echo $* + fi +} +require() +{ + for VAR in $*; do + test ! -z "$(printenv ${VAR})" || error $E_REQUIRED "Required value for ${VAR} not specified in ${CONFIG}" + done +} +default() +{ + VAR="$1" + if [ -z "$(printenv ${VAR})" ]; then + shift 1 + export ${VAR}="$*" + fi +} +getconfig() +{ + if [ ! -f "${CONFIG}" ]; then + export $1="$2" + else + export $1=$(grep ^$1, "${CONFIG}" | cut -f2 -d,) + if [ -z "$(printenv $1)" -a $# -eq 2 ]; then + default $1 $2 + else + require $1 + fi + fi +} + +# nounset: undefined variable outputs error $message, and forces an exit +set -u + +# errexit: abort script at first error +set -e + +# print command to stderr before executing it: +set -x + +# path to source folder +if [ "$0" = "openfido.sh" ]; then + SRCDIR=$PWD +else + SRCDIR=$(cd $(echo "$0" | sed "s/$(basename $0)\$//") ; pwd ) +fi + +# startup notice +debug "Starting $0 at $(date) in ${SRCDIR}" + +# install required tools +if [ "${OPENFIDO_AUTOINSTALL:-yes}" == "yes" -a -f "install.txt" ]; then + UNAME=$(uname -s) + if [ "${UNAME}" == "Darwin" ]; then + if [ ! -z "$(which brew)" ]; then + INSTALL="brew install -q" + brew update 1>/dev/stderr || error $E_INSTALL "unable to update brew" + else + INSTALL=false + fi + elif [ "${UNAME}" == "Linux" ]; then + if [ ! -z "$(which apt)" ]; then + INSTALL="apt install -yqq" + apt update -y 1>/dev/stderr || error $E_INSTALL "unable to update apt" + elif [ ! -z "(which yum)" ]; then + INSTALL="yum install -yqq" + yum update -y 1>/dev/stderr || error $E_INSTALL "unable to update yum" + else + INSTALL="false" + fi + else + INSTALL="false" + fi + for TOOL in $(cat "install.txt"); do + NAME=$(echo $TOOL | cut -f1 -d:) + CODE=$(echo $TOOL | cut -f2 -d:) + if [ -z "$(which ${NAME})" ]; then + debug "Installing ${TOOL}" + ${INSTALL} ${CODE} 1>/dev/stderr || error $E_INSTALL "unable to install tool '${TOOL}' specified in 'install.txt'" + fi + done +fi + +# work in new temporary directory +rm -rf "$TMP" +mkdir -p "$TMP" +cd "$TMP" +debug '* ' "TMP = ${TMP} (working folder)" + +# pipeline initialization +DEFAULT_VARLIST= +[ -f "${OPENFIDO_INIT}" ] && ( . ${OPENFIDO_INIT} || error $E_INTERNAL "${OPENFIDO_INIT} failed" ) + +# display environment information +debug "Environment settings:" +debug '* ' "OPENFIDO_INPUT = $OPENFIDO_INPUT" +debug '* ' "OPENFIDO_OUTPUT = $OPENFIDO_OUTPUT" + +debug "Config settings:" +for NAME in $(printenv | grep '^DEFAULT_' | cut -f1 -d= ) ${DEFAULT_VARLIST}; do + debug '* ' "$NAME = $(printenv $NAME)" +done + +# requirements +if [ "${NOINSTALL:-no}" == "yes" ]; then + if [ -f "requirements.txt" ]; then + python3 -m pip install -r "requirements.txt" || error $E_INSTALL "unable to satisfy system 'requirements.txt'" + fi + if [ -f "${OPENFIDO_INPUT}/requirements.txt" ]; then + python3 -m pip install -r "${OPENFIDO_INPUT}/requirements.txt" || error $E_INSTALL "unable to satisfy user 'requirements.txt'" + fi +fi + +# show input files +debug "Input files:" +[ "${OPENFIDO_DEBUG:-no}" = "yes" ] && ls -l ${OPENFIDO_INPUT} | sed '1,$s/^/* /' + +# perform the main run +#. ${OPENFIDO_RUN} || error $E_INTERNAL "${OPENFIDO_RUN} failed" +cp -R ${EXECPATH}/ieee123/* ${OPENFIDO_INPUT} +mkdir ${OPENFIDO_INPUT}/output +gridlabd -W ${OPENFIDO_INPUT} model/ieee123.glm -o output/model.html -D html_save_options="--show --cluster" -D show_progress=FALSE +cp ${OPENFIDO_INPUT}/output/{pole_data.csv,model.html} ${OPENFIDO_OUTPUT} From a9f2652f2c601735aefff46aced49eea141ee50a Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Fri, 29 Oct 2021 13:34:33 -0700 Subject: [PATCH 44/82] Update anticipation.glm --- US/CA/SLAC/anticipation/anticipation.glm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index 23ed52a6..9b232797 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -24,11 +24,11 @@ module tape; //Setting up the clock -clock { - starttime ${STARTTIME}; - stoptime ${STOPTIME}; - timezone ${TIMEZONE}; -} +//clock { +// starttime ${STARTTIME}; +// stoptime ${STOPTIME}; +// timezone ${TIMEZONE}; +//} class pole_mount { @@ -72,7 +72,6 @@ object fault_check #debug "VEGETATION_VULNERABILITY_ANALYSIS is enabled" #endif - //object recorder { // parent "pole6"; // property "equipment_moment_nowind"; From bf77ce459551b693d8e4da6dba5264d5f71188bf Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Thu, 4 Nov 2021 10:35:44 -0600 Subject: [PATCH 45/82] Revert "Merge branch 'add-resilience-template' of https://github.com/slacgismo/gridlabd-template into add-resilience-template" This reverts commit 07efb0431d59d63e7092e421b6330885f9342fac, reversing changes made to 2f102a7f8422c1c7ff0d880abb24b808a20fec6f. --- .../Two-ploe or two-node study.ipynb | 531 ++++++++++++++++++ 1 file changed, 531 insertions(+) create mode 100644 US/CA/SLAC/anticipation/Two-ploe or two-node study.ipynb diff --git a/US/CA/SLAC/anticipation/Two-ploe or two-node study.ipynb b/US/CA/SLAC/anticipation/Two-ploe or two-node study.ipynb new file mode 100644 index 00000000..865a9b8f --- /dev/null +++ b/US/CA/SLAC/anticipation/Two-ploe or two-node study.ipynb @@ -0,0 +1,531 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "aa049f30", + "metadata": {}, + "source": [ + "## Two-pole or two-node study" + ] + }, + { + "cell_type": "markdown", + "id": "89c9187f", + "metadata": {}, + "source": [ + "Need:\n", + "pole.csv" + ] + }, + { + "cell_type": "code", + "execution_count": 302, + "id": "405ed256", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from math import cos, sin, atan2, pi, sqrt, atan, isnan" + ] + }, + { + "cell_type": "code", + "execution_count": 303, + "id": "d943bd3f", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'example_for_gridwere.xls'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mpole_excel_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'example_for_gridwere.xls'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_excel_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mpole_mount_excel_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'pole_mount_data.xls'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mdf_mount\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_mount_excel_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/util/_decorators.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 294\u001b[0m )\n\u001b[1;32m 295\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mFutureWarning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstacklevel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstacklevel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 296\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 297\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 298\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36mread_excel\u001b[0;34m(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols)\u001b[0m\n\u001b[1;32m 302\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 303\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mExcelFile\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 304\u001b[0;31m \u001b[0mio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mExcelFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 305\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 306\u001b[0m raise ValueError(\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path_or_buffer, engine)\u001b[0m\n\u001b[1;32m 865\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_io\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstringify_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 866\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 867\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engines\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_io\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 868\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 869\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__fspath__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0merr_msg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"Install xlrd >= 1.0.0 for Excel support\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0mimport_optional_dependency\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"xlrd\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextra\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merr_msg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 22\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 351\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 352\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 353\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 354\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbytes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 355\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBytesIO\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py\u001b[0m in \u001b[0;36mload_workbook\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mopen_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile_contents\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 37\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mopen_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 38\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/xlrd/__init__.py\u001b[0m in \u001b[0;36mopen_workbook\u001b[0;34m(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows, ignore_workbook_corruption)\u001b[0m\n\u001b[1;32m 164\u001b[0m \"\"\"\n\u001b[1;32m 165\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 166\u001b[0;31m \u001b[0mfile_format\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minspect_format\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile_contents\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 167\u001b[0m \u001b[0;31m# We have to let unknown file formats pass through here, as some ancient\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[0;31m# files that xlrd can parse don't start with the expected signature.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/xlrd/__init__.py\u001b[0m in \u001b[0;36minspect_format\u001b[0;34m(path, content)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0mpath\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpanduser\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 60\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"rb\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0mpeek\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mPEEK_SIZE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'example_for_gridwere.xls'" + ] + } + ], + "source": [ + "pole_excel_file = 'example_for_gridwere.xls'\n", + "df = pd.read_excel(pole_excel_file, sheet_name=None)\n", + "pole_mount_excel_file = 'pole_mount_data.xls'\n", + "df_mount = pd.read_excel(pole_mount_excel_file, sheet_name=None)" + ] + }, + { + "cell_type": "code", + "execution_count": 223, + "id": "a9079955", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'equipment_1': {'equipment_type': 'regulator', 'parent': 'pole_1', 'mount_height': 37.5, 'equipment_diameter': 24, 'equipment_height': 5}, 'equipment_2': {'equipment_type': 'transformer', 'parent': 'pole_1', 'mount_height': 52.5, 'equipment_diameter': 23, 'equipment_height': 5}, 'equipment_3': {'equipment_type': 'regulator', 'parent': 'pole_3', 'mount_height': 11.5, 'equipment_diameter': 22, 'equipment_height': 5}, 'equipment_4': {'equipment_type': 'regulator', 'parent': 'pole_4', 'mount_height': 16.5, 'equipment_diameter': 21, 'equipment_height': 5}, 'equipment_5': {'equipment_type': 'regulator', 'parent': 'pole_5', 'mount_height': 21.5, 'equipment_diameter': 20, 'equipment_height': 5}, 'equipment_6': {'equipment_type': 'regulator', 'parent': 'pole_5', 'mount_height': 26.5, 'equipment_diameter': 19, 'equipment_height': 5}, 'equipment_7': {'equipment_type': 'regulator', 'parent': 'pole_7', 'mount_height': 31.0, 'equipment_diameter': 18, 'equipment_height': 5}, 'equipment_8': {'equipment_type': 'regulator', 'parent': 'pole_8', 'mount_height': 35.5, 'equipment_diameter': 17, 'equipment_height': 5}, 'equipment_9': {'equipment_type': 'regulator', 'parent': 'pole_9', 'mount_height': 40.0, 'equipment_diameter': 16, 'equipment_height': 5}, 'equipment_10': {'equipment_type': 'regulator', 'parent': 'pole_10', 'mount_height': 44.0, 'equipment_diameter': 15, 'equipment_height': 5}, 'equipment_11': {'equipment_type': 'regulator', 'parent': 'pole_11', 'mount_height': 48.0, 'equipment_diameter': 14, 'equipment_height': 5}}\n" + ] + } + ], + "source": [ + "# creat a dictionary for pole mount data\n", + "df_mount_data = df_mount['pole mount data'].copy()\n", + "mount_data_dicts = {}\n", + "for mount_index in range(len(df_mount_data)):\n", + " mount_data = df_mount_data.iloc[mount_index]\n", + " if mount_data.loc['equipment_id'] not in mount_data_dicts.keys():\n", + " mount_data_dict = {}\n", + " for data_column in mount_data.index:\n", + " if data_column != 'equipment_id':\n", + " mount_data_dict[data_column] = mount_data.loc[data_column]\n", + " mount_data_dicts[mount_data.loc['equipment_id']] = mount_data_dict\n", + "# print(mount_data_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 188, + "id": "d737d2cb", + "metadata": {}, + "outputs": [], + "source": [ + "# creat a dictionary for pole data\n", + "df_pole_data = df['pole data'].copy()\n", + "pole_data_dicts = {}\n", + "for pole_index in range(len(df_pole_data)):\n", + " pole_data = df_pole_data.iloc[pole_index]\n", + " if pole_data.loc['pole_id'] not in pole_data_dicts.keys():\n", + " pole_data_dict = {}\n", + " for data_column in pole_data.index:\n", + " if data_column != 'pole_id':\n", + " pole_data_dict[data_column] = pole_data.loc[data_column]\n", + " pole_data_dicts[pole_data.loc['pole_id']] = pole_data_dict\n", + "# print(pole_data_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 189, + "id": "26f82f61", + "metadata": {}, + "outputs": [], + "source": [ + "# creat a dictionary for pole connections\n", + "df_pole_section = df['pole section'].copy()\n", + "pole_section_dicts = {}\n", + "for section_index in range(len(df_pole_section)):\n", + " pole_section = df_pole_section.iloc[section_index]\n", + " if pole_section.loc['section_id'] not in pole_section_dicts.keys():\n", + " pole_section_dict = {}\n", + " for data_column in pole_section.index:\n", + " if data_column != 'section_id':\n", + " pole_section_dict[data_column] = pole_section.loc[data_column]\n", + " pole_section_dicts[pole_section.loc['section_id']] = pole_section_dict\n", + "# print(pole_section_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 211, + "id": "d55a2366", + "metadata": {}, + "outputs": [], + "source": [ + "df_pole_config = df['pole config'].copy()\n", + "pole_config_dicts = {}\n", + "for pole_config_index in range(len(df_pole_config)):\n", + " pole_config = df_pole_config.iloc[pole_config_index]\n", + " if pole_config.loc['config_id'] not in pole_config_dicts.keys():\n", + " pole_config_dict = {}\n", + " for data_column in pole_config.index:\n", + " if data_column != 'config_id':\n", + " pole_config_dict[data_column] = pole_config.loc[data_column]\n", + " pole_config_dicts[pole_config.loc['config_id']] = pole_config_dict\n", + "# print(pole_config_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 191, + "id": "d6cd32c2", + "metadata": {}, + "outputs": [], + "source": [ + "df_cable_config = df['cable config'].copy()\n", + "cable_config_dicts = {}\n", + "for cable_config_index in range(len(df_cable_config)):\n", + " cable_config = df_cable_config.iloc[cable_config_index]\n", + " if cable_config.loc['config_id'] not in cable_config_dicts.keys():\n", + " cable_config_dict = {}\n", + " for data_column in cable_config.index:\n", + " if data_column != 'config_id':\n", + " cable_config_dict[data_column] = cable_config.loc[data_column]\n", + " cable_config_dicts[cable_config.loc['config_id']] = cable_config_dict\n", + "# print(cable_config_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "id": "7cfb07c7", + "metadata": {}, + "outputs": [], + "source": [ + "df_weather_data = df['weather player'].copy()\n", + "time_stamps = []\n", + "wind_speeds = []\n", + "wind_directions = []\n", + "ambient_temps = []\n", + "wind_gusts = []\n", + "GHIs = []\n", + "default_wind_speed = 0\n", + "for weather_timesttamp in range(len(df_weather_data)):\n", + " date = df_weather_data.iloc[weather_timesttamp]['time']\n", + " if pd.isnull(date):\n", + " raise Exception(f'column {weather_timesttamp}: time stamp is not set up')\n", + " date = date - pd.Timestamp(\"1970-01-01\")\n", + " time_stamps.append(date.total_seconds())\n", + " if pd.isnull(df_weather_data.iloc[weather_timesttamp]['wind_speed']) \\\n", + " or df_weather_data.iloc[weather_timesttamp]['wind_speed'] < 0:\n", + " print(f'weather data does not include wind_speed at {date}, using local default_wind_speed')\n", + " wind_speeds.append(0)\n", + " else:\n", + " wind_speeds.append(df_weather_data.iloc[weather_timesttamp]['wind_speed'])\n", + " wind_directions.append(df_weather_data.iloc[weather_timesttamp]['wind_direction'])\n", + " ambient_temps.append(df_weather_data.iloc[weather_timesttamp]['temperature'])\n", + " wind_gusts.append(df_weather_data.iloc[weather_timesttamp]['wind_gusts'])\n", + " GHIs.append(df_weather_data.iloc[weather_timesttamp]['global_horizontal_irradiance'])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 235, + "id": "10984051", + "metadata": {}, + "outputs": [], + "source": [ + "def equipment_moment_cals(pole_key,wind_presure,mount_data,overload_factor=1.75):\n", + " equipment_moment = 0.0\n", + " for equipment in mount_data.keys():\n", + " if mount_data[equipment]['parent'] == pole_key:\n", + " equipment_moment += wind_presure*mount_data[equipment]['mount_height']\\\n", + " *mount_data[equipment]['equipment_diameter']*mount_data[equipment]['equipment_height']*overload_factor/12\n", + " return equipment_moment" + ] + }, + { + "cell_type": "code", + "execution_count": 266, + "id": "ead13a4e", + "metadata": {}, + "outputs": [], + "source": [ + "def get_wind_span(pos1, pos2):\n", + " # TODO, only use the distance to represent the wind span for now\n", + " lat1 = pos1[0]*pi/180\n", + " lat2 = pos2[0]*pi/180\n", + " lon1 = pos1[1]*pi/180\n", + " lon2 = pos2[1]*pi/180\n", + " a = sin((lat2-lat1)/2)**2+cos(lat1)*cos(lat2)*sin((lon2-lon1)/2)**2\n", + " return 6371e3*(2*atan2(np.sqrt(a),sqrt(1-a)))" + ] + }, + { + "cell_type": "code", + "execution_count": 281, + "id": "bacd08d6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2009\n", + "{'01': 512, '03': 182, '04': 41, '05': 35, '06': 46, '07': 22, '08': 22, '09': 31, '10': 54, '11': 221, '12': 20, '13': 38, '14': 27, '16': 8, '17': 72, '18': 28, '19': 20, '20': 15, '23': 18, '24': 17, '25': 26, '26': 6, '27': 18, '28': 16, '29': 11, '30': 159, '31': 61, '32': 76, '33': 16, '35': 62, '37': 17, '38': 43, '39': 46, '40': 16, '41': 7}\n" + ] + } + ], + "source": [ + "feeder_file_path = '/Users/fxie2/Downloads/NG_to_Hitachi/Final List of Feeders.csv'\n", + "feeder_data = pd.read_csv(feeder_file_path)\n", + "# print(feeder_data)\n", + "summary = {}\n", + "count = 0\n", + "for index in range(len(feeder_data)):\n", + " feeder_strings = feeder_data.iloc[index].tolist()[0].split('_')\n", + " if str(feeder_strings[1]) not in summary.keys():\n", + " summary[str(feeder_strings[1])] = 0\n", + " summary[str(feeder_strings[1])] += 1\n", + " count += 1\n", + "print(count)\n", + "print(summary)" + ] + }, + { + "cell_type": "code", + "execution_count": 298, + "id": "48e4229a", + "metadata": {}, + "outputs": [], + "source": [ + "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_sections,pole_config,cable_config,ice_thickness):\n", + " wire_moment = 0.0\n", + " wire_moment_x = 0.0\n", + " wire_moment_y = 0.0\n", + " wire_moment_z = 0.0\n", + " overload_factor_wire=1.65\n", + " overload_factor_wind=1.75\n", + " if pole_data['tilt_angle'] != 0:\n", + " tilt_direction = pole_data['tilt_direction']\n", + " else:\n", + " tilt_direction = 0\n", + " for section_index in range(len(pole_sections)):\n", + " print(section_index)\n", + " print(pole_sections)\n", + " pole_section = pole_sections.iloc[section_index]\n", + " print(pole_section)\n", + " printt()\n", + " if pole_section['from'] == pole_key or pole_section['to'] == pole_key:\n", + " cable_type_id = pole_section[section_id]['cable_type']\n", + " cable_diameter = cable_config[cable_type_id]['diameter']*39.3701 # 39.3701 account for m to inches conversion\n", + " if pole_section[section_id]['from'] == pole_key:\n", + " p0 = [pole_data[pole_section[section_id]['from']]['latitude'],pole_data[pole_section[section_id]['from']]['longitude']]\n", + " p1 = [pole_data[pole_section[section_id]['to']]['latitude'],pole_data[pole_section[section_id]['to']]['longitude']]\n", + " pole_cable_angle = pole_section[section_id]['from_pole_line_angle']\n", + " else:\n", + " p1 = [pole_data[pole_section[section_id]['from']]['latitude'],pole_data[pole_section[section_id]['from']]['longitude']]\n", + " p0 = [pole_data[pole_section[section_id]['to']]['latitude'],pole_data[pole_section[section_id]['to']]['longitude']]\n", + " pole_cable_angle = pole_section[section_id]['to_pole_line_angle']\n", + " wind_span = get_wind_span(p0,p1)\n", + " cable_height = pole_config['conductor_attach_height']\n", + " section_heading = 180*atan2(p1[1]-p0[1],p1[0]-p0[0])/np.pi\n", + " angle_wind_section = abs(wind_direction - section_heading)*pi/180\n", + " cable_transverse_load_wind = wind_presure*sin(angle_wind_section)*wind_span*(cable_diameter+2*ice_thickness)/12 # cable wind load\n", + " try:\n", + " cable_transverse_load_tension = pole_section[section_id]['tension']\n", + " except:\n", + " print(f'tension is calculated with cable information and powerflow result')\n", + " # TODO\n", + " cable_load = cable_transverse_load_wind*overload_factor_wind + cable_transverse_load_tension*overload_factor_wire\n", + " r_z = pole_height*cos(100*pole_data['tilt_angle']/pi)\n", + " r_x = pole_height*sin(100*pole_data['tilt_angle']/pi)*cos(pi*tilt_direction/180)\n", + " r_y = pole_height*sin(100*pole_data['tilt_angle']/pi)*sin(pi*tilt_direction/180)\n", + " cable_load_z = -cable_load*cos(pi*pole_cable_angle/pi)\n", + " cable_load_x = cable_load*sin(pi*pole_cable_angle/pi)*cos(pi*section_heading/180)\n", + " cable_load_y = cable_load*sin(pi*pole_cable_angle/pi)*sin(pi*section_heading/180)\n", + " wire_moment_x += r_y*cable_load_z-r_z*cable_load_y\n", + " wire_moment_y += r_y*cable_load_z-r_z*cable_load_y\n", + " wire_moment_z += r_y*cable_load_z-r_z*cable_load_y\n", + "\n", + " return [wire_moment_x, wire_moment_y, wire_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 299, + "id": "abe664fb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-101.30993247402021\n", + "-5\n", + "116.30993247402021\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "p0 = [37.41504514,-122.2056472]\n", + "p1 = [37.41469802,-122.2084875]\n", + "p0 = [0,0]\n", + "p1 = [-1,-5]\n", + "section_heading = 180*atan2(p1[1]-p0[1],p1[0]-p0[0])/np.pi\n", + "print(section_heading)\n", + "print(p1[1]-p0[1])\n", + "\n", + "wind_direction = 15\n", + "angle_wind_section = (wind_direction - section_heading)\n", + "print(angle_wind_section)\n", + "x = [p0[0],p1[0]]\n", + "y = [p0[1],p1[1]]\n", + "plt.text(x[0],y[0],'p0')\n", + "plt.text(x[1],y[1],'p1')\n", + "plt.plot(x,y)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 301, + "id": "3035dbc9", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "{'section_1': {'from': 'pole 1', 'to': 'pole 2', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^2', 'tensions': 21600}, 'section_2': {'from': 'pole 2', 'to': 'pole 3', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^3', 'tensions': 21600}, 'section_3': {'from': 'pole 3', 'to': 'pole 4', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^4', 'tensions': 21600}, 'section_4': {'from': 'pole 4', 'to': 'pole 5', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^5', 'tensions': 21600}, 'section_5': {'from': 'pole 5', 'to': 'pole 6', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^6', 'tensions': 21600}, 'section_6': {'from': 'pole 6', 'to': 'pole 7', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^7', 'tensions': 21600}, 'section_7': {'from': 'pole 7', 'to': 'pole 8', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^8', 'tensions': 21600}, 'section_8': {'from': 'pole 8', 'to': 'pole 9', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^9', 'tensions': 21600}, 'section_9': {'from': 'pole 9', 'to': 'pole 10', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^10', 'tensions': 21600}, 'section_10': {'from': 'pole 10', 'to': 'pole 11', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^11', 'tensions': 21600}, 'section_11': {'from': 'pole 11', 'to': 'pole 12', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^12', 'tensions': 21600}, 'section_12': {'from': 'pole 12', 'to': 'pole 13', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^13', 'tensions': 21600}, 'section_13': {'from': 'pole 13', 'to': 'pole 14', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^14', 'tensions': 21600}, 'section_14': {'from': 'pole 14', 'to': 'pole 15', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^15', 'tensions': 21600}, 'section_15': {'from': 'pole 15', 'to': 'pole 16', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^16', 'tensions': 21600}, 'section_16': {'from': 'pole 16', 'to': 'pole 17', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^17', 'tensions': 21600}, 'section_17': {'from': 'pole 17', 'to': 'pole 18', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^18', 'tensions': 21600}, 'section_18': {'from': 'pole 18', 'to': 'pole 19', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^19', 'tensions': 21600}, 'section_19': {'from': 'pole 19', 'to': 'pole 20', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^20', 'tensions': 21600}, 'section_20': {'from': 'pole 20', 'to': 'pole 21', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^21', 'tensions': 21600}, 'section_21': {'from': 'pole 21', 'to': 'pole 22', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^22', 'tensions': 21600}, 'section_22': {'from': 'pole 22', 'to': 'pole 23', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^23', 'tensions': 21600}, 'section_23': {'from': 'pole 23', 'to': 'pole 24', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^24', 'tensions': 21600}, 'section_24': {'from': 'pole 24', 'to': 'pole 25', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^25', 'tensions': 21600}, 'section_25': {'from': 'pole 25', 'to': 'pole 26', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^26', 'tensions': 21600}, 'section_26': {'from': 'pole 26', 'to': 'pole 27', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^27', 'tensions': 21600}, 'section_27': {'from': 'pole 27', 'to': 'pole 28', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^28', 'tensions': 21600}, 'section_28': {'from': 'pole 28', 'to': 'pole 29', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^29', 'tensions': 21600}, 'section_29': {'from': 'pole 29', 'to': 'pole 30', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^30', 'tensions': 21600}, 'section_30': {'from': 'pole 30', 'to': 'pole 31', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^31', 'tensions': 21600}, 'section_31': {'from': 'pole 31', 'to': 'pole 32', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^32', 'tensions': 21600}, 'section_32': {'from': 'pole 32', 'to': 'pole 33', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^33', 'tensions': 21600}, 'section_33': {'from': 'pole 33', 'to': 'pole 34', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^34', 'tensions': 21600}, 'section_34': {'from': 'pole 34', 'to': 'pole 35', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^35', 'tensions': 21600}, 'section_35': {'from': 'pole 35', 'to': 'pole 36', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^36', 'tensions': 21600}, 'section_36': {'from': 'pole 36', 'to': 'pole 37', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^37', 'tensions': 21600}}\n" + ] + }, + { + "ename": "AttributeError", + "evalue": "'dict' object has no attribute 'iloc'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0mequipment_moment_unit_wind\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mequipment_moment_cals\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_key\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mmount_data_dicts\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_config_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'overload_factor_transverse_general'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0;31m# print(f\"{pole_key}: equipment_moment_unit_wind = {equipment_moment_unit_wind} ft.lb.s/m\")\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 82\u001b[0;31m \u001b[0mwire_moment_unit_wind\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwire_moment_cals\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_key\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_height\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwind_presure\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwind_direction\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_data\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_section_dicts\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_config\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mcable_config\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 83\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwire_moment_unit_wind\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36mwire_moment_cals\u001b[0;34m(pole_key, pole_height, wind_presure, wind_direction, pole_data, pole_sections, pole_config, cable_config, ice_thickness)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msection_index\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_sections\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m \u001b[0mpole_section\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpole_sections\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0msection_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 16\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_section\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0mprintt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mAttributeError\u001b[0m: 'dict' object has no attribute 'iloc'" + ] + } + ], + "source": [ + "pole_analysis_dict = {}\n", + "PS_OK = 1\n", + "PS_FAILED = 0\n", + "default_repair_time = 8\n", + "last_wind_speed = 0.0\n", + "for pole_key in pole_data_dicts.keys():\n", + " pole_analysis_dict[pole_key] = {\n", + " 'wire_tention_on_pole' : [],\n", + " 'wind_moment_on_pole' : [],\n", + " 'total_moment_on_pole' : [],\n", + " 'pole_susceptibility' : [],\n", + " 'pole_stress' : [],\n", + " 'pole_status' : PS_OK,\n", + " 'pole_age' : [],\n", + " 'pole_current_hollow_diameter' : [],\n", + " 'critical_wind_speed' : 0.0,\n", + " 'pole_down_time' : 0.0,\n", + " 'pole_resisting_moment' : []\n", + " }\n", + "\n", + "# pole init\n", + "if len(pole_config_dicts.keys()) == 0:\n", + " raise Exception(f'pole configuration is not set')\n", + "\n", + "for pole_config_index in pole_config_dicts.keys():\n", + " if np.isnan(pole_config_dicts[pole_config_index]['repair_time']) or pole_config_dicts[pole_config_index]['repair_time'] <= 0:\n", + " print(f'{pole_config_index}: repair time should be position and default_repair_time will be used')\n", + " pole_config_dicts[pole_config_index]['repair_time'] = default_repair_time\n", + "\n", + "# pole precommit\n", + "# for timestamp_index in range(len(time_stamps)):\n", + "for timestamp_index in range(2):\n", + " wind_speed = wind_speeds[timestamp_index]\n", + " for pole_key in pole_data_dicts.keys():\n", + " pole_data = pole_data_dicts[pole_key]\n", + " pole_config_id = pole_data['config']\n", + " pole_config_data = pole_config_dicts[pole_config_id]\n", + " t0 = time_stamps[timestamp_index]\n", + " # effective pole height, for this example, unit in ft\n", + " try:\n", + " pole_height = pole_config_data['pole_length']-pole_config_data['pole_depth']\\\n", + " -pole_data_dicts[pole_key]['guy_height']\n", + " except:\n", + " raise Exception(f'pole height error for {pole_key}')\n", + " pole_t0_year = 1970 + int(t0/86400/365.24)\n", + " age = pole_t0_year-pole_data_dicts[pole_key]['install_year']\n", + " pole_analysis_dict[pole_key]['pole_age'].append(age)\n", + " pole_ground_diameter = pole_config_data['ground_diameter'] - pole_height\\\n", + " /(pole_config_data['pole_length']-pole_config_data['pole_depth'])\\\n", + " *(pole_config_data['ground_diameter']-pole_config_data['top_diameter'])\n", + " pole_top_diameter = pole_config_data['top_diameter']\n", + " if age > 0 and pole_config_data['degradation_rate'] > 0:\n", + " current_hollow_diameter = 2.0 * age * pole_config_data['degradation_rate'] * pole_ground_diameter\n", + " else:\n", + " current_hollow_diameter = 0\n", + " resisting_moment = 0.008186 * pole_config_data['strength_factor_250b_wood'] * pole_config_data['fiber_strength'] * (pole_ground_diameter**3 - current_hollow_diameter**3)\n", + " if resisting_moment < 0:\n", + " print('pole has degraded past point of static failure')\n", + " resisting_moment = 0\n", + " pole_analysis_dict[pole_key]['pole_resisting_moment'].append(resisting_moment)\n", + " # print(f'{pole_key}: resisting_moment = {resisting_moment} ft*lb at {time_stamps[timestamp_index]}')\n", + " if (pole_analysis_dict[pole_key]['pole_status'] == PS_FAILED) and ((t0 - pole_analysis_dict[pole_key]['pole_down_time'])/3600.0 > pole_config_data['repair_time']):\n", + " print('pole repair time has arrived')\n", + " pole_analysis_dict[pole_key]['pole_status'] = PS_OK\n", + " pole_analysis_dict[pole_key]['tilt_angle'] = 0.0 \n", + " pole_analysis_dict[pole_key]['tilt_direction'] = 0.0\n", + " pole_analysis_dict[pole_key]['install_year'] = 1970 + (t0/86400/365.24)\n", + " elif pole_analysis_dict[pole_key]['pole_status'] == PS_OK and (last_wind_speed != wind_speed or pole_analysis_dict[pole_key]['critical_wind_speed'] == 0.0):\n", + " if pole_data['tilt_angle'] > 0.0:\n", + " top_diameter_ft = pole_top_diameter/12\n", + " ground_diameter_ft = pole_ground_diameter/12\n", + " pole_moment_tilt = 0.125*pole_config_data['material_density']*np.pi*pole_height*pole_height\\\n", + " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", + " *sin(pi*pole_data['tilt_angle']/180)\n", + " # print(f'{pole_key}: pole_moment_tilt = {pole_moment_tilt} ft*lb')\n", + " wind_presure = 0.00256 * 2.24 * (wind_speed) * (wind_speed) # 2.24 account for m/s to mph conversion\n", + " # print(f\"wind_pressure = {wind_presure} psi\")\n", + " pole_moment_unit_wind = pole_height*pole_height * (2*top_diameter_ft+ground_diameter_ft)/6 * pole_config_data['overload_factor_transverse_general']\n", + " # print(f\"{pole_key}: pole_moment_unit_wind = {pole_moment_unit_wind} ft.lb.s/m\")\n", + " equipment_moment_unit_wind = equipment_moment_cals(pole_key,1,mount_data_dicts,pole_config_data['overload_factor_transverse_general'])\n", + " # print(f\"{pole_key}: equipment_moment_unit_wind = {equipment_moment_unit_wind} ft.lb.s/m\")\n", + " wire_moment_unit_wind = wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section_dicts,pole_config,cable_config,0)\n", + " print(wire_moment_unit_wind)\n", + " \n", + "# print(pole_analysis_dict['pole_1']['pole_resisting_moment'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c452585", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 3bd60e07ce51845f8e64acded2b06f3501ee899c Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Thu, 4 Nov 2021 10:36:14 -0600 Subject: [PATCH 46/82] Create example_for_gridwere.xls --- .../SLAC/anticipation/example_for_gridwere.xls | Bin 0 -> 48128 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 US/CA/SLAC/anticipation/example_for_gridwere.xls diff --git a/US/CA/SLAC/anticipation/example_for_gridwere.xls b/US/CA/SLAC/anticipation/example_for_gridwere.xls new file mode 100644 index 0000000000000000000000000000000000000000..56cbbd55c3177456b7553f86906ab2263e6a1bfe GIT binary patch literal 48128 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 A^8f$< literal 0 HcmV?d00001 From e21dec77441ac1e86ba3fcb579c5bc80e1541f1d Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Thu, 4 Nov 2021 10:36:28 -0600 Subject: [PATCH 47/82] Update pole_file_converter.py --- .../SLAC/anticipation/pole_file_converter.py | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/US/CA/SLAC/anticipation/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_file_converter.py index a83bb3c6..d1d84ec4 100644 --- a/US/CA/SLAC/anticipation/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_file_converter.py @@ -280,6 +280,44 @@ def parse_space_to_underscore(cell_string, current_column, current_row): raise ValueError(f'The cell column: {current_column}, row {current_row} is empty. Please enter a value.') return cell_string.replace(' ','_') +<<<<<<< Updated upstream +======= +# The excel file to read. +# excel = 'Pole_Output_Sample.xls' +excel = 'SampleReport.xls' + +# Round to nearest hundreth decimal place if value has more decimal places than that. +decimal_rounding = 2 + +# Read all the sheets in the .xls file +df = pd.read_excel(excel, sheet_name=None,) + + +# The first row of each xls file is the header so we convert it to header. +# for key in df: +# new_header_index = df[key].iloc[:, 0].first_valid_index() +# new_header = df[key].iloc[new_header_index-1] +# df[key] = df[key][new_header_index:] +# df[key].columns = new_header +# df[key].index = range(len(df[key].index)) +# df[key].columns.name = None + +# First do operations on the sheet 'Design - Pole.' +df_current_sheet = df['Design - Pole'].copy() +new_header_index = df_current_sheet.iloc[:, 0].first_valid_index() +new_header = df_current_sheet.iloc[new_header_index-1] +df_current_sheet = df_current_sheet[new_header_index:] +df_current_sheet.columns = new_header +df_current_sheet.index = range(len(df_current_sheet.index)) +df_current_sheet.columns.name = None +# df_current_sheet = df['Design - Structure'] +# print(df_current_sheet) + +# Drop unneeded columns +df_current_sheet.drop(['Owner', 'Foundation', 'Ground Water Level',],axis=1,inplace=True) + + +>>>>>>> Stashed changes # Parse necessary columns into a format supported by Gridlabd. parse_column(df_current_sheet, 'Lean Angle', parse_angle) parse_column(df_current_sheet, 'Lean Direction', parse_angle) @@ -330,6 +368,7 @@ def parse_space_to_underscore(cell_string, current_column, current_row): df_pole_library['class'] = ['powerflow.pole'] * len(df_pole_library) # Additional properties for each class. These values are just for testing purposes for now. +<<<<<<< Updated upstream df_pole_config['name'] = 'test_name' df_pole_library['configuration'] = 'test_name' df_pole_library['name'] = 'pole_1' @@ -338,6 +377,36 @@ def parse_space_to_underscore(cell_string, current_column, current_row): df['Design - Pole']= pd.concat([df_pole_config, df_pole_library], axis=0, ignore_index=True) # For visualization. print(df_current_sheet) +======= +pole_configuration_name = [] +pole_name = [] +for i in range(len(df_current_sheet["name"])): + pole_configuration_name.append(f"pole_configuration_{df_current_sheet['name'][i]}") + pole_name.append(f"pole_{df_current_sheet['name'][i]}") + +df_pole_config['class'] = ['pole_configuration'] * len(df_pole_config) +df_pole_library['class'] = ['pole'] * len(df_pole_library) +df_pole_config['name'] = pole_configuration_name +df_pole_library['configuration'] = pole_configuration_name +df_pole_library['name'] = pole_name +# df_pole_library['wind_speed'] = ['0'] * len(df_pole_library) +df_pole_library['weather'] = ['weather'] * len(df_pole_library) +df_pole_library['flags'] = ['NONE'] * len(df_pole_library) + +# print(111) +# print(df_pole_config) +# print(df_pole_library) +# Combine. +df['Design - Pole']= pd.concat([df_pole_config, df_pole_library], axis=0, ignore_index=True) +# For visualization. + +print(df['Design - Pole']) + +df_pole_config.to_csv('pole_library_config_1.csv') +df_pole_library.to_csv('pole_vulnerability_config_1.csv') + +# os.system(f"gridlabd anticipation.glm -v") +>>>>>>> Stashed changes # Secondly, do operations on the sheet 'Design - Structure.' df_current_sheet = df['Design - Structure'] From a0ba0d1e9acc3f21c910fd05d61d3f5f48b58a6a Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Thu, 4 Nov 2021 10:36:37 -0600 Subject: [PATCH 48/82] Create pole_mount_data.xls --- US/CA/SLAC/anticipation/pole_mount_data.xls | Bin 0 -> 27648 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 US/CA/SLAC/anticipation/pole_mount_data.xls diff --git a/US/CA/SLAC/anticipation/pole_mount_data.xls b/US/CA/SLAC/anticipation/pole_mount_data.xls new file mode 100644 index 0000000000000000000000000000000000000000..3edd01d99f64e82813357801003939403ccc4fb4 GIT binary patch literal 27648 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 Date: Thu, 4 Nov 2021 10:36:56 -0600 Subject: [PATCH 49/82] Update Two-ploe or two-node study.ipynb --- .../Two-ploe or two-node study.ipynb | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/US/CA/SLAC/anticipation/Two-ploe or two-node study.ipynb b/US/CA/SLAC/anticipation/Two-ploe or two-node study.ipynb index 865a9b8f..fcd3548c 100644 --- a/US/CA/SLAC/anticipation/Two-ploe or two-node study.ipynb +++ b/US/CA/SLAC/anticipation/Two-ploe or two-node study.ipynb @@ -19,7 +19,11 @@ }, { "cell_type": "code", +<<<<<<< Updated upstream "execution_count": 302, +======= + "execution_count": 247, +>>>>>>> Stashed changes "id": "405ed256", "metadata": {}, "outputs": [], @@ -33,6 +37,7 @@ }, { "cell_type": "code", +<<<<<<< Updated upstream "execution_count": 303, "id": "d943bd3f", "metadata": { @@ -59,6 +64,14 @@ ] } ], +======= + "execution_count": 222, + "id": "67c7aee1", + "metadata": { + "scrolled": false + }, + "outputs": [], +>>>>>>> Stashed changes "source": [ "pole_excel_file = 'example_for_gridwere.xls'\n", "df = pd.read_excel(pole_excel_file, sheet_name=None)\n", @@ -69,7 +82,11 @@ { "cell_type": "code", "execution_count": 223, +<<<<<<< Updated upstream "id": "a9079955", +======= + "id": "5b8f138c", +>>>>>>> Stashed changes "metadata": {}, "outputs": [ { @@ -98,7 +115,11 @@ { "cell_type": "code", "execution_count": 188, +<<<<<<< Updated upstream "id": "d737d2cb", +======= + "id": "18ef9d21", +>>>>>>> Stashed changes "metadata": {}, "outputs": [], "source": [ @@ -119,7 +140,11 @@ { "cell_type": "code", "execution_count": 189, +<<<<<<< Updated upstream "id": "26f82f61", +======= + "id": "aa916889", +>>>>>>> Stashed changes "metadata": {}, "outputs": [], "source": [ @@ -140,7 +165,11 @@ { "cell_type": "code", "execution_count": 211, +<<<<<<< Updated upstream "id": "d55a2366", +======= + "id": "45e8c882", +>>>>>>> Stashed changes "metadata": {}, "outputs": [], "source": [ @@ -160,7 +189,11 @@ { "cell_type": "code", "execution_count": 191, +<<<<<<< Updated upstream "id": "d6cd32c2", +======= + "id": "c5923ab0", +>>>>>>> Stashed changes "metadata": {}, "outputs": [], "source": [ @@ -180,7 +213,11 @@ { "cell_type": "code", "execution_count": 192, +<<<<<<< Updated upstream "id": "7cfb07c7", +======= + "id": "5f43fc51", +>>>>>>> Stashed changes "metadata": {}, "outputs": [], "source": [ @@ -213,7 +250,11 @@ { "cell_type": "code", "execution_count": 235, +<<<<<<< Updated upstream "id": "10984051", +======= + "id": "bd7006bf", +>>>>>>> Stashed changes "metadata": {}, "outputs": [], "source": [ @@ -229,7 +270,11 @@ { "cell_type": "code", "execution_count": 266, +<<<<<<< Updated upstream "id": "ead13a4e", +======= + "id": "68dacd20", +>>>>>>> Stashed changes "metadata": {}, "outputs": [], "source": [ @@ -245,6 +290,7 @@ }, { "cell_type": "code", +<<<<<<< Updated upstream "execution_count": 281, "id": "bacd08d6", "metadata": {}, @@ -258,6 +304,12 @@ ] } ], +======= + "execution_count": 280, + "id": "2f9b42a1", + "metadata": {}, + "outputs": [], +>>>>>>> Stashed changes "source": [ "feeder_file_path = '/Users/fxie2/Downloads/NG_to_Hitachi/Final List of Feeders.csv'\n", "feeder_data = pd.read_csv(feeder_file_path)\n", @@ -270,28 +322,46 @@ " summary[str(feeder_strings[1])] = 0\n", " summary[str(feeder_strings[1])] += 1\n", " count += 1\n", +<<<<<<< Updated upstream "print(count)\n", "print(summary)" +======= + "# print(count)\n", + "# print(summary)" +>>>>>>> Stashed changes ] }, { "cell_type": "code", +<<<<<<< Updated upstream "execution_count": 298, "id": "48e4229a", "metadata": {}, "outputs": [], "source": [ "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_sections,pole_config,cable_config,ice_thickness):\n", +======= + "execution_count": 240, + "id": "87d24011", + "metadata": {}, + "outputs": [], + "source": [ + "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section,pole_config,cable_config,ice_thickness,overload_factor_wire=1.65,overload_factor_wind=1.75):\n", +>>>>>>> Stashed changes " wire_moment = 0.0\n", " wire_moment_x = 0.0\n", " wire_moment_y = 0.0\n", " wire_moment_z = 0.0\n", +<<<<<<< Updated upstream " overload_factor_wire=1.65\n", " overload_factor_wind=1.75\n", +======= +>>>>>>> Stashed changes " if pole_data['tilt_angle'] != 0:\n", " tilt_direction = pole_data['tilt_direction']\n", " else:\n", " tilt_direction = 0\n", +<<<<<<< Updated upstream " for section_index in range(len(pole_sections)):\n", " print(section_index)\n", " print(pole_sections)\n", @@ -299,6 +369,10 @@ " print(pole_section)\n", " printt()\n", " if pole_section['from'] == pole_key or pole_section['to'] == pole_key:\n", +======= + " for section_id in pole_section.keys():\n", + " if pole_section[section_id]['from'] == pole_key or pole_section[section_id]['to'] == pole_key:\n", +>>>>>>> Stashed changes " cable_type_id = pole_section[section_id]['cable_type']\n", " cable_diameter = cable_config[cable_type_id]['diameter']*39.3701 # 39.3701 account for m to inches conversion\n", " if pole_section[section_id]['from'] == pole_key:\n", @@ -335,8 +409,13 @@ }, { "cell_type": "code", +<<<<<<< Updated upstream "execution_count": 299, "id": "abe664fb", +======= + "execution_count": 267, + "id": "db0e1246", +>>>>>>> Stashed changes "metadata": {}, "outputs": [ { @@ -383,6 +462,7 @@ }, { "cell_type": "code", +<<<<<<< Updated upstream "execution_count": 301, "id": "3035dbc9", "metadata": { @@ -410,6 +490,14 @@ ] } ], +======= + "execution_count": 239, + "id": "8694f710", + "metadata": { + "scrolled": true + }, + "outputs": [], +>>>>>>> Stashed changes "source": [ "pole_analysis_dict = {}\n", "PS_OK = 1\n", @@ -492,8 +580,13 @@ " # print(f\"{pole_key}: pole_moment_unit_wind = {pole_moment_unit_wind} ft.lb.s/m\")\n", " equipment_moment_unit_wind = equipment_moment_cals(pole_key,1,mount_data_dicts,pole_config_data['overload_factor_transverse_general'])\n", " # print(f\"{pole_key}: equipment_moment_unit_wind = {equipment_moment_unit_wind} ft.lb.s/m\")\n", +<<<<<<< Updated upstream " wire_moment_unit_wind = wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section_dicts,pole_config,cable_config,0)\n", " print(wire_moment_unit_wind)\n", +======= + " wire_moment_unit_wind = wire_moment_cals(pole_key,pole_height,1,wind_direction,pole_data,pole_section,pole_config,cable_config,ice_thickness):\n", + " \n", +>>>>>>> Stashed changes " \n", "# print(pole_analysis_dict['pole_1']['pole_resisting_moment'])" ] @@ -501,7 +594,11 @@ { "cell_type": "code", "execution_count": null, +<<<<<<< Updated upstream "id": "4c452585", +======= + "id": "0fb9a293", +>>>>>>> Stashed changes "metadata": {}, "outputs": [], "source": [] From 4ff98b8afd86cf1b7fea1ac98f6086a838c7252a Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Thu, 4 Nov 2021 10:49:27 -0600 Subject: [PATCH 50/82] Update example_for_gridwere.xls --- .../anticipation/example_for_gridwere.xls | Bin 48128 -> 48640 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/US/CA/SLAC/anticipation/example_for_gridwere.xls b/US/CA/SLAC/anticipation/example_for_gridwere.xls index 56cbbd55c3177456b7553f86906ab2263e6a1bfe..a10c4b74ec052982fbd8d624b39f5cddc9290f6e 100644 GIT binary patch delta 560 zcmZqp!PM}FX@UV`>_kIpmKX*GhK+&i87Kc|e96eX`6bf}BfTZwKtTphhJyT@RE3np zlEhX95eBm)kRT64usAijBr`v+l|h(c*5v=DVv=qh5ZUC!B%q$;{JgZx^i~EjhAWfx z%%a&3aq2TNFs$D^!E7@p7drz(N@`kSX->&zXNPKDu6;fX3_F0%n2|VHr*F;X62Cj5 zTmi`p40}o#7(^<7Vh1)$rSgh0GECN}>S5bZ$-uCt9Vq&1^Oourd|b>xdt*8o7_xdm zDkrOT-(qB*%-Cbd$-yMRzyy@!o!l5GyxFQJfwBHC0~c7xm0=xFf|-dA$YW&iVz~c+ zd-BSrh4y!04HSLJZs3Ca>w$MW-K(YAm|NsA!4R%U!1j9H1J0*Cdp`5=! k*?$uQyC?1X!8B*u7_5qPX26c^ekEXvu%bU$ho*nH5t5^;;q@dsp;CR=<`~`oPvt<6|H$F>rPbvm zY!Im1<7>GW-2}K`s)vbeYCP5^-cEAw2eRyCDrJ)UF2P~4-2oY#*$3a~gJDbj|5X&o!P Date: Thu, 4 Nov 2021 15:40:52 -0700 Subject: [PATCH 51/82] Delete .~lock.Pole_Output_Sample.xls# --- US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# | 1 - 1 file changed, 1 deletion(-) delete mode 100644 US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# diff --git a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# b/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# deleted file mode 100644 index 31c6c785..00000000 --- a/US/CA/SLAC/anticipation/.~lock.Pole_Output_Sample.xls# +++ /dev/null @@ -1 +0,0 @@ -a a,DESKTOP-DPLN6RJ/Johnson Hsiung,DESKTOP-DPLN6RJ,13.08.2021 14:25,file:///C:/Users/Johnson%20Hsiung/AppData/Roaming/OpenOffice/4; \ No newline at end of file From e19182465d585f1d20b2d0e546050a2fd0d438f5 Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Thu, 4 Nov 2021 15:52:56 -0700 Subject: [PATCH 52/82] File reorganization --- US/CA/SLAC/anticipation/Analysis.csv | 4 -- US/CA/SLAC/anticipation/Design - Pole.csv | 3 - .../SLAC/anticipation/Design - Structure.csv | 51 ----------------- .../SLAC/anticipation/Pole_Output_Sample.xls | Bin 17920 -> 0 bytes US/CA/SLAC/anticipation/Sample_Output.csv | 53 ------------------ .../SLAC/anticipation/anticipation_config.csv | 2 +- .../SLAC/anticipation/anticipation_config.glm | 9 --- ...AB-D_Quick_Pole_File_Converter_Guide.ipynb | 0 .../Resilience_Template_Start_Guide.ipynb | 0 US/CA/SLAC/anticipation/pole_data.csv | 29 ---------- .../{ => pole_data}/pole_file_converter.py | 0 .../SLAC/anticipation/pole_library_config.csv | 18 ------ .../pole_vulnerability_config.csv | 12 ---- .../Two-ploe or two-node study.ipynb | 0 .../{ => test_files}/example_for_gridwere.xls | Bin .../{ => test_files}/pole_mount_data.xls | Bin 16 files changed, 1 insertion(+), 180 deletions(-) delete mode 100644 US/CA/SLAC/anticipation/Analysis.csv delete mode 100644 US/CA/SLAC/anticipation/Design - Pole.csv delete mode 100644 US/CA/SLAC/anticipation/Design - Structure.csv delete mode 100644 US/CA/SLAC/anticipation/Pole_Output_Sample.xls delete mode 100644 US/CA/SLAC/anticipation/Sample_Output.csv delete mode 100644 US/CA/SLAC/anticipation/anticipation_config.glm rename US/CA/SLAC/anticipation/{ => docs}/GridLAB-D_Quick_Pole_File_Converter_Guide.ipynb (100%) rename US/CA/SLAC/anticipation/{ => docs}/Resilience_Template_Start_Guide.ipynb (100%) delete mode 100644 US/CA/SLAC/anticipation/pole_data.csv rename US/CA/SLAC/anticipation/{ => pole_data}/pole_file_converter.py (100%) delete mode 100644 US/CA/SLAC/anticipation/pole_library_config.csv delete mode 100644 US/CA/SLAC/anticipation/pole_vulnerability_config.csv rename US/CA/SLAC/anticipation/{ => test_files}/Two-ploe or two-node study.ipynb (100%) rename US/CA/SLAC/anticipation/{ => test_files}/example_for_gridwere.xls (100%) rename US/CA/SLAC/anticipation/{ => test_files}/pole_mount_data.xls (100%) diff --git a/US/CA/SLAC/anticipation/Analysis.csv b/US/CA/SLAC/anticipation/Analysis.csv deleted file mode 100644 index 01822939..00000000 --- a/US/CA/SLAC/anticipation/Analysis.csv +++ /dev/null @@ -1,4 +0,0 @@ -,w,"In Service, Light, 8 lb, Grade A",,"In Service, 12 lb, Grade A", -1,,SF or Max%,Wind Direction,SF or Max%,Wind Direction -2,Pole,6.8,0 °,4.61,0 ° -3,Pole-Strength,100%,,100%, diff --git a/US/CA/SLAC/anticipation/Design - Pole.csv b/US/CA/SLAC/anticipation/Design - Pole.csv deleted file mode 100644 index cef9e95e..00000000 --- a/US/CA/SLAC/anticipation/Design - Pole.csv +++ /dev/null @@ -1,3 +0,0 @@ -,pole_length,pole_depth,ground_diameter,fiber_strength,class,name,tilt_angle,tilt_direction,latitude,longitude,configuration -0,75.5 ft,9.5 ft,23.87 in,6000.5 psi,powerflow.pole_configuration,test_name,,,,, -1,,,,,powerflow.pole,pole_1,12 deg,0 deg,30.0,-70.0,test_name diff --git a/US/CA/SLAC/anticipation/Design - Structure.csv b/US/CA/SLAC/anticipation/Design - Structure.csv deleted file mode 100644 index 920a410e..00000000 --- a/US/CA/SLAC/anticipation/Design - Structure.csv +++ /dev/null @@ -1,51 +0,0 @@ -,id,height,direction,offset,type,related,parent,class,name -1,Insulator_7,64.0 ft,0 deg,,Bracket,"Wire_1,Wire_15",pole_1,powerflow.pole_mount,pole_mount_0 -2,Wire_15,63.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_1 -3,Wire_1,63.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_2 -4,Insulator_8,59.0 ft,0 deg,,Bracket,"Wire_2,Wire_16",pole_1,powerflow.pole_mount,pole_mount_3 -5,Wire_16,58.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_4 -6,Wire_2,58.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_5 -7,Insulator_9,54.0 ft,0 deg,,Bracket,"Wire_3,Wire_17",pole_1,powerflow.pole_mount,pole_mount_6 -8,Wire_17,53.92 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_7 -9,Wire_3,53.92 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_8 -10,Wire_26,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_9 -11,Wire_11,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_10 -12,Wire_25,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_11 -13,Wire_10,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_12 -14,Wire_24,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_13 -15,Wire_9,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_14 -16,Wire_23,41.25 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_15 -17,Wire_8,41.25 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_16 -18,CrossArm_1,40.5 ft,180 deg,5.0 ft,,"Insulator_1,Insulator_2,Insulator_3,Insulator_4",pole_1,powerflow.pole_mount,pole_mount_17 -19,Equip_2,40.5 ft,180 deg,,Cutout_Arrestor,nan,pole_1,powerflow.pole_mount,pole_mount_18 -20,Insulator_4,40.5 ft,180 deg,9.67 ft,Pin,"Wire_11,Wire_26",pole_1,powerflow.pole_mount,pole_mount_19 -21,Insulator_3,40.5 ft,180 deg,6.67 ft,Pin,"Wire_10,Wire_25",pole_1,powerflow.pole_mount,pole_mount_20 -22,Insulator_2,40.5 ft,180 deg,3.33 ft,Pin,"Wire_9,Wire_24",pole_1,powerflow.pole_mount,pole_mount_21 -23,Insulator_1,40.5 ft,180 deg,0.33 ft,Pin,"Wire_8,Wire_23",pole_1,powerflow.pole_mount,pole_mount_22 -24,Equip_3,37.5 ft,90 deg,,Transformer,nan,pole_1,powerflow.pole_mount,pole_mount_23 -25,Insulator_15,33.0 ft,90 deg,,Clamp,Wire_12,pole_1,powerflow.pole_mount,pole_mount_24 -26,Insulator_10,33.0 ft,0 deg,,Clamp,Wire_18,pole_1,powerflow.pole_mount,pole_mount_25 -27,Wire_12,33.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_26 -28,Wire_18,33.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_27 -29,Equip_1,27.0 ft,0 deg,,Street_Light,nan,pole_1,powerflow.pole_mount,pole_mount_28 -30,Wire_28,26.17 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_29 -31,Wire_14,26.17 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_30 -32,Wire_27,26.17 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_31 -33,Wire_13,26.17 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_32 -34,CrossArm_2,26.0 ft,180 deg,5.0 ft,,"Insulator_5,Insulator_6",pole_1,powerflow.pole_mount,pole_mount_33 -35,Insulator_6,26.0 ft,180 deg,0.33 ft,Clamp,"Wire_14,Wire_28",pole_1,powerflow.pole_mount,pole_mount_34 -36,Insulator_5,26.0 ft,180 deg,9.67 ft,Clamp,"Wire_13,Wire_27",pole_1,powerflow.pole_mount,pole_mount_35 -37,Insulator_11,25.0 ft,0 deg,,Clamp,"Wire_4,Wire_19",pole_1,powerflow.pole_mount,pole_mount_36 -38,Wire_19,25.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_37 -39,Wire_4,25.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_38 -40,Insulator_12,24.0 ft,0 deg,,Clamp,"Wire_5,Wire_20",pole_1,powerflow.pole_mount,pole_mount_39 -41,Wire_20,24.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_40 -42,Wire_5,24.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_41 -43,Insulator_13,23.0 ft,0 deg,,Clamp,"Wire_6,Wire_21",pole_1,powerflow.pole_mount,pole_mount_42 -44,Wire_21,23.0 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_43 -45,Wire_6,23.0 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_44 -46,Insulator_14,21.5 ft,0 deg,,Clamp,"Wire_7,Wire_22",pole_1,powerflow.pole_mount,pole_mount_45 -47,Wire_22,21.5 ft,270 deg,,Light_Full_(Tension),WEP_2,pole_1,powerflow.pole_mount,pole_mount_46 -48,Wire_7,21.5 ft,90 deg,,Light_Full_(Tension),WEP_1,pole_1,powerflow.pole_mount,pole_mount_47 -49,WEP_2,,270 deg,204.0 ft,Previous_Pole,nan,pole_1,powerflow.pole_mount,pole_mount_48 -50,WEP_1,,90 deg,180.0 ft,Next_Pole,nan,pole_1,powerflow.pole_mount,pole_mount_49 diff --git a/US/CA/SLAC/anticipation/Pole_Output_Sample.xls b/US/CA/SLAC/anticipation/Pole_Output_Sample.xls deleted file mode 100644 index 1e31414309385990a7e4f82e6adb00217b37acf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17920 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 Date: Thu, 4 Nov 2021 16:04:24 -0700 Subject: [PATCH 53/82] Fixing docs files. --- ...ence_Template_Start_Guide-checkpoint.ipynb | 50 +++++++++++++++++++ .../Resilience_Template_Start_Guide.ipynb | 18 +++++-- 2 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 US/CA/SLAC/anticipation/docs/.ipynb_checkpoints/Resilience_Template_Start_Guide-checkpoint.ipynb diff --git a/US/CA/SLAC/anticipation/docs/.ipynb_checkpoints/Resilience_Template_Start_Guide-checkpoint.ipynb b/US/CA/SLAC/anticipation/docs/.ipynb_checkpoints/Resilience_Template_Start_Guide-checkpoint.ipynb new file mode 100644 index 00000000..b08067b8 --- /dev/null +++ b/US/CA/SLAC/anticipation/docs/.ipynb_checkpoints/Resilience_Template_Start_Guide-checkpoint.ipynb @@ -0,0 +1,50 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "967157e9", + "metadata": {}, + "source": [ + "# Resilience Template Start Guide \n", + "\n", + "## Environment Setup and Directory Navigation\n", + "1. Follow the guide https://docs.google.com/document/d/19hcR_RtNDjdpHn-SEGlzLocJnGF0lC53rXhEkPyB6aM/edit to set up your environment. By the end of this step, you should be able to copy the files in the add-resilience-template branch into the Docker container.\n", + "2. After copying your files into the Docker container, cd into model/US/CA/SLAC/anticipation. \n", + "\n", + "## File Descriptions\n", + "This section describes useful files that can be manipulated to produce different results. \n", + "\n", + "anticipation.glm - the main file that produces the glm objects based on its inputs. Currently, the three inputs that can be used are *pole_library_config.csv, pole_vulnerability_config.csv,* and *Sample_Output.csv*. Descriptions of these files can be found below. User has to manually comment and uncomment commands to change which file is being used as an input. After this file is run, a .glm file is produced with the same name as the input. \n", + "\n", + "pole_library_config.csv - an input file for *anticipation.glm*. It represents different pole configurations and each row is read to be a pole_configuration object while the columns are different properties of a pole configuration object. \n", + "\n", + "pole_vulnerability_config.csv - an input file for *anticipation.glm*. It represents different poles and each row is read to be a pole object while the columns are different properties of a pole object. \n", + "\n", + "Sample_Output.csv - the output of p*ole_file_converter.py*. It contains information for a pole, a pole configuration, and numerous pole mounts. Further description of *pole_file_converter.py* can be found below. \n", + "\n", + "pole_file_converter.py - this python program takes in the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv*. It's main purpose is to convert information from the input into a GridLAB-D readable .csv file. It also outputs intermediate files *Design - Pole.csv* (pole and pole configuration data), *Design - Strcture.csv* (pole mount data), and *Analysis.csv*, which are the transformed sheets in *Pole_Output_Sample.xls* before they are combined into Sample_Output.csv. Currently, *Analysis.csv* is not used or converted. \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/US/CA/SLAC/anticipation/docs/Resilience_Template_Start_Guide.ipynb b/US/CA/SLAC/anticipation/docs/Resilience_Template_Start_Guide.ipynb index 074fafc2..0985d0cb 100644 --- a/US/CA/SLAC/anticipation/docs/Resilience_Template_Start_Guide.ipynb +++ b/US/CA/SLAC/anticipation/docs/Resilience_Template_Start_Guide.ipynb @@ -8,8 +8,10 @@ "# Resilience Template Start Guide \n", "\n", "## Environment Setup and Directory Navigation\n", - "1. Follow the guide https://docs.google.com/document/d/19hcR_RtNDjdpHn-SEGlzLocJnGF0lC53rXhEkPyB6aM/edit to set up your environment. By the end of this step, you should be able to copy the files in the add-resilience-template branch into the Docker container.\n", - "2. After copying your files into the Docker container, cd into model/US/CA/SLAC/anticipation. \n", + "\n", + "1. Obtain a copy of a HiPAS GridLAB-D docker image. For more details on this step refer to https://github.com/slacgismo/gridlabd/wiki. \n", + "\n", + "2. Use the template subcommand to obtain the `anticipation` template. For more details on this process refer to https://docs.gridlabd.us/_page.html?owner=slacgismo&project=gridlabd&branch=master&folder=/Subcommand&doc=/Subcommand/Template.md \n", "\n", "## File Descriptions\n", "This section describes useful files that can be manipulated to produce different results. \n", @@ -20,10 +22,18 @@ "\n", "pole_vulnerability_config.csv - an input file for *anticipation.glm*. It represents different poles and each row is read to be a pole object while the columns are different properties of a pole object. \n", "\n", - "Sample_Output.csv - the output of p*ole_file_converter.py*. It contains information for a pole, a pole configuration, and numerous pole mounts. Further description of *pole_file_converter.py* can be found below. \n", + "Sample_Output.csv - the output of *pole_file_converter.py*. It contains information for a pole, a pole configuration, and numerous pole mounts. Further description of *pole_file_converter.py* can be found below. \n", "\n", "pole_file_converter.py - this python program takes in the input *Pole_Output_Sample.xls* and outputs *Sample_Output.csv*. It's main purpose is to convert information from the input into a GridLAB-D readable .csv file. It also outputs intermediate files *Design - Pole.csv* (pole and pole configuration data), *Design - Strcture.csv* (pole mount data), and *Analysis.csv*, which are the transformed sheets in *Pole_Output_Sample.xls* before they are combined into Sample_Output.csv. Currently, *Analysis.csv* is not used or converted. \n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "489fa035", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -42,7 +52,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.9.6" } }, "nbformat": 4, From 2cf29086ca25162349ff8f80256b26ce3b184a17 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 12:09:16 -0700 Subject: [PATCH 54/82] Create moment_equations.png --- US/CA/SLAC/anticipation/moment_equations.png | Bin 0 -> 9070 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 US/CA/SLAC/anticipation/moment_equations.png diff --git a/US/CA/SLAC/anticipation/moment_equations.png b/US/CA/SLAC/anticipation/moment_equations.png new file mode 100644 index 0000000000000000000000000000000000000000..a8803e38e937db9b0861a2c7bdb95e9479421c26 GIT binary patch literal 9070 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 EALey++yDRo literal 0 HcmV?d00001 From b80e53711a7c3d5f797fc2cff095cafd7fafc571 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 12:09:19 -0700 Subject: [PATCH 55/82] Create Two-ploe or two-node study-checkpoint.ipynb --- ...wo-ploe or two-node study-checkpoint.ipynb | 728 ++++++++++++++++++ 1 file changed, 728 insertions(+) create mode 100644 US/CA/SLAC/anticipation/.ipynb_checkpoints/Two-ploe or two-node study-checkpoint.ipynb diff --git a/US/CA/SLAC/anticipation/.ipynb_checkpoints/Two-ploe or two-node study-checkpoint.ipynb b/US/CA/SLAC/anticipation/.ipynb_checkpoints/Two-ploe or two-node study-checkpoint.ipynb new file mode 100644 index 00000000..5fdfc93b --- /dev/null +++ b/US/CA/SLAC/anticipation/.ipynb_checkpoints/Two-ploe or two-node study-checkpoint.ipynb @@ -0,0 +1,728 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "aa049f30", + "metadata": {}, + "source": [ + "## Two-pole or two-node study" + ] + }, + { + "cell_type": "markdown", + "id": "89c9187f", + "metadata": {}, + "source": [ + "Need:\n", + "pole.csv" + ] + }, + { + "cell_type": "code", + "execution_count": 499, + "id": "405ed256", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from math import cos, sin, atan2, pi, sqrt, atan, isnan" + ] + }, + { + "cell_type": "code", + "execution_count": 500, + "id": "de9efd73", + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "pole_excel_file = 'example_for_gridwere.xls'\n", + "df = pd.read_excel(pole_excel_file, sheet_name=None)\n", + "pole_mount_excel_file = 'pole_mount_data.xls'\n", + "df_mount = pd.read_excel(pole_mount_excel_file, sheet_name=None)" + ] + }, + { + "cell_type": "code", + "execution_count": 501, + "id": "b3daa575", + "metadata": {}, + "outputs": [], + "source": [ + "# creat a dictionary for pole mount data\n", + "df_mount_data = df_mount['pole mount data'].copy()\n", + "mount_data_dicts = {}\n", + "for mount_index in range(len(df_mount_data)):\n", + " mount_data = df_mount_data.iloc[mount_index]\n", + " if mount_data.loc['equipment_id'] not in mount_data_dicts.keys():\n", + " mount_data_dict = {}\n", + " for data_column in mount_data.index:\n", + " if data_column != 'equipment_id':\n", + " mount_data_dict[data_column] = mount_data.loc[data_column]\n", + " mount_data_dicts[mount_data.loc['equipment_id']] = mount_data_dict\n", + "# print(mount_data_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 515, + "id": "ffbd7a1a", + "metadata": {}, + "outputs": [], + "source": [ + "# creat a dictionary for pole data\n", + "df_pole_data = df['pole data'].copy()\n", + "pole_data_dicts = {}\n", + "for pole_index in range(len(df_pole_data)):\n", + " pole_data = df_pole_data.iloc[pole_index]\n", + " if pole_data.loc['pole_id'] not in pole_data_dicts.keys():\n", + " pole_data_dict = {}\n", + " for data_column in pole_data.index:\n", + " if data_column != 'pole_id':\n", + " pole_data_dict[data_column] = pole_data.loc[data_column]\n", + " pole_data_dicts[pole_data.loc['pole_id']] = pole_data_dict\n", + "# print(pole_data_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 503, + "id": "8fb393b0", + "metadata": {}, + "outputs": [], + "source": [ + "# creat a dictionary for pole connections\n", + "df_pole_section = df['pole section'].copy()\n", + "pole_section_dicts = {}\n", + "for section_index in range(len(df_pole_section)):\n", + " pole_section = df_pole_section.iloc[section_index]\n", + " if pole_section.loc['section_id'] not in pole_section_dicts.keys():\n", + " pole_section_dict = {}\n", + " for data_column in pole_section.index:\n", + " if data_column != 'section_id':\n", + " pole_section_dict[data_column] = pole_section.loc[data_column]\n", + " pole_section_dicts[pole_section.loc['section_id']] = pole_section_dict\n", + "# print(pole_section_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 504, + "id": "e755f0b5", + "metadata": {}, + "outputs": [], + "source": [ + "df_pole_config = df['pole config'].copy()\n", + "pole_config_dicts = {}\n", + "for pole_config_index in range(len(df_pole_config)):\n", + " pole_config = df_pole_config.iloc[pole_config_index]\n", + " if pole_config.loc['config_id'] not in pole_config_dicts.keys():\n", + " pole_config_dict = {}\n", + " for data_column in pole_config.index:\n", + " if data_column != 'config_id':\n", + " pole_config_dict[data_column] = pole_config.loc[data_column]\n", + " pole_config_dicts[pole_config.loc['config_id']] = pole_config_dict\n", + "# print(pole_config_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 505, + "id": "9fe08688", + "metadata": {}, + "outputs": [], + "source": [ + "df_cable_config = df['cable config'].copy()\n", + "cable_config_dicts = {}\n", + "for cable_config_index in range(len(df_cable_config)):\n", + " cable_config = df_cable_config.iloc[cable_config_index]\n", + " if cable_config.loc['config_id'] not in cable_config_dicts.keys():\n", + " cable_config_dict = {}\n", + " for data_column in cable_config.index:\n", + " if data_column != 'config_id':\n", + " cable_config_dict[data_column] = cable_config.loc[data_column]\n", + " cable_config_dicts[cable_config.loc['config_id']] = cable_config_dict\n", + "# print(cable_config_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 506, + "id": "26342874", + "metadata": {}, + "outputs": [], + "source": [ + "df_weather_data = df['weather player'].copy()\n", + "time_stamps = []\n", + "wind_speeds = []\n", + "wind_directions = []\n", + "ambient_temps = []\n", + "wind_gusts = []\n", + "GHIs = []\n", + "default_wind_speed = 0\n", + "for weather_timesttamp in range(len(df_weather_data)):\n", + " date = df_weather_data.iloc[weather_timesttamp]['time']\n", + " if pd.isnull(date):\n", + " raise Exception(f'column {weather_timesttamp}: time stamp is not set up')\n", + " date = date - pd.Timestamp(\"1970-01-01\")\n", + " time_stamps.append(date.total_seconds())\n", + " if pd.isnull(df_weather_data.iloc[weather_timesttamp]['wind_speed']) \\\n", + " or df_weather_data.iloc[weather_timesttamp]['wind_speed'] < 0:\n", + " print(f'weather data does not include wind_speed at {date}, using local default_wind_speed')\n", + " wind_speeds.append(0)\n", + " else:\n", + " wind_speeds.append(df_weather_data.iloc[weather_timesttamp]['wind_speed'])\n", + " wind_directions.append(df_weather_data.iloc[weather_timesttamp]['wind_direction'])\n", + " ambient_temps.append(df_weather_data.iloc[weather_timesttamp]['temperature'])\n", + " wind_gusts.append(df_weather_data.iloc[weather_timesttamp]['wind_gusts'])\n", + " GHIs.append(df_weather_data.iloc[weather_timesttamp]['global_horizontal_irradiance'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "1afe3443", + "metadata": {}, + "source": [ + "## equation\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4429829a", + "metadata": {}, + "outputs": [], + "source": [ + "def tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,\\\n", + " ground_diameter_ft,tilt_angle,tile_direction)\n", + " \n", + " 0.125*pole_config_data['material_density']*np.pi*pole_height*pole_height\\\n", + " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", + " *sin(pi*pole_data['tilt_angle']/180)" + ] + }, + { + "cell_type": "code", + "execution_count": 519, + "id": "64cdf160", + "metadata": {}, + "outputs": [], + "source": [ + "def equipment_moment_cals(pole_key,wind_presure,wind_direction,guy_height,tilt_angle,tile_direction,mount_data,\\\n", + " overload_factor_wind=1.75):\n", + " # ingore the equipment weights for now\n", + " equipment_moment_x = 0.0\n", + " equipment_moment_y = 0.0\n", + " equipment_moment_z = 0.0\n", + " for equipment in mount_data.keys():\n", + " if mount_data[equipment]['parent'] == pole_key:\n", + " r_z = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)\n", + " r_x = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)*cos(pi*tile_direction/180)\n", + " r_y = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)*sin(pi*tile_direction/180)\n", + " wind_presure_x = wind_presure*cos(pi*wind_direction/180)\n", + " wind_presure_y = wind_presure*sin(pi*wind_direction/180)\n", + " equipment_size = mount_data[equipment]['mount_height']*mount_data[equipment]['equipment_diameter']/12\n", + " equipment_moment_x += -r_z*wind_presure_y*equipment_size*overload_factor_wind\n", + " equipment_moment_y += r_z*wind_presure_x*equipment_size*overload_factor_wind\n", + " equipment_moment_z += (r_x*wind_presure_y-r_y*wind_presure_x)*equipment_size*overload_factor_wind\n", + " return [equipment_moment_x,equipment_moment_y,equipment_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 526, + "id": "46934235", + "metadata": {}, + "outputs": [], + "source": [ + "def pole_moment_cals(pole_height,wind_presure,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,\\\n", + " tile_direction,overload_factor_wind=1.75):\n", + " r_z = pole_height*cos(pi*tilt_angle/180)/2\n", + " r_x = pole_height*cos(pi*tilt_angle/180)*cos(pi*tile_direction/180)/2\n", + " r_y = pole_height*cos(pi*tilt_angle/180)*sin(pi*tile_direction/180)/2\n", + " pole_size = pole_height*pole_height*(2*top_diameter_ft+ground_diameter_ft)/6\n", + " wind_presure_x = wind_presure*cos(pi*wind_direction/180)\n", + " wind_presure_y = wind_presure*sin(pi*wind_direction/180)\n", + " pole_moment_x = -r_z*wind_presure_y*pole_size*overload_factor_wind\n", + " pole_moment_y = r_z*wind_presure_x*pole_size*overload_factor_wind\n", + " pole_moment_z = (r_x*wind_presure_y-r_y*wind_presure_x)*pole_size*overload_factor_wind\n", + " # print([pole_moment_x,pole_moment_y,pole_moment_z])\n", + " return [pole_moment_x,pole_moment_y,pole_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 522, + "id": "974c5679", + "metadata": {}, + "outputs": [], + "source": [ + "def norm_cals(x_list):\n", + " norm_all = 0.0\n", + " for x in x_list:\n", + " norm_all += x*x\n", + " return sqrt(norm_all)" + ] + }, + { + "cell_type": "code", + "execution_count": 521, + "id": "adaf3f1c", + "metadata": {}, + "outputs": [], + "source": [ + "def get_wind_span(pos1, pos2):\n", + " # TODO, only use the distance to represent the wind span for now\n", + " lat1 = pos1[0]*pi/180\n", + " lat2 = pos2[0]*pi/180\n", + " lon1 = pos1[1]*pi/180\n", + " lon2 = pos2[1]*pi/180\n", + " a = sin((lat2-lat1)/2)**2+cos(lat1)*cos(lat2)*sin((lon2-lon1)/2)**2\n", + " return 6371e3*(2*atan2(np.sqrt(a),sqrt(1-a)))" + ] + }, + { + "cell_type": "code", + "execution_count": 516, + "id": "6788c2a7", + "metadata": {}, + "outputs": [], + "source": [ + "feeder_file_path = '/Users/fxie2/Downloads/NG_to_Hitachi/Final List of Feeders.csv'\n", + "feeder_data = pd.read_csv(feeder_file_path)\n", + "# print(feeder_data)\n", + "summary = {}\n", + "count = 0\n", + "for index in range(len(feeder_data)):\n", + " feeder_strings = feeder_data.iloc[index].tolist()[0].split('_')\n", + " if str(feeder_strings[1]) not in summary.keys():\n", + " summary[str(feeder_strings[1])] = 0\n", + " summary[str(feeder_strings[1])] += 1\n", + " count += 1\n", + "# print(count)\n", + "# print(summary)" + ] + }, + { + "cell_type": "code", + "execution_count": 537, + "id": "a983535f", + "metadata": {}, + "outputs": [], + "source": [ + "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section,pole_config,cable_config,ice_thickness):\n", + " wire_moment_x = 0.0\n", + " wire_moment_y = 0.0\n", + " wire_moment_z = 0.0\n", + " tension_moment_x = 0.0\n", + " tension_moment_y = 0.0\n", + " tension_moment_z = 0.0\n", + " overload_factor_wire=1.65\n", + " overload_factor_wind=1.75\n", + " if pole_data[pole_key]['tilt_angle'] != 0:\n", + " tilt_direction = pole_data[pole_key]['tilt_direction']\n", + " else:\n", + " tilt_direction = 0\n", + " for section_id in pole_section.keys():\n", + " if pole_section[section_id]['from'] == pole_key or pole_section[section_id]['to'] == pole_key:\n", + " cable_type_id = pole_section[section_id]['cable_type']\n", + " if cable_type_id in cable_config.keys():\n", + " cable_diameter = cable_config[cable_type_id]['diameter']*39.3701 # 39.3701 account for m to inches conversion\n", + " else:\n", + " print(f'warning: cable type not reconginzed and default option is use')\n", + " cable_diameter = cable_config['default']['diameter']*39.3701\n", + " if pole_section[section_id]['from'] == pole_key:\n", + " p0 = [pole_data[pole_section[section_id]['from']]['latitude'],pole_data[pole_section[section_id]['from']]['longitude']]\n", + " p1 = [pole_data[pole_section[section_id]['to']]['latitude'],pole_data[pole_section[section_id]['to']]['longitude']]\n", + " pole_cable_angle = pole_section[section_id]['from_pole_line_angle_z']\n", + " else:\n", + " p1 = [pole_data[pole_section[section_id]['from']]['latitude'],pole_data[pole_section[section_id]['from']]['longitude']]\n", + " p0 = [pole_data[pole_section[section_id]['to']]['latitude'],pole_data[pole_section[section_id]['to']]['longitude']]\n", + " pole_cable_angle = pole_section[section_id]['to_pole_line_angle_z']\n", + " wind_span = get_wind_span(p0,p1) * 3.28084 # 3.28084 counts for m to ft conversion\n", + " cable_height = pole_config['conductor_attach_height']\n", + " section_heading = 180*atan2(p1[0]-p0[0],p1[1]-p0[1])/np.pi\n", + " if wind_direction != None:\n", + " angle_wind_section = wind_direction - section_heading\n", + " else:\n", + " angle_wind_section = 90\n", + " cable_transverse_load_wind = wind_presure*sin(pi*abs(angle_wind_section)/180)*wind_span*(cable_diameter+2*ice_thickness)/12 \n", + " try:\n", + " cable_transverse_load_tension = pole_section[section_id]['tension'] * 0.2248 # 0.2248 account for N to lbs conversion\n", + " except:\n", + " print(f'tension is calculated with cable information and powerflow result')\n", + " raise Exception(f'TODO: tension calculations')\n", + " # TODO\n", + " cable_wind_load = 3*cable_transverse_load_wind*overload_factor_wind # 3 counts for phases ABC\n", + " tension_load = 3*cable_transverse_load_tension*overload_factor_wire\n", + " # print(f'cable_load={cable_load}')\n", + " r_z = pole_height*cos(pi*pole_data[pole_key]['tilt_angle']/180)\n", + " r_x = pole_height*sin(pi*pole_data[pole_key]['tilt_angle']/180)*cos(pi*tilt_direction/180)\n", + " r_y = pole_height*sin(pi*pole_data[pole_key]['tilt_angle']/180)*sin(pi*tilt_direction/180)\n", + " # print(f'{pole_key}: lever arm are [{r_x},{r_y},{r_z}')\n", + " cable_wind_load_z = -cable_wind_load*cos(pi*pole_cable_angle/180)\n", + " cable_wind_load_x = cable_wind_load*sin(pi*pole_cable_angle/180)*cos(pi*section_heading/180)\n", + " cable_wind_load_y = cable_wind_load*sin(pi*pole_cable_angle/180)*sin(pi*section_heading/180)\n", + " tension_load_z = -tension_load*cos(pi*pole_cable_angle/180)\n", + " tension_load_x = tension_load*sin(pi*pole_cable_angle/180)*cos(pi*section_heading/180)\n", + " tension_load_y = tension_load*sin(pi*pole_cable_angle/180)*sin(pi*section_heading/180)\n", + " # print(f'{pole_key}: cable load are [{cable_load_x},{cable_load_y},{cable_load_z}')\n", + " wire_moment_x += r_y*cable_wind_load_z-r_z*cable_wind_load_y\n", + " wire_moment_y += r_z*cable_wind_load_x-r_x*cable_wind_load_z\n", + " wire_moment_z += r_x*cable_wind_load_y-r_y*cable_wind_load_x\n", + " tension_moment_x += r_y*tension_load_z-r_z*tension_load_y\n", + " tension_moment_y += r_z*tension_load_x-r_x*tension_load_z\n", + " tension_moment_z += r_x*tension_load_y-r_y*tension_load_x\n", + " # print(f'{pole_key}: wire moment are [{wire_moment_x},{wire_moment_y},{wire_moment_z}]')\n", + " return [wire_moment_x,wire_moment_y,wire_moment_z],[tension_moment_x,tension_moment_y,tension_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93977706", + "metadata": {}, + "outputs": [], + "source": [ + "def wind_pressure_failure_cals(resisting_moment,wire_moment_wind,tension_moment,pole_moment_wind,equipment_moment_wind,tilt_moment):\n", + " \n", + " pole_total_moment_x = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", + " pole_total_moment_y = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", + " pole_total_moment_z = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", + " \n", + " \n", + " return wind_pressure_failure\n", + " wind_pressure_failure = (resisting_moment - tension_moment_unit_wind) \n", + " / (pole_moment_unit_wind + equipment_moment_unit_wind + wire_moment_unit_wind)" + ] + }, + { + "cell_type": "code", + "execution_count": 511, + "id": "e92a488a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-173.03229535755094\n", + "-0.0028403000000025713\n", + "188.03229535755094\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEQCAYAAAC0v9O7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAtlElEQVR4nO3dd3xV9f3H8deHhLDDnoEYMOzhIIADcaHgRJEqaq1WLa2jtrZVwD1qldrS1lmpsy5UQI0TBeooRSE4QhiBsMPeG7I+vz/usb+QBnKBJCfj/Xw88uDe7/me7/18Fe4755z7PdfcHRERkR/UCLsAERGpWBQMIiKyHwWDiIjsR8EgIiL7UTCIiMh+FAwiIrKfahEMZvagmaWb2Xdm9omZtSmmz+nB9h9+9prZRUX6PGZmOws9H2Bm35hZnpkNK2bMeDPLNrMnoqjxZjPLMjM3s2aHOVURkSNW5YLBzE4zsxeLND/q7r3c/VjgfeCeovu5+7/c/digzxnAbuCTQuOmAI2L7LYCuAZ47QDlPAh8EWXp04GBwPIo+4uIlIkqFwzFcffthZ7WA0pa1TcM+MjddwOYWQzwKHB7kXGXuXs6UFB0ADPrDbSkULgE7Web2YzgSOMtM6sfjPWtuy87tJmJiJS+ahEMAGb2kJmtBK6kmCOGIoYDrxd6fjOQ6u5ronytGsCfgd8VaW8G3AUMdPfjgTTgN9HNQESkfMSGXUBpMbOvgVpAfaCJmX0XbBrp7pPd/U7gTjMbTeSN/t4DjNMa6AlMDp63AX4EnHYI5dwIfOju2WZWuP0EoBswPWiPA2YcwrgiImWuygSDu/eDyDUG4Bp3v+YAXV8FPuQAwQBcCrzt7rnB8+OAZCAreDOva2ZZ7p58kHJOBE4xsxuJBFVccNF6OvCpu18e7bxERMpblQmGgzGzju6+KHg6BFhwkO6XA6N/eOLuHwCtCo21s4RQwN2vLNT/GiDF3UeZWXPgSTNLdvcsM6sHJLj7wkOelIhIGaku1xgeMbMMM0sHzgZ+BZFPGpnZsz90MrMkoB3weTSDmlkfM8smcqrpGTObe7D+7r6ByKeYXg9qmQF0Cca6JRirLZBeuC4RkfJkuu22iIgUVl2OGEREJEpV4hpDs2bNPCkpKewyREQqldmzZ2909+ZF26tEMCQlJZGWlhZ2GSIilYqZFXunBZ1KEhGR/SgYRESqoKVLl9KvXz+Sk5O57LLLyMnJiXpfBYOISBU0cuRIbr31VrKysmjcuDHPPfdc1PsqGEREKrFly5bRpUsXrrzySrp27cqwYcPYtWsX06ZNY9iwyLcBXH311bzzzjtRj6lgEBGp5DIzM7nxxhuZP38+8fHxPP300zRq1IjY2Mjni9q2bcuqVauiHk/BICJSybVr146TTz4ZgB//+Md89tlnRzSegkFEpJIrchdnatasydatW8nLywMgOzubhISEqMdTMIiIVEKrtu7h/vfmkptfwIoVK5gxI3IH/9dee43+/ftz+umnM2HCBABeeuklhgwZEvXYCgYRkUqkoMB5cfpSzhr7OW/MWknW+p107tyZJ598kq5du7JlyxZuuOEGxowZw9ixY0lOTmbTpk1cd911Ub9GlVj5LCJSHSxat4ORE9P5ZsVWBnRqzkMX9SB/+3piY2N55ZVX9uvboUMHZs6ceVivo2AQEangcvIKePqzxTz5ryzq1oph7KXHcPFxCZgZy7aXvP+hUjCIiFRg367YwqiJc8hct4MLjmnDvRd0o1n9Wv/dnpSUREZGRqm+poJBRKQC2p2Tx58mL+SF/yylVXxtnrs6hTO7tiyX11YwiIhUMF8s3MAdb88he8sefnxCIiMHd6FB7Zrl9voKBhGRCmLLrhwe/GAek75ZRYfm9XjrFyfSJ6lJudehYBARCZm78376Gu5/by5bd+dy8+nJ3HxGMrVrxoRSj4JBRCREa7bt4e53Mpgyfz292jbkn9f2o1ub+FBrUjCIiISgoMB5beYKHvloAXkFBdx5bld+enISsTHhrztWMIiIlLPFG3YyeuIcZi7bzMnJTfnDxT05qmm9sMv6LwWDiEg5yc0vYNwXS/jb1EXUjq3BH4f14ke92/7PTfDCFtUxi5kNNrNMM8sys1HFbK9lZm8E2782s6RC20YH7ZlmNqhQ+/Nmtt7MMoqM1cTMPjWzRcGfjY9gfiIiFUJ69lYufGI6j07OZGDXFkz57alcmtKuwoUCRBEMZhYDPAmcA3QDLjezbkW6XQdscfdk4C/AmGDfbsBwoDswGHgqGA/gxaCtqFHAVHfvCEwNnouIVEp7cvL5w4fzuejJ6WzauY9nrurNU1f2pkWD2mGXdkDRHDH0BbLcfYm75wDjgaL3bx0CvBQ8ngCcaZEYHAKMd/d97r4UyArGw92/ADYX83qFx3oJuCj66YiIVBzTszYy6K9fMO6LJVzWpx2f/uZUBnVvFXZZJYrmGkMCsLLQ82yg34H6uHuemW0DmgbtXxXZt6Rvi2jp7muCx2uBYteAm9kIYARAYmJiybMQESkn23bn8tCH83gzLZukpnV5/WcncOLRTcMuK2oV+uKzu7uZ+QG2jQPGAaSkpBTbR0SkvH00Zw33pM5l864cfnHq0fx6YMfQFqodrmiCYRXQrtDztkFbcX2yzSwWaAhsinLfotaZWWt3X2NmrYH1UdQoIhKqddv3cs+7GUyeu47ubeJ54Zo+9EhoGHZZhyWaawyzgI5m1t7M4ohcTE4t0icVuDp4PAyY5u4etA8PPrXUHugIlPTNEYXHuhp4N4oaRURC4e68PnMFA8d+zmeZGxg5uAvv3HRypQ0FiOKIIbhmcDMwGYgBnnf3uWb2AJDm7qnAc8DLZpZF5ILy8GDfuWb2JjAPyANucvd8ADN7HTgNaGZm2cC97v4c8AjwppldBywHLi3VGYuIlJJlG3cxalI6Xy3ZTL/2TXjkkl60b1ZxFqodLov8Yl+5paSkeFpaWthliEg1kZdfwLP/XspfPl1IXEwN7jivK5eltKNGjYq3JuFgzGy2u6cUba/QF59FRCqauau3MXJiOhmrtnN2t5Y8eFEPWsZX3DUJh0PBICIShb25+fxt6iLGfbGExnXjeOrK4zmnR6sKuXL5SCkYRERK8NWSTYyeNIelG3dxaUpb7ji3K43qxoVdVplRMIiIHMD2vbk8/OECXp+5gsQmdXn1+n6cnNws7LLKnIJBRKQYn8xdy93vZrBhxz5+dkp7bj2rE3XjqsdbZvWYpYhIlDbs2Md9qXP5YM4aurRqwLirUjimXaOwyypXCgYRESIL1SbMzub3H8xnT04+vzu7Ez8/9WhqVoBvVCtvCgYRqfZWbNrNHW/P4d9ZG+mT1JiHh/YiuUX9sMsKjYJBRKqt/ALnhelL+fMnC4mpYTx4UQ+u7JtY6RaqlTYFg4hUS/PXbGfUxHS+z97GmV1a8OBFPWjTqE7YZVUICgYRqVb25eXzxLQsnv5sMQ3r1OSxy4/jgl6tq+RCtcOlYBCRaiNt2WZGTkxn8YZdDD0ugbvP70bjelV3odrhUjCISJW3Y28uf/w4k5e/Wk5Cozq8+NM+nNa5RdhlVVgKBhGp0qYtWMedb2ewdvtefnpyEr87uzP1aumt72D0X0dEqqRNO/dx/3vzSP1+NZ1a1ufJK0/i+MTGYZdVKSgYRKRKcXfe+W4VD7w3j5378vj1wI7ceFoycbHVb6Ha4VIwiEiVkb1lN3e+ncHnCzdwXGIjxlzSi04tG4RdVqWjYBCRSi+/wPnnjGU8OjkTgHsv6MZPTkwippovVDtcCgYRqdQWrdvB7RPT+XbFVk7t1JyHLu5B28Z1wy6rUlMwiEillJNXwFOfZfHkv7KoXyuWv1x2DBcdm6CFaqVAwSAilc43K7YwamI6C9ft5MJj2nDPBd1oVr9W2GVVGQoGEak0du3L49HJmbw0Yxmt4mvz/DUpnNGlZdhlVTkKBhGpFD5fuIE7Js1h1dY9/OTEo7htUGca1K4ZdllVkoJBRCq0LbtyePD9eUz6dhVHN6/HhF+cSEpSk7DLqtIUDCJSIbk776Wv4f7UuWzbk8svz0jmptOTqV0zJuzSqryolgKa2WAzyzSzLDMbVcz2Wmb2RrD9azNLKrRtdNCeaWaDShrTzM4ws2/MLMPMXjIzhZdINbN66x6ufymNW17/lraN6/DeL/vz27M7KxTKSYlvumYWAzwJnAVkA7PMLNXd5xXqdh2wxd2TzWw4MAa4zMy6AcOB7kAbYIqZdQr2+Z8xgQXAS8CZ7r7QzB4ArgaeK4W5ikgFV1DgvPr1csZ8nEleQQF3ndeVn57cXgvVylk0v433BbLcfQmAmY0HhgCFg2EIcF/weALwhEU+TDwEGO/u+4ClZpYVjMcBxtwA5Lj7wqDPp8BoFAwiVV7W+p2MnpTOrGVb6J/cjD9c3JPEplqoFoZogiEBWFnoeTbQ70B93D3PzLYBTYP2r4rsmxA8Lm7MjUCsmaW4exowDGhXXFFmNgIYAZCYmBjFNESkIsrNL+CZzxfz2NQs6sTF8OiwXgzr3VYL1UJUoc7fu7sHp6L+Yma1gE+A/AP0HQeMA0hJSfHyq1JESkt69lZun5DOgrU7OK9na+69sBstGtQOu6xqL5pgWMX+v7W3DdqK65MdXCxuCGwqYd9i2919BnAKgJmdDXRCRKqU3Tl5/OXThTz376U0b1CLcVf15uzurcIuSwLRBMMsoKOZtSfy5j0cuKJIn1QiF4lnEDn9My347T8VeM3MxhK5+NwRmAnYgcY0sxbuvj44YhgJPHSEcxSRCmR61kZGTUpn5eY9XN43kdHndiFeC9UqlBKDIbhmcDMwGYgBnnf3ucEnhtLcPZXIxeGXg4vLm4m80RP0e5PIheo84CZ3zwcobszgJW8zs/OJfJT2aXefVorzFZGQbNudy+8/mMdbs7Np36we40ecwAkdmoZdlhTD3Cv/6fmUlBRPS0sLuwwRKYa781HGWu55dy5bducwYkAHfnVmR61JqADMbLa7pxRtr1AXn0Wkalm3fS93v5PBJ/PW0SMhnhd/2oceCQ3DLktKoGAQkVJXUOCMn7WShz+cT05+AaPO6cL1/dsTG6PvXa4MFAwiUqqWbtzF6EnpfLVkMyd0aMIjQ3uR1Kxe2GXJIVAwiEipyMsv4B9fLuWvUxYSF1uDR4b25LI+7bRQrRJSMIjIEctYtY2RE9OZu3o7g7q35IEhPWgZr4VqlZWCQUQO297cfP46ZRH/+HIJTerF8fSVx3NOz9ZhlyVHSMEgIodlxuJNjJ6UzrJNu7k0pS13ntuNhnW1UK0qUDCIyCHZtieXRz6az+szV5LYpC6vXt+Pk5ObhV2WlCIFg4hEbfLctdz9TgYbd+5jxIAO3DqwE3XitFCtqlEwiEiJ1u/Yy32pc/lwzlq6tGrAs1en0Ktto7DLkjKiYBCRA3J33pqdzUMfzGdPbj63DerMiAEdqKmFalWagkFEirVi025Gv53O9KxN9E1qwsOX9OTo5vXDLkvKgYJBRPaTl1/AC9OX8edPM4mtUYPfX9SDK/omUkPfu1xtKBhE5L/mr9nOyInppGdvY2DXFjx4UQ9aN6wTdllSzhQMIsLe3Hwen7aIZz5fQsM6NXn88uM4v1dr3c6imlIwiFRzM5duZtSkdJZs2MXQ4xO4+7xuNK4XF3ZZEiIFg0g1tWNvLmM+XsArX60goVEdXrq2L6d2ah52WVIBKBhEqqGp89dx1zsZrN2+l2tPbs9vz+5EvVp6O5AI/U0QqUY27tzH/e/N473vV9OpZX2euvIkjktsHHZZUsEoGESqAXfn7W9X8cD789i1L49bB3bihtOOJi5WC9XkfykYRKq4lZt3c+c7GXyxcAPHJzZizCW96NiyQdhlSQWmYBCpovILnJf+s4w/fZIJwH0XdOOqE5OI0UI1KYGCQaQKWrhuB7dPSOe7lVs5rXNzHrq4JwmNtFBNoqNgEKlC9uXl89S/FvPUZ1nUrxXLXy87liHHttFCNTkkUV15MrPBZpZpZllmNqqY7bXM7I1g+9dmllRo2+igPdPMBpU0ppmdaWbfmNl3ZvZvM0s+wjmKVAuzl2/h/Mf+zd+mLuLcnq2Z8ptTuei4BIWCHLISjxjMLAZ4EjgLyAZmmVmqu88r1O06YIu7J5vZcGAMcJmZdQOGA92BNsAUM+sU7HOgMZ8Ghrj7fDO7EbgLuKYU5ipSJe3al8ejkzN5acYyWsfX5vlrUjijS8uwy5JKLJpTSX2BLHdfAmBm44EhQOFgGALcFzyeADxhkV9ThgDj3X0fsNTMsoLxOMiYDsQHfRoCqw9vaiJV32eZ67nz7QxWb9vDVSccxe2Du1BfC9XkCEXzNygBWFnoeTbQ70B93D3PzLYBTYP2r4rsmxA8PtCY1wMfmtkeYDtwQnFFmdkIYARAYmJiFNMQqTo278rhwffn8fa3qzi6eT3e+vmJpCQ1CbssqSIq4q8WtwLnuvvXZnYbMJZIWOzH3ccB4wBSUlK8fEsUCYe7k/r9au5/bx7b9+RyyxnJ3HRGMrVi9b3LUnqiCYZVQLtCz9sGbcX1yTazWCKngDaVsO//tJtZc+AYd/86aH8D+DiKGkWqvNVb93DXOxlMW7CeY9o1YswlPenSKr7kHUUOUTTBMAvoaGbtibypDweuKNInFbgamAEMA6a5u5tZKvCamY0lcvG5IzATsAOMuQVoaGad3H0hkYvT849wjiKVWkGB88rXyxnz0QIKHO46rys/Pbm9FqpJmSkxGIJrBjcDk4EY4Hl3n2tmDwBp7p4KPAe8HFxc3kzkjZ6g35tELirnATe5ez5AcWMG7T8DJppZAZGguLZUZyxSiWSt38moiemkLd/CKR2b8YeLe9KuSd2wy5Iqztwr/+n5lJQUT0tLC7sMkVKTk1fAM58v5vFpWdSJi+Hu87txyfFakyCly8xmu3tK0faKePFZpFr7fuVWRk5MZ8HaHZzXqzX3XdCd5g1qhV2WVCMKBpEKYndOHn/+ZCEvTF9K8wa1+MdPUjirmxaqSflTMIhUAP9etJHRb6ezcvMeruyXyMhzuhBfu2bYZUk1pWAQCdHW3Tn8/oP5TJidTYdm9XhjxAn069A07LKkmlMwiITA3flwzlruTZ3Llt053Hja0dxyZkdq19RCNQmfgkGknK3dtpe7383g03nr6JEQz0vX9qF7m4ZhlyXyXwoGkXJSUOC8PmsFj3y4gJz8Akaf04Xr+rcnNkbfuywVi4JBpBws2bCT0ZPm8PXSzZzYoSkPD+1JUrN6YZclUiwFg0gZys0v4B9fLuGvUxZRK7YGYy7pyaUp7bRQTSo0BYNIGclYtY3bJ6Qzb812BndvxQNDutMivnbYZYmUSMEgUsr25OTz1ykLefbfS2lSL46///h4BvdoHXZZIlFTMIiUov8s3sjoSXNYvmk3w/u0Y/Q5XWlYVwvVpHJRMIiUgm17cnn4w/mMn7WSxCZ1ee36fpyU3CzsskQOi4JB5Ah9nLGWe97NYOPOffx8QAd+PbATdeK0UE0qLwWDyGFav2Mv9747l48y1tK1dTzPXd2Hnm21UE0qPwWDyCFyd95MW8lDH8xnb14Btw3qzIgBHaiphWpSRSgYRA7B8k27GD1pDv9ZvIm+SU14+JKeHN28fthliZQqBYNIFPLyC3h++lLGfrqQmjVq8NDFPbi8TyI19L3LUgUpGERKMG/1dkZOTGfOqm0M7NqS31/Ug1YNtVBNqi4Fg8gB7M3N5/Fpi3jm8yU0qluTJ644jvN6ttbtLKTKUzCIFGPm0s2MmpjOko27uOT4ttx1Xlca14sLuyyRcqGPUYgEnnjiCTocnYyZcclfPiYnv4B/XtuXP196jEJBqhUFg0ggtnUXGg69n5j4FlzZ7yg+uXUAAzo1D7sskXKnU0lS7SxbtozBgwfTu3dvvvnmG5I7d6XNkN8yOXMfndu0o0V8LX43qDN14/TPQ6onHTFItZSZmckNN9zA71/5lOkrdjHplRf4zVmdeO+X/YnTQjWp5qL6F2Bmg80s08yyzGxUMdtrmdkbwfavzSyp0LbRQXummQ0qaUwz+9LMvgt+VpvZO0c2RZH/1SahLc9k1uS3b31P9wHnc0zcWm45syNxsQoFkRKPlc0sBngSOAvIBmaZWaq7zyvU7Tpgi7snm9lwYAxwmZl1A4YD3YE2wBQz6xTsU+yY7n5KodeeCLx7xLMUCeQXOG/MWsn6HTl8s3wL91/YnYTdtXly+bSwSxOpMKL59agvkOXuS9w9BxgPDCnSZwjwUvB4AnCmRT7sPQQY7+773H0pkBWMV+KYZhYPnAG8c1gzEykic+0OLnn6Pzw+bRF529fzcP/aXH1SEuPHv07//v3DLk+kwogmGBKAlYWeZwdtxfZx9zxgG9D0IPtGM+ZFwFR3315cUWY2wszSzCxtw4YNUUxDqqvc/AIem7qI8x//khWbd3PPBd3o3Lkzb/7zWbp27cqWLVu44YYbeOyxx2jbti3Z2dn06tWL66+/PuzSRUJRkT92cTnw7IE2uvs4YBxASkqKl1dRUrlkrNrGbRPSmb9mOxcc04b7LujGjo1reCw2lldeeWW/vrfccgu33HJLSJWKVBzRBMMqoF2h522DtuL6ZJtZLNAQ2FTCvgcc08yaETnddHEU9Yn8j315+Tw+NYunP19Mk3pxPHNVbwZ1bwXAjo0hFydSwUUTDLOAjmbWnsib93DgiiJ9UoGrgRnAMGCau7uZpQKvmdlYIhefOwIzASthzGHA++6+97BnJtXWtyu2cPuEdBat38klx7fl7vO70qju/69cTkpKIiMjI8QKRSq2EoPB3fPM7GZgMhADPO/uc83sASDN3VOB54CXzSwL2EzkjZ6g35vAPCAPuMnd8wGKG7PQyw4HHimtSUr1sDc3n7GfLuTZL5fQMr42L/y0D6d3bhF2WSKVjrlX/tPzKSkpnpaWFnYZEqKZSzczcmI6Szfu4vK+iYw+twvxtWuGXZZIhWZms909pWh7Rb74LFKiXfvyeHRyJi/NWEZCozq8en0/Tk5uFnZZIpWagkEqrelZGxk5MZ3sLXu45qQkbhvUmXq19Fda5EjpX5FUOtv35vLwhwt4feYK2jerx5s/P5G+7ZuEXZZIlaFgkErlX5nruWPSHNZt38uIAR34zVmdqF0zJuyyRKoUBYNUClt35/DA+/OY9M0qOraoz1M3nMRxiY3DLkukSlIwSIU3ee5a7nong827cvjlGcncfEYytWJ1lCBSVhQMUmFt2rmP+96bx3vfr6Zr63heuKYPPRIahl2WSJWnYJAKx915P30N96bOZcfeXH57Vid+cdrR1NQX6IiUCwWDVCjrt+/l7nczmDx3Hce0bcgfh51A51YNwi5LpFpRMEiF4O5M+mYVD7w/jz25+Yw+pwvX9W9PrI4SRMqdgkFCt3rrHu54ew6fZW4g5ajGjBnWi6Ob1w+7LJFqS8EgoXF3xs9ayUMfzCe/wLn3gm785MQkYmpY2KWJVGsKBgnFys27GTUpnelZmzixQ1PGXNKLxKZ1wy5LRFAwSDkrKHBe/mo5Yz5eQA0zHrq4B5f3SaSGjhJEKgwFg5SbpRt3cfuE75m1bAsDOjXn4aE9SWhUJ+yyRKQIBYOUufwC5/l/L+VPn2RSK7YGjw7rxbDebTHTUYJIRaRgkDK1aN0Ofjchne9XbmVg15Y8dHEPWsbXDrssETkIBYOUidz8AsZ9sYS/TVlEvVox/G34sVx4TBsdJYhUAgoGKXVzV2/j9gnpzF29nfN6teb+C7vTrH6tsMsSkSgpGKTU5OQV8MS0RTz12WIa1Y3j7z8+nsE9WoddlogcIgWDlIrvV27l9gnpZK7bwdDjErj7/G40rhcXdlkichgUDHJE9ubm85cpC/nHF0to0aA2z1+TwhldWoZdlogcAQWDHLbZyzdz24R0lmzYxfA+7bjjvK7E164ZdlkicoQUDHLIdufk8ejkTF78zzLaNKzDy9f15ZSOzcMuS0RKSVT3NDazwWaWaWZZZjaqmO21zOyNYPvXZpZUaNvooD3TzAaVNKZFPGRmC81svpndcoRzlFL0n8UbGfzXL3lh+jKuOuEoPrl1gEJBpIop8YjBzGKAJ4GzgGxglpmluvu8Qt2uA7a4e7KZDQfGAJeZWTdgONAdaANMMbNOwT4HGvMaoB3Qxd0LzKxFaUxUjsyOvbk88tECXv16BUlN6/LGiBPo16Fp2GWJSBmI5lRSXyDL3ZcAmNl4YAhQOBiGAPcFjycAT1hkJdMQYLy77wOWmllWMB4HGfMG4Ap3LwBw9/WHPz0pDZ8v3MDoiems2b6X6/u357dnd6ZOXEzYZYlIGYkmGBKAlYWeZwP9DtTH3fPMbBvQNGj/qsi+CcHjA415NJGjjYuBDcAt7r6oaFFmNgIYAZCYmBjFNORQbdudy+8/mMdbs7NJblGfiTecxPGJjcMuS0TKWEW8+FwL2OvuKWY2FHgeOKVoJ3cfB4wDSElJ8fItser7dN467nx7Dpt25XDT6UfzyzM6UrumjhJEqoNogmEVkXP+P2gbtBXXJ9vMYoGGwKYS9j1QezYwKXj8NvBCFDVKKdm8K4f735vLu9+tpkurBjx3dR96tm0YdlkiUo6iCYZZQEcza0/kzXs4cEWRPqnA1cAMYBgwzd3dzFKB18xsLJGLzx2BmYAdZMx3gNOBpcCpwMLDnp0ckg/S13DPuxls35vLrQM7ccNpRxMXG9UH10SkCikxGIJrBjcDk4EY4Hl3n2tmDwBp7p4KPAe8HFxc3kzkjZ6g35tELirnATe5ez5AcWMGL/kI8KqZ3QrsBK4vvelKcTbs2Mc972bwUcZaeiY05NUf9aNLq/iwyxKRkJh75T89n5KS4mlpaWGXUem4O+98t4r735vH7px8bh3YiZ+d0p7YGB0liFQHZjbb3VOKtlfEi89SDtZu28udb89h6oL1HJ/YiD8OO4bkFvXDLktEKgAFQzXj7ryZtpLfvz+f3IIC7j6/G9eclERMDX2BjohEKBiqkewtuxk9aQ5fLtpIv/ZN+OOwXhzVtF7YZYlIBaNgqAYKCpxXv17OIx8tAODBi3pwZd9EaugoQUSKoWCo4pZt3MXIiel8vXQzp3RsxsNDe9K2cd2wyxKRCkzBUEXlFzgvTF/Knz7JpGZMDf54SS9+lNKWyC2sREQOTMFQBWWt38ntE77nmxVbObNLCx66uCetGtYOuywRqSQUDFVIXn4B475cwl+nLKJuXAx/vexYhhzbRkcJInJIFAxVxPw127l9QjpzVm3j3J6tuP/CHjRvUCvsskSkElIwVHI5eQU89VkWT/4ri4Z1avLUlcdzbs/WYZclIpWYgqESm5O9jdsmfM+CtTu46Ng23HNBd5rUiwu7LBGp5BQMldDe3Hwem7qIZ75YQrP6cTz7kxQGdmsZdlkiUkUoGCqZ2cu3cPuE71m8YReXprTlzvO60bBOzbDLEpEqRMFQSezJyedPn2Ty/PSltGlYh39e25cBnZqHXZaIVEEKhkrgqyWbGDkxneWbdvPjExIZdU5X6tfS/zoRKRt6d6nAdu7LY8xHC3j5q+UkNqnL6z87gROPbhp2WSJSxSkYKqgvF21g1MQ5rN62h2tPbs/vBnWibpz+d4lI2dM7TQWzfW8uf/hgPuNnraRD83pM+MWJ9D6qSdhliUg1omCoQKYtWMcdkzJYv2MvN5x2NL86syO1a8aEXZaIVDMKhgpgy64cHnh/Hm9/u4rOLRsw7ie96dW2UdhliUg1pWAI2ccZa7jrnbls3Z3Dr87syE2nJxMXWyPsskSkGlMwhGTjzn3c++5cPpizhu5t4vnntX3p1iY+7LJERBQM5c3dSf1+NfelzmXXvnxuG9SZEQM6UDNGRwkiUjEoGMrRuu17ufPtDKbMX8dxiY14dFgvkls0CLssEZH9RPVrqpkNNrNMM8sys1HFbK9lZm8E2782s6RC20YH7ZlmNqikMc3sRTNbambfBT/HHtkUw+fuvJW2krPGfs6XizZw13ldmfCLkxQKIlIhlXjEYGYxwJPAWUA2MMvMUt19XqFu1wFb3D3ZzIYDY4DLzKwbMBzoDrQBpphZp2Cfg415m7tPKIX5hW7V1j2MnjSHLxZuoG/7Joy5pBftm9ULuywRkQOK5lRSXyDL3ZcAmNl4YAhQOBiGAPcFjycAT1jk+ySHAOPdfR+w1MyygvGIYsxKraDAeW3mCh7+cD4OPDCkOz/udxQ1auhrNkWkYosmGBKAlYWeZwP9DtTH3fPMbBvQNGj/qsi+CcHjg435kJndA0wFRgXBUmms2LSbkRPTmbFkE/2Tm/Hw0J60a1I37LJERKJSES8+jwbWAnHAOGAk8EDRTmY2AhgBkJiYWJ71HVBBgfPif5bx6ORMYmsYjwztyWV92hE5eBIRqRyiCYZVQLtCz9sGbcX1yTazWKAhsKmEfYttd/c1Qds+M3sB+F1xRbn7OCLBQUpKikcxjzK1eMNORk5IJ235Fk7v3Jw/DO1J64Z1wi5LROSQRRMMs4COZtaeyJv3cOCKIn1SgauBGcAwYJq7u5mlAq+Z2VgiF587AjMBO9CYZtba3dcE1yguAjKObIplKy+/gGf/vZSxny6kTs0Yxl56DBcfl6CjBBGptEoMhuCawc3AZCAGeN7d55rZA0Cau6cCzwEvBxeXNxN5oyfo9yaRi8p5wE3ung9Q3JjBS75qZs2JhMd3wC9KbbalLHPtDm6f8D3fZ29jUPeWPHhRD1o0qB12WSIiR8TcQz8Lc8RSUlI8LS2t3F4vN7+Apz9bzOPTFhFfuyYPDOnBuT1b6ShBRCoVM5vt7ilF2yvixecKLWPVNm6bkM78Ndu58Jg23HtBN5rWrxV2WSIipUbBEKV9efk8PjWLpz9fTNN6cYy7qjdnd28VdlkiIqVOwRCFb1ds4fYJ6Sxav5Nhvdty93ndaFi3ZthliYiUCQXDQQy//AqmfjmDbfsKaHRUV1578TkG9kgoeUcRkUpM93o+gJlLNzOvbi/qXvk4v33mPQZ0aMiiL1PDLktEpMzpiAFYtmwZgwcPpnfv3qTN/oaYJu3YddLPSezcl78P7cVJyc34y/ITyM7ODrtUEZEypyOGQGZmJv0vvILmP32SlTudzptmMPnXAzgpuRm5ubm8/PLLDB48OOwyRUTKnIIB2LEvl/hmrRjzLcTF1GDMqJuouyWLunGRA6obb7yRAQMGcMopp4RcqYhI2av2wfCvzPX85LmZ7MrJ5+enduDDX51Cl1bx/12sdv/997NhwwbGjh0bcqUiIuWjWl9jGD1pDq/PXEG7WjHkb9/AaY22UrtmDK+99hr9+/fn2WefZfLkyUydOpUaNap9hopINVGtb4nxzOeL2bkvj/M7xDLk/PNISUlh9uzZdOvWjZdffpn4+HiOOuooGjSIfAXn0KFDueeee0q7fBGRUOiWGMX4+alHA5FPJcXGxvLKK6/stz0vLy+MskREQqXzIyIish8FA5CUlERGRoX+2gcRkXKjYBARkf0oGEREZD8KBhER2Y+CQURE9qNgEBGR/SgYRERkP1Vi5bOZbQCWh11HlJoBG8MuIkTVef7Vee5QvedfUed+lLs3L9pYJYKhMjGztOKWoFcX1Xn+1XnuUL3nX9nmrlNJIiKyHwWDiIjsR8FQ/saFXUDIqvP8q/PcoXrPv1LNXdcYRERkPzpiEBGR/SgYRERkPwqGUmJmTczsUzNbFPzZ+AD9rg76LDKzqwu1P2RmK81sZ5H+tczsDTPLMrOvzSypjKdyyEph7r3NbE4wx8cs+MJtMzvGzGYE294zs/jymtOhKMP5H2tmX5nZd2aWZmZ9y2tO0SrDub8RzPs7M1tmZt+V05QOSVnNP9j2SzNbYGZzzeyP5TGf/3J3/ZTCD/BHYFTweBQwppg+TYAlwZ+Ng8eNg20nAK2BnUX2uRH4e/B4OPBG2HMtg7nPDOZvwEfAOUH7LODU4PG1wINhz7Wc5/9JocfnAp+FPdfymnuR/f8M3BP2XMv5//3pwBSgVvC8RbnOK+z/sFXlB8gEWgePWwOZxfS5HHim0PNngMuL9CkaDJOBE4PHsURWT1rY8y2tuQf9FxTXD9jG/39Aoh0wL+y5lvP8JwOXFWp/Ley5ltfcC7UZsBLoGPZcy/n//ZvAwLDmpVNJpaelu68JHq8FWhbTJ4HIX/IfZAdtB/Pffdw9j8ibZdMjK7XUHcncE4LHRdsB5gJDgsc/IhIOFVFZzf/XwKNmthL4EzC6FGsuLWU19x+cAqxz90WlU26pK6v5dwJOCU4ff25mfUq37IOLLc8Xq+zMbArQqphNdxZ+4u5uZlXqc8Ahzf1a4DEzuxtIBXJKadxDFtL8bwBudfeJZnYp8BwwsJTGjlrIf+8vB14v5TEPSUjzjyVy6ukEoA/wppl18OBwoqwpGA6Bux/wH6WZrTOz1u6+xsxaA+uL6bYKOK3Q87bAZyW87Coivylnm1ks0BDYdCh1l4YynPuq4HHh9lXBay4Azg5eoxNw3hFM4YiEMX/gauBXweO3gGcPq/gjFNLcCf6+DwV6H3bxpSCk+WcDk4IgmGlmBURuxLfhcOdxKHQqqfSkEvmHTPDnu8X0mQycbWaNg08vnB20RTvuMGBaef3WcAgOe+7BYfh2Mzsh+ETGT37Y38xaBH/WAO4C/l620zhsZTJ/YDVwavD4DKAink4pq7lD5Ohogbtn/++QFUZZzf8dIhegf/ilKI7yvDtr2BdvqsoPkfP+U4n8450CNAnaU4BnC/W7FsgKfn5aqP2PRH5LKAj+vC9or03kt8UsIp9g6BD2XMtg7ilABrAYeIL/v+D8K2Bh8PMIFeyieznMvz8wG/ge+BroHfZcy2vuwbYXgV+EPceQ/t/HAa8E274BzijPeemWGCIish+dShIRkf0oGEREZD8KBhER2Y+CQURE9qNgEBEpZWb2o+DmdwVmVux3PZtZOzP7l5nNC/r+qtC2R4Mb6KWb2dtm1ihoP8vMZgc33pttZmdEUcurZpZpZhlm9ryZ1SxpHwWDiEjpyyCyOO+Lg/TJA37r7t2IrHC+ycy6Bds+BXq4ey8iH9f+4XYoG4EL3L0nkXUTL0dRy6tAF6AnUAe4vqQdFAwiIqXM3ee7e2YJfda4+zfB4x3AfIJ7Jbn7Jx65NxrAVwQrpN39W3dfHbTPBeqYWS0AMzvbIrep/8bM3jKz+sE+H3qAyFqowquti6VgEBEJmUW+Z+U4IgsZi7qWyC25i7oE+Mbd95lZMyJ3Bxjo7scDacBvirxGTeAq4OOS6tG9kkREDsPBbq7n7sXdGuNA49QHJgK/dvftRbbdSeSU06tF2rsDYwjuJUbkVFQ3YHrwXT9xwIwiL/UU8IW7f1lSTQoGEZHD4Ae5uV60gt/iJwKvuvukItuuAc4HzvRCt6gws7bA28BP3H3xD83Ap+5++QFe516gOfDzaOrSqSQRkRAEN857Dpjv7mOLbBsM3A5c6O67C7U3Aj4g8q1x0wvt8hVwspklB/3qBTffw8yuBwYR+VKwgqhq072SRERKl5ldDDxO5Lf0rcB37j7IzNoQubneuWbWH/gSmEPk5pkAd7j7h2aWBdTi/2+x/5W7/8LM7iLyCaXCd9o9293XBx9dHRPsB3CXu6eaWR6wHNgRtE9y9wcOWr+CQURECtOpJBER2Y+CQURE9qNgEBGR/SgYRERkPwoGERHZj4JBRET2o2AQEZH9/B+4Vye0hTOCzgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "

" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "p0 = [37.41504514,-122.2056472]\n", + "p1 = [37.41469802,-122.2084875]\n", + "p2 = [37.41445409,-122.2104428]\n", + "\n", + "p0_polt = [p0[1],p0[0]]\n", + "p1_polt = [p1[1],p1[0]]\n", + "section_heading = 180*atan2(p1[0]-p0[0],p1[1]-p0[1])/np.pi\n", + "print(section_heading)\n", + "print(p1[1]-p0[1])\n", + "\n", + "wind_direction = 15\n", + "angle_wind_section = (wind_direction - section_heading)\n", + "print(angle_wind_section)\n", + "x = [p0[1],p1[1],p2[1]]\n", + "y = [p0[0],p1[0],p2[0]]\n", + "plt.text(x[0],y[0],'p0')\n", + "plt.text(x[1],y[1],'p1')\n", + "plt.text(x[2],y[2],'p2')\n", + "plt.plot(x,y)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 538, + "id": "68890c89", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pole_1: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_1: wire_moment_unit_wind = 113.64096617433957 ft.lb.s/m\n", + "pole_1: tension_moment_unit_wind = 776863.9556665377 ft.lb.s/m\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_2: wire_moment_unit_wind = 48.9409073866234 ft.lb.s/m\n", + "pole_2: tension_moment_unit_wind = 3768.6336283224555 ft.lb.s/m\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_3: wire_moment_unit_wind = 1.315955202003804 ft.lb.s/m\n", + "pole_3: tension_moment_unit_wind = 1802.4722158107074 ft.lb.s/m\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_4: wire_moment_unit_wind = 1.66875072797879 ft.lb.s/m\n", + "pole_4: tension_moment_unit_wind = 2756.544918395519 ft.lb.s/m\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_5: wire_moment_unit_wind = 8.382049370527866 ft.lb.s/m\n", + "pole_5: tension_moment_unit_wind = 4135.0766628001165 ft.lb.s/m\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_6: wire_moment_unit_wind = 8.355960287678647 ft.lb.s/m\n", + "pole_6: tension_moment_unit_wind = 1916.6363428512416 ft.lb.s/m\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_7: wire_moment_unit_wind = 17.55301208241768 ft.lb.s/m\n", + "pole_7: tension_moment_unit_wind = 3702.4388620870504 ft.lb.s/m\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb at 1623110400.0\n", + "pole_8: wire_moment_unit_wind = 13.779124559111567 ft.lb.s/m\n", + "pole_8: tension_moment_unit_wind = 4701.246552950238 ft.lb.s/m\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_9: wire_moment_unit_wind = 16.758522927363586 ft.lb.s/m\n", + "pole_9: tension_moment_unit_wind = 4414.911840494456 ft.lb.s/m\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb at 1623110400.0\n", + "pole_10: wire_moment_unit_wind = 26.249843753437986 ft.lb.s/m\n", + "pole_10: tension_moment_unit_wind = 2372.8032058280014 ft.lb.s/m\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb at 1623110400.0\n", + "pole_11: wire_moment_unit_wind = 38.31616410725008 ft.lb.s/m\n", + "pole_11: tension_moment_unit_wind = 1624.8916807850662 ft.lb.s/m\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_12: wire_moment_unit_wind = 22.922883604917168 ft.lb.s/m\n", + "pole_12: tension_moment_unit_wind = 6772.234253566739 ft.lb.s/m\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_13: wire_moment_unit_wind = 143.67811967198384 ft.lb.s/m\n", + "pole_13: tension_moment_unit_wind = 473177.953064816 ft.lb.s/m\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_14: wire_moment_unit_wind = 122.50559092297966 ft.lb.s/m\n", + "pole_14: tension_moment_unit_wind = 177792.93112583933 ft.lb.s/m\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_15: wire_moment_unit_wind = 77.28309821986336 ft.lb.s/m\n", + "pole_15: tension_moment_unit_wind = 9896.221425377975 ft.lb.s/m\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb at 1623110400.0\n", + "pole_16: wire_moment_unit_wind = 98.83395919962882 ft.lb.s/m\n", + "pole_16: tension_moment_unit_wind = 9660.960796382848 ft.lb.s/m\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb at 1623110400.0\n", + "pole_17: wire_moment_unit_wind = 8.568520728505248 ft.lb.s/m\n", + "pole_17: tension_moment_unit_wind = 3784.6061027025416 ft.lb.s/m\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_18: wire_moment_unit_wind = 106.3107992347666 ft.lb.s/m\n", + "pole_18: tension_moment_unit_wind = 1236327.3863373229 ft.lb.s/m\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_19: wire_moment_unit_wind = 28.6800647518373 ft.lb.s/m\n", + "pole_19: tension_moment_unit_wind = 417618.7132787921 ft.lb.s/m\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_20: wire_moment_unit_wind = 6.806719022219335 ft.lb.s/m\n", + "pole_20: tension_moment_unit_wind = 91644.73049070181 ft.lb.s/m\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_21: wire_moment_unit_wind = 9.464021610276347 ft.lb.s/m\n", + "pole_21: tension_moment_unit_wind = 116162.54632673286 ft.lb.s/m\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_22: wire_moment_unit_wind = 16.6761212609292 ft.lb.s/m\n", + "pole_22: tension_moment_unit_wind = 144987.9710886359 ft.lb.s/m\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_23: wire_moment_unit_wind = 37.13160689989815 ft.lb.s/m\n", + "pole_23: tension_moment_unit_wind = 124987.82152296124 ft.lb.s/m\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_24: wire_moment_unit_wind = 77.19934710300947 ft.lb.s/m\n", + "pole_24: tension_moment_unit_wind = 181294.63980884358 ft.lb.s/m\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb at 1623110400.0\n", + "pole_25: wire_moment_unit_wind = 121.53065845769798 ft.lb.s/m\n", + "pole_25: tension_moment_unit_wind = 38555.64904279871 ft.lb.s/m\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_26: wire_moment_unit_wind = 146.91442120492263 ft.lb.s/m\n", + "pole_26: tension_moment_unit_wind = 6541.78017683729 ft.lb.s/m\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb at 1623110400.0\n", + "pole_27: wire_moment_unit_wind = 224.0690167796903 ft.lb.s/m\n", + "pole_27: tension_moment_unit_wind = 9389.280239086833 ft.lb.s/m\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb at 1623110400.0\n", + "pole_28: wire_moment_unit_wind = 246.69609876850723 ft.lb.s/m\n", + "pole_28: tension_moment_unit_wind = 6879.395129561272 ft.lb.s/m\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_29: wire_moment_unit_wind = 8.36765119871938 ft.lb.s/m\n", + "pole_29: tension_moment_unit_wind = 2169.121196635802 ft.lb.s/m\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_30: wire_moment_unit_wind = 349.7679028369132 ft.lb.s/m\n", + "pole_30: tension_moment_unit_wind = 1107897.730511574 ft.lb.s/m\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_31: wire_moment_unit_wind = 261.9867063114422 ft.lb.s/m\n", + "pole_31: tension_moment_unit_wind = 73736.46492035208 ft.lb.s/m\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_32: wire_moment_unit_wind = 114.69691847164732 ft.lb.s/m\n", + "pole_32: tension_moment_unit_wind = 863375.3936365839 ft.lb.s/m\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb at 1623110400.0\n", + "pole_33: wire_moment_unit_wind = 4.780914996725299 ft.lb.s/m\n", + "pole_33: tension_moment_unit_wind = 5510.700777411035 ft.lb.s/m\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb at 1623110400.0\n", + "pole_34: wire_moment_unit_wind = 90.46315456359308 ft.lb.s/m\n", + "pole_34: tension_moment_unit_wind = 4308.594784830112 ft.lb.s/m\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_35: wire_moment_unit_wind = 55.05039373182534 ft.lb.s/m\n", + "pole_35: tension_moment_unit_wind = 179532.78397585955 ft.lb.s/m\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_36: wire_moment_unit_wind = 332.58022319879416 ft.lb.s/m\n", + "pole_36: tension_moment_unit_wind = 546907.6528352136 ft.lb.s/m\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_37: wire_moment_unit_wind = 119.516981831675 ft.lb.s/m\n", + "pole_37: tension_moment_unit_wind = 278813.1451447642 ft.lb.s/m\n" + ] + } + ], + "source": [ + "pole_analysis_dict = {}\n", + "PS_OK = 1\n", + "PS_FAILED = 0\n", + "default_repair_time = 8\n", + "last_wind_speed = 0.0\n", + "for pole_key in pole_data_dicts.keys():\n", + " pole_analysis_dict[pole_key] = {\n", + " 'wire_tention_on_pole' : [],\n", + " 'wind_moment_on_pole' : [],\n", + " 'total_moment_on_pole' : [],\n", + " 'pole_susceptibility' : [],\n", + " 'pole_stress' : [],\n", + " 'pole_status' : PS_OK,\n", + " 'pole_age' : [],\n", + " 'pole_current_hollow_diameter' : [],\n", + " 'critical_wind_speed' : 0.0,\n", + " 'pole_down_time' : 0.0,\n", + " 'pole_resisting_moment' : []\n", + " }\n", + "\n", + "# pole init\n", + "if len(pole_config_dicts.keys()) == 0:\n", + " raise Exception(f'pole configuration is not set')\n", + "\n", + "for pole_config_index in pole_config_dicts.keys():\n", + " if np.isnan(pole_config_dicts[pole_config_index]['repair_time']) or pole_config_dicts[pole_config_index]['repair_time'] <= 0:\n", + " print(f'{pole_config_index}: repair time should be position and default_repair_time will be used')\n", + " pole_config_dicts[pole_config_index]['repair_time'] = default_repair_time\n", + "\n", + "# pole precommit\n", + "# for timestamp_index in range(len(time_stamps)):\n", + "for timestamp_index in range(1):\n", + " wind_speed = wind_speeds[timestamp_index]\n", + " wind_direction = wind_directions[timestamp_index]\n", + " for pole_key in pole_data_dicts.keys():\n", + " pole_data = pole_data_dicts[pole_key]\n", + " pole_config_id = pole_data['config']\n", + " pole_config_data = pole_config_dicts[pole_config_id]\n", + " t0 = time_stamps[timestamp_index]\n", + " # effective pole height, for this example, unit in ft\n", + " try:\n", + " pole_height = pole_config_data['pole_length']-pole_config_data['pole_depth']\\\n", + " -pole_data['guy_height']\n", + " except:\n", + " raise Exception(f'pole height error for {pole_key}')\n", + " pole_t0_year = 1970 + int(t0/86400/365.24)\n", + " age = pole_t0_year-pole_data_dicts[pole_key]['install_year']\n", + " pole_analysis_dict[pole_key]['pole_age'].append(age)\n", + " pole_ground_diameter = pole_config_data['ground_diameter'] - pole_height\\\n", + " /(pole_config_data['pole_length']-pole_config_data['pole_depth'])\\\n", + " *(pole_config_data['ground_diameter']-pole_config_data['top_diameter'])\n", + " pole_top_diameter = pole_config_data['top_diameter']\n", + " if age > 0 and pole_config_data['degradation_rate'] > 0:\n", + " current_hollow_diameter = 2.0 * age * pole_config_data['degradation_rate'] * pole_ground_diameter\n", + " else:\n", + " current_hollow_diameter = 0\n", + " resisting_moment = 0.008186 * pole_config_data['strength_factor_250b_wood'] * pole_config_data['fiber_strength'] * (pole_ground_diameter**3 - current_hollow_diameter**3)\n", + " if resisting_moment < 0:\n", + " print('pole has degraded past point of static failure')\n", + " resisting_moment = 0\n", + " pole_analysis_dict[pole_key]['pole_resisting_moment'].append(resisting_moment)\n", + " print(f'{pole_key}: resisting_moment = {resisting_moment} ft*lb at {time_stamps[timestamp_index]}')\n", + " if (pole_analysis_dict[pole_key]['pole_status'] == PS_FAILED) and ((t0 - pole_analysis_dict[pole_key]['pole_down_time'])/3600.0 > pole_config_data['repair_time']):\n", + " print('pole repair time has arrived')\n", + " pole_analysis_dict[pole_key]['pole_status'] = PS_OK\n", + " pole_analysis_dict[pole_key]['tilt_angle'] = 0.0 \n", + " pole_analysis_dict[pole_key]['tilt_direction'] = 0.0\n", + " pole_analysis_dict[pole_key]['install_year'] = 1970 + (t0/86400/365.24)\n", + " elif pole_analysis_dict[pole_key]['pole_status'] == PS_OK and (last_wind_speed != wind_speed or pole_analysis_dict[pole_key]['critical_wind_speed'] == 0.0):\n", + " top_diameter_ft = pole_top_diameter/12\n", + " ground_diameter_ft = pole_ground_diameter/12\n", + " tilt_angle = pole_data['tilt_angle']\n", + " tile_direction = pole_data['tilt_direction']\n", + " guy_height = pole_data['guy_height']\n", + " \n", + " if tilt_angle > 0.0:\n", + " pole_moment_tilt = tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,\\\n", + " ground_diameter_ft,tilt_angle,tile_direction)\n", + " \n", + " 0.125*pole_config_data['material_density']*np.pi*pole_height*pole_height\\\n", + " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", + " *sin(pi*pole_data['tilt_angle']/180)\n", + " \n", + " # print(f'{pole_key}: pole_moment_tilt = {pole_moment_tilt} ft*lb')\n", + " else:\n", + " pole_moment_tilt = 0.0\n", + " \n", + " wind_presure = 0.00256 * 2.24 * (wind_speed) * (wind_speed) # 2.24 account for m/s to mph conversion\n", + " # print(f\"wind_pressure = {wind_presure} psi\")\n", + " \n", + " pole_moment_unit_wind = pole_moment_cals(pole_height,5.7344e-3,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", + " # print(f\"{pole_key}: pole_moment_unit_wind = {norm_cals(pole_moment_unit_wind)} ft.lb.s/m\")\n", + " \n", + " equipment_moment_unit_wind = equipment_moment_cals(pole_key,5.7344e-3,wind_direction,guy_height,tilt_angle,tile_direction,mount_data_dicts)\n", + " # print(f\"{pole_key}: equipment_moment_unit_wind = {norm_cals(equipment_moment_unit_wind)} ft.lb.s/m\")\n", + " \n", + " wire_moment_unit_wind, tension_moment_unit_wind = wire_moment_cals(pole_key,pole_height,5.7344e-3,None,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,0)\n", + " # print(f\"{pole_key}: wire_moment_unit_wind = {norm_cals(wire_moment_unit_wind)} ft.lb.s/m\")\n", + " # print(f\"{pole_key}: tension_moment_unit_wind = {norm_cals(tension_moment_unit_wind)} ft.lb.s/m\")\n", + " wind_pressure_failure = wind_pressure_failure_cals(resisting_moment,wire_moment_unit_wind,\\\n", + " tension_moment_unit_wind,pole_moment_unit_wind,\\\n", + " equipment_moment_unit_wind,wire_moment_unit_wind,wind_direction)\n", + "# \n", + " \n", + " print(f'{pole_key}: wind_pressure_failure = {wind_pressure_failure} psi')\n", + "# if wind_pressure_failure >= 0:\n", + "# critical_wind_speed = sqrt(wind_pressure_failure/(0.00256 * 2.24))\n", + "# print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", + "# else:\n", + "# critical_wind_speed = 0\n", + "# print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", + "# last_wind_speed = wind_speed\n", + "# if wind_presure > 0:\n", + "# pole_moment_wind = pole_height*pole_height*(2*top_diameter_ft+ground_diameter_ft)/6*pole_config_data['overload_factor_transverse_general']\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffaf81c0", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From ad1ec3104b9cd910dc2255e4345cde8ad719cd04 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 12:09:22 -0700 Subject: [PATCH 56/82] Update example_for_gridwere.xls --- .../anticipation/example_for_gridwere.xls | Bin 48640 -> 47616 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/US/CA/SLAC/anticipation/example_for_gridwere.xls b/US/CA/SLAC/anticipation/example_for_gridwere.xls index a10c4b74ec052982fbd8d624b39f5cddc9290f6e..c8a1e418bf57b1acef618ed52ed7f997ef09681c 100644 GIT binary patch delta 5281 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 From 145090c59fcd71359789ae1f24f6551b03051b1e Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 12:10:02 -0700 Subject: [PATCH 57/82] Update Two-ploe or two-node study.ipynb --- .../Two-ploe or two-node study.ipynb | 566 +++++++++++------- 1 file changed, 333 insertions(+), 233 deletions(-) diff --git a/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb b/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb index fcd3548c..5fdfc93b 100644 --- a/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb +++ b/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb @@ -19,11 +19,7 @@ }, { "cell_type": "code", -<<<<<<< Updated upstream - "execution_count": 302, -======= - "execution_count": 247, ->>>>>>> Stashed changes + "execution_count": 499, "id": "405ed256", "metadata": {}, "outputs": [], @@ -37,41 +33,12 @@ }, { "cell_type": "code", -<<<<<<< Updated upstream - "execution_count": 303, - "id": "d943bd3f", - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "ename": "FileNotFoundError", - "evalue": "[Errno 2] No such file or directory: 'example_for_gridwere.xls'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mpole_excel_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'example_for_gridwere.xls'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_excel_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mpole_mount_excel_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'pole_mount_data.xls'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mdf_mount\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_mount_excel_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/util/_decorators.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 294\u001b[0m )\n\u001b[1;32m 295\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mFutureWarning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstacklevel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstacklevel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 296\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 297\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 298\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36mread_excel\u001b[0;34m(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols)\u001b[0m\n\u001b[1;32m 302\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 303\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mExcelFile\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 304\u001b[0;31m \u001b[0mio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mExcelFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 305\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 306\u001b[0m raise ValueError(\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path_or_buffer, engine)\u001b[0m\n\u001b[1;32m 865\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_io\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstringify_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 866\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 867\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engines\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_io\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 868\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 869\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__fspath__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0merr_msg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"Install xlrd >= 1.0.0 for Excel support\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0mimport_optional_dependency\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"xlrd\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextra\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merr_msg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 22\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 351\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 352\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 353\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 354\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbytes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 355\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBytesIO\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py\u001b[0m in \u001b[0;36mload_workbook\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mopen_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile_contents\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 37\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mopen_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 38\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/xlrd/__init__.py\u001b[0m in \u001b[0;36mopen_workbook\u001b[0;34m(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows, ignore_workbook_corruption)\u001b[0m\n\u001b[1;32m 164\u001b[0m \"\"\"\n\u001b[1;32m 165\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 166\u001b[0;31m \u001b[0mfile_format\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minspect_format\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile_contents\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 167\u001b[0m \u001b[0;31m# We have to let unknown file formats pass through here, as some ancient\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[0;31m# files that xlrd can parse don't start with the expected signature.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/xlrd/__init__.py\u001b[0m in \u001b[0;36minspect_format\u001b[0;34m(path, content)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0mpath\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpanduser\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 60\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"rb\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0mpeek\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mPEEK_SIZE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'example_for_gridwere.xls'" - ] - } - ], -======= - "execution_count": 222, - "id": "67c7aee1", + "execution_count": 500, + "id": "de9efd73", "metadata": { "scrolled": false }, "outputs": [], ->>>>>>> Stashed changes "source": [ "pole_excel_file = 'example_for_gridwere.xls'\n", "df = pd.read_excel(pole_excel_file, sheet_name=None)\n", @@ -81,22 +48,10 @@ }, { "cell_type": "code", - "execution_count": 223, -<<<<<<< Updated upstream - "id": "a9079955", -======= - "id": "5b8f138c", ->>>>>>> Stashed changes + "execution_count": 501, + "id": "b3daa575", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'equipment_1': {'equipment_type': 'regulator', 'parent': 'pole_1', 'mount_height': 37.5, 'equipment_diameter': 24, 'equipment_height': 5}, 'equipment_2': {'equipment_type': 'transformer', 'parent': 'pole_1', 'mount_height': 52.5, 'equipment_diameter': 23, 'equipment_height': 5}, 'equipment_3': {'equipment_type': 'regulator', 'parent': 'pole_3', 'mount_height': 11.5, 'equipment_diameter': 22, 'equipment_height': 5}, 'equipment_4': {'equipment_type': 'regulator', 'parent': 'pole_4', 'mount_height': 16.5, 'equipment_diameter': 21, 'equipment_height': 5}, 'equipment_5': {'equipment_type': 'regulator', 'parent': 'pole_5', 'mount_height': 21.5, 'equipment_diameter': 20, 'equipment_height': 5}, 'equipment_6': {'equipment_type': 'regulator', 'parent': 'pole_5', 'mount_height': 26.5, 'equipment_diameter': 19, 'equipment_height': 5}, 'equipment_7': {'equipment_type': 'regulator', 'parent': 'pole_7', 'mount_height': 31.0, 'equipment_diameter': 18, 'equipment_height': 5}, 'equipment_8': {'equipment_type': 'regulator', 'parent': 'pole_8', 'mount_height': 35.5, 'equipment_diameter': 17, 'equipment_height': 5}, 'equipment_9': {'equipment_type': 'regulator', 'parent': 'pole_9', 'mount_height': 40.0, 'equipment_diameter': 16, 'equipment_height': 5}, 'equipment_10': {'equipment_type': 'regulator', 'parent': 'pole_10', 'mount_height': 44.0, 'equipment_diameter': 15, 'equipment_height': 5}, 'equipment_11': {'equipment_type': 'regulator', 'parent': 'pole_11', 'mount_height': 48.0, 'equipment_diameter': 14, 'equipment_height': 5}}\n" - ] - } - ], + "outputs": [], "source": [ "# creat a dictionary for pole mount data\n", "df_mount_data = df_mount['pole mount data'].copy()\n", @@ -114,12 +69,8 @@ }, { "cell_type": "code", - "execution_count": 188, -<<<<<<< Updated upstream - "id": "d737d2cb", -======= - "id": "18ef9d21", ->>>>>>> Stashed changes + "execution_count": 515, + "id": "ffbd7a1a", "metadata": {}, "outputs": [], "source": [ @@ -139,12 +90,8 @@ }, { "cell_type": "code", - "execution_count": 189, -<<<<<<< Updated upstream - "id": "26f82f61", -======= - "id": "aa916889", ->>>>>>> Stashed changes + "execution_count": 503, + "id": "8fb393b0", "metadata": {}, "outputs": [], "source": [ @@ -164,12 +111,8 @@ }, { "cell_type": "code", - "execution_count": 211, -<<<<<<< Updated upstream - "id": "d55a2366", -======= - "id": "45e8c882", ->>>>>>> Stashed changes + "execution_count": 504, + "id": "e755f0b5", "metadata": {}, "outputs": [], "source": [ @@ -188,12 +131,8 @@ }, { "cell_type": "code", - "execution_count": 191, -<<<<<<< Updated upstream - "id": "d6cd32c2", -======= - "id": "c5923ab0", ->>>>>>> Stashed changes + "execution_count": 505, + "id": "9fe08688", "metadata": {}, "outputs": [], "source": [ @@ -212,12 +151,8 @@ }, { "cell_type": "code", - "execution_count": 192, -<<<<<<< Updated upstream - "id": "7cfb07c7", -======= - "id": "5f43fc51", ->>>>>>> Stashed changes + "execution_count": 506, + "id": "26342874", "metadata": {}, "outputs": [], "source": [ @@ -247,34 +182,97 @@ " GHIs.append(df_weather_data.iloc[weather_timesttamp]['global_horizontal_irradiance'])\n" ] }, + { + "cell_type": "markdown", + "id": "1afe3443", + "metadata": {}, + "source": [ + "## equation\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4429829a", + "metadata": {}, + "outputs": [], + "source": [ + "def tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,\\\n", + " ground_diameter_ft,tilt_angle,tile_direction)\n", + " \n", + " 0.125*pole_config_data['material_density']*np.pi*pole_height*pole_height\\\n", + " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", + " *sin(pi*pole_data['tilt_angle']/180)" + ] + }, { "cell_type": "code", - "execution_count": 235, -<<<<<<< Updated upstream - "id": "10984051", -======= - "id": "bd7006bf", ->>>>>>> Stashed changes + "execution_count": 519, + "id": "64cdf160", "metadata": {}, "outputs": [], "source": [ - "def equipment_moment_cals(pole_key,wind_presure,mount_data,overload_factor=1.75):\n", - " equipment_moment = 0.0\n", + "def equipment_moment_cals(pole_key,wind_presure,wind_direction,guy_height,tilt_angle,tile_direction,mount_data,\\\n", + " overload_factor_wind=1.75):\n", + " # ingore the equipment weights for now\n", + " equipment_moment_x = 0.0\n", + " equipment_moment_y = 0.0\n", + " equipment_moment_z = 0.0\n", " for equipment in mount_data.keys():\n", " if mount_data[equipment]['parent'] == pole_key:\n", - " equipment_moment += wind_presure*mount_data[equipment]['mount_height']\\\n", - " *mount_data[equipment]['equipment_diameter']*mount_data[equipment]['equipment_height']*overload_factor/12\n", - " return equipment_moment" + " r_z = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)\n", + " r_x = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)*cos(pi*tile_direction/180)\n", + " r_y = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)*sin(pi*tile_direction/180)\n", + " wind_presure_x = wind_presure*cos(pi*wind_direction/180)\n", + " wind_presure_y = wind_presure*sin(pi*wind_direction/180)\n", + " equipment_size = mount_data[equipment]['mount_height']*mount_data[equipment]['equipment_diameter']/12\n", + " equipment_moment_x += -r_z*wind_presure_y*equipment_size*overload_factor_wind\n", + " equipment_moment_y += r_z*wind_presure_x*equipment_size*overload_factor_wind\n", + " equipment_moment_z += (r_x*wind_presure_y-r_y*wind_presure_x)*equipment_size*overload_factor_wind\n", + " return [equipment_moment_x,equipment_moment_y,equipment_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 526, + "id": "46934235", + "metadata": {}, + "outputs": [], + "source": [ + "def pole_moment_cals(pole_height,wind_presure,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,\\\n", + " tile_direction,overload_factor_wind=1.75):\n", + " r_z = pole_height*cos(pi*tilt_angle/180)/2\n", + " r_x = pole_height*cos(pi*tilt_angle/180)*cos(pi*tile_direction/180)/2\n", + " r_y = pole_height*cos(pi*tilt_angle/180)*sin(pi*tile_direction/180)/2\n", + " pole_size = pole_height*pole_height*(2*top_diameter_ft+ground_diameter_ft)/6\n", + " wind_presure_x = wind_presure*cos(pi*wind_direction/180)\n", + " wind_presure_y = wind_presure*sin(pi*wind_direction/180)\n", + " pole_moment_x = -r_z*wind_presure_y*pole_size*overload_factor_wind\n", + " pole_moment_y = r_z*wind_presure_x*pole_size*overload_factor_wind\n", + " pole_moment_z = (r_x*wind_presure_y-r_y*wind_presure_x)*pole_size*overload_factor_wind\n", + " # print([pole_moment_x,pole_moment_y,pole_moment_z])\n", + " return [pole_moment_x,pole_moment_y,pole_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 522, + "id": "974c5679", + "metadata": {}, + "outputs": [], + "source": [ + "def norm_cals(x_list):\n", + " norm_all = 0.0\n", + " for x in x_list:\n", + " norm_all += x*x\n", + " return sqrt(norm_all)" ] }, { "cell_type": "code", - "execution_count": 266, -<<<<<<< Updated upstream - "id": "ead13a4e", -======= - "id": "68dacd20", ->>>>>>> Stashed changes + "execution_count": 521, + "id": "adaf3f1c", "metadata": {}, "outputs": [], "source": [ @@ -290,26 +288,10 @@ }, { "cell_type": "code", -<<<<<<< Updated upstream - "execution_count": 281, - "id": "bacd08d6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2009\n", - "{'01': 512, '03': 182, '04': 41, '05': 35, '06': 46, '07': 22, '08': 22, '09': 31, '10': 54, '11': 221, '12': 20, '13': 38, '14': 27, '16': 8, '17': 72, '18': 28, '19': 20, '20': 15, '23': 18, '24': 17, '25': 26, '26': 6, '27': 18, '28': 16, '29': 11, '30': 159, '31': 61, '32': 76, '33': 16, '35': 62, '37': 17, '38': 43, '39': 46, '40': 16, '41': 7}\n" - ] - } - ], -======= - "execution_count": 280, - "id": "2f9b42a1", + "execution_count": 516, + "id": "6788c2a7", "metadata": {}, "outputs": [], ->>>>>>> Stashed changes "source": [ "feeder_file_path = '/Users/fxie2/Downloads/NG_to_Hitachi/Final List of Feeders.csv'\n", "feeder_data = pd.read_csv(feeder_file_path)\n", @@ -322,114 +304,121 @@ " summary[str(feeder_strings[1])] = 0\n", " summary[str(feeder_strings[1])] += 1\n", " count += 1\n", -<<<<<<< Updated upstream - "print(count)\n", - "print(summary)" -======= "# print(count)\n", "# print(summary)" ->>>>>>> Stashed changes ] }, { "cell_type": "code", -<<<<<<< Updated upstream - "execution_count": 298, - "id": "48e4229a", - "metadata": {}, - "outputs": [], - "source": [ - "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_sections,pole_config,cable_config,ice_thickness):\n", -======= - "execution_count": 240, - "id": "87d24011", + "execution_count": 537, + "id": "a983535f", "metadata": {}, "outputs": [], "source": [ - "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section,pole_config,cable_config,ice_thickness,overload_factor_wire=1.65,overload_factor_wind=1.75):\n", ->>>>>>> Stashed changes - " wire_moment = 0.0\n", + "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section,pole_config,cable_config,ice_thickness):\n", " wire_moment_x = 0.0\n", " wire_moment_y = 0.0\n", " wire_moment_z = 0.0\n", -<<<<<<< Updated upstream + " tension_moment_x = 0.0\n", + " tension_moment_y = 0.0\n", + " tension_moment_z = 0.0\n", " overload_factor_wire=1.65\n", " overload_factor_wind=1.75\n", -======= ->>>>>>> Stashed changes - " if pole_data['tilt_angle'] != 0:\n", - " tilt_direction = pole_data['tilt_direction']\n", + " if pole_data[pole_key]['tilt_angle'] != 0:\n", + " tilt_direction = pole_data[pole_key]['tilt_direction']\n", " else:\n", " tilt_direction = 0\n", -<<<<<<< Updated upstream - " for section_index in range(len(pole_sections)):\n", - " print(section_index)\n", - " print(pole_sections)\n", - " pole_section = pole_sections.iloc[section_index]\n", - " print(pole_section)\n", - " printt()\n", - " if pole_section['from'] == pole_key or pole_section['to'] == pole_key:\n", -======= " for section_id in pole_section.keys():\n", " if pole_section[section_id]['from'] == pole_key or pole_section[section_id]['to'] == pole_key:\n", ->>>>>>> Stashed changes " cable_type_id = pole_section[section_id]['cable_type']\n", - " cable_diameter = cable_config[cable_type_id]['diameter']*39.3701 # 39.3701 account for m to inches conversion\n", + " if cable_type_id in cable_config.keys():\n", + " cable_diameter = cable_config[cable_type_id]['diameter']*39.3701 # 39.3701 account for m to inches conversion\n", + " else:\n", + " print(f'warning: cable type not reconginzed and default option is use')\n", + " cable_diameter = cable_config['default']['diameter']*39.3701\n", " if pole_section[section_id]['from'] == pole_key:\n", " p0 = [pole_data[pole_section[section_id]['from']]['latitude'],pole_data[pole_section[section_id]['from']]['longitude']]\n", " p1 = [pole_data[pole_section[section_id]['to']]['latitude'],pole_data[pole_section[section_id]['to']]['longitude']]\n", - " pole_cable_angle = pole_section[section_id]['from_pole_line_angle']\n", + " pole_cable_angle = pole_section[section_id]['from_pole_line_angle_z']\n", " else:\n", " p1 = [pole_data[pole_section[section_id]['from']]['latitude'],pole_data[pole_section[section_id]['from']]['longitude']]\n", " p0 = [pole_data[pole_section[section_id]['to']]['latitude'],pole_data[pole_section[section_id]['to']]['longitude']]\n", - " pole_cable_angle = pole_section[section_id]['to_pole_line_angle']\n", - " wind_span = get_wind_span(p0,p1)\n", + " pole_cable_angle = pole_section[section_id]['to_pole_line_angle_z']\n", + " wind_span = get_wind_span(p0,p1) * 3.28084 # 3.28084 counts for m to ft conversion\n", " cable_height = pole_config['conductor_attach_height']\n", - " section_heading = 180*atan2(p1[1]-p0[1],p1[0]-p0[0])/np.pi\n", - " angle_wind_section = abs(wind_direction - section_heading)*pi/180\n", - " cable_transverse_load_wind = wind_presure*sin(angle_wind_section)*wind_span*(cable_diameter+2*ice_thickness)/12 # cable wind load\n", + " section_heading = 180*atan2(p1[0]-p0[0],p1[1]-p0[1])/np.pi\n", + " if wind_direction != None:\n", + " angle_wind_section = wind_direction - section_heading\n", + " else:\n", + " angle_wind_section = 90\n", + " cable_transverse_load_wind = wind_presure*sin(pi*abs(angle_wind_section)/180)*wind_span*(cable_diameter+2*ice_thickness)/12 \n", " try:\n", - " cable_transverse_load_tension = pole_section[section_id]['tension']\n", + " cable_transverse_load_tension = pole_section[section_id]['tension'] * 0.2248 # 0.2248 account for N to lbs conversion\n", " except:\n", " print(f'tension is calculated with cable information and powerflow result')\n", + " raise Exception(f'TODO: tension calculations')\n", " # TODO\n", - " cable_load = cable_transverse_load_wind*overload_factor_wind + cable_transverse_load_tension*overload_factor_wire\n", - " r_z = pole_height*cos(100*pole_data['tilt_angle']/pi)\n", - " r_x = pole_height*sin(100*pole_data['tilt_angle']/pi)*cos(pi*tilt_direction/180)\n", - " r_y = pole_height*sin(100*pole_data['tilt_angle']/pi)*sin(pi*tilt_direction/180)\n", - " cable_load_z = -cable_load*cos(pi*pole_cable_angle/pi)\n", - " cable_load_x = cable_load*sin(pi*pole_cable_angle/pi)*cos(pi*section_heading/180)\n", - " cable_load_y = cable_load*sin(pi*pole_cable_angle/pi)*sin(pi*section_heading/180)\n", - " wire_moment_x += r_y*cable_load_z-r_z*cable_load_y\n", - " wire_moment_y += r_y*cable_load_z-r_z*cable_load_y\n", - " wire_moment_z += r_y*cable_load_z-r_z*cable_load_y\n", - "\n", - " return [wire_moment_x, wire_moment_y, wire_moment_z]" + " cable_wind_load = 3*cable_transverse_load_wind*overload_factor_wind # 3 counts for phases ABC\n", + " tension_load = 3*cable_transverse_load_tension*overload_factor_wire\n", + " # print(f'cable_load={cable_load}')\n", + " r_z = pole_height*cos(pi*pole_data[pole_key]['tilt_angle']/180)\n", + " r_x = pole_height*sin(pi*pole_data[pole_key]['tilt_angle']/180)*cos(pi*tilt_direction/180)\n", + " r_y = pole_height*sin(pi*pole_data[pole_key]['tilt_angle']/180)*sin(pi*tilt_direction/180)\n", + " # print(f'{pole_key}: lever arm are [{r_x},{r_y},{r_z}')\n", + " cable_wind_load_z = -cable_wind_load*cos(pi*pole_cable_angle/180)\n", + " cable_wind_load_x = cable_wind_load*sin(pi*pole_cable_angle/180)*cos(pi*section_heading/180)\n", + " cable_wind_load_y = cable_wind_load*sin(pi*pole_cable_angle/180)*sin(pi*section_heading/180)\n", + " tension_load_z = -tension_load*cos(pi*pole_cable_angle/180)\n", + " tension_load_x = tension_load*sin(pi*pole_cable_angle/180)*cos(pi*section_heading/180)\n", + " tension_load_y = tension_load*sin(pi*pole_cable_angle/180)*sin(pi*section_heading/180)\n", + " # print(f'{pole_key}: cable load are [{cable_load_x},{cable_load_y},{cable_load_z}')\n", + " wire_moment_x += r_y*cable_wind_load_z-r_z*cable_wind_load_y\n", + " wire_moment_y += r_z*cable_wind_load_x-r_x*cable_wind_load_z\n", + " wire_moment_z += r_x*cable_wind_load_y-r_y*cable_wind_load_x\n", + " tension_moment_x += r_y*tension_load_z-r_z*tension_load_y\n", + " tension_moment_y += r_z*tension_load_x-r_x*tension_load_z\n", + " tension_moment_z += r_x*tension_load_y-r_y*tension_load_x\n", + " # print(f'{pole_key}: wire moment are [{wire_moment_x},{wire_moment_y},{wire_moment_z}]')\n", + " return [wire_moment_x,wire_moment_y,wire_moment_z],[tension_moment_x,tension_moment_y,tension_moment_z]" ] }, { "cell_type": "code", -<<<<<<< Updated upstream - "execution_count": 299, - "id": "abe664fb", -======= - "execution_count": 267, - "id": "db0e1246", ->>>>>>> Stashed changes + "execution_count": null, + "id": "93977706", + "metadata": {}, + "outputs": [], + "source": [ + "def wind_pressure_failure_cals(resisting_moment,wire_moment_wind,tension_moment,pole_moment_wind,equipment_moment_wind,tilt_moment):\n", + " \n", + " pole_total_moment_x = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", + " pole_total_moment_y = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", + " pole_total_moment_z = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", + " \n", + " \n", + " return wind_pressure_failure\n", + " wind_pressure_failure = (resisting_moment - tension_moment_unit_wind) \n", + " / (pole_moment_unit_wind + equipment_moment_unit_wind + wire_moment_unit_wind)" + ] + }, + { + "cell_type": "code", + "execution_count": 511, + "id": "e92a488a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "-101.30993247402021\n", - "-5\n", - "116.30993247402021\n" + "-173.03229535755094\n", + "-0.0028403000000025713\n", + "188.03229535755094\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -443,28 +432,30 @@ "source": [ "p0 = [37.41504514,-122.2056472]\n", "p1 = [37.41469802,-122.2084875]\n", - "p0 = [0,0]\n", - "p1 = [-1,-5]\n", - "section_heading = 180*atan2(p1[1]-p0[1],p1[0]-p0[0])/np.pi\n", + "p2 = [37.41445409,-122.2104428]\n", + "\n", + "p0_polt = [p0[1],p0[0]]\n", + "p1_polt = [p1[1],p1[0]]\n", + "section_heading = 180*atan2(p1[0]-p0[0],p1[1]-p0[1])/np.pi\n", "print(section_heading)\n", "print(p1[1]-p0[1])\n", "\n", "wind_direction = 15\n", "angle_wind_section = (wind_direction - section_heading)\n", "print(angle_wind_section)\n", - "x = [p0[0],p1[0]]\n", - "y = [p0[1],p1[1]]\n", + "x = [p0[1],p1[1],p2[1]]\n", + "y = [p0[0],p1[0],p2[0]]\n", "plt.text(x[0],y[0],'p0')\n", "plt.text(x[1],y[1],'p1')\n", + "plt.text(x[2],y[2],'p2')\n", "plt.plot(x,y)\n", "plt.show()" ] }, { "cell_type": "code", -<<<<<<< Updated upstream - "execution_count": 301, - "id": "3035dbc9", + "execution_count": 538, + "id": "68890c89", "metadata": { "scrolled": true }, @@ -473,31 +464,120 @@ "name": "stdout", "output_type": "stream", "text": [ - "0\n", - "{'section_1': {'from': 'pole 1', 'to': 'pole 2', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^2', 'tensions': 21600}, 'section_2': {'from': 'pole 2', 'to': 'pole 3', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^3', 'tensions': 21600}, 'section_3': {'from': 'pole 3', 'to': 'pole 4', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^4', 'tensions': 21600}, 'section_4': {'from': 'pole 4', 'to': 'pole 5', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^5', 'tensions': 21600}, 'section_5': {'from': 'pole 5', 'to': 'pole 6', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^6', 'tensions': 21600}, 'section_6': {'from': 'pole 6', 'to': 'pole 7', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^7', 'tensions': 21600}, 'section_7': {'from': 'pole 7', 'to': 'pole 8', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^8', 'tensions': 21600}, 'section_8': {'from': 'pole 8', 'to': 'pole 9', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^9', 'tensions': 21600}, 'section_9': {'from': 'pole 9', 'to': 'pole 10', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^10', 'tensions': 21600}, 'section_10': {'from': 'pole 10', 'to': 'pole 11', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^11', 'tensions': 21600}, 'section_11': {'from': 'pole 11', 'to': 'pole 12', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^12', 'tensions': 21600}, 'section_12': {'from': 'pole 12', 'to': 'pole 13', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^13', 'tensions': 21600}, 'section_13': {'from': 'pole 13', 'to': 'pole 14', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^14', 'tensions': 21600}, 'section_14': {'from': 'pole 14', 'to': 'pole 15', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^15', 'tensions': 21600}, 'section_15': {'from': 'pole 15', 'to': 'pole 16', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^16', 'tensions': 21600}, 'section_16': {'from': 'pole 16', 'to': 'pole 17', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^17', 'tensions': 21600}, 'section_17': {'from': 'pole 17', 'to': 'pole 18', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^18', 'tensions': 21600}, 'section_18': {'from': 'pole 18', 'to': 'pole 19', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^19', 'tensions': 21600}, 'section_19': {'from': 'pole 19', 'to': 'pole 20', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^20', 'tensions': 21600}, 'section_20': {'from': 'pole 20', 'to': 'pole 21', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^21', 'tensions': 21600}, 'section_21': {'from': 'pole 21', 'to': 'pole 22', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^22', 'tensions': 21600}, 'section_22': {'from': 'pole 22', 'to': 'pole 23', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^23', 'tensions': 21600}, 'section_23': {'from': 'pole 23', 'to': 'pole 24', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^24', 'tensions': 21600}, 'section_24': {'from': 'pole 24', 'to': 'pole 25', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^25', 'tensions': 21600}, 'section_25': {'from': 'pole 25', 'to': 'pole 26', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^26', 'tensions': 21600}, 'section_26': {'from': 'pole 26', 'to': 'pole 27', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^27', 'tensions': 21600}, 'section_27': {'from': 'pole 27', 'to': 'pole 28', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^28', 'tensions': 21600}, 'section_28': {'from': 'pole 28', 'to': 'pole 29', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^29', 'tensions': 21600}, 'section_29': {'from': 'pole 29', 'to': 'pole 30', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^30', 'tensions': 21600}, 'section_30': {'from': 'pole 30', 'to': 'pole 31', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^31', 'tensions': 21600}, 'section_31': {'from': 'pole 31', 'to': 'pole 32', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^32', 'tensions': 21600}, 'section_32': {'from': 'pole 32', 'to': 'pole 33', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^33', 'tensions': 21600}, 'section_33': {'from': 'pole 33', 'to': 'pole 34', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^34', 'tensions': 21600}, 'section_34': {'from': 'pole 34', 'to': 'pole 35', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^35', 'tensions': 21600}, 'section_35': {'from': 'pole 35', 'to': 'pole 36', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^36', 'tensions': 21600}, 'section_36': {'from': 'pole 36', 'to': 'pole 37', 'powerflow': 10000, 'cable_type': 'TACSR/AC 610mm^37', 'tensions': 21600}}\n" - ] - }, - { - "ename": "AttributeError", - "evalue": "'dict' object has no attribute 'iloc'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0mequipment_moment_unit_wind\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mequipment_moment_cals\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_key\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mmount_data_dicts\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_config_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'overload_factor_transverse_general'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0;31m# print(f\"{pole_key}: equipment_moment_unit_wind = {equipment_moment_unit_wind} ft.lb.s/m\")\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 82\u001b[0;31m \u001b[0mwire_moment_unit_wind\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwire_moment_cals\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_key\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_height\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwind_presure\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwind_direction\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_data\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_section_dicts\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpole_config\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mcable_config\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 83\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwire_moment_unit_wind\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36mwire_moment_cals\u001b[0;34m(pole_key, pole_height, wind_presure, wind_direction, pole_data, pole_sections, pole_config, cable_config, ice_thickness)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msection_index\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_sections\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m \u001b[0mpole_section\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpole_sections\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0msection_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 16\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_section\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0mprintt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mAttributeError\u001b[0m: 'dict' object has no attribute 'iloc'" + "pole_1: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_1: wire_moment_unit_wind = 113.64096617433957 ft.lb.s/m\n", + "pole_1: tension_moment_unit_wind = 776863.9556665377 ft.lb.s/m\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_2: wire_moment_unit_wind = 48.9409073866234 ft.lb.s/m\n", + "pole_2: tension_moment_unit_wind = 3768.6336283224555 ft.lb.s/m\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_3: wire_moment_unit_wind = 1.315955202003804 ft.lb.s/m\n", + "pole_3: tension_moment_unit_wind = 1802.4722158107074 ft.lb.s/m\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_4: wire_moment_unit_wind = 1.66875072797879 ft.lb.s/m\n", + "pole_4: tension_moment_unit_wind = 2756.544918395519 ft.lb.s/m\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_5: wire_moment_unit_wind = 8.382049370527866 ft.lb.s/m\n", + "pole_5: tension_moment_unit_wind = 4135.0766628001165 ft.lb.s/m\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_6: wire_moment_unit_wind = 8.355960287678647 ft.lb.s/m\n", + "pole_6: tension_moment_unit_wind = 1916.6363428512416 ft.lb.s/m\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_7: wire_moment_unit_wind = 17.55301208241768 ft.lb.s/m\n", + "pole_7: tension_moment_unit_wind = 3702.4388620870504 ft.lb.s/m\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb at 1623110400.0\n", + "pole_8: wire_moment_unit_wind = 13.779124559111567 ft.lb.s/m\n", + "pole_8: tension_moment_unit_wind = 4701.246552950238 ft.lb.s/m\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_9: wire_moment_unit_wind = 16.758522927363586 ft.lb.s/m\n", + "pole_9: tension_moment_unit_wind = 4414.911840494456 ft.lb.s/m\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb at 1623110400.0\n", + "pole_10: wire_moment_unit_wind = 26.249843753437986 ft.lb.s/m\n", + "pole_10: tension_moment_unit_wind = 2372.8032058280014 ft.lb.s/m\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb at 1623110400.0\n", + "pole_11: wire_moment_unit_wind = 38.31616410725008 ft.lb.s/m\n", + "pole_11: tension_moment_unit_wind = 1624.8916807850662 ft.lb.s/m\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_12: wire_moment_unit_wind = 22.922883604917168 ft.lb.s/m\n", + "pole_12: tension_moment_unit_wind = 6772.234253566739 ft.lb.s/m\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_13: wire_moment_unit_wind = 143.67811967198384 ft.lb.s/m\n", + "pole_13: tension_moment_unit_wind = 473177.953064816 ft.lb.s/m\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_14: wire_moment_unit_wind = 122.50559092297966 ft.lb.s/m\n", + "pole_14: tension_moment_unit_wind = 177792.93112583933 ft.lb.s/m\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_15: wire_moment_unit_wind = 77.28309821986336 ft.lb.s/m\n", + "pole_15: tension_moment_unit_wind = 9896.221425377975 ft.lb.s/m\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb at 1623110400.0\n", + "pole_16: wire_moment_unit_wind = 98.83395919962882 ft.lb.s/m\n", + "pole_16: tension_moment_unit_wind = 9660.960796382848 ft.lb.s/m\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb at 1623110400.0\n", + "pole_17: wire_moment_unit_wind = 8.568520728505248 ft.lb.s/m\n", + "pole_17: tension_moment_unit_wind = 3784.6061027025416 ft.lb.s/m\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_18: wire_moment_unit_wind = 106.3107992347666 ft.lb.s/m\n", + "pole_18: tension_moment_unit_wind = 1236327.3863373229 ft.lb.s/m\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_19: wire_moment_unit_wind = 28.6800647518373 ft.lb.s/m\n", + "pole_19: tension_moment_unit_wind = 417618.7132787921 ft.lb.s/m\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_20: wire_moment_unit_wind = 6.806719022219335 ft.lb.s/m\n", + "pole_20: tension_moment_unit_wind = 91644.73049070181 ft.lb.s/m\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_21: wire_moment_unit_wind = 9.464021610276347 ft.lb.s/m\n", + "pole_21: tension_moment_unit_wind = 116162.54632673286 ft.lb.s/m\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_22: wire_moment_unit_wind = 16.6761212609292 ft.lb.s/m\n", + "pole_22: tension_moment_unit_wind = 144987.9710886359 ft.lb.s/m\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_23: wire_moment_unit_wind = 37.13160689989815 ft.lb.s/m\n", + "pole_23: tension_moment_unit_wind = 124987.82152296124 ft.lb.s/m\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_24: wire_moment_unit_wind = 77.19934710300947 ft.lb.s/m\n", + "pole_24: tension_moment_unit_wind = 181294.63980884358 ft.lb.s/m\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb at 1623110400.0\n", + "pole_25: wire_moment_unit_wind = 121.53065845769798 ft.lb.s/m\n", + "pole_25: tension_moment_unit_wind = 38555.64904279871 ft.lb.s/m\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_26: wire_moment_unit_wind = 146.91442120492263 ft.lb.s/m\n", + "pole_26: tension_moment_unit_wind = 6541.78017683729 ft.lb.s/m\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb at 1623110400.0\n", + "pole_27: wire_moment_unit_wind = 224.0690167796903 ft.lb.s/m\n", + "pole_27: tension_moment_unit_wind = 9389.280239086833 ft.lb.s/m\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb at 1623110400.0\n", + "pole_28: wire_moment_unit_wind = 246.69609876850723 ft.lb.s/m\n", + "pole_28: tension_moment_unit_wind = 6879.395129561272 ft.lb.s/m\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_29: wire_moment_unit_wind = 8.36765119871938 ft.lb.s/m\n", + "pole_29: tension_moment_unit_wind = 2169.121196635802 ft.lb.s/m\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_30: wire_moment_unit_wind = 349.7679028369132 ft.lb.s/m\n", + "pole_30: tension_moment_unit_wind = 1107897.730511574 ft.lb.s/m\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_31: wire_moment_unit_wind = 261.9867063114422 ft.lb.s/m\n", + "pole_31: tension_moment_unit_wind = 73736.46492035208 ft.lb.s/m\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", + "pole_32: wire_moment_unit_wind = 114.69691847164732 ft.lb.s/m\n", + "pole_32: tension_moment_unit_wind = 863375.3936365839 ft.lb.s/m\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb at 1623110400.0\n", + "pole_33: wire_moment_unit_wind = 4.780914996725299 ft.lb.s/m\n", + "pole_33: tension_moment_unit_wind = 5510.700777411035 ft.lb.s/m\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb at 1623110400.0\n", + "pole_34: wire_moment_unit_wind = 90.46315456359308 ft.lb.s/m\n", + "pole_34: tension_moment_unit_wind = 4308.594784830112 ft.lb.s/m\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_35: wire_moment_unit_wind = 55.05039373182534 ft.lb.s/m\n", + "pole_35: tension_moment_unit_wind = 179532.78397585955 ft.lb.s/m\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", + "pole_36: wire_moment_unit_wind = 332.58022319879416 ft.lb.s/m\n", + "pole_36: tension_moment_unit_wind = 546907.6528352136 ft.lb.s/m\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", + "pole_37: wire_moment_unit_wind = 119.516981831675 ft.lb.s/m\n", + "pole_37: tension_moment_unit_wind = 278813.1451447642 ft.lb.s/m\n" ] } ], -======= - "execution_count": 239, - "id": "8694f710", - "metadata": { - "scrolled": true - }, - "outputs": [], ->>>>>>> Stashed changes "source": [ "pole_analysis_dict = {}\n", "PS_OK = 1\n", @@ -530,8 +610,9 @@ "\n", "# pole precommit\n", "# for timestamp_index in range(len(time_stamps)):\n", - "for timestamp_index in range(2):\n", + "for timestamp_index in range(1):\n", " wind_speed = wind_speeds[timestamp_index]\n", + " wind_direction = wind_directions[timestamp_index]\n", " for pole_key in pole_data_dicts.keys():\n", " pole_data = pole_data_dicts[pole_key]\n", " pole_config_id = pole_data['config']\n", @@ -540,7 +621,7 @@ " # effective pole height, for this example, unit in ft\n", " try:\n", " pole_height = pole_config_data['pole_length']-pole_config_data['pole_depth']\\\n", - " -pole_data_dicts[pole_key]['guy_height']\n", + " -pole_data['guy_height']\n", " except:\n", " raise Exception(f'pole height error for {pole_key}')\n", " pole_t0_year = 1970 + int(t0/86400/365.24)\n", @@ -559,7 +640,7 @@ " print('pole has degraded past point of static failure')\n", " resisting_moment = 0\n", " pole_analysis_dict[pole_key]['pole_resisting_moment'].append(resisting_moment)\n", - " # print(f'{pole_key}: resisting_moment = {resisting_moment} ft*lb at {time_stamps[timestamp_index]}')\n", + " print(f'{pole_key}: resisting_moment = {resisting_moment} ft*lb at {time_stamps[timestamp_index]}')\n", " if (pole_analysis_dict[pole_key]['pole_status'] == PS_FAILED) and ((t0 - pole_analysis_dict[pole_key]['pole_down_time'])/3600.0 > pole_config_data['repair_time']):\n", " print('pole repair time has arrived')\n", " pole_analysis_dict[pole_key]['pole_status'] = PS_OK\n", @@ -567,38 +648,57 @@ " pole_analysis_dict[pole_key]['tilt_direction'] = 0.0\n", " pole_analysis_dict[pole_key]['install_year'] = 1970 + (t0/86400/365.24)\n", " elif pole_analysis_dict[pole_key]['pole_status'] == PS_OK and (last_wind_speed != wind_speed or pole_analysis_dict[pole_key]['critical_wind_speed'] == 0.0):\n", - " if pole_data['tilt_angle'] > 0.0:\n", - " top_diameter_ft = pole_top_diameter/12\n", - " ground_diameter_ft = pole_ground_diameter/12\n", - " pole_moment_tilt = 0.125*pole_config_data['material_density']*np.pi*pole_height*pole_height\\\n", + " top_diameter_ft = pole_top_diameter/12\n", + " ground_diameter_ft = pole_ground_diameter/12\n", + " tilt_angle = pole_data['tilt_angle']\n", + " tile_direction = pole_data['tilt_direction']\n", + " guy_height = pole_data['guy_height']\n", + " \n", + " if tilt_angle > 0.0:\n", + " pole_moment_tilt = tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,\\\n", + " ground_diameter_ft,tilt_angle,tile_direction)\n", + " \n", + " 0.125*pole_config_data['material_density']*np.pi*pole_height*pole_height\\\n", " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", " *sin(pi*pole_data['tilt_angle']/180)\n", + " \n", " # print(f'{pole_key}: pole_moment_tilt = {pole_moment_tilt} ft*lb')\n", + " else:\n", + " pole_moment_tilt = 0.0\n", + " \n", " wind_presure = 0.00256 * 2.24 * (wind_speed) * (wind_speed) # 2.24 account for m/s to mph conversion\n", " # print(f\"wind_pressure = {wind_presure} psi\")\n", - " pole_moment_unit_wind = pole_height*pole_height * (2*top_diameter_ft+ground_diameter_ft)/6 * pole_config_data['overload_factor_transverse_general']\n", - " # print(f\"{pole_key}: pole_moment_unit_wind = {pole_moment_unit_wind} ft.lb.s/m\")\n", - " equipment_moment_unit_wind = equipment_moment_cals(pole_key,1,mount_data_dicts,pole_config_data['overload_factor_transverse_general'])\n", - " # print(f\"{pole_key}: equipment_moment_unit_wind = {equipment_moment_unit_wind} ft.lb.s/m\")\n", -<<<<<<< Updated upstream - " wire_moment_unit_wind = wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section_dicts,pole_config,cable_config,0)\n", - " print(wire_moment_unit_wind)\n", -======= - " wire_moment_unit_wind = wire_moment_cals(pole_key,pole_height,1,wind_direction,pole_data,pole_section,pole_config,cable_config,ice_thickness):\n", " \n", ->>>>>>> Stashed changes + " pole_moment_unit_wind = pole_moment_cals(pole_height,5.7344e-3,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", + " # print(f\"{pole_key}: pole_moment_unit_wind = {norm_cals(pole_moment_unit_wind)} ft.lb.s/m\")\n", + " \n", + " equipment_moment_unit_wind = equipment_moment_cals(pole_key,5.7344e-3,wind_direction,guy_height,tilt_angle,tile_direction,mount_data_dicts)\n", + " # print(f\"{pole_key}: equipment_moment_unit_wind = {norm_cals(equipment_moment_unit_wind)} ft.lb.s/m\")\n", + " \n", + " wire_moment_unit_wind, tension_moment_unit_wind = wire_moment_cals(pole_key,pole_height,5.7344e-3,None,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,0)\n", + " # print(f\"{pole_key}: wire_moment_unit_wind = {norm_cals(wire_moment_unit_wind)} ft.lb.s/m\")\n", + " # print(f\"{pole_key}: tension_moment_unit_wind = {norm_cals(tension_moment_unit_wind)} ft.lb.s/m\")\n", + " wind_pressure_failure = wind_pressure_failure_cals(resisting_moment,wire_moment_unit_wind,\\\n", + " tension_moment_unit_wind,pole_moment_unit_wind,\\\n", + " equipment_moment_unit_wind,wire_moment_unit_wind,wind_direction)\n", + "# \n", " \n", - "# print(pole_analysis_dict['pole_1']['pole_resisting_moment'])" + " print(f'{pole_key}: wind_pressure_failure = {wind_pressure_failure} psi')\n", + "# if wind_pressure_failure >= 0:\n", + "# critical_wind_speed = sqrt(wind_pressure_failure/(0.00256 * 2.24))\n", + "# print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", + "# else:\n", + "# critical_wind_speed = 0\n", + "# print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", + "# last_wind_speed = wind_speed\n", + "# if wind_presure > 0:\n", + "# pole_moment_wind = pole_height*pole_height*(2*top_diameter_ft+ground_diameter_ft)/6*pole_config_data['overload_factor_transverse_general']\n" ] }, { "cell_type": "code", "execution_count": null, -<<<<<<< Updated upstream - "id": "4c452585", -======= - "id": "0fb9a293", ->>>>>>> Stashed changes + "id": "ffaf81c0", "metadata": {}, "outputs": [], "source": [] From 940ece6916c34e0fcf720bebf625d4f1f0006070 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 13:58:12 -0700 Subject: [PATCH 58/82] Delete moment_equations.png --- US/CA/SLAC/anticipation/moment_equations.png | Bin 9070 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 US/CA/SLAC/anticipation/moment_equations.png diff --git a/US/CA/SLAC/anticipation/moment_equations.png b/US/CA/SLAC/anticipation/moment_equations.png deleted file mode 100644 index a8803e38e937db9b0861a2c7bdb95e9479421c26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9070 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 EALey++yDRo From 93c081b67fbb6c8a2ff578e6c6748e9958a37049 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 13:58:31 -0700 Subject: [PATCH 59/82] Update example_for_gridwere.xls --- .../test_files/example_for_gridwere.xls | Bin 47616 -> 48128 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/US/CA/SLAC/anticipation/test_files/example_for_gridwere.xls b/US/CA/SLAC/anticipation/test_files/example_for_gridwere.xls index c8a1e418bf57b1acef618ed52ed7f997ef09681c..df1eaaa1f48171e08ea84bb87779946d8b2a0145 100644 GIT binary patch delta 1715 zcmb7^TWrfw9LK-^uG)@moo(HUY{U{lMmm>05Hc1yGal$x36oe?MO`{{GB$LP)Frd* za%_YLiR<=v_s2*`ToRFZKq3(y*bCVnJc!$f?eCoSU_Jf6Xp{Dw&;N7I`JHpV`8R$s zH4d0sUCQdV!g1zG0N0jZQK+u;D`u_V)Hh@LyHW;`jIA}B{S(%DYrPRclaxGu0hf^1Bq(~BytxmK3~G;6IzHfwq+5b*ie z)NTm)HU<5mkalcdWoq(|#lYv4z$fij+1P9oK%HLKC|(7?#86h z;Mfjq(Jp$QITX;{bxoG!I$%UZOWk?SZn?Q1cyx$f^4`~W9ek2xDQN<}QkuH+Ctc9I zB5Y-I*i7ls`K&08E(66LWxOLZR#gH^GGJx{HX@OQVM&B+fy6~@28_cfDKPD2%&p`G5D{+s60*O&Y@^MQ}E+!m~w;aka-+#sfysU(u}w zg|SgGc-jaGnuhcmVVsc+o;`xC56V5;gz;7~coGS2eD6}X3&Tm{>)^R0_&#k&4++C9 z89b!~bJv!8b_nAz{kQ+Cl<)tsG=>M3;NkN@y)HJU{Yd<>JiP=KYq@8am~@V0@GKLQ z&FfO@g;6URJlO=zp+UVt7?&l3=bYe0x7)Kv7=4n#Q%~UNJ+JN+#>9^N(mzptg(8%( zg!C%an1$m1_|7+F;Fg6R=qO~D#B&;Zby_U6$~&IE?--}0A9XA3ogdA8r)OQzK6TEV xU@K$Vkgn^rpvP%*|LH94aVo2*x93Fr?Ew=#LVw<_SC-Hncfu*|h-t>STzZhYmrZ3GOs+-8Y!cr5SeN{r)rWH*emb=~@xHeu{%x zLfKGuqWKJfr^QbMstQX2lqGR-f9C8l4Z?wj`r68r3aMG@MjZU-7>rzpO_jdpn)ZNONgO;ZN1jt zt-!DAN>cknr*-@Wp!Cpb>9x{x>z&D((+dzvliF8lasMg5Rhz>uZVk<6MS=EE+95bY zj14w3(SVr@nAw1_rEHqduYrFcYzEA3z#IlF!hmftV38r_|9izz1{X#fFsA`y?{L%V zu+4zQY-IlMtB&0W!z|8#xeS=wfW;dyR-BCwxP}PO2LmTf)7V4JgS+D`Fp1G%J51o! z4k@ruFpXWba4k+~8<$&DC zeR{_FM6kR!s5Wt*p0QpL9IPnyws7AF_pyEv`0oYeR_@a?Rx^UPAJ)`1?$a|?Hv+4z z)O&^d^o-SxpfEomcW~b*_p$mB^f#@ko!qBqtcC<1CrZ3mxlhkn9SK}>kK}9IH=26H zg3rjqV{PN-1P?NC;6KhoVhmn@=8k1YyR>g6`)<0lQxIr_w3CjEB@W;DZf>3Z)TjKo zlapc(s;XL~T}3k{6GDShHaIbv;9$v`_6rUb)8VNVae>m+sScr#w!HL5mS|UD{ey`= DOnyMs From 0b9240d40d222cd839dbcad908ce19bf62a5f6ca Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 13:58:34 -0700 Subject: [PATCH 60/82] Update pole_mount_data.xls --- .../test_files/pole_mount_data.xls | Bin 27648 -> 27648 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/US/CA/SLAC/anticipation/test_files/pole_mount_data.xls b/US/CA/SLAC/anticipation/test_files/pole_mount_data.xls index 3edd01d99f64e82813357801003939403ccc4fb4..f11199d36c718994dd3d547a4f92a16919495e3b 100644 GIT binary patch delta 363 zcmZvUJxjxI5XSG4f10#;6D>_!io_1$P-)zpM3BP;e0kr3E*~2XtSjF^g0UaIekdSgXb&mxzi^L|-GHD3Qx=h&%t4 zilpPA;7y>nW6I_v+8@)d)Ed(4zw=c_^Vl^#F5tl2XA@oBV+)S!Tj&7&t1iv|>_a bGRH?@OEKJ~#mlD`R%6~6IT(aiZ@c&dun<{p delta 359 zcmZvWJxBv#42Hj4bN#tLPc8kdNI6Rf2cd^LbgUqUZVC>LIy!YzT%?@@9p7$F)mgAy z!A&|T2o8d1ajH&EZq7B9ItWcjNb>N$q~4=?kFH+~=H(Ul^35PL&CpmRd~tvWUdJgH z5Sk1__HDBWU+Tatpvp;<~KD(l=>b7N_AxT4ZaQf zDywpMvh)~wGooaVqwNuGiPjOb|ISxK>SNE=G=(Gk5WYJ@HX0dCY0Nu1pZU`~t4$f@ zx$aP7Vaw5Ep_S6)q2ZLtMO*p=-leB7>6U34t8R@yDku54 Date: Tue, 9 Nov 2021 13:58:37 -0700 Subject: [PATCH 61/82] Update Two-ploe or two-node study.ipynb --- .../Two-ploe or two-node study.ipynb | 263 +++++++++--------- 1 file changed, 124 insertions(+), 139 deletions(-) diff --git a/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb b/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb index 5fdfc93b..aa322253 100644 --- a/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb +++ b/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb @@ -33,12 +33,32 @@ }, { "cell_type": "code", - "execution_count": 500, - "id": "de9efd73", + "execution_count": 546, + "id": "5a4031fc", "metadata": { "scrolled": false }, - "outputs": [], + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'pole_mount_data.xls'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_excel_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mpole_mount_excel_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'pole_mount_data.xls'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mdf_mount\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_mount_excel_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/util/_decorators.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 294\u001b[0m )\n\u001b[1;32m 295\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mFutureWarning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstacklevel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstacklevel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 296\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 297\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 298\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36mread_excel\u001b[0;34m(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols)\u001b[0m\n\u001b[1;32m 302\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 303\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mExcelFile\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 304\u001b[0;31m \u001b[0mio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mExcelFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 305\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 306\u001b[0m raise ValueError(\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path_or_buffer, engine)\u001b[0m\n\u001b[1;32m 865\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_io\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstringify_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 866\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 867\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engines\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_io\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 868\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 869\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__fspath__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0merr_msg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"Install xlrd >= 1.0.0 for Excel support\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0mimport_optional_dependency\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"xlrd\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextra\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merr_msg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 22\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 351\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 352\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 353\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 354\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbytes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 355\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBytesIO\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py\u001b[0m in \u001b[0;36mload_workbook\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mopen_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile_contents\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 37\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mopen_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 38\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/xlrd/__init__.py\u001b[0m in \u001b[0;36mopen_workbook\u001b[0;34m(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows, ignore_workbook_corruption)\u001b[0m\n\u001b[1;32m 164\u001b[0m \"\"\"\n\u001b[1;32m 165\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 166\u001b[0;31m \u001b[0mfile_format\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minspect_format\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile_contents\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 167\u001b[0m \u001b[0;31m# We have to let unknown file formats pass through here, as some ancient\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[0;31m# files that xlrd can parse don't start with the expected signature.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/xlrd/__init__.py\u001b[0m in \u001b[0;36minspect_format\u001b[0;34m(path, content)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0mpath\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpanduser\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 60\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"rb\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0mpeek\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mPEEK_SIZE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'pole_mount_data.xls'" + ] + } + ], "source": [ "pole_excel_file = 'example_for_gridwere.xls'\n", "df = pd.read_excel(pole_excel_file, sheet_name=None)\n", @@ -49,7 +69,7 @@ { "cell_type": "code", "execution_count": 501, - "id": "b3daa575", + "id": "4754baa8", "metadata": {}, "outputs": [], "source": [ @@ -70,7 +90,7 @@ { "cell_type": "code", "execution_count": 515, - "id": "ffbd7a1a", + "id": "6972298d", "metadata": {}, "outputs": [], "source": [ @@ -91,7 +111,7 @@ { "cell_type": "code", "execution_count": 503, - "id": "8fb393b0", + "id": "9baf9c60", "metadata": {}, "outputs": [], "source": [ @@ -112,7 +132,7 @@ { "cell_type": "code", "execution_count": 504, - "id": "e755f0b5", + "id": "4671b052", "metadata": {}, "outputs": [], "source": [ @@ -132,7 +152,7 @@ { "cell_type": "code", "execution_count": 505, - "id": "9fe08688", + "id": "b294fe82", "metadata": {}, "outputs": [], "source": [ @@ -152,7 +172,7 @@ { "cell_type": "code", "execution_count": 506, - "id": "26342874", + "id": "b61ed8b6", "metadata": {}, "outputs": [], "source": [ @@ -184,7 +204,7 @@ }, { "cell_type": "markdown", - "id": "1afe3443", + "id": "892a7086", "metadata": {}, "source": [ "## equation\n", @@ -193,23 +213,26 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "4429829a", + "execution_count": 539, + "id": "1d0d7f84", "metadata": {}, "outputs": [], "source": [ - "def tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,\\\n", - " ground_diameter_ft,tilt_angle,tile_direction)\n", - " \n", - " 0.125*pole_config_data['material_density']*np.pi*pole_height*pole_height\\\n", - " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", - " *sin(pi*pole_data['tilt_angle']/180)" + "def tilt_moment_cals(pole_height,material_density,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction):\n", + " tilt_moment_x = -0.125*material_density*pi*pole_height*pole_height\\\n", + " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", + " *sin(pi*tilt_angle/180)*sin(pi*tile_direction/180)\n", + " tilt_moment_y = 0.125*material_density*pi*pole_height*pole_height\\\n", + " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", + " *sin(pi*tilt_angle/180)*cos(pi*tile_direction/180)\n", + " tilt_moment_z = 0.0\n", + " return [tilt_moment_x,tilt_moment_y,tilt_moment_z]" ] }, { "cell_type": "code", "execution_count": 519, - "id": "64cdf160", + "id": "f0e87fa2", "metadata": {}, "outputs": [], "source": [ @@ -236,7 +259,7 @@ { "cell_type": "code", "execution_count": 526, - "id": "46934235", + "id": "386960f1", "metadata": {}, "outputs": [], "source": [ @@ -258,7 +281,7 @@ { "cell_type": "code", "execution_count": 522, - "id": "974c5679", + "id": "6b0dcadd", "metadata": {}, "outputs": [], "source": [ @@ -272,7 +295,7 @@ { "cell_type": "code", "execution_count": 521, - "id": "adaf3f1c", + "id": "de17ca7b", "metadata": {}, "outputs": [], "source": [ @@ -289,7 +312,7 @@ { "cell_type": "code", "execution_count": 516, - "id": "6788c2a7", + "id": "d9e9902a", "metadata": {}, "outputs": [], "source": [ @@ -310,12 +333,13 @@ }, { "cell_type": "code", - "execution_count": 537, - "id": "a983535f", + "execution_count": 545, + "id": "c4c686e5", "metadata": {}, "outputs": [], "source": [ - "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section,pole_config,cable_config,ice_thickness):\n", + "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section,pole_config,\\\n", + " cable_config,ice_thickness):\n", " wire_moment_x = 0.0\n", " wire_moment_y = 0.0\n", " wire_moment_z = 0.0\n", @@ -384,27 +408,32 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "93977706", + "execution_count": 542, + "id": "e08cc50b", "metadata": {}, "outputs": [], "source": [ - "def wind_pressure_failure_cals(resisting_moment,wire_moment_wind,tension_moment,pole_moment_wind,equipment_moment_wind,tilt_moment):\n", + "def wind_pressure_failure_cals(resisting_moment,pole_moment_tilt,pole_moment_wind,equipment_moment_wind,wire_moment_wind,tension_moment_wind):\n", + " pole_wind_moment_x = pole_moment_wind[0]+equipment_moment_wind[0]+wire_moment_wind[0]\n", + " pole_wind_moment_y = pole_moment_wind[1]+equipment_moment_wind[1]+wire_moment_wind[1]\n", + " pole_wind_moment_z = pole_moment_wind[2]+equipment_moment_wind[2]+wire_moment_wind[2]\n", + " \n", + " pole_nowind_moment_x = pole_moment_tilt[0]+tension_moment_wind[0]\n", + " pole_nowind_moment_y = pole_moment_tilt[1]+tension_moment_wind[1]\n", + " pole_nowind_moment_z = pole_moment_tilt[2]+tension_moment_wind[2]\n", " \n", - " pole_total_moment_x = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", - " pole_total_moment_y = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", - " pole_total_moment_z = wire_moment_wind[0]+tension_moment[0]+pole_moment_wind[0]+equipment_moment_wind[0]\n", + " pole_wind_moment = norm_cals([pole_wind_moment_x,pole_wind_moment_y,pole_wind_moment_z])\n", + " pole_nowind_moment = norm_cals([pole_nowind_moment_x,pole_nowind_moment_y,pole_nowind_moment_z])\n", " \n", + " wind_pressure_failure = (resisting_moment - pole_nowind_moment)/pole_wind_moment\n", " \n", - " return wind_pressure_failure\n", - " wind_pressure_failure = (resisting_moment - tension_moment_unit_wind) \n", - " / (pole_moment_unit_wind + equipment_moment_unit_wind + wire_moment_unit_wind)" + " return wind_pressure_failure" ] }, { "cell_type": "code", "execution_count": 511, - "id": "e92a488a", + "id": "d49f1e47", "metadata": {}, "outputs": [ { @@ -454,8 +483,8 @@ }, { "cell_type": "code", - "execution_count": 538, - "id": "68890c89", + "execution_count": 544, + "id": "a8014f24", "metadata": { "scrolled": true }, @@ -465,116 +494,79 @@ "output_type": "stream", "text": [ "pole_1: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_1: wire_moment_unit_wind = 113.64096617433957 ft.lb.s/m\n", - "pole_1: tension_moment_unit_wind = 776863.9556665377 ft.lb.s/m\n", + "pole_1: critical_wind_speed = 0 m/s\n", "pole_2: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_2: wire_moment_unit_wind = 48.9409073866234 ft.lb.s/m\n", - "pole_2: tension_moment_unit_wind = 3768.6336283224555 ft.lb.s/m\n", + "pole_2: critical_wind_speed = 66.29193828974526 m/s\n", "pole_3: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_3: wire_moment_unit_wind = 1.315955202003804 ft.lb.s/m\n", - "pole_3: tension_moment_unit_wind = 1802.4722158107074 ft.lb.s/m\n", + "pole_3: critical_wind_speed = 617.8143788877663 m/s\n", "pole_4: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_4: wire_moment_unit_wind = 1.66875072797879 ft.lb.s/m\n", - "pole_4: tension_moment_unit_wind = 2756.544918395519 ft.lb.s/m\n", + "pole_4: critical_wind_speed = 417.8451674867906 m/s\n", "pole_5: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_5: wire_moment_unit_wind = 8.382049370527866 ft.lb.s/m\n", - "pole_5: tension_moment_unit_wind = 4135.0766628001165 ft.lb.s/m\n", + "pole_5: critical_wind_speed = 213.65583508830827 m/s\n", "pole_6: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_6: wire_moment_unit_wind = 8.355960287678647 ft.lb.s/m\n", - "pole_6: tension_moment_unit_wind = 1916.6363428512416 ft.lb.s/m\n", + "pole_6: critical_wind_speed = 473.13499970830475 m/s\n", "pole_7: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_7: wire_moment_unit_wind = 17.55301208241768 ft.lb.s/m\n", - "pole_7: tension_moment_unit_wind = 3702.4388620870504 ft.lb.s/m\n", + "pole_7: critical_wind_speed = 236.3323105900033 m/s\n", "pole_8: resisting_moment = 14692.372501155412 ft*lb at 1623110400.0\n", - "pole_8: wire_moment_unit_wind = 13.779124559111567 ft.lb.s/m\n", - "pole_8: tension_moment_unit_wind = 4701.246552950238 ft.lb.s/m\n", + "pole_8: critical_wind_speed = 132.0161283003065 m/s\n", "pole_9: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_9: wire_moment_unit_wind = 16.758522927363586 ft.lb.s/m\n", - "pole_9: tension_moment_unit_wind = 4414.911840494456 ft.lb.s/m\n", + "pole_9: critical_wind_speed = 137.1953640490132 m/s\n", "pole_10: resisting_moment = 24788.71831398755 ft*lb at 1623110400.0\n", - "pole_10: wire_moment_unit_wind = 26.249843753437986 ft.lb.s/m\n", - "pole_10: tension_moment_unit_wind = 2372.8032058280014 ft.lb.s/m\n", + "pole_10: critical_wind_speed = 131.5277089523646 m/s\n", "pole_11: resisting_moment = 31226.645934337153 ft*lb at 1623110400.0\n", - "pole_11: wire_moment_unit_wind = 38.31616410725008 ft.lb.s/m\n", - "pole_11: tension_moment_unit_wind = 1624.8916807850662 ft.lb.s/m\n", + "pole_11: critical_wind_speed = 119.48234421742953 m/s\n", "pole_12: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_12: wire_moment_unit_wind = 22.922883604917168 ft.lb.s/m\n", - "pole_12: tension_moment_unit_wind = 6772.234253566739 ft.lb.s/m\n", + "pole_12: critical_wind_speed = 114.18967948351678 m/s\n", "pole_13: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_13: wire_moment_unit_wind = 143.67811967198384 ft.lb.s/m\n", - "pole_13: tension_moment_unit_wind = 473177.953064816 ft.lb.s/m\n", + "pole_13: critical_wind_speed = 0 m/s\n", "pole_14: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_14: wire_moment_unit_wind = 122.50559092297966 ft.lb.s/m\n", - "pole_14: tension_moment_unit_wind = 177792.93112583933 ft.lb.s/m\n", + "pole_14: critical_wind_speed = 0 m/s\n", "pole_15: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_15: wire_moment_unit_wind = 77.28309821986336 ft.lb.s/m\n", - "pole_15: tension_moment_unit_wind = 9896.221425377975 ft.lb.s/m\n", + "pole_15: critical_wind_speed = 87.71747193252 m/s\n", "pole_16: resisting_moment = 57013.25889164816 ft*lb at 1623110400.0\n", - "pole_16: wire_moment_unit_wind = 98.83395919962882 ft.lb.s/m\n", - "pole_16: tension_moment_unit_wind = 9660.960796382848 ft.lb.s/m\n", + "pole_16: critical_wind_speed = 84.22201142194207 m/s\n", "pole_17: resisting_moment = 68020.2431524405 ft*lb at 1623110400.0\n", - "pole_17: wire_moment_unit_wind = 8.568520728505248 ft.lb.s/m\n", - "pole_17: tension_moment_unit_wind = 3784.6061027025416 ft.lb.s/m\n", + "pole_17: critical_wind_speed = 99.9866870144359 m/s\n", "pole_18: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_18: wire_moment_unit_wind = 106.3107992347666 ft.lb.s/m\n", - "pole_18: tension_moment_unit_wind = 1236327.3863373229 ft.lb.s/m\n", + "pole_18: critical_wind_speed = 0 m/s\n", "pole_19: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_19: wire_moment_unit_wind = 28.6800647518373 ft.lb.s/m\n", - "pole_19: tension_moment_unit_wind = 417618.7132787921 ft.lb.s/m\n", + "pole_19: critical_wind_speed = 0 m/s\n", "pole_20: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_20: wire_moment_unit_wind = 6.806719022219335 ft.lb.s/m\n", - "pole_20: tension_moment_unit_wind = 91644.73049070181 ft.lb.s/m\n", + "pole_20: critical_wind_speed = 0 m/s\n", "pole_21: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_21: wire_moment_unit_wind = 9.464021610276347 ft.lb.s/m\n", - "pole_21: tension_moment_unit_wind = 116162.54632673286 ft.lb.s/m\n", + "pole_21: critical_wind_speed = 0 m/s\n", "pole_22: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_22: wire_moment_unit_wind = 16.6761212609292 ft.lb.s/m\n", - "pole_22: tension_moment_unit_wind = 144987.9710886359 ft.lb.s/m\n", + "pole_22: critical_wind_speed = 0 m/s\n", "pole_23: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_23: wire_moment_unit_wind = 37.13160689989815 ft.lb.s/m\n", - "pole_23: tension_moment_unit_wind = 124987.82152296124 ft.lb.s/m\n", + "pole_23: critical_wind_speed = 0 m/s\n", "pole_24: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_24: wire_moment_unit_wind = 77.19934710300947 ft.lb.s/m\n", - "pole_24: tension_moment_unit_wind = 181294.63980884358 ft.lb.s/m\n", + "pole_24: critical_wind_speed = 0 m/s\n", "pole_25: resisting_moment = 14692.372501155412 ft*lb at 1623110400.0\n", - "pole_25: wire_moment_unit_wind = 121.53065845769798 ft.lb.s/m\n", - "pole_25: tension_moment_unit_wind = 38555.64904279871 ft.lb.s/m\n", + "pole_25: critical_wind_speed = 0 m/s\n", "pole_26: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_26: wire_moment_unit_wind = 146.91442120492263 ft.lb.s/m\n", - "pole_26: tension_moment_unit_wind = 6541.78017683729 ft.lb.s/m\n", + "pole_26: critical_wind_speed = 88.52656524440324 m/s\n", "pole_27: resisting_moment = 24788.71831398755 ft*lb at 1623110400.0\n", - "pole_27: wire_moment_unit_wind = 224.0690167796903 ft.lb.s/m\n", - "pole_27: tension_moment_unit_wind = 9389.280239086833 ft.lb.s/m\n", + "pole_27: critical_wind_speed = 146.26966940588662 m/s\n", "pole_28: resisting_moment = 31226.645934337153 ft*lb at 1623110400.0\n", - "pole_28: wire_moment_unit_wind = 246.69609876850723 ft.lb.s/m\n", - "pole_28: tension_moment_unit_wind = 6879.395129561272 ft.lb.s/m\n", + "pole_28: critical_wind_speed = 87.61381321608533 m/s\n", "pole_29: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_29: wire_moment_unit_wind = 8.36765119871938 ft.lb.s/m\n", - "pole_29: tension_moment_unit_wind = 2169.121196635802 ft.lb.s/m\n", + "pole_29: critical_wind_speed = 112.48347782206727 m/s\n", "pole_30: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_30: wire_moment_unit_wind = 349.7679028369132 ft.lb.s/m\n", - "pole_30: tension_moment_unit_wind = 1107897.730511574 ft.lb.s/m\n", + "pole_30: critical_wind_speed = 0 m/s\n", "pole_31: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_31: wire_moment_unit_wind = 261.9867063114422 ft.lb.s/m\n", - "pole_31: tension_moment_unit_wind = 73736.46492035208 ft.lb.s/m\n", + "pole_31: critical_wind_speed = 0 m/s\n", "pole_32: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_32: wire_moment_unit_wind = 114.69691847164732 ft.lb.s/m\n", - "pole_32: tension_moment_unit_wind = 863375.3936365839 ft.lb.s/m\n", + "pole_32: critical_wind_speed = 0 m/s\n", "pole_33: resisting_moment = 57013.25889164816 ft*lb at 1623110400.0\n", - "pole_33: wire_moment_unit_wind = 4.780914996725299 ft.lb.s/m\n", - "pole_33: tension_moment_unit_wind = 5510.700777411035 ft.lb.s/m\n", + "pole_33: critical_wind_speed = 98.59316520073035 m/s\n", "pole_34: resisting_moment = 68020.2431524405 ft*lb at 1623110400.0\n", - "pole_34: wire_moment_unit_wind = 90.46315456359308 ft.lb.s/m\n", - "pole_34: tension_moment_unit_wind = 4308.594784830112 ft.lb.s/m\n", + "pole_34: critical_wind_speed = 100.20463141400026 m/s\n", "pole_35: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_35: wire_moment_unit_wind = 55.05039373182534 ft.lb.s/m\n", - "pole_35: tension_moment_unit_wind = 179532.78397585955 ft.lb.s/m\n", + "pole_35: critical_wind_speed = 0 m/s\n", "pole_36: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_36: wire_moment_unit_wind = 332.58022319879416 ft.lb.s/m\n", - "pole_36: tension_moment_unit_wind = 546907.6528352136 ft.lb.s/m\n", + "pole_36: critical_wind_speed = 0 m/s\n", "pole_37: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_37: wire_moment_unit_wind = 119.516981831675 ft.lb.s/m\n", - "pole_37: tension_moment_unit_wind = 278813.1451447642 ft.lb.s/m\n" + "pole_37: critical_wind_speed = 0 m/s\n" ] } ], @@ -613,6 +605,7 @@ "for timestamp_index in range(1):\n", " wind_speed = wind_speeds[timestamp_index]\n", " wind_direction = wind_directions[timestamp_index]\n", + " wind_direction = wind_directions[timestamp_index]\n", " for pole_key in pole_data_dicts.keys():\n", " pole_data = pole_data_dicts[pole_key]\n", " pole_config_id = pole_data['config']\n", @@ -654,17 +647,8 @@ " tile_direction = pole_data['tilt_direction']\n", " guy_height = pole_data['guy_height']\n", " \n", - " if tilt_angle > 0.0:\n", - " pole_moment_tilt = tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,\\\n", - " ground_diameter_ft,tilt_angle,tile_direction)\n", - " \n", - " 0.125*pole_config_data['material_density']*np.pi*pole_height*pole_height\\\n", - " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", - " *sin(pi*pole_data['tilt_angle']/180)\n", - " \n", - " # print(f'{pole_key}: pole_moment_tilt = {pole_moment_tilt} ft*lb')\n", - " else:\n", - " pole_moment_tilt = 0.0\n", + " pole_moment_tilt = tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", + " # print(f'{pole_key}: pole_moment_tilt = {norm_cals(pole_moment_tilt)} ft*lb')\n", " \n", " wind_presure = 0.00256 * 2.24 * (wind_speed) * (wind_speed) # 2.24 account for m/s to mph conversion\n", " # print(f\"wind_pressure = {wind_presure} psi\")\n", @@ -675,30 +659,31 @@ " equipment_moment_unit_wind = equipment_moment_cals(pole_key,5.7344e-3,wind_direction,guy_height,tilt_angle,tile_direction,mount_data_dicts)\n", " # print(f\"{pole_key}: equipment_moment_unit_wind = {norm_cals(equipment_moment_unit_wind)} ft.lb.s/m\")\n", " \n", - " wire_moment_unit_wind, tension_moment_unit_wind = wire_moment_cals(pole_key,pole_height,5.7344e-3,None,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,0)\n", + " wire_moment_unit_wind, tension_moment_unit_wind = wire_moment_cals(pole_key,pole_height,5.7344e-3,wind_direction,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,0)\n", " # print(f\"{pole_key}: wire_moment_unit_wind = {norm_cals(wire_moment_unit_wind)} ft.lb.s/m\")\n", " # print(f\"{pole_key}: tension_moment_unit_wind = {norm_cals(tension_moment_unit_wind)} ft.lb.s/m\")\n", - " wind_pressure_failure = wind_pressure_failure_cals(resisting_moment,wire_moment_unit_wind,\\\n", - " tension_moment_unit_wind,pole_moment_unit_wind,\\\n", - " equipment_moment_unit_wind,wire_moment_unit_wind,wind_direction)\n", - "# \n", " \n", - " print(f'{pole_key}: wind_pressure_failure = {wind_pressure_failure} psi')\n", - "# if wind_pressure_failure >= 0:\n", - "# critical_wind_speed = sqrt(wind_pressure_failure/(0.00256 * 2.24))\n", - "# print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", - "# else:\n", - "# critical_wind_speed = 0\n", - "# print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", - "# last_wind_speed = wind_speed\n", - "# if wind_presure > 0:\n", - "# pole_moment_wind = pole_height*pole_height*(2*top_diameter_ft+ground_diameter_ft)/6*pole_config_data['overload_factor_transverse_general']\n" + " wind_pressure_failure = wind_pressure_failure_cals(resisting_moment,pole_moment_tilt,\\\n", + " pole_moment_unit_wind,equipment_moment_unit_wind,\\\n", + " wire_moment_unit_wind,tension_moment_unit_wind) \n", + " # print(f'{pole_key}: wind_pressure_failure = {wind_pressure_failure} psi')\n", + " if wind_pressure_failure >= 0:\n", + " critical_wind_speed = sqrt(wind_pressure_failure/(0.00256 * 2.24))\n", + " print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", + " else:\n", + " critical_wind_speed = 0\n", + " print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", + " last_wind_speed = wind_speed\n", + " if wind_presure > 0:\n", + " pole_moment_wind = pole_moment_cals(pole_height,wind_presure,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", + " equipment_moment_wind = equipment_moment_cals(pole_key,wind_presure,wind_direction,guy_height,tilt_angle,tile_direction,mount_data_dicts)\n", + " wire_moment_unit_wind, tension_moment_unit_wind = wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,0)" ] }, { "cell_type": "code", "execution_count": null, - "id": "ffaf81c0", + "id": "765bcd37", "metadata": {}, "outputs": [], "source": [] From 1d95b4980e3bce90b258ef4ab47192bb799e3fb8 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 13:58:39 -0700 Subject: [PATCH 62/82] Create moment_equations.png --- .../anticipation/test_files/moment_equations.png | Bin 0 -> 9070 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 US/CA/SLAC/anticipation/test_files/moment_equations.png diff --git a/US/CA/SLAC/anticipation/test_files/moment_equations.png b/US/CA/SLAC/anticipation/test_files/moment_equations.png new file mode 100644 index 0000000000000000000000000000000000000000..a8803e38e937db9b0861a2c7bdb95e9479421c26 GIT binary patch literal 9070 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 EALey++yDRo literal 0 HcmV?d00001 From f2c8d4854bfdf16ead3d6e326ffc37cb8e7d2c2c Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 17:13:54 -0700 Subject: [PATCH 63/82] Create Two-ploe or two-node study-checkpoint.ipynb --- ...wo-ploe or two-node study-checkpoint.ipynb | 4154 +++++++++++++++++ 1 file changed, 4154 insertions(+) create mode 100644 US/CA/SLAC/anticipation/test_files/.ipynb_checkpoints/Two-ploe or two-node study-checkpoint.ipynb diff --git a/US/CA/SLAC/anticipation/test_files/.ipynb_checkpoints/Two-ploe or two-node study-checkpoint.ipynb b/US/CA/SLAC/anticipation/test_files/.ipynb_checkpoints/Two-ploe or two-node study-checkpoint.ipynb new file mode 100644 index 00000000..f2ce0657 --- /dev/null +++ b/US/CA/SLAC/anticipation/test_files/.ipynb_checkpoints/Two-ploe or two-node study-checkpoint.ipynb @@ -0,0 +1,4154 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "aa049f30", + "metadata": {}, + "source": [ + "## Two-pole or two-node study" + ] + }, + { + "cell_type": "markdown", + "id": "89c9187f", + "metadata": {}, + "source": [ + "Need:\n", + "pole.csv" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "id": "405ed256", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import time\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from math import cos, sin, atan2, pi, sqrt, atan, isnan" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "5a4031fc", + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "pole_excel_file = 'example_for_gridwere.xls'\n", + "df = pd.read_excel(pole_excel_file, sheet_name=None)\n", + "pole_mount_excel_file = 'pole_mount_data.xls'\n", + "df_mount = pd.read_excel(pole_mount_excel_file, sheet_name=None)" + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "id": "4754baa8", + "metadata": {}, + "outputs": [], + "source": [ + "# creat a dictionary for pole mount data\n", + "df_mount_data = df_mount['pole mount data'].copy()\n", + "mount_data_dicts = {}\n", + "for mount_index in range(len(df_mount_data)):\n", + " mount_data = df_mount_data.iloc[mount_index]\n", + " if mount_data.loc['equipment_id'] not in mount_data_dicts.keys():\n", + " mount_data_dict = {}\n", + " for data_column in mount_data.index:\n", + " if data_column != 'equipment_id':\n", + " mount_data_dict[data_column] = mount_data.loc[data_column]\n", + " mount_data_dicts[mount_data.loc['equipment_id']] = mount_data_dict\n", + "# print(mount_data_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "id": "6972298d", + "metadata": {}, + "outputs": [], + "source": [ + "# creat a dictionary for pole data\n", + "df_pole_data = df['pole data'].copy()\n", + "pole_data_dicts = {}\n", + "for pole_index in range(len(df_pole_data)):\n", + " pole_data = df_pole_data.iloc[pole_index]\n", + " if pole_data.loc['pole_id'] not in pole_data_dicts.keys():\n", + " pole_data_dict = {}\n", + " for data_column in pole_data.index:\n", + " if data_column != 'pole_id':\n", + " pole_data_dict[data_column] = pole_data.loc[data_column]\n", + " pole_data_dicts[pole_data.loc['pole_id']] = pole_data_dict\n", + "# print(pole_data_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "9baf9c60", + "metadata": {}, + "outputs": [], + "source": [ + "# creat a dictionary for pole connections\n", + "df_pole_section = df['pole section'].copy()\n", + "pole_section_dicts = {}\n", + "for section_index in range(len(df_pole_section)):\n", + " pole_section = df_pole_section.iloc[section_index]\n", + " if pole_section.loc['section_id'] not in pole_section_dicts.keys():\n", + " pole_section_dict = {}\n", + " for data_column in pole_section.index:\n", + " if data_column != 'section_id':\n", + " pole_section_dict[data_column] = pole_section.loc[data_column]\n", + " pole_section_dicts[pole_section.loc['section_id']] = pole_section_dict\n", + "# print(pole_section_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "id": "4671b052", + "metadata": {}, + "outputs": [], + "source": [ + "df_pole_config = df['pole config'].copy()\n", + "pole_config_dicts = {}\n", + "for pole_config_index in range(len(df_pole_config)):\n", + " pole_config = df_pole_config.iloc[pole_config_index]\n", + " if pole_config.loc['config_id'] not in pole_config_dicts.keys():\n", + " pole_config_dict = {}\n", + " for data_column in pole_config.index:\n", + " if data_column != 'config_id':\n", + " pole_config_dict[data_column] = pole_config.loc[data_column]\n", + " pole_config_dicts[pole_config.loc['config_id']] = pole_config_dict\n", + "# print(pole_config_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "id": "b294fe82", + "metadata": {}, + "outputs": [], + "source": [ + "df_cable_config = df['cable config'].copy()\n", + "cable_config_dicts = {}\n", + "for cable_config_index in range(len(df_cable_config)):\n", + " cable_config = df_cable_config.iloc[cable_config_index]\n", + " if cable_config.loc['config_id'] not in cable_config_dicts.keys():\n", + " cable_config_dict = {}\n", + " for data_column in cable_config.index:\n", + " if data_column != 'config_id':\n", + " cable_config_dict[data_column] = cable_config.loc[data_column]\n", + " cable_config_dicts[cable_config.loc['config_id']] = cable_config_dict\n", + "# print(cable_config_dicts)" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "id": "b61ed8b6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-06-08 00:00:00\n", + "2021-06-08 01:00:00\n", + "2021-06-08 01:59:59.990000\n", + "2021-06-08 02:59:59.985000\n", + "2021-06-08 03:59:59.980000\n", + "2021-06-08 04:59:59.975000\n", + "2021-06-08 05:59:59.970000\n", + "2021-06-08 06:59:59.965000\n", + "2021-06-08 07:59:59.960000\n", + "2021-06-08 08:59:59.955000\n", + "2021-06-08 09:59:59.950000\n", + "2021-06-08 10:59:59.945000\n", + "2021-06-08 11:59:59.940000\n", + "2021-06-08 12:59:59.935000\n", + "2021-06-08 13:59:59.930000\n", + "2021-06-08 14:59:59.925000\n", + "2021-06-08 15:59:59.920000\n", + "2021-06-08 16:59:59.915000\n", + "2021-06-08 17:59:59.910000\n", + "2021-06-08 18:59:59.905000\n", + "2021-06-08 19:59:59.900000\n", + "2021-06-08 20:59:59.895000\n", + "2021-06-08 21:59:59.890000\n", + "2021-06-08 22:59:59.885000\n" + ] + } + ], + "source": [ + "df_weather_data = df['weather player'].copy()\n", + "time_stamps = []\n", + "wind_speeds = []\n", + "wind_directions = []\n", + "ambient_temps = []\n", + "wind_gusts = []\n", + "GHIs = []\n", + "ice_thicknesses =[]\n", + "default_wind_speed = 0\n", + "for weather_timesttamp in range(len(df_weather_data)):\n", + " date = df_weather_data.iloc[weather_timesttamp]['time']\n", + " print(date)\n", + " if pd.isnull(date):\n", + " raise Exception(f'column {weather_timesttamp}: time stamp is not set up')\n", + " date = date - pd.Timestamp(\"1970-01-01\")\n", + " time_stamps.append(round(date.total_seconds()))\n", + " if pd.isnull(df_weather_data.iloc[weather_timesttamp]['wind_speed']) \\\n", + " or df_weather_data.iloc[weather_timesttamp]['wind_speed'] < 0:\n", + " print(f'weather data does not include wind_speed at {date}, using local default_wind_speed')\n", + " wind_speeds.append(0)\n", + " else:\n", + " wind_speeds.append(df_weather_data.iloc[weather_timesttamp]['wind_speed'])\n", + " wind_directions.append(df_weather_data.iloc[weather_timesttamp]['wind_direction'])\n", + " ambient_temps.append(df_weather_data.iloc[weather_timesttamp]['temperature'])\n", + " wind_gusts.append(df_weather_data.iloc[weather_timesttamp]['wind_gusts'])\n", + " GHIs.append(df_weather_data.iloc[weather_timesttamp]['global_horizontal_irradiance'])\n", + " ice_thicknesses.append(df_weather_data.iloc[weather_timesttamp]['ice_thickness'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "892a7086", + "metadata": {}, + "source": [ + "## equation\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "1d0d7f84", + "metadata": {}, + "outputs": [], + "source": [ + "def tilt_moment_cals(pole_height,material_density,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction):\n", + " tilt_moment_x = -0.125*material_density*pi*pole_height*pole_height\\\n", + " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", + " *sin(pi*tilt_angle/180)*sin(pi*tile_direction/180)\n", + " tilt_moment_y = 0.125*material_density*pi*pole_height*pole_height\\\n", + " *(((top_diameter_ft+ground_diameter_ft)**2)/6+top_diameter_ft*top_diameter_ft/3)\\\n", + " *sin(pi*tilt_angle/180)*cos(pi*tile_direction/180)\n", + " tilt_moment_z = 0.0\n", + " return [tilt_moment_x,tilt_moment_y,tilt_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "id": "f0e87fa2", + "metadata": {}, + "outputs": [], + "source": [ + "def equipment_moment_cals(pole_key,wind_presure,wind_direction,guy_height,tilt_angle,tile_direction,mount_data,\\\n", + " overload_factor_wind=1.75):\n", + " # ingore the equipment weights for now\n", + " equipment_moment_x = 0.0\n", + " equipment_moment_y = 0.0\n", + " equipment_moment_z = 0.0\n", + " for equipment in mount_data.keys():\n", + " if mount_data[equipment]['parent'] == pole_key:\n", + " r_z = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)\n", + " r_x = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)*cos(pi*tile_direction/180)\n", + " r_y = (mount_data[equipment]['equipment_height']-guy_height)*cos(pi*tilt_angle/180)*sin(pi*tile_direction/180)\n", + " wind_presure_x = wind_presure*cos(pi*wind_direction/180)\n", + " wind_presure_y = wind_presure*sin(pi*wind_direction/180)\n", + " equipment_size = mount_data[equipment]['mount_height']*mount_data[equipment]['equipment_diameter']/12\n", + " equipment_moment_x += -r_z*wind_presure_y*equipment_size*overload_factor_wind\n", + " equipment_moment_y += r_z*wind_presure_x*equipment_size*overload_factor_wind\n", + " equipment_moment_z += (r_x*wind_presure_y-r_y*wind_presure_x)*equipment_size*overload_factor_wind\n", + " return [equipment_moment_x,equipment_moment_y,equipment_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "id": "386960f1", + "metadata": {}, + "outputs": [], + "source": [ + "def pole_moment_cals(pole_height,wind_presure,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,\\\n", + " tile_direction,overload_factor_wind=1.75):\n", + " r_z = pole_height*cos(pi*tilt_angle/180)/2\n", + " r_x = pole_height*cos(pi*tilt_angle/180)*cos(pi*tile_direction/180)/2\n", + " r_y = pole_height*cos(pi*tilt_angle/180)*sin(pi*tile_direction/180)/2\n", + " pole_size = pole_height*pole_height*(2*top_diameter_ft+ground_diameter_ft)/6\n", + " wind_presure_x = wind_presure*cos(pi*wind_direction/180)\n", + " wind_presure_y = wind_presure*sin(pi*wind_direction/180)\n", + " pole_moment_x = -r_z*wind_presure_y*pole_size*overload_factor_wind\n", + " pole_moment_y = r_z*wind_presure_x*pole_size*overload_factor_wind\n", + " pole_moment_z = (r_x*wind_presure_y-r_y*wind_presure_x)*pole_size*overload_factor_wind\n", + " # print([pole_moment_x,pole_moment_y,pole_moment_z])\n", + " return [pole_moment_x,pole_moment_y,pole_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "id": "6b0dcadd", + "metadata": {}, + "outputs": [], + "source": [ + "def norm_cals(x_list):\n", + " norm_all = 0.0\n", + " for x in x_list:\n", + " norm_all += x*x\n", + " return sqrt(norm_all)" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "id": "de17ca7b", + "metadata": {}, + "outputs": [], + "source": [ + "def get_wind_span(pos1, pos2):\n", + " # TODO, only use the distance to represent the wind span for now\n", + " lat1 = pos1[0]*pi/180\n", + " lat2 = pos2[0]*pi/180\n", + " lon1 = pos1[1]*pi/180\n", + " lon2 = pos2[1]*pi/180\n", + " a = sin((lat2-lat1)/2)**2+cos(lat1)*cos(lat2)*sin((lon2-lon1)/2)**2\n", + " return 6371e3*(2*atan2(np.sqrt(a),sqrt(1-a)))" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "id": "c4c686e5", + "metadata": {}, + "outputs": [], + "source": [ + "def wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data,pole_section,pole_config,\\\n", + " cable_config,ice_thickness):\n", + " wire_moment_x = 0.0\n", + " wire_moment_y = 0.0\n", + " wire_moment_z = 0.0\n", + " tension_moment_x = 0.0\n", + " tension_moment_y = 0.0\n", + " tension_moment_z = 0.0\n", + " overload_factor_wire=1.65\n", + " overload_factor_wind=1.75\n", + " if pole_data[pole_key]['tilt_angle'] != 0:\n", + " tilt_direction = pole_data[pole_key]['tilt_direction']\n", + " else:\n", + " tilt_direction = 0\n", + " for section_id in pole_section.keys():\n", + " if pole_section[section_id]['from'] == pole_key or pole_section[section_id]['to'] == pole_key:\n", + " cable_type_id = pole_section[section_id]['cable_type']\n", + " if cable_type_id in cable_config.keys():\n", + " cable_diameter = cable_config[cable_type_id]['diameter']*39.3701 # 39.3701 account for m to inches conversion\n", + " else:\n", + " print(f'warning: cable type not reconginzed and default option is use')\n", + " cable_diameter = cable_config['default']['diameter']*39.3701\n", + " if pole_section[section_id]['from'] == pole_key:\n", + " p0 = [pole_data[pole_section[section_id]['from']]['latitude'],pole_data[pole_section[section_id]['from']]['longitude']]\n", + " p1 = [pole_data[pole_section[section_id]['to']]['latitude'],pole_data[pole_section[section_id]['to']]['longitude']]\n", + " pole_cable_angle = pole_section[section_id]['from_pole_line_angle_z']\n", + " else:\n", + " p1 = [pole_data[pole_section[section_id]['from']]['latitude'],pole_data[pole_section[section_id]['from']]['longitude']]\n", + " p0 = [pole_data[pole_section[section_id]['to']]['latitude'],pole_data[pole_section[section_id]['to']]['longitude']]\n", + " pole_cable_angle = pole_section[section_id]['to_pole_line_angle_z']\n", + " wind_span = get_wind_span(p0,p1) * 3.28084 # 3.28084 counts for m to ft conversion\n", + " cable_height = pole_config['conductor_attach_height']\n", + " section_heading = 180*atan2(p1[0]-p0[0],p1[1]-p0[1])/np.pi\n", + " if wind_direction != None:\n", + " angle_wind_section = wind_direction - section_heading\n", + " else:\n", + " angle_wind_section = 90\n", + " cable_transverse_load_wind = wind_presure*sin(pi*abs(angle_wind_section)/180)*wind_span*(cable_diameter+2*ice_thickness)/12 \n", + " try:\n", + " cable_transverse_load_tension = pole_section[section_id]['tension'] * 0.2248 # 0.2248 account for N to lbs conversion\n", + " except:\n", + " print(f'tension is calculated with cable information and powerflow result')\n", + " raise Exception(f'TODO: tension calculations')\n", + " # TODO\n", + " cable_wind_load = 3*cable_transverse_load_wind*overload_factor_wind # 3 counts for phases ABC\n", + " tension_load = 3*cable_transverse_load_tension*overload_factor_wire\n", + " # print(f'cable_load={cable_load}')\n", + " r_z = pole_height*cos(pi*pole_data[pole_key]['tilt_angle']/180)\n", + " r_x = pole_height*sin(pi*pole_data[pole_key]['tilt_angle']/180)*cos(pi*tilt_direction/180)\n", + " r_y = pole_height*sin(pi*pole_data[pole_key]['tilt_angle']/180)*sin(pi*tilt_direction/180)\n", + " # print(f'{pole_key}: lever arm are [{r_x},{r_y},{r_z}')\n", + " cable_wind_load_z = -cable_wind_load*cos(pi*pole_cable_angle/180)\n", + " cable_wind_load_x = cable_wind_load*sin(pi*pole_cable_angle/180)*cos(pi*section_heading/180)\n", + " cable_wind_load_y = cable_wind_load*sin(pi*pole_cable_angle/180)*sin(pi*section_heading/180)\n", + " tension_load_z = -tension_load*cos(pi*pole_cable_angle/180)\n", + " tension_load_x = tension_load*sin(pi*pole_cable_angle/180)*cos(pi*section_heading/180)\n", + " tension_load_y = tension_load*sin(pi*pole_cable_angle/180)*sin(pi*section_heading/180)\n", + " # print(f'{pole_key}: cable load are [{cable_load_x},{cable_load_y},{cable_load_z}')\n", + " wire_moment_x += r_y*cable_wind_load_z-r_z*cable_wind_load_y\n", + " wire_moment_y += r_z*cable_wind_load_x-r_x*cable_wind_load_z\n", + " wire_moment_z += r_x*cable_wind_load_y-r_y*cable_wind_load_x\n", + " tension_moment_x += r_y*tension_load_z-r_z*tension_load_y\n", + " tension_moment_y += r_z*tension_load_x-r_x*tension_load_z\n", + " tension_moment_z += r_x*tension_load_y-r_y*tension_load_x\n", + " # print(f'{pole_key}: wire moment are [{wire_moment_x},{wire_moment_y},{wire_moment_z}]')\n", + " return [wire_moment_x,wire_moment_y,wire_moment_z],[tension_moment_x,tension_moment_y,tension_moment_z]" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "id": "e08cc50b", + "metadata": {}, + "outputs": [], + "source": [ + "def wind_pressure_failure_cals(resisting_moment,pole_moment_tilt,pole_moment_wind,equipment_moment_wind,wire_moment_wind,tension_moment_wind):\n", + " pole_wind_moment_x = pole_moment_wind[0]+equipment_moment_wind[0]+wire_moment_wind[0]\n", + " pole_wind_moment_y = pole_moment_wind[1]+equipment_moment_wind[1]+wire_moment_wind[1]\n", + " pole_wind_moment_z = pole_moment_wind[2]+equipment_moment_wind[2]+wire_moment_wind[2]\n", + " \n", + " pole_nowind_moment_x = pole_moment_tilt[0]+tension_moment_wind[0]\n", + " pole_nowind_moment_y = pole_moment_tilt[1]+tension_moment_wind[1]\n", + " pole_nowind_moment_z = pole_moment_tilt[2]+tension_moment_wind[2]\n", + " \n", + " pole_wind_moment = norm_cals([pole_wind_moment_x,pole_wind_moment_y,pole_wind_moment_z])\n", + " pole_nowind_moment = norm_cals([pole_nowind_moment_x,pole_nowind_moment_y,pole_nowind_moment_z])\n", + " \n", + " wind_pressure_failure = (resisting_moment - pole_nowind_moment)/pole_wind_moment\n", + " \n", + " return wind_pressure_failure" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "id": "a8014f24", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: wind_pressure_failure is negative\n", + "pole_1: pole_moment_wind = 0.8679351800488609 ft.lb\n", + "pole_1: equipment_moment_wind = 0.08796690135032645 ft.lb\n", + "pole_1: wire_moment_wind = 0.15879194668494792 ft.lb\n", + "pole_1: tension_moment_wind = 776863.9556665377 ft.lb\n", + "pole_1: pole_moment_tilt = 100.04115763562405 ft*lb\n", + "pole_1: total_moment = 776763.5793665104 ft.lb\n", + "pole_1: susceptibility = 0.3554876615756065 ft.lb.s/m\n", + "pole_1: pole_stress = 7138.286998315999%\n", + "pole_1: pole_status = 0\n", + "pole_1: pole failed at 7138.286998315999% stress, time to repair is 8h\n", + "pole_1: down_time = 2021-06-08 00:00:00\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 67.82265319511107 m/s\n", + "pole_2: pole_moment_wind = 2.2325576428199687 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 0.36513616181185143 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 4063.349905955385 ft.lb\n", + "pole_2: susceptibility = 0.8287749444616405 ft.lb.s/m\n", + "pole_2: pole_stress = 37.341294795187466%\n", + "pole_2: pole_status = 1\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 469.83349953428814 m/s\n", + "pole_3: pole_moment_wind = 0.05710012058627924 ft.lb\n", + "pole_3: equipment_moment_wind = 0.011250906286058479 ft.lb\n", + "pole_3: wire_moment_wind = 0.07561573032649176 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 1858.5596575938475 ft.lb\n", + "pole_3: susceptibility = 0.024900000685539946 ft.lb.s/m\n", + "pole_3: pole_stress = 9.628507023463726%\n", + "pole_3: pole_status = 1\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 330.5262072573493 m/s\n", + "pole_4: pole_moment_wind = 0.15748709087669027 ft.lb\n", + "pole_4: equipment_moment_wind = 0.018267683904276185 ft.lb\n", + "pole_4: wire_moment_wind = 0.10225641977935465 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 2892.4261218261086 ft.lb\n", + "pole_4: susceptibility = 0.04733050071732967 ft.lb.s/m\n", + "pole_4: pole_stress = 14.98458503339507%\n", + "pole_4: pole_status = 1\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 163.6469767597633 m/s\n", + "pole_5: pole_moment_wind = 0.257672802433969 ft.lb\n", + "pole_5: equipment_moment_wind = 0.05067391091082763 ft.lb\n", + "pole_5: wire_moment_wind = 0.14250301624110653 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 4317.760888823298 ft.lb\n", + "pole_5: susceptibility = 0.1369924876424697 ft.lb.s/m\n", + "pole_5: pole_stress = 39.679275951198804%\n", + "pole_5: pole_status = 1\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 481.497338456048 m/s\n", + "pole_6: pole_moment_wind = 0.05703919780058577 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 0.07883928849868739 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 1991.3638990616848 ft.lb\n", + "pole_6: susceptibility = 0.023527519774198518 ft.lb.s/m\n", + "pole_6: pole_stress = 10.31651645404305%\n", + "pole_6: pole_status = 1\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 180.44864762473188 m/s\n", + "pole_7: pole_moment_wind = 0.6208744167274849 ft.lb\n", + "pole_7: equipment_moment_wind = 0.02251486382657594 ft.lb\n", + "pole_7: wire_moment_wind = 0.18130861772032608 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 4007.842557869659 ft.lb\n", + "pole_7: susceptibility = 0.1479969821778747 ft.lb.s/m\n", + "pole_7: pole_stress = 20.76314314674414%\n", + "pole_7: pole_status = 1\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 127.4534866271907 m/s\n", + "pole_8: pole_moment_wind = 0.8237048322335169 ft.lb\n", + "pole_8: equipment_moment_wind = 0.02494925677045527 ft.lb\n", + "pole_8: wire_moment_wind = 0.21072609881729507 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 4882.79880086019 ft.lb\n", + "pole_8: susceptibility = 0.24996534631494072 ft.lb.s/m\n", + "pole_8: pole_stress = 33.233562520118554%\n", + "pole_8: pole_status = 1\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 123.18420301016319 m/s\n", + "pole_9: pole_moment_wind = 1.4909663057018672 ft.lb\n", + "pole_9: equipment_moment_wind = 0.031131342481414068 ft.lb\n", + "pole_9: wire_moment_wind = 0.23943116972651624 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 4308.111151612266 ft.lb\n", + "pole_9: susceptibility = 0.3113542782379554 ft.lb.s/m\n", + "pole_9: pole_stress = 22.3187231637554%\n", + "pole_9: pole_status = 1\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 120.73087202758205 m/s\n", + "pole_10: pole_moment_wind = 2.402736153837368 ft.lb\n", + "pole_10: equipment_moment_wind = 0.03662458345309899 ft.lb\n", + "pole_10: wire_moment_wind = 0.32665778598253853 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 2372.5596387091055 ft.lb\n", + "pole_10: susceptibility = 0.37732862599847067 ft.lb.s/m\n", + "pole_10: pole_stress = 9.571126706338582%\n", + "pole_10: pole_status = 1\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 120.01740311255868 m/s\n", + "pole_11: pole_moment_wind = 3.3149779429700765 ft.lb\n", + "pole_11: equipment_moment_wind = 0.03743276102612491 ft.lb\n", + "pole_11: wire_moment_wind = 0.34129127580077206 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 1435.290251095867 ft.lb\n", + "pole_11: susceptibility = 0.40286358745155126 ft.lb.s/m\n", + "pole_11: pole_stress = 4.59636380453402%\n", + "pole_11: pole_status = 1\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 109.16614028994732 m/s\n", + "pole_12: pole_moment_wind = 5.456970177020265 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 0.3717452569240449 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 7861.851325012371 ft.lb\n", + "pole_12: susceptibility = 0.42548866479864106 ft.lb.s/m\n", + "pole_12: pole_stress = 16.634344772510843%\n", + "pole_12: pole_status = 1\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: wind_pressure_failure is negative\n", + "pole_13: pole_moment_wind = 6.994362612736516 ft.lb\n", + "pole_13: equipment_moment_wind = 0.0 ft.lb\n", + "pole_13: wire_moment_wind = 0.4137335764962108 ft.lb\n", + "pole_13: tension_moment_wind = 473177.953064816 ft.lb\n", + "pole_13: pole_moment_tilt = 2318.077089265335 ft*lb\n", + "pole_13: total_moment = 473903.27205870324 ft.lb\n", + "pole_13: susceptibility = 0.48907532108521057 ft.lb.s/m\n", + "pole_13: pole_stress = 1002.6989942134362%\n", + "pole_13: pole_status = 0\n", + "pole_13: pole failed at 1002.6989942134362% stress, time to repair is 8h\n", + "pole_13: down_time = 2021-06-08 00:00:00\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: wind_pressure_failure is negative\n", + "pole_14: pole_moment_wind = 6.986900000571375 ft.lb\n", + "pole_14: equipment_moment_wind = 0.0 ft.lb\n", + "pole_14: wire_moment_wind = 0.4823416937609407 ft.lb\n", + "pole_14: tension_moment_wind = 177792.93112583933 ft.lb\n", + "pole_14: pole_moment_tilt = 3089.6709494248894 ft*lb\n", + "pole_14: total_moment = 178322.95207060268 ft.lb\n", + "pole_14: susceptibility = 0.5490530352391625 ft.lb.s/m\n", + "pole_14: pole_stress = 377.30113976553275%\n", + "pole_14: pole_status = 0\n", + "pole_14: pole failed at 377.30113976553275% stress, time to repair is 8h\n", + "pole_14: down_time = 2021-06-08 00:00:00\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 84.56323381186057 m/s\n", + "pole_15: pole_moment_wind = 8.272827494296838 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 0.0737409832104786 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 13599.953054880241 ft.lb\n", + "pole_15: susceptibility = 0.6058949946381065 ft.lb.s/m\n", + "pole_15: pole_stress = 28.77519539006088%\n", + "pole_15: pole_status = 1\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 87.11142762971085 m/s\n", + "pole_16: pole_moment_wind = 10.010931799819287 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 0.08714052648109619 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 13164.061714464791 ft.lb\n", + "pole_16: susceptibility = 0.6164649676401288 ft.lb.s/m\n", + "pole_16: pole_stress = 23.089474221220474%\n", + "pole_16: pole_status = 1\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 100.27526480711259 m/s\n", + "pole_17: pole_moment_wind = 10.62899551559684 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 0.0037208181559365517 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 6714.716930926665 ft.lb\n", + "pole_17: susceptibility = 0.5451410623877944 ft.lb.s/m\n", + "pole_17: pole_stress = 9.871644998207783%\n", + "pole_17: pole_status = 1\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: wind_pressure_failure is negative\n", + "pole_18: pole_moment_wind = 1.0286196249398323 ft.lb\n", + "pole_18: equipment_moment_wind = 0.0 ft.lb\n", + "pole_18: wire_moment_wind = 0.46637094616793695 ft.lb\n", + "pole_18: tension_moment_wind = 1236327.3863373229 ft.lb\n", + "pole_18: pole_moment_tilt = 200.05184176551182 ft*lb\n", + "pole_18: total_moment = 1236133.677984255 ft.lb\n", + "pole_18: susceptibility = 0.41308186394461943 ft.lb.s/m\n", + "pole_18: pole_stress = 11359.79749324995%\n", + "pole_18: pole_status = 0\n", + "pole_18: pole failed at 11359.79749324995% stress, time to repair is 8h\n", + "pole_18: down_time = 2021-06-08 00:00:00\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: wind_pressure_failure is negative\n", + "pole_19: pole_moment_wind = 2.2335782489973566 ft.lb\n", + "pole_19: equipment_moment_wind = 0.0 ft.lb\n", + "pole_19: wire_moment_wind = 0.29505716207804555 ft.lb\n", + "pole_19: tension_moment_wind = 417618.7132787921 ft.lb\n", + "pole_19: pole_moment_tilt = 187.86878573822952 ft*lb\n", + "pole_19: total_moment = 417787.7087976213 ft.lb\n", + "pole_19: susceptibility = 0.6445758570333661 ft.lb.s/m\n", + "pole_19: pole_stress = 3839.3774489253174%\n", + "pole_19: pole_status = 0\n", + "pole_19: pole failed at 3839.3774489253174% stress, time to repair is 8h\n", + "pole_19: down_time = 2021-06-08 00:00:00\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: wind_pressure_failure is negative\n", + "pole_20: pole_moment_wind = 0.04822437572282554 ft.lb\n", + "pole_20: equipment_moment_wind = 0.0 ft.lb\n", + "pole_20: wire_moment_wind = 0.06413047726835144 ft.lb\n", + "pole_20: tension_moment_wind = 91644.73049070181 ft.lb\n", + "pole_20: pole_moment_tilt = 0.0 ft*lb\n", + "pole_20: total_moment = 91644.74875277911 ft.lb\n", + "pole_20: susceptibility = 0.004125910305191402 ft.lb.s/m\n", + "pole_20: pole_stress = 474.7773919574307%\n", + "pole_20: pole_status = 0\n", + "pole_20: pole failed at 474.7773919574307% stress, time to repair is 8h\n", + "pole_20: down_time = 2021-06-08 00:00:00\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: wind_pressure_failure is negative\n", + "pole_21: pole_moment_wind = 0.1390484961826145 ft.lb\n", + "pole_21: equipment_moment_wind = 0.0 ft.lb\n", + "pole_21: wire_moment_wind = 0.10777061253512434 ft.lb\n", + "pole_21: tension_moment_wind = 116162.54632673286 ft.lb\n", + "pole_21: pole_moment_tilt = 33.984928061478584 ft*lb\n", + "pole_21: total_moment = 116171.82503141374 ft.lb\n", + "pole_21: susceptibility = 0.029356476630060364 ft.lb.s/m\n", + "pole_21: pole_stress = 601.8430609279944%\n", + "pole_21: pole_status = 0\n", + "pole_21: pole failed at 601.8430609279944% stress, time to repair is 8h\n", + "pole_21: down_time = 2021-06-08 00:00:00\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: wind_pressure_failure is negative\n", + "pole_22: pole_moment_wind = 0.25849950377982855 ft.lb\n", + "pole_22: equipment_moment_wind = 0.0 ft.lb\n", + "pole_22: wire_moment_wind = 0.07046403477451701 ft.lb\n", + "pole_22: tension_moment_wind = 144987.9710886359 ft.lb\n", + "pole_22: pole_moment_tilt = 73.20903400076115 ft*lb\n", + "pole_22: total_moment = 144949.4848109023 ft.lb\n", + "pole_22: susceptibility = 0.07279713637497873 ft.lb.s/m\n", + "pole_22: pole_stress = 1332.0539869828972%\n", + "pole_22: pole_status = 0\n", + "pole_22: pole failed at 1332.0539869828972% stress, time to repair is 8h\n", + "pole_22: down_time = 2021-06-08 00:00:00\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: wind_pressure_failure is negative\n", + "pole_23: pole_moment_wind = 0.06481995866928517 ft.lb\n", + "pole_23: equipment_moment_wind = 0.0 ft.lb\n", + "pole_23: wire_moment_wind = 0.07609709771835296 ft.lb\n", + "pole_23: tension_moment_wind = 124987.82152296124 ft.lb\n", + "pole_23: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_23: total_moment = 124931.78480878724 ft.lb\n", + "pole_23: susceptibility = 0.02127388978879425 ft.lb.s/m\n", + "pole_23: pole_stress = 647.2251577022764%\n", + "pole_23: pole_status = 0\n", + "pole_23: pole failed at 647.2251577022764% stress, time to repair is 8h\n", + "pole_23: down_time = 2021-06-08 00:00:00\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: wind_pressure_failure is negative\n", + "pole_24: pole_moment_wind = 0.7353704146473324 ft.lb\n", + "pole_24: equipment_moment_wind = 0.0 ft.lb\n", + "pole_24: wire_moment_wind = 0.26947539131176723 ft.lb\n", + "pole_24: tension_moment_wind = 181294.63980884358 ft.lb\n", + "pole_24: pole_moment_tilt = 412.9563668850881 ft*lb\n", + "pole_24: total_moment = 181012.09255190077 ft.lb\n", + "pole_24: susceptibility = 0.1759307441699893 ft.lb.s/m\n", + "pole_24: pole_stress = 937.7563950377722%\n", + "pole_24: pole_status = 0\n", + "pole_24: pole failed at 937.7563950377722% stress, time to repair is 8h\n", + "pole_24: down_time = 2021-06-08 00:00:00\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: wind_pressure_failure is negative\n", + "pole_25: pole_moment_wind = 0.8210705606645529 ft.lb\n", + "pole_25: equipment_moment_wind = 0.0 ft.lb\n", + "pole_25: wire_moment_wind = 0.4994724843281836 ft.lb\n", + "pole_25: tension_moment_wind = 38555.64904279871 ft.lb\n", + "pole_25: pole_moment_tilt = 551.5211842534965 ft*lb\n", + "pole_25: total_moment = 38611.08315768006 ft.lb\n", + "pole_25: susceptibility = 0.309878667399565 ft.lb.s/m\n", + "pole_25: pole_stress = 262.79678897770714%\n", + "pole_25: pole_status = 0\n", + "pole_25: pole failed at 262.79678897770714% stress, time to repair is 8h\n", + "pole_25: down_time = 2021-06-08 00:00:00\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 107.65279699450174 m/s\n", + "pole_26: pole_moment_wind = 1.2546100559847093 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 0.584907798133659 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 7198.406336349667 ft.lb\n", + "pole_26: susceptibility = 0.32914117314962543 ft.lb.s/m\n", + "pole_26: pole_stress = 37.29226860386039%\n", + "pole_26: pole_status = 1\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 100.21377467312635 m/s\n", + "pole_27: pole_moment_wind = 2.1136776984392998 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 0.7311211529690704 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 8962.449762865994 ft.lb\n", + "pole_27: susceptibility = 0.3866691247182316 ft.lb.s/m\n", + "pole_27: pole_stress = 36.155357648357096%\n", + "pole_27: pole_status = 1\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 102.70624286974834 m/s\n", + "pole_28: pole_moment_wind = 3.3134632044700867 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 0.7799318590510208 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 7520.265175431168 ft.lb\n", + "pole_28: susceptibility = 0.4377345635575737 ft.lb.s/m\n", + "pole_28: pole_stress = 24.08284639741537%\n", + "pole_28: pole_status = 1\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 110.77422543916627 m/s\n", + "pole_29: pole_moment_wind = 6.1975750640834795 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 0.34887100339754185 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 1857.3263737005745 ft.lb\n", + "pole_29: susceptibility = 0.47613455714896263 ft.lb.s/m\n", + "pole_29: pole_stress = 3.929787778728321%\n", + "pole_29: pole_status = 1\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: wind_pressure_failure is negative\n", + "pole_30: pole_moment_wind = 8.30442835134919 ft.lb\n", + "pole_30: equipment_moment_wind = 0.0 ft.lb\n", + "pole_30: wire_moment_wind = 2.4070621031728776 ft.lb\n", + "pole_30: tension_moment_wind = 1107897.730511574 ft.lb\n", + "pole_30: pole_moment_tilt = 0.0 ft*lb\n", + "pole_30: total_moment = 1107900.4757953268 ft.lb\n", + "pole_30: susceptibility = 0.5241643658079941 ft.lb.s/m\n", + "pole_30: pole_stress = 2344.129610970387%\n", + "pole_30: pole_status = 0\n", + "pole_30: pole failed at 2344.129610970387% stress, time to repair is 8h\n", + "pole_30: down_time = 2021-06-08 00:00:00\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: wind_pressure_failure is negative\n", + "pole_31: pole_moment_wind = 7.002894561045936 ft.lb\n", + "pole_31: equipment_moment_wind = 0.0 ft.lb\n", + "pole_31: wire_moment_wind = 1.691429832403802 ft.lb\n", + "pole_31: tension_moment_wind = 73736.46492035208 ft.lb\n", + "pole_31: pole_moment_tilt = 773.0062927868681 ft*lb\n", + "pole_31: total_moment = 74351.55946939938 ft.lb\n", + "pole_31: susceptibility = 0.6153601148920187 ft.lb.s/m\n", + "pole_31: pole_stress = 157.31529679949608%\n", + "pole_31: pole_status = 0\n", + "pole_31: pole failed at 157.31529679949608% stress, time to repair is 8h\n", + "pole_31: down_time = 2021-06-08 00:00:00\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: wind_pressure_failure is negative\n", + "pole_32: pole_moment_wind = 6.999694674293905 ft.lb\n", + "pole_32: equipment_moment_wind = 0.0 ft.lb\n", + "pole_32: wire_moment_wind = 0.9028607479180222 ft.lb\n", + "pole_32: tension_moment_wind = 863375.3936365839 ft.lb\n", + "pole_32: pole_moment_tilt = 1545.7771203686734 ft*lb\n", + "pole_32: total_moment = 863419.5454623897 ft.lb\n", + "pole_32: susceptibility = 0.5723600192609416 ft.lb.s/m\n", + "pole_32: pole_stress = 1826.8494033780764%\n", + "pole_32: pole_status = 0\n", + "pole_32: pole failed at 1826.8494033780764% stress, time to repair is 8h\n", + "pole_32: down_time = 2021-06-08 00:00:00\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 97.53897471110801 m/s\n", + "pole_33: pole_moment_wind = 8.828082738253148 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 0.1797397682370325 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 8020.185881243726 ft.lb\n", + "pole_33: susceptibility = 0.549287843949321 ft.lb.s/m\n", + "pole_33: pole_stress = 14.067229337803383%\n", + "pole_33: pole_status = 1\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 102.92259915351141 m/s\n", + "pole_34: pole_moment_wind = 10.617654943820723 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 0.15136078101837627 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 2810.077982323064 ft.lb\n", + "pole_34: susceptibility = 0.5503698770074641 ft.lb.s/m\n", + "pole_34: pole_stress = 4.131237778767395%\n", + "pole_34: pole_status = 1\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: wind_pressure_failure is negative\n", + "pole_35: pole_moment_wind = 1.1639528750632042 ft.lb\n", + "pole_35: equipment_moment_wind = 0.0 ft.lb\n", + "pole_35: wire_moment_wind = 0.2914950555889729 ft.lb\n", + "pole_35: tension_moment_wind = 179532.78397585955 ft.lb\n", + "pole_35: pole_moment_tilt = 499.59651297380145 ft*lb\n", + "pole_35: total_moment = 179085.3580417394 ft.lb\n", + "pole_35: susceptibility = 0.31137555492304814 ft.lb.s/m\n", + "pole_35: pole_stress = 1645.755178095094%\n", + "pole_35: pole_status = 0\n", + "pole_35: pole failed at 1645.755178095094% stress, time to repair is 8h\n", + "pole_35: down_time = 2021-06-08 00:00:00\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: wind_pressure_failure is negative\n", + "pole_36: pole_moment_wind = 2.6422512777159786 ft.lb\n", + "pole_36: equipment_moment_wind = 0.0 ft.lb\n", + "pole_36: wire_moment_wind = 0.6246303415462684 ft.lb\n", + "pole_36: tension_moment_wind = 546907.6528352136 ft.lb\n", + "pole_36: pole_moment_tilt = 750.9029810177472 ft*lb\n", + "pole_36: total_moment = 547421.3607472577 ft.lb\n", + "pole_36: susceptibility = 0.7163629326481604 ft.lb.s/m\n", + "pole_36: pole_stress = 5030.682289725128%\n", + "pole_36: pole_status = 0\n", + "pole_36: pole failed at 5030.682289725128% stress, time to repair is 8h\n", + "pole_36: down_time = 2021-06-08 00:00:00\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: wind_pressure_failure is negative\n", + "pole_37: pole_moment_wind = 0.04815828589191502 ft.lb\n", + "pole_37: equipment_moment_wind = 0.0 ft.lb\n", + "pole_37: wire_moment_wind = 0.25502409096893713 ft.lb\n", + "pole_37: tension_moment_wind = 278813.1451447642 ft.lb\n", + "pole_37: pole_moment_tilt = 56.35052699396653 ft*lb\n", + "pole_37: total_moment = 278869.7348407457 ft.lb\n", + "pole_37: susceptibility = 0.05438698029510233 ft.lb.s/m\n", + "pole_37: pole_stress = 1444.7204799558626%\n", + "pole_37: pole_status = 0\n", + "pole_37: pole failed at 1444.7204799558626% stress, time to repair is 8h\n", + "pole_37: down_time = 2021-06-08 00:00:00\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 61.61589811470853 m/s\n", + "pole_2: pole_moment_wind = 5403.349565563203 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 2568.38470563198 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 11532.993886910272 ft.lb\n", + "pole_2: susceptibility = 50.207731735848604 ft.lb.s/m\n", + "pole_2: pole_stress = 105.98568535065755%\n", + "pole_2: pole_status = 0\n", + "pole_2: pole failed at 105.98568535065755% stress, time to repair is 8h\n", + "pole_2: down_time = 2021-06-08 01:00:00\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 336.7066658340141 m/s\n", + "pole_3: pole_moment_wind = 130.3126003390427 ft.lb\n", + "pole_3: equipment_moment_wind = 25.676563188545416 ft.lb\n", + "pole_3: wire_moment_wind = 534.1956017807879 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 2310.8493197841403 ft.lb\n", + "pole_3: susceptibility = 2.424118763072194 ft.lb.s/m\n", + "pole_3: pole_stress = 11.971651711472955%\n", + "pole_3: pole_status = 1\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 258.9186165581047 m/s\n", + "pole_4: pole_moment_wind = 374.61627388021947 ft.lb\n", + "pole_4: equipment_moment_wind = 43.45354046827781 ft.lb\n", + "pole_4: wire_moment_wind = 720.1996034487822 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 3305.043441978166 ft.lb\n", + "pole_4: susceptibility = 3.8565267487327897 ft.lb.s/m\n", + "pole_4: pole_stress = 17.122202057876436%\n", + "pole_4: pole_status = 1\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 131.53401083605326 m/s\n", + "pole_5: pole_moment_wind = 655.2487987674558 ft.lb\n", + "pole_5: equipment_moment_wind = 128.861171763278 ft.lb\n", + "pole_5: wire_moment_wind = 1004.5247565636035 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 4218.335517380173 ft.lb\n", + "pole_5: susceptibility = 10.602459033808401 ft.lb.s/m\n", + "pole_5: pole_stress = 38.765578585452054%\n", + "pole_5: pole_status = 1\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 333.910087102845 m/s\n", + "pole_6: pole_moment_wind = 154.02343774616347 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 557.0783176557106 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 1510.6978143541787 ft.lb\n", + "pole_6: susceptibility = 2.4461036483646823 ft.lb.s/m\n", + "pole_6: pole_stress = 7.826364064456202%\n", + "pole_6: pole_status = 1\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 151.8719370284799 m/s\n", + "pole_7: pole_moment_wind = 1680.0381954900108 ft.lb\n", + "pole_7: equipment_moment_wind = 60.92348174736685 ft.lb\n", + "pole_7: wire_moment_wind = 1280.601500195323 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 2193.4969355288217 ft.lb\n", + "pole_7: susceptibility = 10.446602335234527 ft.lb.s/m\n", + "pole_7: pole_stress = 11.363692611852018%\n", + "pole_7: pole_status = 1\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 110.79148845379319 m/s\n", + "pole_8: pole_moment_wind = 1993.5723324838648 ft.lb\n", + "pole_8: equipment_moment_wind = 60.3834602727143 ft.lb\n", + "pole_8: wire_moment_wind = 1498.6244440128085 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 3349.1488272775323 ft.lb\n", + "pole_8: susceptibility = 16.540188560403607 ft.lb.s/m\n", + "pole_8: pole_stress = 22.79515324712979%\n", + "pole_8: pole_status = 1\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 114.72195736421706 m/s\n", + "pole_9: pole_moment_wind = 3402.649492137734 ft.lb\n", + "pole_9: equipment_moment_wind = 71.04724384370557 ft.lb\n", + "pole_9: wire_moment_wind = 1690.3837994333137 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 6631.385302126562 ft.lb\n", + "pole_9: susceptibility = 17.949062983601205 ft.lb.s/m\n", + "pole_9: pole_stress = 34.35474330669723%\n", + "pole_9: pole_status = 1\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 113.57765339052564 m/s\n", + "pole_10: pole_moment_wind = 5715.414895641261 ft.lb\n", + "pole_10: equipment_moment_wind = 87.11929917073485 ft.lb\n", + "pole_10: wire_moment_wind = 2289.061952771395 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 7407.915968410879 ft.lb\n", + "pole_10: susceptibility = 21.317714933932706 ft.lb.s/m\n", + "pole_10: pole_stress = 29.884223438171098%\n", + "pole_10: pole_status = 1\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 112.49110482963911 m/s\n", + "pole_11: pole_moment_wind = 8429.81989000715 ft.lb\n", + "pole_11: equipment_moment_wind = 95.18960272573993 ft.lb\n", + "pole_11: wire_moment_wind = 2389.6387982106216 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 11239.108286203042 ft.lb\n", + "pole_11: susceptibility = 22.928735612290687 ft.lb.s/m\n", + "pole_11: pole_stress = 35.99204445407439%\n", + "pole_11: pole_status = 1\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 101.48218488698416 m/s\n", + "pole_12: pole_moment_wind = 14735.503631755488 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 2599.6273937246788 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 19783.107209483936 ft.lb\n", + "pole_12: susceptibility = 24.618086446253805 ft.lb.s/m\n", + "pole_12: pole_stress = 41.857701499281774%\n", + "pole_12: pole_status = 1\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 84.53144549272591 m/s\n", + "pole_15: pole_moment_wind = 18880.05930406383 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 1821.1744871815845 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 33130.69194627581 ft.lb\n", + "pole_15: susceptibility = 30.31753889019265 ft.lb.s/m\n", + "pole_15: pole_stress = 70.09892830621965%\n", + "pole_15: pole_status = 1\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 87.10893787149129 m/s\n", + "pole_16: pole_moment_wind = 23813.113494195462 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 1728.7606467803855 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 32571.582708340393 ft.lb\n", + "pole_16: susceptibility = 30.825010394828972 ft.lb.s/m\n", + "pole_16: pole_stress = 57.129838464841356%\n", + "pole_16: pole_status = 1\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 97.76375431130319 m/s\n", + "pole_17: pole_moment_wind = 27028.993661386732 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 1257.1093233954448 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 28247.43388146516 ft.lb\n", + "pole_17: susceptibility = 28.6754864332814 ft.lb.s/m\n", + "pole_17: pole_stress = 41.5279813366143%\n", + "pole_17: pole_status = 1\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 93.0386864000493 m/s\n", + "pole_26: pole_moment_wind = 3036.471072878303 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 3230.6292159480017 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 13075.782077419304 ft.lb\n", + "pole_26: susceptibility = 22.03310545131718 ft.lb.s/m\n", + "pole_26: pole_stress = 67.74076853293346%\n", + "pole_26: pole_status = 1\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 89.67316614125546 m/s\n", + "pole_27: pole_moment_wind = 4823.78731137836 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 4166.254334695312 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 13173.418872855655 ft.lb\n", + "pole_27: susceptibility = 24.145674022770365 ft.lb.s/m\n", + "pole_27: pole_stress = 53.142799502555484%\n", + "pole_27: pole_status = 1\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 94.90243650987756 m/s\n", + "pole_28: pole_moment_wind = 7881.771340037607 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 4475.728180537946 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 15275.09707525315 ft.lb\n", + "pole_28: susceptibility = 25.634202099623344 ft.lb.s/m\n", + "pole_28: pole_stress = 48.91686768849065%\n", + "pole_28: pole_status = 1\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 107.53413617358174 m/s\n", + "pole_29: pole_moment_wind = 15760.117395597057 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 1995.2129776139216 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 15916.025793651519 ft.lb\n", + "pole_29: susceptibility = 25.262972536648746 ft.lb.s/m\n", + "pole_29: pole_stress = 33.675612717003176%\n", + "pole_29: pole_status = 1\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 97.04583249673396 m/s\n", + "pole_33: pole_moment_wind = 20147.250230263435 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 2860.88984010032 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 16158.184582858219 ft.lb\n", + "pole_33: susceptibility = 27.744224162251783 ft.lb.s/m\n", + "pole_33: pole_stress = 28.341099766926707%\n", + "pole_33: pole_status = 1\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 102.61422023579405 m/s\n", + "pole_34: pole_moment_wind = 25256.33250482963 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 2232.915627810751 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 24804.300531616438 ft.lb\n", + "pole_34: susceptibility = 27.684140964200584 ft.lb.s/m\n", + "pole_34: pole_stress = 36.46605684138382%\n", + "pole_34: pole_status = 1\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 281.6377295432918 m/s\n", + "pole_3: pole_moment_wind = 481.5828589191502 ft.lb\n", + "pole_3: equipment_moment_wind = 94.89023068671851 ft.lb\n", + "pole_3: wire_moment_wind = 3371.78932116535 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 5150.201800670722 ft.lb\n", + "pole_3: susceptibility = 6.929559819986464 ft.lb.s/m\n", + "pole_3: pole_stress = 26.6812819310911%\n", + "pole_3: pole_status = 1\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 223.82796556010794 m/s\n", + "pole_4: pole_moment_wind = 1387.3091042408246 ft.lb\n", + "pole_4: equipment_moment_wind = 160.92064468724624 ft.lb\n", + "pole_4: wire_moment_wind = 4542.710978641172 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 7025.060298093478 ft.lb\n", + "pole_4: susceptibility = 10.32105767030235 ft.lb.s/m\n", + "pole_4: pole_stress = 36.39422718774564%\n", + "pole_4: pole_status = 1\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 115.37573104792776 m/s\n", + "pole_5: pole_moment_wind = 2576.7280243396895 ft.lb\n", + "pole_5: equipment_moment_wind = 506.7391091082762 ft.lb\n", + "pole_5: wire_moment_wind = 6337.341081692605 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 8667.397020875 ft.lb\n", + "pole_5: susceptibility = 27.560290655283044 ft.lb.s/m\n", + "pole_5: pole_stress = 79.65147839940336%\n", + "pole_5: pole_status = 1\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 276.91029242642304 m/s\n", + "pole_6: pole_moment_wind = 647.5079922776173 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 3516.377789332811 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 2644.2926429516647 ft.lb\n", + "pole_6: susceptibility = 7.11353925231478 ft.lb.s/m\n", + "pole_6: pole_stress = 13.699097675301788%\n", + "pole_6: pole_status = 1\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 136.75037238074827 m/s\n", + "pole_7: pole_moment_wind = 7361.558537121225 ft.lb\n", + "pole_7: equipment_moment_wind = 266.95332187829666 ft.lb\n", + "pole_7: wire_moment_wind = 8082.642320585525 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 11296.346741101468 ft.lb\n", + "pole_7: susceptibility = 25.769327660694067 ft.lb.s/m\n", + "pole_7: pole_stress = 58.52217521873382%\n", + "pole_7: pole_status = 1\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 100.73733553495886 m/s\n", + "pole_8: pole_moment_wind = 8237.048322335168 ft.lb\n", + "pole_8: equipment_moment_wind = 249.49256770455267 ft.lb\n", + "pole_8: wire_moment_wind = 9473.219447736727 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 13435.908994874246 ft.lb\n", + "pole_8: susceptibility = 40.01311170332105 ft.lb.s/m\n", + "pole_8: pole_stress = 91.44819186838369%\n", + "pole_8: pole_status = 1\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 108.75771160598212 m/s\n", + "pole_9: pole_moment_wind = 12574.82136079 ft.lb\n", + "pole_9: equipment_moment_wind = 262.5619834118727 ft.lb\n", + "pole_9: wire_moment_wind = 10667.971250996532 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 23009.271568364475 ft.lb\n", + "pole_9: susceptibility = 39.94337446299953 ft.lb.s/m\n", + "pole_9: pole_stress = 119.2024867189902%\n", + "pole_9: pole_status = 0\n", + "pole_9: pole failed at 119.2024867189902% stress, time to repair is 8h\n", + "pole_9: down_time = 2021-06-08 02:00:00\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 109.35733859939592 m/s\n", + "pole_10: pole_moment_wind = 21165.783955696475 ft.lb\n", + "pole_10: equipment_moment_wind = 322.62719300145795 ft.lb\n", + "pole_10: wire_moment_wind = 14421.934605566528 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 31980.536984947204 ft.lb\n", + "pole_10: susceptibility = 45.98969871127001 ft.lb.s/m\n", + "pole_10: pole_stress = 129.01246679987293%\n", + "pole_10: pole_status = 0\n", + "pole_10: pole failed at 129.01246679987293% stress, time to repair is 8h\n", + "pole_10: down_time = 2021-06-08 02:00:00\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 108.70148150733927 m/s\n", + "pole_11: pole_moment_wind = 33149.77942970077 ft.lb\n", + "pole_11: equipment_moment_wind = 374.32761026124905 ft.lb\n", + "pole_11: wire_moment_wind = 15052.79788760765 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 45027.94553376406 ft.lb\n", + "pole_11: susceptibility = 49.11063394642817 ft.lb.s/m\n", + "pole_11: pole_stress = 144.19718860760148%\n", + "pole_11: pole_status = 0\n", + "pole_11: pole failed at 144.19718860760148% stress, time to repair is 8h\n", + "pole_11: down_time = 2021-06-08 02:00:00\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 97.22637081370581 m/s\n", + "pole_12: pole_moment_wind = 61947.4315819522 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 16370.9253380646 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 73613.20336618127 ft.lb\n", + "pole_12: susceptibility = 53.640862919129674 ft.lb.s/m\n", + "pole_12: pole_stress = 155.7530604408992%\n", + "pole_12: pole_status = 0\n", + "pole_12: pole failed at 155.7530604408992% stress, time to repair is 8h\n", + "pole_12: down_time = 2021-06-08 02:00:00\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 82.66839294164907 m/s\n", + "pole_15: pole_moment_wind = 69773.09110982441 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 17711.29148548907 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 99220.15950372534 ft.lb\n", + "pole_15: susceptibility = 63.398873293498966 ft.lb.s/m\n", + "pole_15: pole_stress = 209.93303909443858%\n", + "pole_15: pole_status = 0\n", + "pole_15: pole failed at 209.93303909443858% stress, time to repair is 8h\n", + "pole_15: down_time = 2021-06-08 02:00:00\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 86.64211321194857 m/s\n", + "pole_16: pole_moment_wind = 88186.63644436454 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 16892.703327328665 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 109746.90660407387 ft.lb\n", + "pole_16: susceptibility = 62.31614678858839 ft.lb.s/m\n", + "pole_16: pole_stress = 192.49365627852336%\n", + "pole_16: pole_status = 0\n", + "pole_16: pole failed at 192.49365627852336% stress, time to repair is 8h\n", + "pole_16: down_time = 2021-06-08 02:00:00\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 96.36300929465098 m/s\n", + "pole_17: pole_moment_wind = 106289.95515596839 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 12342.438475241139 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 115866.6142171731 ft.lb\n", + "pole_17: susceptibility = 59.03041321052927 ft.lb.s/m\n", + "pole_17: pole_stress = 170.3413702263661%\n", + "pole_17: pole_status = 0\n", + "pole_17: pole failed at 170.3413702263661% stress, time to repair is 8h\n", + "pole_17: down_time = 2021-06-08 02:00:00\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 84.7106908397365 m/s\n", + "pole_26: pole_moment_wind = 12546.100559847093 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 19115.30757747903 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 36323.42636997692 ft.lb\n", + "pole_26: susceptibility = 53.15650291171114 ft.lb.s/m\n", + "pole_26: pole_stress = 188.17817576669867%\n", + "pole_26: pole_status = 0\n", + "pole_26: pole failed at 188.17817576669867% stress, time to repair is 8h\n", + "pole_26: down_time = 2021-06-08 02:00:00\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 83.17020107225989 m/s\n", + "pole_27: pole_moment_wind = 17826.774066264305 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 24883.12978049382 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 41476.2621592073 ft.lb\n", + "pole_27: susceptibility = 56.13824528907207 ft.lb.s/m\n", + "pole_27: pole_stress = 167.3191071593381%\n", + "pole_27: pole_status = 0\n", + "pole_27: pole failed at 167.3191071593381% stress, time to repair is 8h\n", + "pole_27: down_time = 2021-06-08 02:00:00\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 90.3523308048498 m/s\n", + "pole_28: pole_moment_wind = 29188.40931367222 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 26786.452938418664 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 53692.63195988619 ft.lb\n", + "pole_28: susceptibility = 56.562136279623864 ft.lb.s/m\n", + "pole_28: pole_stress = 171.94492188751275%\n", + "pole_28: pole_status = 0\n", + "pole_28: pole failed at 171.94492188751275% stress, time to repair is 8h\n", + "pole_28: down_time = 2021-06-08 02:00:00\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 106.89544628095086 m/s\n", + "pole_29: pole_moment_wind = 61975.75064083479 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 11929.11191826249 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 67897.18698818731 ft.lb\n", + "pole_29: susceptibility = 51.131524035574174 ft.lb.s/m\n", + "pole_29: pole_stress = 143.658938684314%\n", + "pole_29: pole_status = 0\n", + "pole_29: pole failed at 143.658938684314% stress, time to repair is 8h\n", + "pole_29: down_time = 2021-06-08 02:00:00\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 96.41105520065715 m/s\n", + "pole_33: pole_moment_wind = 74456.11813443956 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 20309.861379723417 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 84143.49744418928 ft.lb\n", + "pole_33: susceptibility = 56.22153358864988 ft.lb.s/m\n", + "pole_33: pole_stress = 147.58584069733894%\n", + "pole_33: pole_status = 0\n", + "pole_33: pole failed at 147.58584069733894% stress, time to repair is 8h\n", + "pole_33: down_time = 2021-06-08 02:00:00\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 103.83411357316493 m/s\n", + "pole_34: pole_moment_wind = 93531.28111804041 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 15741.039181464172 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 103234.28933644034 ft.lb\n", + "pole_34: susceptibility = 54.074937579876476 ft.lb.s/m\n", + "pole_34: pole_stress = 151.76995046177868%\n", + "pole_34: pole_status = 0\n", + "pole_34: pole failed at 151.76995046177868% stress, time to repair is 8h\n", + "pole_34: down_time = 2021-06-08 02:00:00\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 253.48807084218456 m/s\n", + "pole_3: pole_moment_wind = 1048.9961976583018 ft.lb\n", + "pole_3: equipment_moment_wind = 206.69234658536266 ft.lb\n", + "pole_3: wire_moment_wind = 9848.282321521223 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 11846.611424734552 ft.lb\n", + "pole_3: susceptibility = 12.831089191928966 ft.lb.s/m\n", + "pole_3: pole_stress = 61.372892089444576%\n", + "pole_3: pole_status = 1\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 205.16594909845975 m/s\n", + "pole_4: pole_moment_wind = 2849.4768398436963 ft.lb\n", + "pole_4: equipment_moment_wind = 330.52450148804485 ft.lb\n", + "pole_4: wire_moment_wind = 13263.851919324792 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 16306.917935771322 ft.lb\n", + "pole_4: susceptibility = 18.4261071017325 ft.lb.s/m\n", + "pole_4: pole_stress = 84.48008286098965%\n", + "pole_4: pole_status = 1\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 106.80346280475813 m/s\n", + "pole_5: pole_moment_wind = 5516.362143186756 ft.lb\n", + "pole_5: equipment_moment_wind = 1084.8472991919332 ft.lb\n", + "pole_5: wire_moment_wind = 18505.58358457519 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 22017.49307886111 ft.lb\n", + "pole_5: susceptibility = 48.24289003302098 ft.lb.s/m\n", + "pole_5: pole_stress = 202.3359343244755%\n", + "pole_5: pole_status = 0\n", + "pole_5: pole failed at 202.3359343244755% stress, time to repair is 8h\n", + "pole_5: down_time = 2021-06-08 03:00:00\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 248.20397981930552 m/s\n", + "pole_6: pole_moment_wind = 1481.9218292037829 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 10270.81568877681 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 9517.925677292034 ft.lb\n", + "pole_6: susceptibility = 13.281211905446368 ft.lb.s/m\n", + "pole_6: pole_stress = 49.30883647353924%\n", + "pole_6: pole_status = 1\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 128.92135810126558 m/s\n", + "pole_7: pole_moment_wind = 17890.632005712505 ft.lb\n", + "pole_7: equipment_moment_wind = 648.7707216269438 ft.lb\n", + "pole_7: wire_moment_wind = 23607.134827740912 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 33119.03505960072 ft.lb\n", + "pole_7: susceptibility = 43.49122477782279 ft.lb.s/m\n", + "pole_7: pole_stress = 171.577415004557%\n", + "pole_7: pole_status = 0\n", + "pole_7: pole failed at 171.577415004557% stress, time to repair is 8h\n", + "pole_7: down_time = 2021-06-08 03:00:00\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 95.17712588079287 m/s\n", + "pole_8: pole_moment_wind = 20059.934640735297 ft.lb\n", + "pole_8: equipment_moment_wind = 607.5968484890122 ft.lb\n", + "pole_8: wire_moment_wind = 27689.30295624704 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 38702.68922858692 ft.lb\n", + "pole_8: susceptibility = 67.23715564009215 ft.lb.s/m\n", + "pole_8: pole_stress = 263.4202830451197%\n", + "pole_8: pole_status = 0\n", + "pole_8: pole failed at 263.4202830451197% stress, time to repair is 8h\n", + "pole_8: down_time = 2021-06-08 03:00:00\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 239.23870187806668 m/s\n", + "pole_3: pole_moment_wind = 1926.3314356766014 ft.lb\n", + "pole_3: equipment_moment_wind = 379.56092274687404 ft.lb\n", + "pole_3: wire_moment_wind = 20335.812453812647 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 22414.98254935079 ft.lb\n", + "pole_3: susceptibility = 19.20677454246744 ft.lb.s/m\n", + "pole_3: pole_stress = 116.1236961242623%\n", + "pole_3: pole_status = 0\n", + "pole_3: pole failed at 116.1236961242623% stress, time to repair is 8h\n", + "pole_3: down_time = 2021-06-08 04:00:00\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 196.12035432798942 m/s\n", + "pole_4: pole_moment_wind = 4680.230288588236 ft.lb\n", + "pole_4: equipment_moment_wind = 542.8823850590517 ft.lb\n", + "pole_4: wire_moment_wind = 27382.568085256305 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 30684.593928961454 ft.lb\n", + "pole_4: susceptibility = 26.886703416929326 ft.lb.s/m\n", + "pole_4: pole_stress = 158.9654800425578%\n", + "pole_4: pole_status = 0\n", + "pole_4: pole failed at 158.9654800425578% stress, time to repair is 8h\n", + "pole_4: down_time = 2021-06-08 04:00:00\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 233.62907379946833 m/s\n", + "pole_6: pole_moment_wind = 2590.031969110469 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 21208.608419006137 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 20574.05062780736 ft.lb\n", + "pole_6: susceptibility = 19.986656563678938 ft.lb.s/m\n", + "pole_6: pole_stress = 106.58651185155115%\n", + "pole_6: pole_status = 0\n", + "pole_6: pole failed at 106.58651185155115% stress, time to repair is 8h\n", + "pole_6: down_time = 2021-06-08 04:00:00\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has arrived\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: wind_pressure_failure is negative\n", + "pole_1: pole_moment_wind = 216983.79501221524 ft.lb\n", + "pole_1: equipment_moment_wind = 21991.725337581614 ft.lb\n", + "pole_1: wire_moment_wind = 106278.14444783168 ft.lb\n", + "pole_1: tension_moment_wind = 776863.9556665377 ft.lb\n", + "pole_1: pole_moment_tilt = 100.04115763562405 ft*lb\n", + "pole_1: total_moment = 891172.2467314893 ft.lb\n", + "pole_1: susceptibility = 96.85354675245549 ft.lb.s/m\n", + "pole_1: pole_stress = 8189.677568677363%\n", + "pole_1: pole_status = 0\n", + "pole_1: pole failed at 8189.677568677363% stress, time to repair is 8h\n", + "pole_1: down_time = 2021-06-08 10:00:00\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: wind_pressure_failure is negative\n", + "pole_13: pole_moment_wind = 1748590.6531841294 ft.lb\n", + "pole_13: equipment_moment_wind = 0.0 ft.lb\n", + "pole_13: wire_moment_wind = 633383.4802807113 ft.lb\n", + "pole_13: tension_moment_wind = 473177.953064816 ft.lb\n", + "pole_13: pole_moment_tilt = 2318.077089265335 ft*lb\n", + "pole_13: total_moment = 1024233.2864029654 ft.lb\n", + "pole_13: susceptibility = 196.4426994057344 ft.lb.s/m\n", + "pole_13: pole_stress = 2167.104020309359%\n", + "pole_13: pole_status = 0\n", + "pole_13: pole failed at 2167.104020309359% stress, time to repair is 8h\n", + "pole_13: down_time = 2021-06-08 10:00:00\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: wind_pressure_failure is negative\n", + "pole_14: pole_moment_wind = 2071049.7953161034 ft.lb\n", + "pole_14: equipment_moment_wind = 0.0 ft.lb\n", + "pole_14: wire_moment_wind = 728049.4649488736 ft.lb\n", + "pole_14: tension_moment_wind = 177792.93112583933 ft.lb\n", + "pole_14: pole_moment_tilt = 3089.6709494248894 ft*lb\n", + "pole_14: total_moment = 1829862.7820515705 ft.lb\n", + "pole_14: susceptibility = 252.26730047061665 ft.lb.s/m\n", + "pole_14: pole_stress = 3871.6794740434493%\n", + "pole_14: pole_status = 0\n", + "pole_14: pole failed at 3871.6794740434493% stress, time to repair is 8h\n", + "pole_14: down_time = 2021-06-08 10:00:00\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: wind_pressure_failure is negative\n", + "pole_18: pole_moment_wind = 216884.6469292314 ft.lb\n", + "pole_18: equipment_moment_wind = 0.0 ft.lb\n", + "pole_18: wire_moment_wind = 123316.48723565572 ft.lb\n", + "pole_18: tension_moment_wind = 1236327.3863373229 ft.lb\n", + "pole_18: pole_moment_tilt = 200.05184176551182 ft*lb\n", + "pole_18: total_moment = 1069454.5831595242 ft.lb\n", + "pole_18: susceptibility = 135.5893813497958 ft.lb.s/m\n", + "pole_18: pole_stress = 9828.053154195331%\n", + "pole_18: pole_status = 0\n", + "pole_18: pole failed at 9828.053154195331% stress, time to repair is 8h\n", + "pole_18: down_time = 2021-06-08 10:00:00\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: wind_pressure_failure is negative\n", + "pole_19: pole_moment_wind = 558394.562249339 ft.lb\n", + "pole_19: equipment_moment_wind = 0.0 ft.lb\n", + "pole_19: wire_moment_wind = 260003.95254859154 ft.lb\n", + "pole_19: tension_moment_wind = 417618.7132787921 ft.lb\n", + "pole_19: pole_moment_tilt = 187.86878573822952 ft*lb\n", + "pole_19: total_moment = 1030709.6460075158 ft.lb\n", + "pole_19: susceptibility = 475.3654126131393 ft.lb.s/m\n", + "pole_19: pole_stress = 9471.99567612934%\n", + "pole_19: pole_status = 0\n", + "pole_19: pole failed at 9471.99567612934% stress, time to repair is 8h\n", + "pole_19: down_time = 2021-06-08 10:00:00\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: wind_pressure_failure is negative\n", + "pole_20: pole_moment_wind = 14294.620427061658 ft.lb\n", + "pole_20: equipment_moment_wind = 0.0 ft.lb\n", + "pole_20: wire_moment_wind = 92866.39625088077 ft.lb\n", + "pole_20: tension_moment_wind = 91644.73049070181 ft.lb\n", + "pole_20: pole_moment_tilt = 0.0 ft*lb\n", + "pole_20: total_moment = 140174.10806715838 ft.lb\n", + "pole_20: susceptibility = 35.22138526578983 ft.lb.s/m\n", + "pole_20: pole_stress = 726.1899710982223%\n", + "pole_20: pole_status = 0\n", + "pole_20: pole failed at 726.1899710982223% stress, time to repair is 8h\n", + "pole_20: down_time = 2021-06-08 10:00:00\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: wind_pressure_failure is negative\n", + "pole_21: pole_moment_wind = 39461.90342087088 ft.lb\n", + "pole_21: equipment_moment_wind = 0.0 ft.lb\n", + "pole_21: wire_moment_wind = 124306.49246486877 ft.lb\n", + "pole_21: tension_moment_wind = 116162.54632673286 ft.lb\n", + "pole_21: pole_moment_tilt = 33.984928061478584 ft*lb\n", + "pole_21: total_moment = 194213.17958725264 ft.lb\n", + "pole_21: susceptibility = 47.43079433684097 ft.lb.s/m\n", + "pole_21: pole_stress = 1006.1463219997067%\n", + "pole_21: pole_status = 0\n", + "pole_21: pole failed at 1006.1463219997067% stress, time to repair is 8h\n", + "pole_21: down_time = 2021-06-08 10:00:00\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: wind_pressure_failure is negative\n", + "pole_22: pole_moment_wind = 64624.87594495713 ft.lb\n", + "pole_22: equipment_moment_wind = 0.0 ft.lb\n", + "pole_22: wire_moment_wind = 161887.238319354 ft.lb\n", + "pole_22: tension_moment_wind = 144987.9710886359 ft.lb\n", + "pole_22: pole_moment_tilt = 73.20903400076115 ft*lb\n", + "pole_22: total_moment = 241122.2276505349 ft.lb\n", + "pole_22: susceptibility = 102.04083009068071 ft.lb.s/m\n", + "pole_22: pole_stress = 2215.8604089632113%\n", + "pole_22: pole_status = 0\n", + "pole_22: pole failed at 2215.8604089632113% stress, time to repair is 8h\n", + "pole_22: down_time = 2021-06-08 10:00:00\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: wind_pressure_failure is negative\n", + "pole_23: pole_moment_wind = 14275.030146569808 ft.lb\n", + "pole_23: equipment_moment_wind = 0.0 ft.lb\n", + "pole_23: wire_moment_wind = 139152.70128914493 ft.lb\n", + "pole_23: tension_moment_wind = 124987.82152296124 ft.lb\n", + "pole_23: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_23: total_moment = 182352.83116244248 ft.lb\n", + "pole_23: susceptibility = 47.482629736449645 ft.lb.s/m\n", + "pole_23: pole_stress = 944.7022636169615%\n", + "pole_23: pole_status = 0\n", + "pole_23: pole failed at 944.7022636169615% stress, time to repair is 8h\n", + "pole_23: down_time = 2021-06-08 10:00:00\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: wind_pressure_failure is negative\n", + "pole_24: pole_moment_wind = 155052.99420309855 ft.lb\n", + "pole_24: equipment_moment_wind = 0.0 ft.lb\n", + "pole_24: wire_moment_wind = 260663.8248268019 ft.lb\n", + "pole_24: tension_moment_wind = 181294.63980884358 ft.lb\n", + "pole_24: pole_moment_tilt = 412.9563668850881 ft*lb\n", + "pole_24: total_moment = 305642.69880556833 ft.lb\n", + "pole_24: susceptibility = 58.35914627506576 ft.lb.s/m\n", + "pole_24: pole_stress = 1583.421258551246%\n", + "pole_24: pole_status = 0\n", + "pole_24: pole failed at 1583.421258551246% stress, time to repair is 8h\n", + "pole_24: down_time = 2021-06-08 10:00:00\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: wind_pressure_failure is negative\n", + "pole_25: pole_moment_wind = 205267.64016613824 ft.lb\n", + "pole_25: equipment_moment_wind = 0.0 ft.lb\n", + "pole_25: wire_moment_wind = 214944.11950259155 ft.lb\n", + "pole_25: tension_moment_wind = 38555.64904279871 ft.lb\n", + "pole_25: pole_moment_tilt = 551.5211842534965 ft*lb\n", + "pole_25: total_moment = 122200.53327771615 ft.lb\n", + "pole_25: susceptibility = 41.87428816647445 ft.lb.s/m\n", + "pole_25: pole_stress = 831.7277095180256%\n", + "pole_25: pole_status = 0\n", + "pole_25: pole failed at 831.7277095180256% stress, time to repair is 8h\n", + "pole_25: down_time = 2021-06-08 10:00:00\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: wind_pressure_failure is negative\n", + "pole_30: pole_moment_wind = 1750990.324569028 ft.lb\n", + "pole_30: equipment_moment_wind = 0.0 ft.lb\n", + "pole_30: wire_moment_wind = 999242.5526853923 ft.lb\n", + "pole_30: tension_moment_wind = 1107897.730511574 ft.lb\n", + "pole_30: pole_moment_tilt = 0.0 ft*lb\n", + "pole_30: total_moment = 677498.2333374518 ft.lb\n", + "pole_30: susceptibility = 239.26480064852342 ft.lb.s/m\n", + "pole_30: pole_stress = 1433.4714217054263%\n", + "pole_30: pole_status = 0\n", + "pole_30: pole failed at 1433.4714217054263% stress, time to repair is 8h\n", + "pole_30: down_time = 2021-06-08 10:00:00\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: wind_pressure_failure is negative\n", + "pole_31: pole_moment_wind = 1750723.6402614843 ft.lb\n", + "pole_31: equipment_moment_wind = 0.0 ft.lb\n", + "pole_31: wire_moment_wind = 1271631.844718243 ft.lb\n", + "pole_31: tension_moment_wind = 73736.46492035208 ft.lb\n", + "pole_31: pole_moment_tilt = 773.0062927868681 ft*lb\n", + "pole_31: total_moment = 1816050.8567527127 ft.lb\n", + "pole_31: susceptibility = 258.17086554205434 ft.lb.s/m\n", + "pole_31: pole_stress = 3842.4557813157057%\n", + "pole_31: pole_status = 0\n", + "pole_31: pole failed at 3842.4557813157057% stress, time to repair is 8h\n", + "pole_31: down_time = 2021-06-08 10:00:00\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: wind_pressure_failure is negative\n", + "pole_32: pole_moment_wind = 2074842.3794939239 ft.lb\n", + "pole_32: equipment_moment_wind = 0.0 ft.lb\n", + "pole_32: wire_moment_wind = 512341.1937487341 ft.lb\n", + "pole_32: tension_moment_wind = 863375.3936365839 ft.lb\n", + "pole_32: pole_moment_tilt = 1545.7771203686734 ft*lb\n", + "pole_32: total_moment = 2544189.255540875 ft.lb\n", + "pole_32: susceptibility = 274.8313915475929 ft.lb.s/m\n", + "pole_32: pole_stress = 5383.073209301374%\n", + "pole_32: pole_status = 0\n", + "pole_32: pole failed at 5383.073209301374% stress, time to repair is 8h\n", + "pole_32: down_time = 2021-06-08 10:00:00\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: wind_pressure_failure is negative\n", + "pole_35: pole_moment_wind = 256332.50501572827 ft.lb\n", + "pole_35: equipment_moment_wind = 0.0 ft.lb\n", + "pole_35: wire_moment_wind = 15169.912046181069 ft.lb\n", + "pole_35: tension_moment_wind = 179532.78397585955 ft.lb\n", + "pole_35: pole_moment_tilt = 499.59651297380145 ft*lb\n", + "pole_35: total_moment = 354201.2978862219 ft.lb\n", + "pole_35: susceptibility = 164.89274888328427 ft.lb.s/m\n", + "pole_35: pole_stress = 3255.032273204543%\n", + "pole_35: pole_status = 0\n", + "pole_35: pole failed at 3255.032273204543% stress, time to repair is 8h\n", + "pole_35: down_time = 2021-06-08 10:00:00\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: wind_pressure_failure is negative\n", + "pole_36: pole_moment_wind = 557119.1931120906 ft.lb\n", + "pole_36: equipment_moment_wind = 0.0 ft.lb\n", + "pole_36: wire_moment_wind = 841102.245595275 ft.lb\n", + "pole_36: tension_moment_wind = 546907.6528352136 ft.lb\n", + "pole_36: pole_moment_tilt = 750.9029810177472 ft*lb\n", + "pole_36: total_moment = 388794.48256863136 ft.lb\n", + "pole_36: susceptibility = 355.1557528238052 ft.lb.s/m\n", + "pole_36: pole_stress = 3572.9360562966604%\n", + "pole_36: pole_status = 0\n", + "pole_36: pole failed at 3572.9360562966604% stress, time to repair is 8h\n", + "pole_36: down_time = 2021-06-08 10:00:00\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: wind_pressure_failure is negative\n", + "pole_37: pole_moment_wind = 14275.030146569812 ft.lb\n", + "pole_37: equipment_moment_wind = 0.0 ft.lb\n", + "pole_37: wire_moment_wind = 201169.89405259132 ft.lb\n", + "pole_37: tension_moment_wind = 278813.1451447642 ft.lb\n", + "pole_37: pole_moment_tilt = 56.35052699396653 ft*lb\n", + "pole_37: total_moment = 471539.28068559716 ft.lb\n", + "pole_37: susceptibility = 69.69708125873446 ft.lb.s/m\n", + "pole_37: pole_stress = 2442.869809085506%\n", + "pole_37: pole_status = 0\n", + "pole_37: pole failed at 2442.869809085506% stress, time to repair is 8h\n", + "pole_37: down_time = 2021-06-08 10:00:00\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 74.66421577067763 m/s\n", + "pole_2: pole_moment_wind = 489331.4058591278 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 65197.90939190393 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 428529.7835469731 ft.lb\n", + "pole_2: susceptibility = 307.73271001135697 ft.lb.s/m\n", + "pole_2: pole_stress = 3938.0947608013103%\n", + "pole_2: pole_status = 0\n", + "pole_2: pole failed at 3938.0947608013103% stress, time to repair is 8h\n", + "pole_2: down_time = 2021-06-08 11:00:00\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 123.18420301016319 m/s\n", + "pole_9: pole_moment_wind = 238554.60891229875 ft.lb\n", + "pole_9: equipment_moment_wind = 4981.014797026251 ft.lb\n", + "pole_9: wire_moment_wind = 38308.987156242496 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 276218.31852386124 ft.lb\n", + "pole_9: susceptibility = 124.54171129518215 ft.lb.s/m\n", + "pole_9: pole_stress = 1430.9844771727724%\n", + "pole_9: pole_status = 0\n", + "pole_9: pole failed at 1430.9844771727724% stress, time to repair is 8h\n", + "pole_9: down_time = 2021-06-08 12:00:00\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 120.73087202758204 m/s\n", + "pole_10: pole_moment_wind = 384437.7846139789 ft.lb\n", + "pole_10: equipment_moment_wind = 5859.933352495839 ft.lb\n", + "pole_10: wire_moment_wind = 52265.24575720637 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 429316.6960160778 ft.lb\n", + "pole_10: susceptibility = 150.9314503993883 ft.lb.s/m\n", + "pole_10: pole_stress = 1731.9035642670844%\n", + "pole_10: pole_status = 0\n", + "pole_10: pole failed at 1731.9035642670844% stress, time to repair is 8h\n", + "pole_10: down_time = 2021-06-08 12:00:00\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 120.01740311255871 m/s\n", + "pole_11: pole_moment_wind = 530396.4708752122 ft.lb\n", + "pole_11: equipment_moment_wind = 5989.241764179985 ft.lb\n", + "pole_11: wire_moment_wind = 54606.60412812318 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 576366.2519793028 ft.lb\n", + "pole_11: susceptibility = 161.14543498062042 ft.lb.s/m\n", + "pole_11: pole_stress = 1845.7513919082946%\n", + "pole_11: pole_status = 0\n", + "pole_11: pole failed at 1845.7513919082946% stress, time to repair is 8h\n", + "pole_11: down_time = 2021-06-08 12:00:00\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 109.16614028994734 m/s\n", + "pole_12: pole_moment_wind = 873115.2283232423 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 59479.24110784711 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 919762.9939544143 ft.lb\n", + "pole_12: susceptibility = 170.1954659194564 ft.lb.s/m\n", + "pole_12: pole_stress = 1946.0625898328672%\n", + "pole_12: pole_status = 0\n", + "pole_12: pole failed at 1946.0625898328672% stress, time to repair is 8h\n", + "pole_12: down_time = 2021-06-08 12:00:00\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 85.84136675815452 m/s\n", + "pole_15: pole_moment_wind = 1323652.3990874945 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 58213.37146459665 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 1265399.9806680523 ft.lb\n", + "pole_15: susceptibility = 235.1945607218056 ft.lb.s/m\n", + "pole_15: pole_stress = 2677.3718661651%\n", + "pole_15: pole_status = 0\n", + "pole_15: pole failed at 2677.3718661651% stress, time to repair is 8h\n", + "pole_15: down_time = 2021-06-08 12:00:00\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 88.5843419117732 m/s\n", + "pole_16: pole_moment_wind = 1601749.087971086 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 56541.870044003495 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 1556881.7620914918 ft.lb\n", + "pole_16: susceptibility = 238.454064304146 ft.lb.s/m\n", + "pole_16: pole_stress = 2730.736310040257%\n", + "pole_16: pole_status = 0\n", + "pole_16: pole failed at 2730.736310040257% stress, time to repair is 8h\n", + "pole_16: down_time = 2021-06-08 12:00:00\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 101.22594593835154 m/s\n", + "pole_17: pole_moment_wind = 1700639.2824954942 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 42051.897291720226 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 1670974.0197479639 ft.lb\n", + "pole_17: susceptibility = 213.97982839119362 ft.lb.s/m\n", + "pole_17: pole_stress = 2456.5834262061308%\n", + "pole_17: pole_status = 0\n", + "pole_17: pole failed at 2456.5834262061308% stress, time to repair is 8h\n", + "pole_17: down_time = 2021-06-08 12:00:00\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 107.65279699450176 m/s\n", + "pole_26: pole_moment_wind = 200737.60895755352 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 93585.24770138532 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 285122.02955611807 ft.lb\n", + "pole_26: susceptibility = 131.65646925985013 ft.lb.s/m\n", + "pole_26: pole_stress = 1477.11129578669%\n", + "pole_26: pole_status = 0\n", + "pole_26: pole failed at 1477.11129578669% stress, time to repair is 8h\n", + "pole_26: down_time = 2021-06-08 12:00:00\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 100.2137746731264 m/s\n", + "pole_27: pole_moment_wind = 338188.43175028794 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 116979.3844750507 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 437920.7026285828 ft.lb\n", + "pole_27: susceptibility = 154.6676498872925 ft.lb.s/m\n", + "pole_27: pole_stress = 1766.6129288397979%\n", + "pole_27: pole_status = 0\n", + "pole_27: pole failed at 1766.6129288397979% stress, time to repair is 8h\n", + "pole_27: down_time = 2021-06-08 12:00:00\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 102.70624286974832 m/s\n", + "pole_28: pole_moment_wind = 530154.1127152137 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 124789.0974481635 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 626005.3136908731 ft.lb\n", + "pole_28: susceptibility = 175.09382542302953 ft.lb.s/m\n", + "pole_28: pole_stress = 2004.7151878150032%\n", + "pole_28: pole_status = 0\n", + "pole_28: pole failed at 2004.7151878150032% stress, time to repair is 8h\n", + "pole_28: down_time = 2021-06-08 12:00:00\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 110.77422543916627 m/s\n", + "pole_29: pole_moment_wind = 991612.0102533567 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 55819.3605436065 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 1033427.3420223417 ft.lb\n", + "pole_29: susceptibility = 190.45382285958502 ft.lb.s/m\n", + "pole_29: pole_stress = 2186.557083552081%\n", + "pole_29: pole_status = 0\n", + "pole_29: pole failed at 2186.557083552081% stress, time to repair is 8h\n", + "pole_29: down_time = 2021-06-08 12:00:00\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 97.53897471110801 m/s\n", + "pole_33: pole_moment_wind = 1412493.2381205037 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 28758.36291792451 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 1442368.2479213725 ft.lb\n", + "pole_33: susceptibility = 219.71513757972832 ft.lb.s/m\n", + "pole_33: pole_stress = 2529.8821291071017%\n", + "pole_33: pole_status = 0\n", + "pole_33: pole failed at 2529.8821291071017% stress, time to repair is 8h\n", + "pole_33: down_time = 2021-06-08 12:00:00\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 102.92259915351141 m/s\n", + "pole_34: pole_moment_wind = 1698824.7910113155 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 24217.72496294019 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 1719568.887547382 ft.lb\n", + "pole_34: susceptibility = 220.14795080298552 ft.lb.s/m\n", + "pole_34: pole_stress = 2528.025199341978%\n", + "pole_34: pole_status = 0\n", + "pole_34: pole failed at 2528.025199341978% stress, time to repair is 8h\n", + "pole_34: down_time = 2021-06-08 12:00:00\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 131.53401083605323 m/s\n", + "pole_5: pole_moment_wind = 32107.191139605333 ft.lb\n", + "pole_5: equipment_moment_wind = 6314.197416400623 ft.lb\n", + "pole_5: wire_moment_wind = 49221.713071616614 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 82235.0165303505 ft.lb\n", + "pole_5: susceptibility = 74.21721323665884 ft.lb.s/m\n", + "pole_5: pole_stress = 755.7217728766893%\n", + "pole_5: pole_status = 0\n", + "pole_5: pole failed at 755.7217728766893% stress, time to repair is 8h\n", + "pole_5: down_time = 2021-06-08 13:00:00\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 151.87193702847992 m/s\n", + "pole_7: pole_moment_wind = 82321.87157901055 ft.lb\n", + "pole_7: equipment_moment_wind = 2985.2506056209763 ft.lb\n", + "pole_7: wire_moment_wind = 62749.47350957077 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 145058.2491902108 ft.lb\n", + "pole_7: susceptibility = 73.12621634664168 ft.lb.s/m\n", + "pole_7: pole_stress = 751.4928915155206%\n", + "pole_7: pole_status = 0\n", + "pole_7: pole failed at 751.4928915155206% stress, time to repair is 8h\n", + "pole_7: down_time = 2021-06-08 13:00:00\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 110.79148845379316 m/s\n", + "pole_8: pole_moment_wind = 97685.04429170939 ft.lb\n", + "pole_8: equipment_moment_wind = 2958.789553363001 ft.lb\n", + "pole_8: wire_moment_wind = 73432.59775662767 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 174295.94621899535 ft.lb\n", + "pole_8: susceptibility = 115.78131992282529 ft.lb.s/m\n", + "pole_8: pole_stress = 1186.3022544880935%\n", + "pole_8: pole_status = 0\n", + "pole_8: pole failed at 1186.3022544880935% stress, time to repair is 8h\n", + "pole_8: down_time = 2021-06-08 13:00:00\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 281.6377295432919 m/s\n", + "pole_3: pole_moment_wind = 4334.245730272352 ft.lb\n", + "pole_3: equipment_moment_wind = 854.0120761804666 ft.lb\n", + "pole_3: wire_moment_wind = 30346.10389048813 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 33459.904342862945 ft.lb\n", + "pole_3: susceptibility = 20.788679459959383 ft.lb.s/m\n", + "pole_3: pole_stress = 173.3433321084623%\n", + "pole_3: pole_status = 0\n", + "pole_3: pole failed at 173.3433321084623% stress, time to repair is 8h\n", + "pole_3: down_time = 2021-06-08 14:00:00\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 223.82796556010786 m/s\n", + "pole_4: pole_moment_wind = 12485.781938167425 ft.lb\n", + "pole_4: equipment_moment_wind = 1448.285802185216 ft.lb\n", + "pole_4: wire_moment_wind = 40884.3988077706 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 50755.06441607012 ft.lb\n", + "pole_4: susceptibility = 30.96317301090708 ft.lb.s/m\n", + "pole_4: pole_stress = 262.94313029433033%\n", + "pole_4: pole_status = 0\n", + "pole_4: pole failed at 262.94313029433033% stress, time to repair is 8h\n", + "pole_4: down_time = 2021-06-08 14:00:00\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 276.910292426423 m/s\n", + "pole_6: pole_moment_wind = 5827.571930498557 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 31647.400103995296 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 37036.46096977433 ft.lb\n", + "pole_6: susceptibility = 21.34061775694434 ft.lb.s/m\n", + "pole_6: pole_stress = 191.872143094608%\n", + "pole_6: pole_status = 0\n", + "pole_6: pole failed at 191.872143094608% stress, time to repair is 8h\n", + "pole_6: down_time = 2021-06-08 14:00:00\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: wind_pressure_failure is negative\n", + "pole_1: no pole recalculation flagged\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: wind_pressure_failure is negative\n", + "pole_13: no pole recalculation flagged\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: wind_pressure_failure is negative\n", + "pole_14: no pole recalculation flagged\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: wind_pressure_failure is negative\n", + "pole_18: no pole recalculation flagged\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: wind_pressure_failure is negative\n", + "pole_19: no pole recalculation flagged\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: wind_pressure_failure is negative\n", + "pole_20: no pole recalculation flagged\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: wind_pressure_failure is negative\n", + "pole_21: no pole recalculation flagged\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: wind_pressure_failure is negative\n", + "pole_22: no pole recalculation flagged\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: wind_pressure_failure is negative\n", + "pole_23: no pole recalculation flagged\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: wind_pressure_failure is negative\n", + "pole_24: no pole recalculation flagged\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: wind_pressure_failure is negative\n", + "pole_25: no pole recalculation flagged\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: wind_pressure_failure is negative\n", + "pole_30: no pole recalculation flagged\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: wind_pressure_failure is negative\n", + "pole_31: no pole recalculation flagged\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: wind_pressure_failure is negative\n", + "pole_32: no pole recalculation flagged\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: wind_pressure_failure is negative\n", + "pole_35: no pole recalculation flagged\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: wind_pressure_failure is negative\n", + "pole_36: no pole recalculation flagged\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: wind_pressure_failure is negative\n", + "pole_37: no pole recalculation flagged\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: wind_pressure_failure is negative\n", + "pole_1: pole_moment_wind = 2348.5655301716292 ft.lb\n", + "pole_1: equipment_moment_wind = 238.03163768030973 ft.lb\n", + "pole_1: wire_moment_wind = 1708.4918326745442 ft.lb\n", + "pole_1: tension_moment_wind = 776863.9556665377 ft.lb\n", + "pole_1: pole_moment_tilt = 100.04115763562405 ft*lb\n", + "pole_1: total_moment = 776629.4471214575 ft.lb\n", + "pole_1: susceptibility = 11.648805798355117 ft.lb.s/m\n", + "pole_1: pole_stress = 7137.054352390843%\n", + "pole_1: pole_status = 0\n", + "pole_1: pole failed at 7137.054352390843% stress, time to repair is 8h\n", + "pole_1: down_time = 2021-06-08 21:00:00\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 72.44072115620027 m/s\n", + "pole_2: pole_moment_wind = 7147.959598614565 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 3962.5339847968694 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 7658.4734903649105 ft.lb\n", + "pole_2: susceptibility = 36.323746616179214 ft.lb.s/m\n", + "pole_2: pole_stress = 70.37969234835185%\n", + "pole_2: pole_status = 1\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: wind_pressure_failure is negative\n", + "pole_13: pole_moment_wind = 18926.204762053087 ft.lb\n", + "pole_13: equipment_moment_wind = 0.0 ft.lb\n", + "pole_13: wire_moment_wind = 8444.80305899294 ft.lb\n", + "pole_13: tension_moment_wind = 473177.953064816 ft.lb\n", + "pole_13: pole_moment_tilt = 2318.077089265335 ft*lb\n", + "pole_13: total_moment = 487516.8026969706 ft.lb\n", + "pole_13: susceptibility = 23.554076205551894 ft.lb.s/m\n", + "pole_13: pole_stress = 1031.5029174684619%\n", + "pole_13: pole_status = 0\n", + "pole_13: pole failed at 1031.5029174684619% stress, time to repair is 8h\n", + "pole_13: down_time = 2021-06-08 21:00:00\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: wind_pressure_failure is negative\n", + "pole_14: pole_moment_wind = 22369.89449489057 ft.lb\n", + "pole_14: equipment_moment_wind = 0.0 ft.lb\n", + "pole_14: wire_moment_wind = 9303.034427490342 ft.lb\n", + "pole_14: tension_moment_wind = 177792.93112583933 ft.lb\n", + "pole_14: pole_moment_tilt = 3089.6709494248894 ft*lb\n", + "pole_14: total_moment = 164200.17848778973 ft.lb\n", + "pole_14: susceptibility = 29.66897365956865 ft.lb.s/m\n", + "pole_14: pole_stress = 347.4197447595989%\n", + "pole_14: pole_status = 0\n", + "pole_14: pole failed at 347.4197447595989% stress, time to repair is 8h\n", + "pole_14: down_time = 2021-06-08 21:00:00\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: wind_pressure_failure is negative\n", + "pole_18: pole_moment_wind = 2099.661017096332 ft.lb\n", + "pole_18: equipment_moment_wind = 0.0 ft.lb\n", + "pole_18: wire_moment_wind = 1545.9376451501346 ft.lb\n", + "pole_18: tension_moment_wind = 1236327.3863373229 ft.lb\n", + "pole_18: pole_moment_tilt = 200.05184176551182 ft*lb\n", + "pole_18: total_moment = 1237283.8259615216 ft.lb\n", + "pole_18: susceptibility = 13.353655951310882 ft.lb.s/m\n", + "pole_18: pole_stress = 11370.367101004935%\n", + "pole_18: pole_status = 0\n", + "pole_18: pole failed at 11370.367101004935% stress, time to repair is 8h\n", + "pole_18: down_time = 2021-06-08 21:00:00\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: wind_pressure_failure is negative\n", + "pole_19: pole_moment_wind = 6043.890148848424 ft.lb\n", + "pole_19: equipment_moment_wind = 0.0 ft.lb\n", + "pole_19: wire_moment_wind = 1970.6953263034939 ft.lb\n", + "pole_19: tension_moment_wind = 417618.7132787921 ft.lb\n", + "pole_19: pole_moment_tilt = 187.86878573822952 ft*lb\n", + "pole_19: total_moment = 414862.48210933583 ft.lb\n", + "pole_19: susceptibility = 48.434129088451336 ft.lb.s/m\n", + "pole_19: pole_stress = 3812.495256980704%\n", + "pole_19: pole_status = 0\n", + "pole_19: pole failed at 3812.495256980704% stress, time to repair is 8h\n", + "pole_19: down_time = 2021-06-08 21:00:00\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: wind_pressure_failure is negative\n", + "pole_20: pole_moment_wind = 154.39954728325142 ft.lb\n", + "pole_20: equipment_moment_wind = 0.0 ft.lb\n", + "pole_20: wire_moment_wind = 816.3851674318321 ft.lb\n", + "pole_20: tension_moment_wind = 91644.73049070181 ft.lb\n", + "pole_20: pole_moment_tilt = 0.0 ft*lb\n", + "pole_20: total_moment = 91572.72934532913 ft.lb\n", + "pole_20: susceptibility = 3.2175258944941483 ft.lb.s/m\n", + "pole_20: pole_stress = 474.40428616681237%\n", + "pole_20: pole_status = 0\n", + "pole_20: pole failed at 474.40428616681237% stress, time to repair is 8h\n", + "pole_20: down_time = 2021-06-08 21:00:00\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: wind_pressure_failure is negative\n", + "pole_21: pole_moment_wind = 401.3984335072257 ft.lb\n", + "pole_21: equipment_moment_wind = 0.0 ft.lb\n", + "pole_21: wire_moment_wind = 1192.192013015776 ft.lb\n", + "pole_21: tension_moment_wind = 116162.54632673286 ft.lb\n", + "pole_21: pole_moment_tilt = 33.984928061478584 ft*lb\n", + "pole_21: total_moment = 115897.10242054796 ft.lb\n", + "pole_21: susceptibility = 4.812618644149963 ft.lb.s/m\n", + "pole_21: pole_stress = 600.4198251564562%\n", + "pole_21: pole_status = 0\n", + "pole_21: pole failed at 600.4198251564562% stress, time to repair is 8h\n", + "pole_21: down_time = 2021-06-08 21:00:00\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: wind_pressure_failure is negative\n", + "pole_22: pole_moment_wind = 614.8956105977453 ft.lb\n", + "pole_22: equipment_moment_wind = 0.0 ft.lb\n", + "pole_22: wire_moment_wind = 1707.524113075952 ft.lb\n", + "pole_22: tension_moment_wind = 144987.9710886359 ft.lb\n", + "pole_22: pole_moment_tilt = 73.20903400076115 ft*lb\n", + "pole_22: total_moment = 144549.1578904436 ft.lb\n", + "pole_22: susceptibility = 11.396846243347417 ft.lb.s/m\n", + "pole_22: pole_stress = 1328.375070350739%\n", + "pole_22: pole_status = 0\n", + "pole_22: pole failed at 1328.375070350739% stress, time to repair is 8h\n", + "pole_22: down_time = 2021-06-08 21:00:00\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: wind_pressure_failure is negative\n", + "pole_23: pole_moment_wind = 130.3126003390427 ft.lb\n", + "pole_23: equipment_moment_wind = 0.0 ft.lb\n", + "pole_23: wire_moment_wind = 1702.640338626962 ft.lb\n", + "pole_23: tension_moment_wind = 124987.82152296124 ft.lb\n", + "pole_23: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_23: total_moment = 124960.13375517893 ft.lb\n", + "pole_23: susceptibility = 5.956484336336429 ft.lb.s/m\n", + "pole_23: pole_stress = 647.3720230602568%\n", + "pole_23: pole_status = 0\n", + "pole_23: pole failed at 647.3720230602568% stress, time to repair is 8h\n", + "pole_23: down_time = 2021-06-08 21:00:00\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: wind_pressure_failure is negative\n", + "pole_24: pole_moment_wind = 1501.0685731873778 ft.lb\n", + "pole_24: equipment_moment_wind = 0.0 ft.lb\n", + "pole_24: wire_moment_wind = 3577.939517755696 ft.lb\n", + "pole_24: tension_moment_wind = 181294.63980884358 ft.lb\n", + "pole_24: pole_moment_tilt = 412.9563668850881 ft*lb\n", + "pole_24: total_moment = 179677.4729295675 ft.lb\n", + "pole_24: susceptibility = 10.167620690646732 ft.lb.s/m\n", + "pole_24: pole_stress = 930.8422266629325%\n", + "pole_24: pole_status = 0\n", + "pole_24: pole failed at 930.8422266629325% stress, time to repair is 8h\n", + "pole_24: down_time = 2021-06-08 21:00:00\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: wind_pressure_failure is negative\n", + "pole_25: pole_moment_wind = 2221.753491438042 ft.lb\n", + "pole_25: equipment_moment_wind = 0.0 ft.lb\n", + "pole_25: wire_moment_wind = 3686.1289905520716 ft.lb\n", + "pole_25: tension_moment_wind = 38555.64904279871 ft.lb\n", + "pole_25: pole_moment_tilt = 551.5211842534965 ft*lb\n", + "pole_25: total_moment = 37122.437992748135 ft.lb\n", + "pole_25: susceptibility = 12.048459903783408 ft.lb.s/m\n", + "pole_25: pole_stress = 252.66469380509386%\n", + "pole_25: pole_status = 0\n", + "pole_25: pole failed at 252.66469380509386% stress, time to repair is 8h\n", + "pole_25: down_time = 2021-06-08 21:00:00\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: wind_pressure_failure is negative\n", + "pole_30: pole_moment_wind = 16951.343388589718 ft.lb\n", + "pole_30: equipment_moment_wind = 0.0 ft.lb\n", + "pole_30: wire_moment_wind = 11045.897346037418 ft.lb\n", + "pole_30: tension_moment_wind = 1107897.730511574 ft.lb\n", + "pole_30: pole_moment_tilt = 0.0 ft*lb\n", + "pole_30: total_moment = 1126024.7666938468 ft.lb\n", + "pole_30: susceptibility = 26.85997083155342 ft.lb.s/m\n", + "pole_30: pole_stress = 2382.4775383350384%\n", + "pole_30: pole_status = 0\n", + "pole_30: pole failed at 2382.4775383350384% stress, time to repair is 8h\n", + "pole_30: down_time = 2021-06-08 21:00:00\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: wind_pressure_failure is negative\n", + "pole_31: pole_moment_wind = 18949.29155489813 ft.lb\n", + "pole_31: equipment_moment_wind = 0.0 ft.lb\n", + "pole_31: wire_moment_wind = 13637.232545544615 ft.lb\n", + "pole_31: tension_moment_wind = 73736.46492035208 ft.lb\n", + "pole_31: pole_moment_tilt = 773.0062927868681 ft*lb\n", + "pole_31: total_moment = 59393.83235630575 ft.lb\n", + "pole_31: susceptibility = 32.6434870737154 ft.lb.s/m\n", + "pole_31: pole_stress = 125.66728165314744%\n", + "pole_31: pole_status = 0\n", + "pole_31: pole failed at 125.66728165314744% stress, time to repair is 8h\n", + "pole_31: down_time = 2021-06-08 21:00:00\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: wind_pressure_failure is negative\n", + "pole_32: pole_moment_wind = 22410.859085946133 ft.lb\n", + "pole_32: equipment_moment_wind = 0.0 ft.lb\n", + "pole_32: wire_moment_wind = 6315.821005646867 ft.lb\n", + "pole_32: tension_moment_wind = 863375.3936365839 ft.lb\n", + "pole_32: pole_moment_tilt = 1545.7771203686734 ft*lb\n", + "pole_32: total_moment = 848021.5282931566 ft.lb\n", + "pole_32: susceptibility = 31.09659444452363 ft.lb.s/m\n", + "pole_32: pole_stress = 1794.2698091047569%\n", + "pole_32: pole_status = 0\n", + "pole_32: pole failed at 1794.2698091047569% stress, time to repair is 8h\n", + "pole_32: down_time = 2021-06-08 21:00:00\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: wind_pressure_failure is negative\n", + "pole_35: pole_moment_wind = 2339.9849203153417 ft.lb\n", + "pole_35: equipment_moment_wind = 0.0 ft.lb\n", + "pole_35: wire_moment_wind = 2239.2063781441043 ft.lb\n", + "pole_35: tension_moment_wind = 179532.78397585955 ft.lb\n", + "pole_35: pole_moment_tilt = 499.59651297380145 ft*lb\n", + "pole_35: total_moment = 177958.57574045696 ft.lb\n", + "pole_35: susceptibility = 9.83840362194387 ft.lb.s/m\n", + "pole_35: pole_stress = 1635.4002957797609%\n", + "pole_35: pole_status = 0\n", + "pole_35: pole failed at 1635.4002957797609% stress, time to repair is 8h\n", + "pole_35: down_time = 2021-06-08 21:00:00\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: wind_pressure_failure is negative\n", + "pole_36: pole_moment_wind = 5393.472835517528 ft.lb\n", + "pole_36: equipment_moment_wind = 0.0 ft.lb\n", + "pole_36: wire_moment_wind = 11159.369124596877 ft.lb\n", + "pole_36: tension_moment_wind = 546907.6528352136 ft.lb\n", + "pole_36: pole_moment_tilt = 750.9029810177472 ft*lb\n", + "pole_36: total_moment = 553069.476847656 ft.lb\n", + "pole_36: susceptibility = 57.78162471573358 ft.lb.s/m\n", + "pole_36: pole_stress = 5082.587238406338%\n", + "pole_36: pole_status = 0\n", + "pole_36: pole failed at 5082.587238406338% stress, time to repair is 8h\n", + "pole_36: down_time = 2021-06-08 21:00:00\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: wind_pressure_failure is negative\n", + "pole_37: pole_moment_wind = 154.18794806979017 ft.lb\n", + "pole_37: equipment_moment_wind = 0.0 ft.lb\n", + "pole_37: wire_moment_wind = 2514.9464665897394 ft.lb\n", + "pole_37: tension_moment_wind = 278813.1451447642 ft.lb\n", + "pole_37: pole_moment_tilt = 56.35052699396653 ft*lb\n", + "pole_37: total_moment = 276417.68924341653 ft.lb\n", + "pole_37: susceptibility = 8.874612692986293 ft.lb.s/m\n", + "pole_37: pole_stress = 1432.0173427930217%\n", + "pole_37: pole_status = 0\n", + "pole_37: pole failed at 1432.0173427930217% stress, time to repair is 8h\n", + "pole_37: down_time = 2021-06-08 21:00:00\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 77.18836890425122 m/s\n", + "pole_2: pole_moment_wind = 26470.898675038014 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 9871.247494716166 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 22667.45649299922 ft.lb\n", + "pole_2: susceptibility = 63.98562785922322 ft.lb.s/m\n", + "pole_2: pole_stress = 208.30895560375197%\n", + "pole_2: pole_status = 0\n", + "pole_2: pole failed at 208.30895560375197% stress, time to repair is 8h\n", + "pole_2: down_time = 2021-06-08 22:00:00\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 137.96493990311765 m/s\n", + "pole_9: pole_moment_wind = 16925.42385560475 ft.lb\n", + "pole_9: equipment_moment_wind = 353.4024643460239 ft.lb\n", + "pole_9: wire_moment_wind = 6520.901751043117 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 12516.62025635622 ft.lb\n", + "pole_9: susceptibility = 24.821464474986026 ft.lb.s/m\n", + "pole_9: pole_stress = 64.8439588989996%\n", + "pole_9: pole_status = 1\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 140.99284687578415 m/s\n", + "pole_10: pole_moment_wind = 24027.36153837368 ft.lb\n", + "pole_10: equipment_moment_wind = 366.24583453098995 ft.lb\n", + "pole_10: wire_moment_wind = 8764.05578592834 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 20578.314705075034 ft.lb\n", + "pole_10: susceptibility = 27.667012716525534 ft.lb.s/m\n", + "pole_10: pole_stress = 83.01483942985182%\n", + "pole_10: pole_status = 1\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 149.39659194425295 m/s\n", + "pole_11: pole_moment_wind = 29201.752696294137 ft.lb\n", + "pole_11: equipment_moment_wind = 329.7464565465569 ft.lb\n", + "pole_11: wire_moment_wind = 9141.459589159667 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 23353.645458399435 ft.lb\n", + "pole_11: susceptibility = 25.999505373484528 ft.lb.s/m\n", + "pole_11: pole_stress = 74.78755645901603%\n", + "pole_11: pole_status = 1\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 135.7243703628363 m/s\n", + "pole_12: pole_moment_wind = 46024.12870415982 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 9932.108615820767 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 44048.945671013425 ft.lb\n", + "pole_12: susceptibility = 27.526325089586546 ft.lb.s/m\n", + "pole_12: pole_stress = 93.20010247790884%\n", + "pole_12: pole_status = 1\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 85.12414822585976 m/s\n", + "pole_15: pole_moment_wind = 93912.99541095943 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 24013.07379966887 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 84228.24137548974 ft.lb\n", + "pole_15: susceptibility = 59.793637121189 ft.lb.s/m\n", + "pole_15: pole_stress = 178.2126815556328%\n", + "pole_15: pole_status = 0\n", + "pole_15: pole failed at 178.2126815556328% stress, time to repair is 8h\n", + "pole_15: down_time = 2021-06-08 22:00:00\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 93.54572683819582 m/s\n", + "pole_16: pole_moment_wind = 100109.31799819288 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 23013.540306776333 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 84334.19055718814 ft.lb\n", + "pole_16: susceptibility = 53.457759968268384 ft.lb.s/m\n", + "pole_16: pole_stress = 147.92031221625572%\n", + "pole_16: pole_status = 0\n", + "pole_16: pole failed at 147.92031221625572% stress, time to repair is 8h\n", + "pole_16: down_time = 2021-06-08 22:00:00\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 113.65738957397858 m/s\n", + "pole_17: pole_moment_wind = 93631.18059795794 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 16894.68989075776 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 78483.36208629838 ft.lb\n", + "pole_17: susceptibility = 42.43274983695571 ft.lb.s/m\n", + "pole_17: pole_stress = 115.38236038117202%\n", + "pole_17: pole_status = 0\n", + "pole_17: pole failed at 115.38236038117202% stress, time to repair is 8h\n", + "pole_17: down_time = 2021-06-08 22:00:00\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 149.15931883960363 m/s\n", + "pole_26: pole_moment_wind = 14875.60949454647 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 8984.40733651695 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 11869.16428504142 ft.lb\n", + "pole_26: susceptibility = 17.14478589060171 ft.lb.s/m\n", + "pole_26: pole_stress = 61.48973007900096%\n", + "pole_26: pole_status = 1\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 125.36684593784446 m/s\n", + "pole_27: pole_moment_wind = 23994.432874446047 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 12219.740055781213 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 22801.579899426804 ft.lb\n", + "pole_27: susceptibility = 24.707507575219978 ft.lb.s/m\n", + "pole_27: pole_stress = 91.98369843333344%\n", + "pole_27: pole_status = 1\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 127.09353732832064 m/s\n", + "pole_28: pole_moment_wind = 33134.63204470086 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 13277.636878296575 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 24495.377974105926 ft.lb\n", + "pole_28: susceptibility = 28.5862764977555 ft.lb.s/m\n", + "pole_28: pole_stress = 78.44383295476042%\n", + "pole_28: pole_status = 1\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 125.67314250849641 m/s\n", + "pole_29: pole_moment_wind = 54594.64812484839 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 5886.488886735517 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 49702.12811306939 ft.lb\n", + "pole_29: susceptibility = 36.99322528228288 ft.lb.s/m\n", + "pole_29: pole_stress = 105.16127827678032%\n", + "pole_29: pole_status = 0\n", + "pole_29: pole failed at 105.16127827678032% stress, time to repair is 8h\n", + "pole_29: down_time = 2021-06-08 22:00:00\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 97.59475671871937 m/s\n", + "pole_33: pole_moment_wind = 100216.24338917829 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 17196.677273178557 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 88130.21385092981 ft.lb\n", + "pole_33: susceptibility = 54.86601130507159 ft.lb.s/m\n", + "pole_33: pole_stress = 154.57845344083628%\n", + "pole_33: pole_status = 0\n", + "pole_33: pole failed at 154.57845344083628% stress, time to repair is 8h\n", + "pole_33: down_time = 2021-06-08 22:00:00\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 107.91936250972873 m/s\n", + "pole_34: pole_moment_wind = 106176.54943820722 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 13119.393572069857 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 95941.31149613258 ft.lb\n", + "pole_34: susceptibility = 50.05845064851762 ft.lb.s/m\n", + "pole_34: pole_stress = 141.0481748515924%\n", + "pole_34: pole_status = 0\n", + "pole_34: pole failed at 141.0481748515924% stress, time to repair is 8h\n", + "pole_34: down_time = 2021-06-08 22:00:00\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 235.4047301836238 m/s\n", + "pole_5: pole_moment_wind = 5516.362143186757 ft.lb\n", + "pole_5: equipment_moment_wind = 1084.8472991919332 ft.lb\n", + "pole_5: wire_moment_wind = 2846.592342189942 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 5289.051059874048 ft.lb\n", + "pole_5: susceptibility = 9.930557116915132 ft.lb.s/m\n", + "pole_5: pole_stress = 48.60521967947992%\n", + "pole_5: pole_status = 1\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 240.12470573922045 m/s\n", + "pole_7: pole_moment_wind = 13524.04659568228 ft.lb\n", + "pole_7: equipment_moment_wind = 490.42456780708784 ft.lb\n", + "pole_7: wire_moment_wind = 3644.533064477246 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 6434.682309380779 ft.lb\n", + "pole_7: susceptibility = 12.536539997939128 ft.lb.s/m\n", + "pole_7: pole_stress = 33.33569818783293%\n", + "pole_7: pole_status = 1\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 150.85184976843166 m/s\n", + "pole_8: pole_moment_wind = 20059.9346407353 ft.lb\n", + "pole_8: equipment_moment_wind = 607.5968484890124 ft.lb\n", + "pole_8: wire_moment_wind = 4328.059855311473 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 15963.533665442732 ft.lb\n", + "pole_8: susceptibility = 26.765368386900466 ft.lb.s/m\n", + "pole_8: pole_stress = 108.65184410609896%\n", + "pole_8: pole_status = 0\n", + "pole_8: pole failed at 108.65184410609896% stress, time to repair is 8h\n", + "pole_8: down_time = 2021-06-08 23:00:00\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 132.5446714627399 m/s\n", + "pole_9: pole_moment_wind = 36234.62256493839 ft.lb\n", + "pole_9: equipment_moment_wind = 756.5780933076514 ft.lb\n", + "pole_9: wire_moment_wind = 4806.180453030474 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 32588.08868590538 ft.lb\n", + "pole_9: susceptibility = 40.33959992655622 ft.lb.s/m\n", + "pole_9: pole_stress = 168.82677911976296%\n", + "pole_9: pole_status = 0\n", + "pole_9: pole failed at 168.82677911976296% stress, time to repair is 8h\n", + "pole_9: down_time = 2021-06-08 23:00:00\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 130.6371561749999 m/s\n", + "pole_10: pole_moment_wind = 54990.3197899387 ft.lb\n", + "pole_10: equipment_moment_wind = 838.2100352727829 ft.lb\n", + "pole_10: wire_moment_wind = 6402.833943687264 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 51811.38074423973 ft.lb\n", + "pole_10: susceptibility = 48.34084668760272 ft.lb.s/m\n", + "pole_10: pole_stress = 209.01193876975915%\n", + "pole_10: pole_status = 0\n", + "pole_10: pole failed at 209.01193876975915% stress, time to repair is 8h\n", + "pole_10: down_time = 2021-06-08 23:00:00\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 132.25323508271208 m/s\n", + "pole_11: pole_moment_wind = 70968.37018639308 ft.lb\n", + "pole_11: equipment_moment_wind = 801.3754804113938 ft.lb\n", + "pole_11: wire_moment_wind = 6671.956593378404 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 67331.22911887201 ft.lb\n", + "pole_11: susceptibility = 49.76512705867546 ft.lb.s/m\n", + "pole_11: pole_stress = 215.62107329892214%\n", + "pole_11: pole_status = 0\n", + "pole_11: pole failed at 215.62107329892214% stress, time to repair is 8h\n", + "pole_11: down_time = 2021-06-08 23:00:00\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 120.9757415814155 m/s\n", + "pole_12: pole_moment_wind = 112083.96230951093 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 7238.1210505399185 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 110298.474259251 ft.lb\n", + "pole_12: susceptibility = 51.97070148961279 ft.lb.s/m\n", + "pole_12: pole_stress = 233.3728752759652%\n", + "pole_12: pole_status = 0\n", + "pole_12: pole failed at 233.3728752759652% stress, time to repair is 8h\n", + "pole_12: down_time = 2021-06-08 23:00:00\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 131.93728755175562 m/s\n", + "pole_26: pole_moment_wind = 30553.90078800421 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 3651.6732746492517 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 32634.513954836628 ft.lb\n", + "pole_26: susceptibility = 32.86919024613714 ft.lb.s/m\n", + "pole_26: pole_stress = 169.06729118842014%\n", + "pole_26: pole_status = 0\n", + "pole_26: pole failed at 169.06729118842014% stress, time to repair is 8h\n", + "pole_26: down_time = 2021-06-08 23:00:00\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 114.906672529304 m/s\n", + "pole_27: pole_moment_wind = 51368.239063472334 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 5716.893370503427 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 50652.71532466075 ft.lb\n", + "pole_27: susceptibility = 44.11589543513211 ft.lb.s/m\n", + "pole_27: pole_stress = 204.33777447896085%\n", + "pole_27: pole_status = 0\n", + "pole_27: pole failed at 204.33777447896085% stress, time to repair is 8h\n", + "pole_27: down_time = 2021-06-08 23:00:00\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 114.20946322201671 m/s\n", + "pole_28: pole_moment_wind = 75833.71188509536 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 6380.518996111027 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 71505.633169936 ft.lb\n", + "pole_28: susceptibility = 53.09964322497648 ft.lb.s/m\n", + "pole_28: pole_stress = 228.98915663339827%\n", + "pole_28: pole_status = 0\n", + "pole_28: pole failed at 228.98915663339827% stress, time to repair is 8h\n", + "pole_28: down_time = 2021-06-08 23:00:00\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "{'wire_tention_on_pole': [1802.4722158107074, 1802.4722158107074, 1802.4722158107074, 1802.4722158107074, 1802.4722158107074, nan, nan, nan, nan, nan, nan, nan, nan, nan, 1802.4722158107074, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'wind_moment_on_cable': [0.07561573032649176, 534.1956017807879, 3371.78932116535, 9848.282321521223, 20335.812453812647, nan, nan, nan, nan, nan, nan, nan, nan, nan, 30346.10389048813, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'wind_moment_on_pole': [0.05710012058627924, 130.3126003390427, 481.5828589191502, 1048.9961976583018, 1926.3314356766014, nan, nan, nan, nan, nan, nan, nan, nan, nan, 4334.245730272352, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'wind_moment_on_equipment': [0.011250906286058479, 25.676563188545416, 94.89023068671851, 206.69234658536266, 379.56092274687404, nan, nan, nan, nan, nan, nan, nan, nan, nan, 854.0120761804666, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'pole_tile_moment': [56.350526993966525, 56.350526993966525, 56.350526993966525, 56.350526993966525, 56.350526993966525, nan, nan, nan, nan, nan, nan, nan, nan, nan, 56.350526993966525, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'total_moment_on_pole': [1858.5596575938475, 2310.8493197841403, 5150.201800670722, 11846.611424734552, 22414.98254935079, nan, nan, nan, nan, nan, nan, nan, nan, nan, 33459.904342862945, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'pole_susceptibility': [0.024900000685539946, 2.424118763072194, 6.929559819986464, 12.831089191928966, 19.20677454246744, nan, nan, nan, nan, nan, nan, nan, nan, 20.788679459959383, nan, nan, nan, nan, nan, nan, nan, nan], 'pole_stress': [9.628507023463726, 11.971651711472955, 26.6812819310911, 61.372892089444576, 116.1236961242623, nan, nan, nan, nan, nan, nan, nan, nan, 173.3433321084623, nan, nan, nan, nan, nan, nan, nan, nan], 'pole_status': 1, 'pole_age': [21, 21, 21, 21, 21, nan, nan, nan, nan, nan, nan, nan, nan, 0, 0, nan, nan, nan, nan, nan, nan, nan, nan, 0], 'critical_wind_speed': nan, 'pole_down_time': 1623160800, 'pole_resisting_moment': 19302.67748743102, 'install_year': 2021, 'tilt_angle': 0.0, 'tilt_direction': 0.0}\n" + ] + } + ], + "source": [ + "pole_analysis_dict = {}\n", + "PS_OK = 1\n", + "PS_FAILED = 0\n", + "INFINITY = float ('inf')\n", + "default_repair_time = 8\n", + "last_wind_speed = 0.0\n", + "recalc = 0\n", + "no_data = np.nan\n", + "for pole_key in pole_data_dicts.keys():\n", + " pole_analysis_dict[pole_key] = {\n", + " 'wire_tention_on_pole' : [],\n", + " 'wind_moment_on_cable' : [],\n", + " 'wind_moment_on_pole' : [],\n", + " 'wind_moment_on_equipment' : [],\n", + " 'pole_tile_moment' : [],\n", + " 'total_moment_on_pole' : [],\n", + " 'pole_susceptibility' : [],\n", + " 'pole_stress' : [],\n", + " 'pole_status' : PS_OK,\n", + " 'pole_age' : [],\n", + " 'critical_wind_speed' : 0.0,\n", + " 'pole_down_time' : 0.0,\n", + " 'pole_resisting_moment' : 0.0,\n", + " 'install_year' : pole_data_dicts[pole_key]['install_year']\n", + " }\n", + "\n", + "# pole init\n", + "if len(pole_config_dicts.keys()) == 0:\n", + " raise Exception(f'pole configuration is not set')\n", + "\n", + "for pole_config_index in pole_config_dicts.keys():\n", + " if np.isnan(pole_config_dicts[pole_config_index]['repair_time']) or pole_config_dicts[pole_config_index]['repair_time'] <= 0:\n", + " print(f'{pole_config_index}: repair time should be position and default_repair_time will be used')\n", + " pole_config_dicts[pole_config_index]['repair_time'] = default_repair_time\n", + "\n", + "# pole precommit\n", + "for timestamp_index in range(len(time_stamps)):\n", + " wind_speed = wind_speeds[timestamp_index]\n", + " wind_direction = wind_directions[timestamp_index]\n", + " wind_direction = wind_directions[timestamp_index]\n", + " ice_thickness = ice_thicknesses[timestamp_index]\n", + " for pole_key in pole_data_dicts.keys():\n", + " pole_data = pole_data_dicts[pole_key]\n", + " pole_config_id = pole_data['config']\n", + " pole_config_data = pole_config_dicts[pole_config_id]\n", + " t0 = time_stamps[timestamp_index]\n", + " # effective pole height, for this example, unit in ft\n", + " try:\n", + " pole_height = pole_config_data['pole_length']-pole_config_data['pole_depth']-pole_data['guy_height']\n", + " except:\n", + " raise Exception(f'pole height error for {pole_key}')\n", + " pole_t0_year = 1970 + int(t0/86400/365.24)\n", + " age = pole_t0_year-pole_analysis_dict[pole_key]['install_year']\n", + " pole_ground_diameter = pole_config_data['ground_diameter'] - pole_height\\\n", + " /(pole_config_data['pole_length']-pole_config_data['pole_depth'])\\\n", + " *(pole_config_data['ground_diameter']-pole_config_data['top_diameter'])\n", + " pole_top_diameter = pole_config_data['top_diameter']\n", + " if age > 0 and pole_config_data['degradation_rate'] > 0:\n", + " current_hollow_diameter = 2.0 * age * pole_config_data['degradation_rate'] * pole_ground_diameter\n", + " else:\n", + " current_hollow_diameter = 0\n", + " resisting_moment = 0.008186 * pole_config_data['strength_factor_250b_wood'] * pole_config_data['fiber_strength'] * (pole_ground_diameter**3 - current_hollow_diameter**3)\n", + " if resisting_moment < 0:\n", + " print('pole has degraded past point of static failure')\n", + " resisting_moment = 0\n", + " pole_analysis_dict[pole_key]['pole_resisting_moment'] = resisting_moment\n", + " print(f'{pole_key}: resisting_moment = {resisting_moment} ft*lb')\n", + " if (pole_analysis_dict[pole_key]['pole_status'] == PS_FAILED) and ((t0 - pole_analysis_dict[pole_key]['pole_down_time'])/3600.0 > pole_config_data['repair_time']):\n", + " print(f'{pole_key}: pole repair time has arrived')\n", + " pole_analysis_dict[pole_key]['pole_status'] = PS_OK\n", + " pole_analysis_dict[pole_key]['tilt_angle'] = 0.0 \n", + " pole_analysis_dict[pole_key]['tilt_direction'] = 0.0\n", + " pole_analysis_dict[pole_key]['install_year'] = 1970 + int(t0/86400/365.24)\n", + " pole_analysis_dict[pole_key]['wire_tention_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_cable'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_equipment'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_tile_moment'].append(no_data)\n", + " pole_analysis_dict[pole_key]['total_moment_on_pole'].append(no_data)\n", + " age = pole_t0_year-pole_analysis_dict[pole_key]['install_year']\n", + " pole_analysis_dict[pole_key]['pole_age'].append(age)\n", + " pole_analysis_dict[pole_key]['critical_wind_speed'] = no_data\n", + " \n", + " elif pole_analysis_dict[pole_key]['pole_status'] == PS_OK and (last_wind_speed != wind_speed or pole_analysis_dict[pole_key]['critical_wind_speed'] == 0.0):\n", + " top_diameter_ft = pole_top_diameter/12\n", + " ground_diameter_ft = pole_ground_diameter/12\n", + " tilt_angle = pole_data['tilt_angle']\n", + " tile_direction = pole_data['tilt_direction']\n", + " guy_height = pole_data['guy_height']\n", + " repair_time = pole_config_data['repair_time']\n", + " age = pole_t0_year-pole_analysis_dict[pole_key]['install_year']\n", + " \n", + " pole_moment_tilt = tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", + " # print(f'{pole_key}: pole_moment_tilt = {norm_cals(pole_moment_tilt)} ft*lb')\n", + " \n", + " wind_presure = 0.00256 * 2.24 * (wind_speed) * (wind_speed) # 2.24 account for m/s to mph conversion\n", + " # print(f\"wind_pressure = {wind_presure} psi\")\n", + " \n", + " pole_moment_unit_wind = pole_moment_cals(pole_height,5.7344e-3,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", + " # print(f\"{pole_key}: pole_moment_unit_wind = {norm_cals(pole_moment_unit_wind)} ft.lb.s/m\")\n", + " \n", + " equipment_moment_unit_wind = equipment_moment_cals(pole_key,5.7344e-3,wind_direction,guy_height,tilt_angle,tile_direction,mount_data_dicts)\n", + " # print(f\"{pole_key}: equipment_moment_unit_wind = {norm_cals(equipment_moment_unit_wind)} ft.lb.s/m\")\n", + " \n", + " wire_moment_unit_wind, tension_moment_unit_wind = wire_moment_cals(pole_key,pole_height,5.7344e-3,wind_direction,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,0)\n", + " # print(f\"{pole_key}: wire_moment_unit_wind = {norm_cals(wire_moment_unit_wind)} ft.lb.s/m\")\n", + " # print(f\"{pole_key}: tension_moment_unit_wind = {norm_cals(tension_moment_unit_wind)} ft.lb.s/m\")\n", + " \n", + " wind_pressure_failure = wind_pressure_failure_cals(resisting_moment,pole_moment_tilt,\\\n", + " pole_moment_unit_wind,equipment_moment_unit_wind,\\\n", + " wire_moment_unit_wind,tension_moment_unit_wind) \n", + " # print(f'{pole_key}: wind_pressure_failure = {wind_pressure_failure} psi')\n", + " if wind_pressure_failure >= 0:\n", + " critical_wind_speed = sqrt(wind_pressure_failure/(0.00256 * 2.24))\n", + " print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", + " pole_analysis_dict[pole_key]['critical_wind_speed'] = critical_wind_speed\n", + " else:\n", + " print(f'{pole_key}: wind_pressure_failure is negative')\n", + " pole_analysis_dict[pole_key]['critical_wind_speed'] = no_data\n", + "\n", + " pole_moment_wind = pole_moment_cals(pole_height,wind_presure,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", + " equipment_moment_wind = equipment_moment_cals(pole_key,wind_presure,wind_direction,guy_height,tilt_angle,tile_direction,mount_data_dicts)\n", + " wire_moment_wind, tension_moment_wind = wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,ice_thickness)\n", + "\n", + " total_moment = [a+b+c+d+e for a,b,c,d,e in zip(pole_moment_tilt,pole_moment_wind,equipment_moment_wind,wire_moment_wind,tension_moment_wind)]\n", + " # print(f'{pole_key}: total_moment = {norm_cals(total_moment)} ft.lb')\n", + " \n", + " pole_analysis_dict[pole_key]['wire_tention_on_pole'].append(norm_cals(tension_moment_wind))\n", + " pole_analysis_dict[pole_key]['wind_moment_on_cable'].append(norm_cals(wire_moment_wind))\n", + " pole_analysis_dict[pole_key]['wind_moment_on_pole'].append(norm_cals(pole_moment_wind))\n", + " pole_analysis_dict[pole_key]['wind_moment_on_equipment'].append(norm_cals(equipment_moment_wind))\n", + " pole_analysis_dict[pole_key]['pole_tile_moment'].append(norm_cals(pole_moment_tilt))\n", + " pole_analysis_dict[pole_key]['total_moment_on_pole'].append(norm_cals(total_moment))\n", + " pole_analysis_dict[pole_key]['pole_age'].append(age)\n", + " \n", + " if wind_presure > 0:\n", + " recalc = 1\n", + " if recalc:\n", + " print(f'{pole_key}: pole_moment_wind = {norm_cals(pole_moment_wind)} ft.lb')\n", + " print(f'{pole_key}: equipment_moment_wind = {norm_cals(equipment_moment_wind)} ft.lb')\n", + " print(f'{pole_key}: wire_moment_wind = {norm_cals(wire_moment_wind)} ft.lb')\n", + " print(f'{pole_key}: tension_moment_wind = {norm_cals(tension_moment_wind)} ft.lb')\n", + " print(f'{pole_key}: pole_moment_tilt = {norm_cals(pole_moment_tilt)} ft*lb')\n", + " print(f'{pole_key}: total_moment = {norm_cals(total_moment)} ft.lb')\n", + " \n", + " susceptibility_wind_moment = [a+b+c for a,b,c in zip(pole_moment_wind,equipment_moment_wind,wire_moment_wind)]\n", + " susceptibility = 2*norm_cals(susceptibility_wind_moment)/(resisting_moment*wind_speed*0.00256*2.24)\n", + " print(f'{pole_key}: susceptibility = {susceptibility} ft.lb.s/m')\n", + " pole_analysis_dict[pole_key]['pole_susceptibility'].append(susceptibility)\n", + " \n", + " if resisting_moment > 0:\n", + " pole_stress = norm_cals(total_moment)/resisting_moment\n", + " else:\n", + " pole_stress = INFINITY\n", + " print(f'{pole_key}: pole_stress = {pole_stress*100}%')\n", + " pole_analysis_dict[pole_key]['pole_stress'].append(pole_stress*100)\n", + " \n", + " if pole_stress < 1.0:\n", + " pole_analysis_dict[pole_key]['pole_status'] = PS_OK\n", + " else:\n", + " pole_analysis_dict[pole_key]['pole_status'] = PS_FAILED\n", + " print(f'{pole_key}: pole_status = {pole_analysis_dict[pole_key][\"pole_status\"]}')\n", + " if pole_analysis_dict[pole_key]['pole_status'] == PS_FAILED:\n", + " print(f'{pole_key}: pole failed at {pole_stress*100}% stress, time to repair is {repair_time}h')\n", + " pole_analysis_dict[pole_key]['pole_down_time'] = time_stamps[timestamp_index]\n", + " down_time_date = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(time_stamps[timestamp_index]))\n", + " print(f'{pole_key}: down_time = {down_time_date}')\n", + " recalc = 0\n", + " else:\n", + " pole_analysis_dict[pole_key]['pole_susceptibility'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_stress'].append(no_data)\n", + " print(f'{pole_key}: no pole recalculation flagged')\n", + " else:\n", + " print(f'{pole_key}: pole repair time has not arrived')\n", + " pole_analysis_dict[pole_key]['wire_tention_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_cable'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_equipment'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_tile_moment'].append(no_data)\n", + " pole_analysis_dict[pole_key]['total_moment_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_age'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_susceptibility'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_stress'].append(no_data)\n", + " pole_analysis_dict[pole_key]['critical_wind_speed'] = no_data\n", + " last_wind_speed = wind_speed\n", + "print(pole_analysis_dict['pole_3'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a889e2b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 4251e6b1d62b79f205045974226c60b4d7203dce Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Tue, 9 Nov 2021 17:13:57 -0700 Subject: [PATCH 64/82] Update example_for_gridwere.xls --- .../test_files/example_for_gridwere.xls | Bin 48128 -> 48128 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/US/CA/SLAC/anticipation/test_files/example_for_gridwere.xls b/US/CA/SLAC/anticipation/test_files/example_for_gridwere.xls index df1eaaa1f48171e08ea84bb87779946d8b2a0145..29b7532b1fb05aea525645b2317294340f67f755 100644 GIT binary patch delta 125 zcmZqp!PM}BX~PR9M#jxAnF`~0I2afh7=f69frDf6sdD?xOB0`pGO=+@?kP9mV`N|l zOEWU4FtD?4K2@I2&&aUZs{J|#3sA^mv*-kQHb#cYrqc|8N Date: Tue, 9 Nov 2021 17:14:00 -0700 Subject: [PATCH 65/82] Update Two-ploe or two-node study.ipynb --- .../Two-ploe or two-node study.ipynb | 3847 ++++++++++++++++- 1 file changed, 3644 insertions(+), 203 deletions(-) diff --git a/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb b/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb index aa322253..f2ce0657 100644 --- a/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb +++ b/US/CA/SLAC/anticipation/test_files/Two-ploe or two-node study.ipynb @@ -19,12 +19,13 @@ }, { "cell_type": "code", - "execution_count": 499, + "execution_count": 124, "id": "405ed256", "metadata": {}, "outputs": [], "source": [ "import os\n", + "import time\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", @@ -33,32 +34,12 @@ }, { "cell_type": "code", - "execution_count": 546, + "execution_count": 125, "id": "5a4031fc", "metadata": { "scrolled": false }, - "outputs": [ - { - "ename": "FileNotFoundError", - "evalue": "[Errno 2] No such file or directory: 'pole_mount_data.xls'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_excel_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mpole_mount_excel_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'pole_mount_data.xls'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mdf_mount\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_excel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpole_mount_excel_file\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/util/_decorators.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 294\u001b[0m )\n\u001b[1;32m 295\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mFutureWarning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstacklevel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstacklevel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 296\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 297\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 298\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36mread_excel\u001b[0;34m(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols)\u001b[0m\n\u001b[1;32m 302\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 303\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mExcelFile\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 304\u001b[0;31m \u001b[0mio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mExcelFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 305\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 306\u001b[0m raise ValueError(\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path_or_buffer, engine)\u001b[0m\n\u001b[1;32m 865\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_io\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstringify_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 866\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 867\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engines\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_io\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 868\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 869\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__fspath__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0merr_msg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"Install xlrd >= 1.0.0 for Excel support\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0mimport_optional_dependency\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"xlrd\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextra\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merr_msg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 22\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 351\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 352\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 353\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 354\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbytes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 355\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbook\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBytesIO\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py\u001b[0m in \u001b[0;36mload_workbook\u001b[0;34m(self, filepath_or_buffer)\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mopen_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile_contents\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 37\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mopen_workbook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 38\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/xlrd/__init__.py\u001b[0m in \u001b[0;36mopen_workbook\u001b[0;34m(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows, ignore_workbook_corruption)\u001b[0m\n\u001b[1;32m 164\u001b[0m \"\"\"\n\u001b[1;32m 165\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 166\u001b[0;31m \u001b[0mfile_format\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minspect_format\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile_contents\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 167\u001b[0m \u001b[0;31m# We have to let unknown file formats pass through here, as some ancient\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[0;31m# files that xlrd can parse don't start with the expected signature.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.9/site-packages/xlrd/__init__.py\u001b[0m in \u001b[0;36minspect_format\u001b[0;34m(path, content)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0mpath\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpanduser\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 60\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"rb\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0mpeek\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mPEEK_SIZE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'pole_mount_data.xls'" - ] - } - ], + "outputs": [], "source": [ "pole_excel_file = 'example_for_gridwere.xls'\n", "df = pd.read_excel(pole_excel_file, sheet_name=None)\n", @@ -68,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 501, + "execution_count": 126, "id": "4754baa8", "metadata": {}, "outputs": [], @@ -89,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 515, + "execution_count": 127, "id": "6972298d", "metadata": {}, "outputs": [], @@ -110,7 +91,7 @@ }, { "cell_type": "code", - "execution_count": 503, + "execution_count": 128, "id": "9baf9c60", "metadata": {}, "outputs": [], @@ -131,7 +112,7 @@ }, { "cell_type": "code", - "execution_count": 504, + "execution_count": 129, "id": "4671b052", "metadata": {}, "outputs": [], @@ -151,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 505, + "execution_count": 130, "id": "b294fe82", "metadata": {}, "outputs": [], @@ -171,10 +152,41 @@ }, { "cell_type": "code", - "execution_count": 506, + "execution_count": 131, "id": "b61ed8b6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-06-08 00:00:00\n", + "2021-06-08 01:00:00\n", + "2021-06-08 01:59:59.990000\n", + "2021-06-08 02:59:59.985000\n", + "2021-06-08 03:59:59.980000\n", + "2021-06-08 04:59:59.975000\n", + "2021-06-08 05:59:59.970000\n", + "2021-06-08 06:59:59.965000\n", + "2021-06-08 07:59:59.960000\n", + "2021-06-08 08:59:59.955000\n", + "2021-06-08 09:59:59.950000\n", + "2021-06-08 10:59:59.945000\n", + "2021-06-08 11:59:59.940000\n", + "2021-06-08 12:59:59.935000\n", + "2021-06-08 13:59:59.930000\n", + "2021-06-08 14:59:59.925000\n", + "2021-06-08 15:59:59.920000\n", + "2021-06-08 16:59:59.915000\n", + "2021-06-08 17:59:59.910000\n", + "2021-06-08 18:59:59.905000\n", + "2021-06-08 19:59:59.900000\n", + "2021-06-08 20:59:59.895000\n", + "2021-06-08 21:59:59.890000\n", + "2021-06-08 22:59:59.885000\n" + ] + } + ], "source": [ "df_weather_data = df['weather player'].copy()\n", "time_stamps = []\n", @@ -183,13 +195,15 @@ "ambient_temps = []\n", "wind_gusts = []\n", "GHIs = []\n", + "ice_thicknesses =[]\n", "default_wind_speed = 0\n", "for weather_timesttamp in range(len(df_weather_data)):\n", " date = df_weather_data.iloc[weather_timesttamp]['time']\n", + " print(date)\n", " if pd.isnull(date):\n", " raise Exception(f'column {weather_timesttamp}: time stamp is not set up')\n", " date = date - pd.Timestamp(\"1970-01-01\")\n", - " time_stamps.append(date.total_seconds())\n", + " time_stamps.append(round(date.total_seconds()))\n", " if pd.isnull(df_weather_data.iloc[weather_timesttamp]['wind_speed']) \\\n", " or df_weather_data.iloc[weather_timesttamp]['wind_speed'] < 0:\n", " print(f'weather data does not include wind_speed at {date}, using local default_wind_speed')\n", @@ -199,7 +213,8 @@ " wind_directions.append(df_weather_data.iloc[weather_timesttamp]['wind_direction'])\n", " ambient_temps.append(df_weather_data.iloc[weather_timesttamp]['temperature'])\n", " wind_gusts.append(df_weather_data.iloc[weather_timesttamp]['wind_gusts'])\n", - " GHIs.append(df_weather_data.iloc[weather_timesttamp]['global_horizontal_irradiance'])\n" + " GHIs.append(df_weather_data.iloc[weather_timesttamp]['global_horizontal_irradiance'])\n", + " ice_thicknesses.append(df_weather_data.iloc[weather_timesttamp]['ice_thickness'])\n" ] }, { @@ -213,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": 539, + "execution_count": 132, "id": "1d0d7f84", "metadata": {}, "outputs": [], @@ -231,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 519, + "execution_count": 133, "id": "f0e87fa2", "metadata": {}, "outputs": [], @@ -258,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 526, + "execution_count": 134, "id": "386960f1", "metadata": {}, "outputs": [], @@ -280,7 +295,7 @@ }, { "cell_type": "code", - "execution_count": 522, + "execution_count": 135, "id": "6b0dcadd", "metadata": {}, "outputs": [], @@ -294,7 +309,7 @@ }, { "cell_type": "code", - "execution_count": 521, + "execution_count": 136, "id": "de17ca7b", "metadata": {}, "outputs": [], @@ -311,29 +326,7 @@ }, { "cell_type": "code", - "execution_count": 516, - "id": "d9e9902a", - "metadata": {}, - "outputs": [], - "source": [ - "feeder_file_path = '/Users/fxie2/Downloads/NG_to_Hitachi/Final List of Feeders.csv'\n", - "feeder_data = pd.read_csv(feeder_file_path)\n", - "# print(feeder_data)\n", - "summary = {}\n", - "count = 0\n", - "for index in range(len(feeder_data)):\n", - " feeder_strings = feeder_data.iloc[index].tolist()[0].split('_')\n", - " if str(feeder_strings[1]) not in summary.keys():\n", - " summary[str(feeder_strings[1])] = 0\n", - " summary[str(feeder_strings[1])] += 1\n", - " count += 1\n", - "# print(count)\n", - "# print(summary)" - ] - }, - { - "cell_type": "code", - "execution_count": 545, + "execution_count": 138, "id": "c4c686e5", "metadata": {}, "outputs": [], @@ -408,7 +401,7 @@ }, { "cell_type": "code", - "execution_count": 542, + "execution_count": 139, "id": "e08cc50b", "metadata": {}, "outputs": [], @@ -432,141 +425,3510 @@ }, { "cell_type": "code", - "execution_count": 511, - "id": "d49f1e47", - "metadata": {}, + "execution_count": 142, + "id": "a8014f24", + "metadata": { + "scrolled": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "-173.03229535755094\n", - "-0.0028403000000025713\n", - "188.03229535755094\n" + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: wind_pressure_failure is negative\n", + "pole_1: pole_moment_wind = 0.8679351800488609 ft.lb\n", + "pole_1: equipment_moment_wind = 0.08796690135032645 ft.lb\n", + "pole_1: wire_moment_wind = 0.15879194668494792 ft.lb\n", + "pole_1: tension_moment_wind = 776863.9556665377 ft.lb\n", + "pole_1: pole_moment_tilt = 100.04115763562405 ft*lb\n", + "pole_1: total_moment = 776763.5793665104 ft.lb\n", + "pole_1: susceptibility = 0.3554876615756065 ft.lb.s/m\n", + "pole_1: pole_stress = 7138.286998315999%\n", + "pole_1: pole_status = 0\n", + "pole_1: pole failed at 7138.286998315999% stress, time to repair is 8h\n", + "pole_1: down_time = 2021-06-08 00:00:00\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 67.82265319511107 m/s\n", + "pole_2: pole_moment_wind = 2.2325576428199687 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 0.36513616181185143 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 4063.349905955385 ft.lb\n", + "pole_2: susceptibility = 0.8287749444616405 ft.lb.s/m\n", + "pole_2: pole_stress = 37.341294795187466%\n", + "pole_2: pole_status = 1\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 469.83349953428814 m/s\n", + "pole_3: pole_moment_wind = 0.05710012058627924 ft.lb\n", + "pole_3: equipment_moment_wind = 0.011250906286058479 ft.lb\n", + "pole_3: wire_moment_wind = 0.07561573032649176 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 1858.5596575938475 ft.lb\n", + "pole_3: susceptibility = 0.024900000685539946 ft.lb.s/m\n", + "pole_3: pole_stress = 9.628507023463726%\n", + "pole_3: pole_status = 1\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 330.5262072573493 m/s\n", + "pole_4: pole_moment_wind = 0.15748709087669027 ft.lb\n", + "pole_4: equipment_moment_wind = 0.018267683904276185 ft.lb\n", + "pole_4: wire_moment_wind = 0.10225641977935465 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 2892.4261218261086 ft.lb\n", + "pole_4: susceptibility = 0.04733050071732967 ft.lb.s/m\n", + "pole_4: pole_stress = 14.98458503339507%\n", + "pole_4: pole_status = 1\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 163.6469767597633 m/s\n", + "pole_5: pole_moment_wind = 0.257672802433969 ft.lb\n", + "pole_5: equipment_moment_wind = 0.05067391091082763 ft.lb\n", + "pole_5: wire_moment_wind = 0.14250301624110653 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 4317.760888823298 ft.lb\n", + "pole_5: susceptibility = 0.1369924876424697 ft.lb.s/m\n", + "pole_5: pole_stress = 39.679275951198804%\n", + "pole_5: pole_status = 1\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 481.497338456048 m/s\n", + "pole_6: pole_moment_wind = 0.05703919780058577 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 0.07883928849868739 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 1991.3638990616848 ft.lb\n", + "pole_6: susceptibility = 0.023527519774198518 ft.lb.s/m\n", + "pole_6: pole_stress = 10.31651645404305%\n", + "pole_6: pole_status = 1\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 180.44864762473188 m/s\n", + "pole_7: pole_moment_wind = 0.6208744167274849 ft.lb\n", + "pole_7: equipment_moment_wind = 0.02251486382657594 ft.lb\n", + "pole_7: wire_moment_wind = 0.18130861772032608 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 4007.842557869659 ft.lb\n", + "pole_7: susceptibility = 0.1479969821778747 ft.lb.s/m\n", + "pole_7: pole_stress = 20.76314314674414%\n", + "pole_7: pole_status = 1\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 127.4534866271907 m/s\n", + "pole_8: pole_moment_wind = 0.8237048322335169 ft.lb\n", + "pole_8: equipment_moment_wind = 0.02494925677045527 ft.lb\n", + "pole_8: wire_moment_wind = 0.21072609881729507 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 4882.79880086019 ft.lb\n", + "pole_8: susceptibility = 0.24996534631494072 ft.lb.s/m\n", + "pole_8: pole_stress = 33.233562520118554%\n", + "pole_8: pole_status = 1\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 123.18420301016319 m/s\n", + "pole_9: pole_moment_wind = 1.4909663057018672 ft.lb\n", + "pole_9: equipment_moment_wind = 0.031131342481414068 ft.lb\n", + "pole_9: wire_moment_wind = 0.23943116972651624 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 4308.111151612266 ft.lb\n", + "pole_9: susceptibility = 0.3113542782379554 ft.lb.s/m\n", + "pole_9: pole_stress = 22.3187231637554%\n", + "pole_9: pole_status = 1\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 120.73087202758205 m/s\n", + "pole_10: pole_moment_wind = 2.402736153837368 ft.lb\n", + "pole_10: equipment_moment_wind = 0.03662458345309899 ft.lb\n", + "pole_10: wire_moment_wind = 0.32665778598253853 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 2372.5596387091055 ft.lb\n", + "pole_10: susceptibility = 0.37732862599847067 ft.lb.s/m\n", + "pole_10: pole_stress = 9.571126706338582%\n", + "pole_10: pole_status = 1\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 120.01740311255868 m/s\n", + "pole_11: pole_moment_wind = 3.3149779429700765 ft.lb\n", + "pole_11: equipment_moment_wind = 0.03743276102612491 ft.lb\n", + "pole_11: wire_moment_wind = 0.34129127580077206 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 1435.290251095867 ft.lb\n", + "pole_11: susceptibility = 0.40286358745155126 ft.lb.s/m\n", + "pole_11: pole_stress = 4.59636380453402%\n", + "pole_11: pole_status = 1\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 109.16614028994732 m/s\n", + "pole_12: pole_moment_wind = 5.456970177020265 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 0.3717452569240449 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 7861.851325012371 ft.lb\n", + "pole_12: susceptibility = 0.42548866479864106 ft.lb.s/m\n", + "pole_12: pole_stress = 16.634344772510843%\n", + "pole_12: pole_status = 1\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: wind_pressure_failure is negative\n", + "pole_13: pole_moment_wind = 6.994362612736516 ft.lb\n", + "pole_13: equipment_moment_wind = 0.0 ft.lb\n", + "pole_13: wire_moment_wind = 0.4137335764962108 ft.lb\n", + "pole_13: tension_moment_wind = 473177.953064816 ft.lb\n", + "pole_13: pole_moment_tilt = 2318.077089265335 ft*lb\n", + "pole_13: total_moment = 473903.27205870324 ft.lb\n", + "pole_13: susceptibility = 0.48907532108521057 ft.lb.s/m\n", + "pole_13: pole_stress = 1002.6989942134362%\n", + "pole_13: pole_status = 0\n", + "pole_13: pole failed at 1002.6989942134362% stress, time to repair is 8h\n", + "pole_13: down_time = 2021-06-08 00:00:00\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: wind_pressure_failure is negative\n", + "pole_14: pole_moment_wind = 6.986900000571375 ft.lb\n", + "pole_14: equipment_moment_wind = 0.0 ft.lb\n", + "pole_14: wire_moment_wind = 0.4823416937609407 ft.lb\n", + "pole_14: tension_moment_wind = 177792.93112583933 ft.lb\n", + "pole_14: pole_moment_tilt = 3089.6709494248894 ft*lb\n", + "pole_14: total_moment = 178322.95207060268 ft.lb\n", + "pole_14: susceptibility = 0.5490530352391625 ft.lb.s/m\n", + "pole_14: pole_stress = 377.30113976553275%\n", + "pole_14: pole_status = 0\n", + "pole_14: pole failed at 377.30113976553275% stress, time to repair is 8h\n", + "pole_14: down_time = 2021-06-08 00:00:00\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 84.56323381186057 m/s\n", + "pole_15: pole_moment_wind = 8.272827494296838 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 0.0737409832104786 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 13599.953054880241 ft.lb\n", + "pole_15: susceptibility = 0.6058949946381065 ft.lb.s/m\n", + "pole_15: pole_stress = 28.77519539006088%\n", + "pole_15: pole_status = 1\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 87.11142762971085 m/s\n", + "pole_16: pole_moment_wind = 10.010931799819287 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 0.08714052648109619 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 13164.061714464791 ft.lb\n", + "pole_16: susceptibility = 0.6164649676401288 ft.lb.s/m\n", + "pole_16: pole_stress = 23.089474221220474%\n", + "pole_16: pole_status = 1\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 100.27526480711259 m/s\n", + "pole_17: pole_moment_wind = 10.62899551559684 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 0.0037208181559365517 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 6714.716930926665 ft.lb\n", + "pole_17: susceptibility = 0.5451410623877944 ft.lb.s/m\n", + "pole_17: pole_stress = 9.871644998207783%\n", + "pole_17: pole_status = 1\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: wind_pressure_failure is negative\n", + "pole_18: pole_moment_wind = 1.0286196249398323 ft.lb\n", + "pole_18: equipment_moment_wind = 0.0 ft.lb\n", + "pole_18: wire_moment_wind = 0.46637094616793695 ft.lb\n", + "pole_18: tension_moment_wind = 1236327.3863373229 ft.lb\n", + "pole_18: pole_moment_tilt = 200.05184176551182 ft*lb\n", + "pole_18: total_moment = 1236133.677984255 ft.lb\n", + "pole_18: susceptibility = 0.41308186394461943 ft.lb.s/m\n", + "pole_18: pole_stress = 11359.79749324995%\n", + "pole_18: pole_status = 0\n", + "pole_18: pole failed at 11359.79749324995% stress, time to repair is 8h\n", + "pole_18: down_time = 2021-06-08 00:00:00\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: wind_pressure_failure is negative\n", + "pole_19: pole_moment_wind = 2.2335782489973566 ft.lb\n", + "pole_19: equipment_moment_wind = 0.0 ft.lb\n", + "pole_19: wire_moment_wind = 0.29505716207804555 ft.lb\n", + "pole_19: tension_moment_wind = 417618.7132787921 ft.lb\n", + "pole_19: pole_moment_tilt = 187.86878573822952 ft*lb\n", + "pole_19: total_moment = 417787.7087976213 ft.lb\n", + "pole_19: susceptibility = 0.6445758570333661 ft.lb.s/m\n", + "pole_19: pole_stress = 3839.3774489253174%\n", + "pole_19: pole_status = 0\n", + "pole_19: pole failed at 3839.3774489253174% stress, time to repair is 8h\n", + "pole_19: down_time = 2021-06-08 00:00:00\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: wind_pressure_failure is negative\n", + "pole_20: pole_moment_wind = 0.04822437572282554 ft.lb\n", + "pole_20: equipment_moment_wind = 0.0 ft.lb\n", + "pole_20: wire_moment_wind = 0.06413047726835144 ft.lb\n", + "pole_20: tension_moment_wind = 91644.73049070181 ft.lb\n", + "pole_20: pole_moment_tilt = 0.0 ft*lb\n", + "pole_20: total_moment = 91644.74875277911 ft.lb\n", + "pole_20: susceptibility = 0.004125910305191402 ft.lb.s/m\n", + "pole_20: pole_stress = 474.7773919574307%\n", + "pole_20: pole_status = 0\n", + "pole_20: pole failed at 474.7773919574307% stress, time to repair is 8h\n", + "pole_20: down_time = 2021-06-08 00:00:00\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: wind_pressure_failure is negative\n", + "pole_21: pole_moment_wind = 0.1390484961826145 ft.lb\n", + "pole_21: equipment_moment_wind = 0.0 ft.lb\n", + "pole_21: wire_moment_wind = 0.10777061253512434 ft.lb\n", + "pole_21: tension_moment_wind = 116162.54632673286 ft.lb\n", + "pole_21: pole_moment_tilt = 33.984928061478584 ft*lb\n", + "pole_21: total_moment = 116171.82503141374 ft.lb\n", + "pole_21: susceptibility = 0.029356476630060364 ft.lb.s/m\n", + "pole_21: pole_stress = 601.8430609279944%\n", + "pole_21: pole_status = 0\n", + "pole_21: pole failed at 601.8430609279944% stress, time to repair is 8h\n", + "pole_21: down_time = 2021-06-08 00:00:00\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: wind_pressure_failure is negative\n", + "pole_22: pole_moment_wind = 0.25849950377982855 ft.lb\n", + "pole_22: equipment_moment_wind = 0.0 ft.lb\n", + "pole_22: wire_moment_wind = 0.07046403477451701 ft.lb\n", + "pole_22: tension_moment_wind = 144987.9710886359 ft.lb\n", + "pole_22: pole_moment_tilt = 73.20903400076115 ft*lb\n", + "pole_22: total_moment = 144949.4848109023 ft.lb\n", + "pole_22: susceptibility = 0.07279713637497873 ft.lb.s/m\n", + "pole_22: pole_stress = 1332.0539869828972%\n", + "pole_22: pole_status = 0\n", + "pole_22: pole failed at 1332.0539869828972% stress, time to repair is 8h\n", + "pole_22: down_time = 2021-06-08 00:00:00\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: wind_pressure_failure is negative\n", + "pole_23: pole_moment_wind = 0.06481995866928517 ft.lb\n", + "pole_23: equipment_moment_wind = 0.0 ft.lb\n", + "pole_23: wire_moment_wind = 0.07609709771835296 ft.lb\n", + "pole_23: tension_moment_wind = 124987.82152296124 ft.lb\n", + "pole_23: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_23: total_moment = 124931.78480878724 ft.lb\n", + "pole_23: susceptibility = 0.02127388978879425 ft.lb.s/m\n", + "pole_23: pole_stress = 647.2251577022764%\n", + "pole_23: pole_status = 0\n", + "pole_23: pole failed at 647.2251577022764% stress, time to repair is 8h\n", + "pole_23: down_time = 2021-06-08 00:00:00\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: wind_pressure_failure is negative\n", + "pole_24: pole_moment_wind = 0.7353704146473324 ft.lb\n", + "pole_24: equipment_moment_wind = 0.0 ft.lb\n", + "pole_24: wire_moment_wind = 0.26947539131176723 ft.lb\n", + "pole_24: tension_moment_wind = 181294.63980884358 ft.lb\n", + "pole_24: pole_moment_tilt = 412.9563668850881 ft*lb\n", + "pole_24: total_moment = 181012.09255190077 ft.lb\n", + "pole_24: susceptibility = 0.1759307441699893 ft.lb.s/m\n", + "pole_24: pole_stress = 937.7563950377722%\n", + "pole_24: pole_status = 0\n", + "pole_24: pole failed at 937.7563950377722% stress, time to repair is 8h\n", + "pole_24: down_time = 2021-06-08 00:00:00\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: wind_pressure_failure is negative\n", + "pole_25: pole_moment_wind = 0.8210705606645529 ft.lb\n", + "pole_25: equipment_moment_wind = 0.0 ft.lb\n", + "pole_25: wire_moment_wind = 0.4994724843281836 ft.lb\n", + "pole_25: tension_moment_wind = 38555.64904279871 ft.lb\n", + "pole_25: pole_moment_tilt = 551.5211842534965 ft*lb\n", + "pole_25: total_moment = 38611.08315768006 ft.lb\n", + "pole_25: susceptibility = 0.309878667399565 ft.lb.s/m\n", + "pole_25: pole_stress = 262.79678897770714%\n", + "pole_25: pole_status = 0\n", + "pole_25: pole failed at 262.79678897770714% stress, time to repair is 8h\n", + "pole_25: down_time = 2021-06-08 00:00:00\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 107.65279699450174 m/s\n", + "pole_26: pole_moment_wind = 1.2546100559847093 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 0.584907798133659 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 7198.406336349667 ft.lb\n", + "pole_26: susceptibility = 0.32914117314962543 ft.lb.s/m\n", + "pole_26: pole_stress = 37.29226860386039%\n", + "pole_26: pole_status = 1\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 100.21377467312635 m/s\n", + "pole_27: pole_moment_wind = 2.1136776984392998 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 0.7311211529690704 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 8962.449762865994 ft.lb\n", + "pole_27: susceptibility = 0.3866691247182316 ft.lb.s/m\n", + "pole_27: pole_stress = 36.155357648357096%\n", + "pole_27: pole_status = 1\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 102.70624286974834 m/s\n", + "pole_28: pole_moment_wind = 3.3134632044700867 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 0.7799318590510208 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 7520.265175431168 ft.lb\n", + "pole_28: susceptibility = 0.4377345635575737 ft.lb.s/m\n", + "pole_28: pole_stress = 24.08284639741537%\n", + "pole_28: pole_status = 1\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 110.77422543916627 m/s\n", + "pole_29: pole_moment_wind = 6.1975750640834795 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 0.34887100339754185 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 1857.3263737005745 ft.lb\n", + "pole_29: susceptibility = 0.47613455714896263 ft.lb.s/m\n", + "pole_29: pole_stress = 3.929787778728321%\n", + "pole_29: pole_status = 1\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: wind_pressure_failure is negative\n", + "pole_30: pole_moment_wind = 8.30442835134919 ft.lb\n", + "pole_30: equipment_moment_wind = 0.0 ft.lb\n", + "pole_30: wire_moment_wind = 2.4070621031728776 ft.lb\n", + "pole_30: tension_moment_wind = 1107897.730511574 ft.lb\n", + "pole_30: pole_moment_tilt = 0.0 ft*lb\n", + "pole_30: total_moment = 1107900.4757953268 ft.lb\n", + "pole_30: susceptibility = 0.5241643658079941 ft.lb.s/m\n", + "pole_30: pole_stress = 2344.129610970387%\n", + "pole_30: pole_status = 0\n", + "pole_30: pole failed at 2344.129610970387% stress, time to repair is 8h\n", + "pole_30: down_time = 2021-06-08 00:00:00\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: wind_pressure_failure is negative\n", + "pole_31: pole_moment_wind = 7.002894561045936 ft.lb\n", + "pole_31: equipment_moment_wind = 0.0 ft.lb\n", + "pole_31: wire_moment_wind = 1.691429832403802 ft.lb\n", + "pole_31: tension_moment_wind = 73736.46492035208 ft.lb\n", + "pole_31: pole_moment_tilt = 773.0062927868681 ft*lb\n", + "pole_31: total_moment = 74351.55946939938 ft.lb\n", + "pole_31: susceptibility = 0.6153601148920187 ft.lb.s/m\n", + "pole_31: pole_stress = 157.31529679949608%\n", + "pole_31: pole_status = 0\n", + "pole_31: pole failed at 157.31529679949608% stress, time to repair is 8h\n", + "pole_31: down_time = 2021-06-08 00:00:00\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: wind_pressure_failure is negative\n", + "pole_32: pole_moment_wind = 6.999694674293905 ft.lb\n", + "pole_32: equipment_moment_wind = 0.0 ft.lb\n", + "pole_32: wire_moment_wind = 0.9028607479180222 ft.lb\n", + "pole_32: tension_moment_wind = 863375.3936365839 ft.lb\n", + "pole_32: pole_moment_tilt = 1545.7771203686734 ft*lb\n", + "pole_32: total_moment = 863419.5454623897 ft.lb\n", + "pole_32: susceptibility = 0.5723600192609416 ft.lb.s/m\n", + "pole_32: pole_stress = 1826.8494033780764%\n", + "pole_32: pole_status = 0\n", + "pole_32: pole failed at 1826.8494033780764% stress, time to repair is 8h\n", + "pole_32: down_time = 2021-06-08 00:00:00\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 97.53897471110801 m/s\n", + "pole_33: pole_moment_wind = 8.828082738253148 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 0.1797397682370325 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 8020.185881243726 ft.lb\n", + "pole_33: susceptibility = 0.549287843949321 ft.lb.s/m\n", + "pole_33: pole_stress = 14.067229337803383%\n", + "pole_33: pole_status = 1\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 102.92259915351141 m/s\n", + "pole_34: pole_moment_wind = 10.617654943820723 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 0.15136078101837627 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 2810.077982323064 ft.lb\n", + "pole_34: susceptibility = 0.5503698770074641 ft.lb.s/m\n", + "pole_34: pole_stress = 4.131237778767395%\n", + "pole_34: pole_status = 1\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: wind_pressure_failure is negative\n", + "pole_35: pole_moment_wind = 1.1639528750632042 ft.lb\n", + "pole_35: equipment_moment_wind = 0.0 ft.lb\n", + "pole_35: wire_moment_wind = 0.2914950555889729 ft.lb\n", + "pole_35: tension_moment_wind = 179532.78397585955 ft.lb\n", + "pole_35: pole_moment_tilt = 499.59651297380145 ft*lb\n", + "pole_35: total_moment = 179085.3580417394 ft.lb\n", + "pole_35: susceptibility = 0.31137555492304814 ft.lb.s/m\n", + "pole_35: pole_stress = 1645.755178095094%\n", + "pole_35: pole_status = 0\n", + "pole_35: pole failed at 1645.755178095094% stress, time to repair is 8h\n", + "pole_35: down_time = 2021-06-08 00:00:00\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: wind_pressure_failure is negative\n", + "pole_36: pole_moment_wind = 2.6422512777159786 ft.lb\n", + "pole_36: equipment_moment_wind = 0.0 ft.lb\n", + "pole_36: wire_moment_wind = 0.6246303415462684 ft.lb\n", + "pole_36: tension_moment_wind = 546907.6528352136 ft.lb\n", + "pole_36: pole_moment_tilt = 750.9029810177472 ft*lb\n", + "pole_36: total_moment = 547421.3607472577 ft.lb\n", + "pole_36: susceptibility = 0.7163629326481604 ft.lb.s/m\n", + "pole_36: pole_stress = 5030.682289725128%\n", + "pole_36: pole_status = 0\n", + "pole_36: pole failed at 5030.682289725128% stress, time to repair is 8h\n", + "pole_36: down_time = 2021-06-08 00:00:00\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: wind_pressure_failure is negative\n", + "pole_37: pole_moment_wind = 0.04815828589191502 ft.lb\n", + "pole_37: equipment_moment_wind = 0.0 ft.lb\n", + "pole_37: wire_moment_wind = 0.25502409096893713 ft.lb\n", + "pole_37: tension_moment_wind = 278813.1451447642 ft.lb\n", + "pole_37: pole_moment_tilt = 56.35052699396653 ft*lb\n", + "pole_37: total_moment = 278869.7348407457 ft.lb\n", + "pole_37: susceptibility = 0.05438698029510233 ft.lb.s/m\n", + "pole_37: pole_stress = 1444.7204799558626%\n", + "pole_37: pole_status = 0\n", + "pole_37: pole failed at 1444.7204799558626% stress, time to repair is 8h\n", + "pole_37: down_time = 2021-06-08 00:00:00\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 61.61589811470853 m/s\n", + "pole_2: pole_moment_wind = 5403.349565563203 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 2568.38470563198 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 11532.993886910272 ft.lb\n", + "pole_2: susceptibility = 50.207731735848604 ft.lb.s/m\n", + "pole_2: pole_stress = 105.98568535065755%\n", + "pole_2: pole_status = 0\n", + "pole_2: pole failed at 105.98568535065755% stress, time to repair is 8h\n", + "pole_2: down_time = 2021-06-08 01:00:00\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 336.7066658340141 m/s\n", + "pole_3: pole_moment_wind = 130.3126003390427 ft.lb\n", + "pole_3: equipment_moment_wind = 25.676563188545416 ft.lb\n", + "pole_3: wire_moment_wind = 534.1956017807879 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 2310.8493197841403 ft.lb\n", + "pole_3: susceptibility = 2.424118763072194 ft.lb.s/m\n", + "pole_3: pole_stress = 11.971651711472955%\n", + "pole_3: pole_status = 1\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 258.9186165581047 m/s\n", + "pole_4: pole_moment_wind = 374.61627388021947 ft.lb\n", + "pole_4: equipment_moment_wind = 43.45354046827781 ft.lb\n", + "pole_4: wire_moment_wind = 720.1996034487822 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 3305.043441978166 ft.lb\n", + "pole_4: susceptibility = 3.8565267487327897 ft.lb.s/m\n", + "pole_4: pole_stress = 17.122202057876436%\n", + "pole_4: pole_status = 1\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 131.53401083605326 m/s\n", + "pole_5: pole_moment_wind = 655.2487987674558 ft.lb\n", + "pole_5: equipment_moment_wind = 128.861171763278 ft.lb\n", + "pole_5: wire_moment_wind = 1004.5247565636035 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 4218.335517380173 ft.lb\n", + "pole_5: susceptibility = 10.602459033808401 ft.lb.s/m\n", + "pole_5: pole_stress = 38.765578585452054%\n", + "pole_5: pole_status = 1\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 333.910087102845 m/s\n", + "pole_6: pole_moment_wind = 154.02343774616347 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 557.0783176557106 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 1510.6978143541787 ft.lb\n", + "pole_6: susceptibility = 2.4461036483646823 ft.lb.s/m\n", + "pole_6: pole_stress = 7.826364064456202%\n", + "pole_6: pole_status = 1\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 151.8719370284799 m/s\n", + "pole_7: pole_moment_wind = 1680.0381954900108 ft.lb\n", + "pole_7: equipment_moment_wind = 60.92348174736685 ft.lb\n", + "pole_7: wire_moment_wind = 1280.601500195323 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 2193.4969355288217 ft.lb\n", + "pole_7: susceptibility = 10.446602335234527 ft.lb.s/m\n", + "pole_7: pole_stress = 11.363692611852018%\n", + "pole_7: pole_status = 1\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 110.79148845379319 m/s\n", + "pole_8: pole_moment_wind = 1993.5723324838648 ft.lb\n", + "pole_8: equipment_moment_wind = 60.3834602727143 ft.lb\n", + "pole_8: wire_moment_wind = 1498.6244440128085 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 3349.1488272775323 ft.lb\n", + "pole_8: susceptibility = 16.540188560403607 ft.lb.s/m\n", + "pole_8: pole_stress = 22.79515324712979%\n", + "pole_8: pole_status = 1\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 114.72195736421706 m/s\n", + "pole_9: pole_moment_wind = 3402.649492137734 ft.lb\n", + "pole_9: equipment_moment_wind = 71.04724384370557 ft.lb\n", + "pole_9: wire_moment_wind = 1690.3837994333137 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 6631.385302126562 ft.lb\n", + "pole_9: susceptibility = 17.949062983601205 ft.lb.s/m\n", + "pole_9: pole_stress = 34.35474330669723%\n", + "pole_9: pole_status = 1\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 113.57765339052564 m/s\n", + "pole_10: pole_moment_wind = 5715.414895641261 ft.lb\n", + "pole_10: equipment_moment_wind = 87.11929917073485 ft.lb\n", + "pole_10: wire_moment_wind = 2289.061952771395 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 7407.915968410879 ft.lb\n", + "pole_10: susceptibility = 21.317714933932706 ft.lb.s/m\n", + "pole_10: pole_stress = 29.884223438171098%\n", + "pole_10: pole_status = 1\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 112.49110482963911 m/s\n", + "pole_11: pole_moment_wind = 8429.81989000715 ft.lb\n", + "pole_11: equipment_moment_wind = 95.18960272573993 ft.lb\n", + "pole_11: wire_moment_wind = 2389.6387982106216 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 11239.108286203042 ft.lb\n", + "pole_11: susceptibility = 22.928735612290687 ft.lb.s/m\n", + "pole_11: pole_stress = 35.99204445407439%\n", + "pole_11: pole_status = 1\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 101.48218488698416 m/s\n", + "pole_12: pole_moment_wind = 14735.503631755488 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 2599.6273937246788 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 19783.107209483936 ft.lb\n", + "pole_12: susceptibility = 24.618086446253805 ft.lb.s/m\n", + "pole_12: pole_stress = 41.857701499281774%\n", + "pole_12: pole_status = 1\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 84.53144549272591 m/s\n", + "pole_15: pole_moment_wind = 18880.05930406383 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 1821.1744871815845 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 33130.69194627581 ft.lb\n", + "pole_15: susceptibility = 30.31753889019265 ft.lb.s/m\n", + "pole_15: pole_stress = 70.09892830621965%\n", + "pole_15: pole_status = 1\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 87.10893787149129 m/s\n", + "pole_16: pole_moment_wind = 23813.113494195462 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 1728.7606467803855 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 32571.582708340393 ft.lb\n", + "pole_16: susceptibility = 30.825010394828972 ft.lb.s/m\n", + "pole_16: pole_stress = 57.129838464841356%\n", + "pole_16: pole_status = 1\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 97.76375431130319 m/s\n", + "pole_17: pole_moment_wind = 27028.993661386732 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 1257.1093233954448 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 28247.43388146516 ft.lb\n", + "pole_17: susceptibility = 28.6754864332814 ft.lb.s/m\n", + "pole_17: pole_stress = 41.5279813366143%\n", + "pole_17: pole_status = 1\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 93.0386864000493 m/s\n", + "pole_26: pole_moment_wind = 3036.471072878303 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 3230.6292159480017 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 13075.782077419304 ft.lb\n", + "pole_26: susceptibility = 22.03310545131718 ft.lb.s/m\n", + "pole_26: pole_stress = 67.74076853293346%\n", + "pole_26: pole_status = 1\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 89.67316614125546 m/s\n", + "pole_27: pole_moment_wind = 4823.78731137836 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 4166.254334695312 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 13173.418872855655 ft.lb\n", + "pole_27: susceptibility = 24.145674022770365 ft.lb.s/m\n", + "pole_27: pole_stress = 53.142799502555484%\n", + "pole_27: pole_status = 1\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 94.90243650987756 m/s\n", + "pole_28: pole_moment_wind = 7881.771340037607 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 4475.728180537946 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 15275.09707525315 ft.lb\n", + "pole_28: susceptibility = 25.634202099623344 ft.lb.s/m\n", + "pole_28: pole_stress = 48.91686768849065%\n", + "pole_28: pole_status = 1\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 107.53413617358174 m/s\n", + "pole_29: pole_moment_wind = 15760.117395597057 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 1995.2129776139216 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 15916.025793651519 ft.lb\n", + "pole_29: susceptibility = 25.262972536648746 ft.lb.s/m\n", + "pole_29: pole_stress = 33.675612717003176%\n", + "pole_29: pole_status = 1\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 97.04583249673396 m/s\n", + "pole_33: pole_moment_wind = 20147.250230263435 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 2860.88984010032 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 16158.184582858219 ft.lb\n", + "pole_33: susceptibility = 27.744224162251783 ft.lb.s/m\n", + "pole_33: pole_stress = 28.341099766926707%\n", + "pole_33: pole_status = 1\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 102.61422023579405 m/s\n", + "pole_34: pole_moment_wind = 25256.33250482963 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 2232.915627810751 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 24804.300531616438 ft.lb\n", + "pole_34: susceptibility = 27.684140964200584 ft.lb.s/m\n", + "pole_34: pole_stress = 36.46605684138382%\n", + "pole_34: pole_status = 1\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 281.6377295432918 m/s\n", + "pole_3: pole_moment_wind = 481.5828589191502 ft.lb\n", + "pole_3: equipment_moment_wind = 94.89023068671851 ft.lb\n", + "pole_3: wire_moment_wind = 3371.78932116535 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 5150.201800670722 ft.lb\n", + "pole_3: susceptibility = 6.929559819986464 ft.lb.s/m\n", + "pole_3: pole_stress = 26.6812819310911%\n", + "pole_3: pole_status = 1\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 223.82796556010794 m/s\n", + "pole_4: pole_moment_wind = 1387.3091042408246 ft.lb\n", + "pole_4: equipment_moment_wind = 160.92064468724624 ft.lb\n", + "pole_4: wire_moment_wind = 4542.710978641172 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 7025.060298093478 ft.lb\n", + "pole_4: susceptibility = 10.32105767030235 ft.lb.s/m\n", + "pole_4: pole_stress = 36.39422718774564%\n", + "pole_4: pole_status = 1\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 115.37573104792776 m/s\n", + "pole_5: pole_moment_wind = 2576.7280243396895 ft.lb\n", + "pole_5: equipment_moment_wind = 506.7391091082762 ft.lb\n", + "pole_5: wire_moment_wind = 6337.341081692605 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 8667.397020875 ft.lb\n", + "pole_5: susceptibility = 27.560290655283044 ft.lb.s/m\n", + "pole_5: pole_stress = 79.65147839940336%\n", + "pole_5: pole_status = 1\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 276.91029242642304 m/s\n", + "pole_6: pole_moment_wind = 647.5079922776173 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 3516.377789332811 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 2644.2926429516647 ft.lb\n", + "pole_6: susceptibility = 7.11353925231478 ft.lb.s/m\n", + "pole_6: pole_stress = 13.699097675301788%\n", + "pole_6: pole_status = 1\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 136.75037238074827 m/s\n", + "pole_7: pole_moment_wind = 7361.558537121225 ft.lb\n", + "pole_7: equipment_moment_wind = 266.95332187829666 ft.lb\n", + "pole_7: wire_moment_wind = 8082.642320585525 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 11296.346741101468 ft.lb\n", + "pole_7: susceptibility = 25.769327660694067 ft.lb.s/m\n", + "pole_7: pole_stress = 58.52217521873382%\n", + "pole_7: pole_status = 1\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 100.73733553495886 m/s\n", + "pole_8: pole_moment_wind = 8237.048322335168 ft.lb\n", + "pole_8: equipment_moment_wind = 249.49256770455267 ft.lb\n", + "pole_8: wire_moment_wind = 9473.219447736727 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 13435.908994874246 ft.lb\n", + "pole_8: susceptibility = 40.01311170332105 ft.lb.s/m\n", + "pole_8: pole_stress = 91.44819186838369%\n", + "pole_8: pole_status = 1\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 108.75771160598212 m/s\n", + "pole_9: pole_moment_wind = 12574.82136079 ft.lb\n", + "pole_9: equipment_moment_wind = 262.5619834118727 ft.lb\n", + "pole_9: wire_moment_wind = 10667.971250996532 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 23009.271568364475 ft.lb\n", + "pole_9: susceptibility = 39.94337446299953 ft.lb.s/m\n", + "pole_9: pole_stress = 119.2024867189902%\n", + "pole_9: pole_status = 0\n", + "pole_9: pole failed at 119.2024867189902% stress, time to repair is 8h\n", + "pole_9: down_time = 2021-06-08 02:00:00\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 109.35733859939592 m/s\n", + "pole_10: pole_moment_wind = 21165.783955696475 ft.lb\n", + "pole_10: equipment_moment_wind = 322.62719300145795 ft.lb\n", + "pole_10: wire_moment_wind = 14421.934605566528 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 31980.536984947204 ft.lb\n", + "pole_10: susceptibility = 45.98969871127001 ft.lb.s/m\n", + "pole_10: pole_stress = 129.01246679987293%\n", + "pole_10: pole_status = 0\n", + "pole_10: pole failed at 129.01246679987293% stress, time to repair is 8h\n", + "pole_10: down_time = 2021-06-08 02:00:00\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 108.70148150733927 m/s\n", + "pole_11: pole_moment_wind = 33149.77942970077 ft.lb\n", + "pole_11: equipment_moment_wind = 374.32761026124905 ft.lb\n", + "pole_11: wire_moment_wind = 15052.79788760765 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 45027.94553376406 ft.lb\n", + "pole_11: susceptibility = 49.11063394642817 ft.lb.s/m\n", + "pole_11: pole_stress = 144.19718860760148%\n", + "pole_11: pole_status = 0\n", + "pole_11: pole failed at 144.19718860760148% stress, time to repair is 8h\n", + "pole_11: down_time = 2021-06-08 02:00:00\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 97.22637081370581 m/s\n", + "pole_12: pole_moment_wind = 61947.4315819522 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 16370.9253380646 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 73613.20336618127 ft.lb\n", + "pole_12: susceptibility = 53.640862919129674 ft.lb.s/m\n", + "pole_12: pole_stress = 155.7530604408992%\n", + "pole_12: pole_status = 0\n", + "pole_12: pole failed at 155.7530604408992% stress, time to repair is 8h\n", + "pole_12: down_time = 2021-06-08 02:00:00\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 82.66839294164907 m/s\n", + "pole_15: pole_moment_wind = 69773.09110982441 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 17711.29148548907 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 99220.15950372534 ft.lb\n", + "pole_15: susceptibility = 63.398873293498966 ft.lb.s/m\n", + "pole_15: pole_stress = 209.93303909443858%\n", + "pole_15: pole_status = 0\n", + "pole_15: pole failed at 209.93303909443858% stress, time to repair is 8h\n", + "pole_15: down_time = 2021-06-08 02:00:00\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 86.64211321194857 m/s\n", + "pole_16: pole_moment_wind = 88186.63644436454 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 16892.703327328665 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 109746.90660407387 ft.lb\n", + "pole_16: susceptibility = 62.31614678858839 ft.lb.s/m\n", + "pole_16: pole_stress = 192.49365627852336%\n", + "pole_16: pole_status = 0\n", + "pole_16: pole failed at 192.49365627852336% stress, time to repair is 8h\n", + "pole_16: down_time = 2021-06-08 02:00:00\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 96.36300929465098 m/s\n", + "pole_17: pole_moment_wind = 106289.95515596839 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 12342.438475241139 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 115866.6142171731 ft.lb\n", + "pole_17: susceptibility = 59.03041321052927 ft.lb.s/m\n", + "pole_17: pole_stress = 170.3413702263661%\n", + "pole_17: pole_status = 0\n", + "pole_17: pole failed at 170.3413702263661% stress, time to repair is 8h\n", + "pole_17: down_time = 2021-06-08 02:00:00\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 84.7106908397365 m/s\n", + "pole_26: pole_moment_wind = 12546.100559847093 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 19115.30757747903 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 36323.42636997692 ft.lb\n", + "pole_26: susceptibility = 53.15650291171114 ft.lb.s/m\n", + "pole_26: pole_stress = 188.17817576669867%\n", + "pole_26: pole_status = 0\n", + "pole_26: pole failed at 188.17817576669867% stress, time to repair is 8h\n", + "pole_26: down_time = 2021-06-08 02:00:00\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 83.17020107225989 m/s\n", + "pole_27: pole_moment_wind = 17826.774066264305 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 24883.12978049382 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 41476.2621592073 ft.lb\n", + "pole_27: susceptibility = 56.13824528907207 ft.lb.s/m\n", + "pole_27: pole_stress = 167.3191071593381%\n", + "pole_27: pole_status = 0\n", + "pole_27: pole failed at 167.3191071593381% stress, time to repair is 8h\n", + "pole_27: down_time = 2021-06-08 02:00:00\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 90.3523308048498 m/s\n", + "pole_28: pole_moment_wind = 29188.40931367222 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 26786.452938418664 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 53692.63195988619 ft.lb\n", + "pole_28: susceptibility = 56.562136279623864 ft.lb.s/m\n", + "pole_28: pole_stress = 171.94492188751275%\n", + "pole_28: pole_status = 0\n", + "pole_28: pole failed at 171.94492188751275% stress, time to repair is 8h\n", + "pole_28: down_time = 2021-06-08 02:00:00\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 106.89544628095086 m/s\n", + "pole_29: pole_moment_wind = 61975.75064083479 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 11929.11191826249 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 67897.18698818731 ft.lb\n", + "pole_29: susceptibility = 51.131524035574174 ft.lb.s/m\n", + "pole_29: pole_stress = 143.658938684314%\n", + "pole_29: pole_status = 0\n", + "pole_29: pole failed at 143.658938684314% stress, time to repair is 8h\n", + "pole_29: down_time = 2021-06-08 02:00:00\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 96.41105520065715 m/s\n", + "pole_33: pole_moment_wind = 74456.11813443956 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 20309.861379723417 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 84143.49744418928 ft.lb\n", + "pole_33: susceptibility = 56.22153358864988 ft.lb.s/m\n", + "pole_33: pole_stress = 147.58584069733894%\n", + "pole_33: pole_status = 0\n", + "pole_33: pole failed at 147.58584069733894% stress, time to repair is 8h\n", + "pole_33: down_time = 2021-06-08 02:00:00\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 103.83411357316493 m/s\n", + "pole_34: pole_moment_wind = 93531.28111804041 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 15741.039181464172 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 103234.28933644034 ft.lb\n", + "pole_34: susceptibility = 54.074937579876476 ft.lb.s/m\n", + "pole_34: pole_stress = 151.76995046177868%\n", + "pole_34: pole_status = 0\n", + "pole_34: pole failed at 151.76995046177868% stress, time to repair is 8h\n", + "pole_34: down_time = 2021-06-08 02:00:00\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 253.48807084218456 m/s\n", + "pole_3: pole_moment_wind = 1048.9961976583018 ft.lb\n", + "pole_3: equipment_moment_wind = 206.69234658536266 ft.lb\n", + "pole_3: wire_moment_wind = 9848.282321521223 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 11846.611424734552 ft.lb\n", + "pole_3: susceptibility = 12.831089191928966 ft.lb.s/m\n", + "pole_3: pole_stress = 61.372892089444576%\n", + "pole_3: pole_status = 1\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 205.16594909845975 m/s\n", + "pole_4: pole_moment_wind = 2849.4768398436963 ft.lb\n", + "pole_4: equipment_moment_wind = 330.52450148804485 ft.lb\n", + "pole_4: wire_moment_wind = 13263.851919324792 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 16306.917935771322 ft.lb\n", + "pole_4: susceptibility = 18.4261071017325 ft.lb.s/m\n", + "pole_4: pole_stress = 84.48008286098965%\n", + "pole_4: pole_status = 1\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 106.80346280475813 m/s\n", + "pole_5: pole_moment_wind = 5516.362143186756 ft.lb\n", + "pole_5: equipment_moment_wind = 1084.8472991919332 ft.lb\n", + "pole_5: wire_moment_wind = 18505.58358457519 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 22017.49307886111 ft.lb\n", + "pole_5: susceptibility = 48.24289003302098 ft.lb.s/m\n", + "pole_5: pole_stress = 202.3359343244755%\n", + "pole_5: pole_status = 0\n", + "pole_5: pole failed at 202.3359343244755% stress, time to repair is 8h\n", + "pole_5: down_time = 2021-06-08 03:00:00\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 248.20397981930552 m/s\n", + "pole_6: pole_moment_wind = 1481.9218292037829 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 10270.81568877681 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 9517.925677292034 ft.lb\n", + "pole_6: susceptibility = 13.281211905446368 ft.lb.s/m\n", + "pole_6: pole_stress = 49.30883647353924%\n", + "pole_6: pole_status = 1\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 128.92135810126558 m/s\n", + "pole_7: pole_moment_wind = 17890.632005712505 ft.lb\n", + "pole_7: equipment_moment_wind = 648.7707216269438 ft.lb\n", + "pole_7: wire_moment_wind = 23607.134827740912 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 33119.03505960072 ft.lb\n", + "pole_7: susceptibility = 43.49122477782279 ft.lb.s/m\n", + "pole_7: pole_stress = 171.577415004557%\n", + "pole_7: pole_status = 0\n", + "pole_7: pole failed at 171.577415004557% stress, time to repair is 8h\n", + "pole_7: down_time = 2021-06-08 03:00:00\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 95.17712588079287 m/s\n", + "pole_8: pole_moment_wind = 20059.934640735297 ft.lb\n", + "pole_8: equipment_moment_wind = 607.5968484890122 ft.lb\n", + "pole_8: wire_moment_wind = 27689.30295624704 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 38702.68922858692 ft.lb\n", + "pole_8: susceptibility = 67.23715564009215 ft.lb.s/m\n", + "pole_8: pole_stress = 263.4202830451197%\n", + "pole_8: pole_status = 0\n", + "pole_8: pole failed at 263.4202830451197% stress, time to repair is 8h\n", + "pole_8: down_time = 2021-06-08 03:00:00\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 239.23870187806668 m/s\n", + "pole_3: pole_moment_wind = 1926.3314356766014 ft.lb\n", + "pole_3: equipment_moment_wind = 379.56092274687404 ft.lb\n", + "pole_3: wire_moment_wind = 20335.812453812647 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 22414.98254935079 ft.lb\n", + "pole_3: susceptibility = 19.20677454246744 ft.lb.s/m\n", + "pole_3: pole_stress = 116.1236961242623%\n", + "pole_3: pole_status = 0\n", + "pole_3: pole failed at 116.1236961242623% stress, time to repair is 8h\n", + "pole_3: down_time = 2021-06-08 04:00:00\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 196.12035432798942 m/s\n", + "pole_4: pole_moment_wind = 4680.230288588236 ft.lb\n", + "pole_4: equipment_moment_wind = 542.8823850590517 ft.lb\n", + "pole_4: wire_moment_wind = 27382.568085256305 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 30684.593928961454 ft.lb\n", + "pole_4: susceptibility = 26.886703416929326 ft.lb.s/m\n", + "pole_4: pole_stress = 158.9654800425578%\n", + "pole_4: pole_status = 0\n", + "pole_4: pole failed at 158.9654800425578% stress, time to repair is 8h\n", + "pole_4: down_time = 2021-06-08 04:00:00\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 233.62907379946833 m/s\n", + "pole_6: pole_moment_wind = 2590.031969110469 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 21208.608419006137 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 20574.05062780736 ft.lb\n", + "pole_6: susceptibility = 19.986656563678938 ft.lb.s/m\n", + "pole_6: pole_stress = 106.58651185155115%\n", + "pole_6: pole_status = 0\n", + "pole_6: pole failed at 106.58651185155115% stress, time to repair is 8h\n", + "pole_6: down_time = 2021-06-08 04:00:00\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has arrived\n" ] }, { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "p0 = [37.41504514,-122.2056472]\n", - "p1 = [37.41469802,-122.2084875]\n", - "p2 = [37.41445409,-122.2104428]\n", - "\n", - "p0_polt = [p0[1],p0[0]]\n", - "p1_polt = [p1[1],p1[0]]\n", - "section_heading = 180*atan2(p1[0]-p0[0],p1[1]-p0[1])/np.pi\n", - "print(section_heading)\n", - "print(p1[1]-p0[1])\n", - "\n", - "wind_direction = 15\n", - "angle_wind_section = (wind_direction - section_heading)\n", - "print(angle_wind_section)\n", - "x = [p0[1],p1[1],p2[1]]\n", - "y = [p0[0],p1[0],p2[0]]\n", - "plt.text(x[0],y[0],'p0')\n", - "plt.text(x[1],y[1],'p1')\n", - "plt.text(x[2],y[2],'p2')\n", - "plt.plot(x,y)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 544, - "id": "a8014f24", - "metadata": { - "scrolled": true - }, - "outputs": [ + "name": "stdout", + "output_type": "stream", + "text": [ + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: wind_pressure_failure is negative\n", + "pole_1: pole_moment_wind = 216983.79501221524 ft.lb\n", + "pole_1: equipment_moment_wind = 21991.725337581614 ft.lb\n", + "pole_1: wire_moment_wind = 106278.14444783168 ft.lb\n", + "pole_1: tension_moment_wind = 776863.9556665377 ft.lb\n", + "pole_1: pole_moment_tilt = 100.04115763562405 ft*lb\n", + "pole_1: total_moment = 891172.2467314893 ft.lb\n", + "pole_1: susceptibility = 96.85354675245549 ft.lb.s/m\n", + "pole_1: pole_stress = 8189.677568677363%\n", + "pole_1: pole_status = 0\n", + "pole_1: pole failed at 8189.677568677363% stress, time to repair is 8h\n", + "pole_1: down_time = 2021-06-08 10:00:00\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: wind_pressure_failure is negative\n", + "pole_13: pole_moment_wind = 1748590.6531841294 ft.lb\n", + "pole_13: equipment_moment_wind = 0.0 ft.lb\n", + "pole_13: wire_moment_wind = 633383.4802807113 ft.lb\n", + "pole_13: tension_moment_wind = 473177.953064816 ft.lb\n", + "pole_13: pole_moment_tilt = 2318.077089265335 ft*lb\n", + "pole_13: total_moment = 1024233.2864029654 ft.lb\n", + "pole_13: susceptibility = 196.4426994057344 ft.lb.s/m\n", + "pole_13: pole_stress = 2167.104020309359%\n", + "pole_13: pole_status = 0\n", + "pole_13: pole failed at 2167.104020309359% stress, time to repair is 8h\n", + "pole_13: down_time = 2021-06-08 10:00:00\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: wind_pressure_failure is negative\n", + "pole_14: pole_moment_wind = 2071049.7953161034 ft.lb\n", + "pole_14: equipment_moment_wind = 0.0 ft.lb\n", + "pole_14: wire_moment_wind = 728049.4649488736 ft.lb\n", + "pole_14: tension_moment_wind = 177792.93112583933 ft.lb\n", + "pole_14: pole_moment_tilt = 3089.6709494248894 ft*lb\n", + "pole_14: total_moment = 1829862.7820515705 ft.lb\n", + "pole_14: susceptibility = 252.26730047061665 ft.lb.s/m\n", + "pole_14: pole_stress = 3871.6794740434493%\n", + "pole_14: pole_status = 0\n", + "pole_14: pole failed at 3871.6794740434493% stress, time to repair is 8h\n", + "pole_14: down_time = 2021-06-08 10:00:00\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: wind_pressure_failure is negative\n", + "pole_18: pole_moment_wind = 216884.6469292314 ft.lb\n", + "pole_18: equipment_moment_wind = 0.0 ft.lb\n", + "pole_18: wire_moment_wind = 123316.48723565572 ft.lb\n", + "pole_18: tension_moment_wind = 1236327.3863373229 ft.lb\n", + "pole_18: pole_moment_tilt = 200.05184176551182 ft*lb\n", + "pole_18: total_moment = 1069454.5831595242 ft.lb\n", + "pole_18: susceptibility = 135.5893813497958 ft.lb.s/m\n", + "pole_18: pole_stress = 9828.053154195331%\n", + "pole_18: pole_status = 0\n", + "pole_18: pole failed at 9828.053154195331% stress, time to repair is 8h\n", + "pole_18: down_time = 2021-06-08 10:00:00\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: wind_pressure_failure is negative\n", + "pole_19: pole_moment_wind = 558394.562249339 ft.lb\n", + "pole_19: equipment_moment_wind = 0.0 ft.lb\n", + "pole_19: wire_moment_wind = 260003.95254859154 ft.lb\n", + "pole_19: tension_moment_wind = 417618.7132787921 ft.lb\n", + "pole_19: pole_moment_tilt = 187.86878573822952 ft*lb\n", + "pole_19: total_moment = 1030709.6460075158 ft.lb\n", + "pole_19: susceptibility = 475.3654126131393 ft.lb.s/m\n", + "pole_19: pole_stress = 9471.99567612934%\n", + "pole_19: pole_status = 0\n", + "pole_19: pole failed at 9471.99567612934% stress, time to repair is 8h\n", + "pole_19: down_time = 2021-06-08 10:00:00\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: wind_pressure_failure is negative\n", + "pole_20: pole_moment_wind = 14294.620427061658 ft.lb\n", + "pole_20: equipment_moment_wind = 0.0 ft.lb\n", + "pole_20: wire_moment_wind = 92866.39625088077 ft.lb\n", + "pole_20: tension_moment_wind = 91644.73049070181 ft.lb\n", + "pole_20: pole_moment_tilt = 0.0 ft*lb\n", + "pole_20: total_moment = 140174.10806715838 ft.lb\n", + "pole_20: susceptibility = 35.22138526578983 ft.lb.s/m\n", + "pole_20: pole_stress = 726.1899710982223%\n", + "pole_20: pole_status = 0\n", + "pole_20: pole failed at 726.1899710982223% stress, time to repair is 8h\n", + "pole_20: down_time = 2021-06-08 10:00:00\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: wind_pressure_failure is negative\n", + "pole_21: pole_moment_wind = 39461.90342087088 ft.lb\n", + "pole_21: equipment_moment_wind = 0.0 ft.lb\n", + "pole_21: wire_moment_wind = 124306.49246486877 ft.lb\n", + "pole_21: tension_moment_wind = 116162.54632673286 ft.lb\n", + "pole_21: pole_moment_tilt = 33.984928061478584 ft*lb\n", + "pole_21: total_moment = 194213.17958725264 ft.lb\n", + "pole_21: susceptibility = 47.43079433684097 ft.lb.s/m\n", + "pole_21: pole_stress = 1006.1463219997067%\n", + "pole_21: pole_status = 0\n", + "pole_21: pole failed at 1006.1463219997067% stress, time to repair is 8h\n", + "pole_21: down_time = 2021-06-08 10:00:00\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: wind_pressure_failure is negative\n", + "pole_22: pole_moment_wind = 64624.87594495713 ft.lb\n", + "pole_22: equipment_moment_wind = 0.0 ft.lb\n", + "pole_22: wire_moment_wind = 161887.238319354 ft.lb\n", + "pole_22: tension_moment_wind = 144987.9710886359 ft.lb\n", + "pole_22: pole_moment_tilt = 73.20903400076115 ft*lb\n", + "pole_22: total_moment = 241122.2276505349 ft.lb\n", + "pole_22: susceptibility = 102.04083009068071 ft.lb.s/m\n", + "pole_22: pole_stress = 2215.8604089632113%\n", + "pole_22: pole_status = 0\n", + "pole_22: pole failed at 2215.8604089632113% stress, time to repair is 8h\n", + "pole_22: down_time = 2021-06-08 10:00:00\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: wind_pressure_failure is negative\n", + "pole_23: pole_moment_wind = 14275.030146569808 ft.lb\n", + "pole_23: equipment_moment_wind = 0.0 ft.lb\n", + "pole_23: wire_moment_wind = 139152.70128914493 ft.lb\n", + "pole_23: tension_moment_wind = 124987.82152296124 ft.lb\n", + "pole_23: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_23: total_moment = 182352.83116244248 ft.lb\n", + "pole_23: susceptibility = 47.482629736449645 ft.lb.s/m\n", + "pole_23: pole_stress = 944.7022636169615%\n", + "pole_23: pole_status = 0\n", + "pole_23: pole failed at 944.7022636169615% stress, time to repair is 8h\n", + "pole_23: down_time = 2021-06-08 10:00:00\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: wind_pressure_failure is negative\n", + "pole_24: pole_moment_wind = 155052.99420309855 ft.lb\n", + "pole_24: equipment_moment_wind = 0.0 ft.lb\n", + "pole_24: wire_moment_wind = 260663.8248268019 ft.lb\n", + "pole_24: tension_moment_wind = 181294.63980884358 ft.lb\n", + "pole_24: pole_moment_tilt = 412.9563668850881 ft*lb\n", + "pole_24: total_moment = 305642.69880556833 ft.lb\n", + "pole_24: susceptibility = 58.35914627506576 ft.lb.s/m\n", + "pole_24: pole_stress = 1583.421258551246%\n", + "pole_24: pole_status = 0\n", + "pole_24: pole failed at 1583.421258551246% stress, time to repair is 8h\n", + "pole_24: down_time = 2021-06-08 10:00:00\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: wind_pressure_failure is negative\n", + "pole_25: pole_moment_wind = 205267.64016613824 ft.lb\n", + "pole_25: equipment_moment_wind = 0.0 ft.lb\n", + "pole_25: wire_moment_wind = 214944.11950259155 ft.lb\n", + "pole_25: tension_moment_wind = 38555.64904279871 ft.lb\n", + "pole_25: pole_moment_tilt = 551.5211842534965 ft*lb\n", + "pole_25: total_moment = 122200.53327771615 ft.lb\n", + "pole_25: susceptibility = 41.87428816647445 ft.lb.s/m\n", + "pole_25: pole_stress = 831.7277095180256%\n", + "pole_25: pole_status = 0\n", + "pole_25: pole failed at 831.7277095180256% stress, time to repair is 8h\n", + "pole_25: down_time = 2021-06-08 10:00:00\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: wind_pressure_failure is negative\n", + "pole_30: pole_moment_wind = 1750990.324569028 ft.lb\n", + "pole_30: equipment_moment_wind = 0.0 ft.lb\n", + "pole_30: wire_moment_wind = 999242.5526853923 ft.lb\n", + "pole_30: tension_moment_wind = 1107897.730511574 ft.lb\n", + "pole_30: pole_moment_tilt = 0.0 ft*lb\n", + "pole_30: total_moment = 677498.2333374518 ft.lb\n", + "pole_30: susceptibility = 239.26480064852342 ft.lb.s/m\n", + "pole_30: pole_stress = 1433.4714217054263%\n", + "pole_30: pole_status = 0\n", + "pole_30: pole failed at 1433.4714217054263% stress, time to repair is 8h\n", + "pole_30: down_time = 2021-06-08 10:00:00\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: wind_pressure_failure is negative\n", + "pole_31: pole_moment_wind = 1750723.6402614843 ft.lb\n", + "pole_31: equipment_moment_wind = 0.0 ft.lb\n", + "pole_31: wire_moment_wind = 1271631.844718243 ft.lb\n", + "pole_31: tension_moment_wind = 73736.46492035208 ft.lb\n", + "pole_31: pole_moment_tilt = 773.0062927868681 ft*lb\n", + "pole_31: total_moment = 1816050.8567527127 ft.lb\n", + "pole_31: susceptibility = 258.17086554205434 ft.lb.s/m\n", + "pole_31: pole_stress = 3842.4557813157057%\n", + "pole_31: pole_status = 0\n", + "pole_31: pole failed at 3842.4557813157057% stress, time to repair is 8h\n", + "pole_31: down_time = 2021-06-08 10:00:00\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: wind_pressure_failure is negative\n", + "pole_32: pole_moment_wind = 2074842.3794939239 ft.lb\n", + "pole_32: equipment_moment_wind = 0.0 ft.lb\n", + "pole_32: wire_moment_wind = 512341.1937487341 ft.lb\n", + "pole_32: tension_moment_wind = 863375.3936365839 ft.lb\n", + "pole_32: pole_moment_tilt = 1545.7771203686734 ft*lb\n", + "pole_32: total_moment = 2544189.255540875 ft.lb\n", + "pole_32: susceptibility = 274.8313915475929 ft.lb.s/m\n", + "pole_32: pole_stress = 5383.073209301374%\n", + "pole_32: pole_status = 0\n", + "pole_32: pole failed at 5383.073209301374% stress, time to repair is 8h\n", + "pole_32: down_time = 2021-06-08 10:00:00\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: wind_pressure_failure is negative\n", + "pole_35: pole_moment_wind = 256332.50501572827 ft.lb\n", + "pole_35: equipment_moment_wind = 0.0 ft.lb\n", + "pole_35: wire_moment_wind = 15169.912046181069 ft.lb\n", + "pole_35: tension_moment_wind = 179532.78397585955 ft.lb\n", + "pole_35: pole_moment_tilt = 499.59651297380145 ft*lb\n", + "pole_35: total_moment = 354201.2978862219 ft.lb\n", + "pole_35: susceptibility = 164.89274888328427 ft.lb.s/m\n", + "pole_35: pole_stress = 3255.032273204543%\n", + "pole_35: pole_status = 0\n", + "pole_35: pole failed at 3255.032273204543% stress, time to repair is 8h\n", + "pole_35: down_time = 2021-06-08 10:00:00\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: wind_pressure_failure is negative\n", + "pole_36: pole_moment_wind = 557119.1931120906 ft.lb\n", + "pole_36: equipment_moment_wind = 0.0 ft.lb\n", + "pole_36: wire_moment_wind = 841102.245595275 ft.lb\n", + "pole_36: tension_moment_wind = 546907.6528352136 ft.lb\n", + "pole_36: pole_moment_tilt = 750.9029810177472 ft*lb\n", + "pole_36: total_moment = 388794.48256863136 ft.lb\n", + "pole_36: susceptibility = 355.1557528238052 ft.lb.s/m\n", + "pole_36: pole_stress = 3572.9360562966604%\n", + "pole_36: pole_status = 0\n", + "pole_36: pole failed at 3572.9360562966604% stress, time to repair is 8h\n", + "pole_36: down_time = 2021-06-08 10:00:00\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: wind_pressure_failure is negative\n", + "pole_37: pole_moment_wind = 14275.030146569812 ft.lb\n", + "pole_37: equipment_moment_wind = 0.0 ft.lb\n", + "pole_37: wire_moment_wind = 201169.89405259132 ft.lb\n", + "pole_37: tension_moment_wind = 278813.1451447642 ft.lb\n", + "pole_37: pole_moment_tilt = 56.35052699396653 ft*lb\n", + "pole_37: total_moment = 471539.28068559716 ft.lb\n", + "pole_37: susceptibility = 69.69708125873446 ft.lb.s/m\n", + "pole_37: pole_stress = 2442.869809085506%\n", + "pole_37: pole_status = 0\n", + "pole_37: pole failed at 2442.869809085506% stress, time to repair is 8h\n", + "pole_37: down_time = 2021-06-08 10:00:00\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 74.66421577067763 m/s\n", + "pole_2: pole_moment_wind = 489331.4058591278 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 65197.90939190393 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 428529.7835469731 ft.lb\n", + "pole_2: susceptibility = 307.73271001135697 ft.lb.s/m\n", + "pole_2: pole_stress = 3938.0947608013103%\n", + "pole_2: pole_status = 0\n", + "pole_2: pole failed at 3938.0947608013103% stress, time to repair is 8h\n", + "pole_2: down_time = 2021-06-08 11:00:00\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 123.18420301016319 m/s\n", + "pole_9: pole_moment_wind = 238554.60891229875 ft.lb\n", + "pole_9: equipment_moment_wind = 4981.014797026251 ft.lb\n", + "pole_9: wire_moment_wind = 38308.987156242496 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 276218.31852386124 ft.lb\n", + "pole_9: susceptibility = 124.54171129518215 ft.lb.s/m\n", + "pole_9: pole_stress = 1430.9844771727724%\n", + "pole_9: pole_status = 0\n", + "pole_9: pole failed at 1430.9844771727724% stress, time to repair is 8h\n", + "pole_9: down_time = 2021-06-08 12:00:00\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 120.73087202758204 m/s\n", + "pole_10: pole_moment_wind = 384437.7846139789 ft.lb\n", + "pole_10: equipment_moment_wind = 5859.933352495839 ft.lb\n", + "pole_10: wire_moment_wind = 52265.24575720637 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 429316.6960160778 ft.lb\n", + "pole_10: susceptibility = 150.9314503993883 ft.lb.s/m\n", + "pole_10: pole_stress = 1731.9035642670844%\n", + "pole_10: pole_status = 0\n", + "pole_10: pole failed at 1731.9035642670844% stress, time to repair is 8h\n", + "pole_10: down_time = 2021-06-08 12:00:00\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 120.01740311255871 m/s\n", + "pole_11: pole_moment_wind = 530396.4708752122 ft.lb\n", + "pole_11: equipment_moment_wind = 5989.241764179985 ft.lb\n", + "pole_11: wire_moment_wind = 54606.60412812318 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 576366.2519793028 ft.lb\n", + "pole_11: susceptibility = 161.14543498062042 ft.lb.s/m\n", + "pole_11: pole_stress = 1845.7513919082946%\n", + "pole_11: pole_status = 0\n", + "pole_11: pole failed at 1845.7513919082946% stress, time to repair is 8h\n", + "pole_11: down_time = 2021-06-08 12:00:00\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 109.16614028994734 m/s\n", + "pole_12: pole_moment_wind = 873115.2283232423 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 59479.24110784711 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 919762.9939544143 ft.lb\n", + "pole_12: susceptibility = 170.1954659194564 ft.lb.s/m\n", + "pole_12: pole_stress = 1946.0625898328672%\n", + "pole_12: pole_status = 0\n", + "pole_12: pole failed at 1946.0625898328672% stress, time to repair is 8h\n", + "pole_12: down_time = 2021-06-08 12:00:00\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 85.84136675815452 m/s\n", + "pole_15: pole_moment_wind = 1323652.3990874945 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 58213.37146459665 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 1265399.9806680523 ft.lb\n", + "pole_15: susceptibility = 235.1945607218056 ft.lb.s/m\n", + "pole_15: pole_stress = 2677.3718661651%\n", + "pole_15: pole_status = 0\n", + "pole_15: pole failed at 2677.3718661651% stress, time to repair is 8h\n", + "pole_15: down_time = 2021-06-08 12:00:00\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 88.5843419117732 m/s\n", + "pole_16: pole_moment_wind = 1601749.087971086 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 56541.870044003495 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 1556881.7620914918 ft.lb\n", + "pole_16: susceptibility = 238.454064304146 ft.lb.s/m\n", + "pole_16: pole_stress = 2730.736310040257%\n", + "pole_16: pole_status = 0\n", + "pole_16: pole failed at 2730.736310040257% stress, time to repair is 8h\n", + "pole_16: down_time = 2021-06-08 12:00:00\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 101.22594593835154 m/s\n", + "pole_17: pole_moment_wind = 1700639.2824954942 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 42051.897291720226 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 1670974.0197479639 ft.lb\n", + "pole_17: susceptibility = 213.97982839119362 ft.lb.s/m\n", + "pole_17: pole_stress = 2456.5834262061308%\n", + "pole_17: pole_status = 0\n", + "pole_17: pole failed at 2456.5834262061308% stress, time to repair is 8h\n", + "pole_17: down_time = 2021-06-08 12:00:00\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 107.65279699450176 m/s\n", + "pole_26: pole_moment_wind = 200737.60895755352 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 93585.24770138532 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 285122.02955611807 ft.lb\n", + "pole_26: susceptibility = 131.65646925985013 ft.lb.s/m\n", + "pole_26: pole_stress = 1477.11129578669%\n", + "pole_26: pole_status = 0\n", + "pole_26: pole failed at 1477.11129578669% stress, time to repair is 8h\n", + "pole_26: down_time = 2021-06-08 12:00:00\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 100.2137746731264 m/s\n", + "pole_27: pole_moment_wind = 338188.43175028794 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 116979.3844750507 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 437920.7026285828 ft.lb\n", + "pole_27: susceptibility = 154.6676498872925 ft.lb.s/m\n", + "pole_27: pole_stress = 1766.6129288397979%\n", + "pole_27: pole_status = 0\n", + "pole_27: pole failed at 1766.6129288397979% stress, time to repair is 8h\n", + "pole_27: down_time = 2021-06-08 12:00:00\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 102.70624286974832 m/s\n", + "pole_28: pole_moment_wind = 530154.1127152137 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 124789.0974481635 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 626005.3136908731 ft.lb\n", + "pole_28: susceptibility = 175.09382542302953 ft.lb.s/m\n", + "pole_28: pole_stress = 2004.7151878150032%\n", + "pole_28: pole_status = 0\n", + "pole_28: pole failed at 2004.7151878150032% stress, time to repair is 8h\n", + "pole_28: down_time = 2021-06-08 12:00:00\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 110.77422543916627 m/s\n", + "pole_29: pole_moment_wind = 991612.0102533567 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 55819.3605436065 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 1033427.3420223417 ft.lb\n", + "pole_29: susceptibility = 190.45382285958502 ft.lb.s/m\n", + "pole_29: pole_stress = 2186.557083552081%\n", + "pole_29: pole_status = 0\n", + "pole_29: pole failed at 2186.557083552081% stress, time to repair is 8h\n", + "pole_29: down_time = 2021-06-08 12:00:00\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 97.53897471110801 m/s\n", + "pole_33: pole_moment_wind = 1412493.2381205037 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 28758.36291792451 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 1442368.2479213725 ft.lb\n", + "pole_33: susceptibility = 219.71513757972832 ft.lb.s/m\n", + "pole_33: pole_stress = 2529.8821291071017%\n", + "pole_33: pole_status = 0\n", + "pole_33: pole failed at 2529.8821291071017% stress, time to repair is 8h\n", + "pole_33: down_time = 2021-06-08 12:00:00\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 102.92259915351141 m/s\n", + "pole_34: pole_moment_wind = 1698824.7910113155 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 24217.72496294019 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 1719568.887547382 ft.lb\n", + "pole_34: susceptibility = 220.14795080298552 ft.lb.s/m\n", + "pole_34: pole_stress = 2528.025199341978%\n", + "pole_34: pole_status = 0\n", + "pole_34: pole failed at 2528.025199341978% stress, time to repair is 8h\n", + "pole_34: down_time = 2021-06-08 12:00:00\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 131.53401083605323 m/s\n", + "pole_5: pole_moment_wind = 32107.191139605333 ft.lb\n", + "pole_5: equipment_moment_wind = 6314.197416400623 ft.lb\n", + "pole_5: wire_moment_wind = 49221.713071616614 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 82235.0165303505 ft.lb\n", + "pole_5: susceptibility = 74.21721323665884 ft.lb.s/m\n", + "pole_5: pole_stress = 755.7217728766893%\n", + "pole_5: pole_status = 0\n", + "pole_5: pole failed at 755.7217728766893% stress, time to repair is 8h\n", + "pole_5: down_time = 2021-06-08 13:00:00\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 151.87193702847992 m/s\n", + "pole_7: pole_moment_wind = 82321.87157901055 ft.lb\n", + "pole_7: equipment_moment_wind = 2985.2506056209763 ft.lb\n", + "pole_7: wire_moment_wind = 62749.47350957077 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 145058.2491902108 ft.lb\n", + "pole_7: susceptibility = 73.12621634664168 ft.lb.s/m\n", + "pole_7: pole_stress = 751.4928915155206%\n", + "pole_7: pole_status = 0\n", + "pole_7: pole failed at 751.4928915155206% stress, time to repair is 8h\n", + "pole_7: down_time = 2021-06-08 13:00:00\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 110.79148845379316 m/s\n", + "pole_8: pole_moment_wind = 97685.04429170939 ft.lb\n", + "pole_8: equipment_moment_wind = 2958.789553363001 ft.lb\n", + "pole_8: wire_moment_wind = 73432.59775662767 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 174295.94621899535 ft.lb\n", + "pole_8: susceptibility = 115.78131992282529 ft.lb.s/m\n", + "pole_8: pole_stress = 1186.3022544880935%\n", + "pole_8: pole_status = 0\n", + "pole_8: pole failed at 1186.3022544880935% stress, time to repair is 8h\n", + "pole_8: down_time = 2021-06-08 13:00:00\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: critical_wind_speed = 281.6377295432919 m/s\n", + "pole_3: pole_moment_wind = 4334.245730272352 ft.lb\n", + "pole_3: equipment_moment_wind = 854.0120761804666 ft.lb\n", + "pole_3: wire_moment_wind = 30346.10389048813 ft.lb\n", + "pole_3: tension_moment_wind = 1802.4722158107074 ft.lb\n", + "pole_3: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_3: total_moment = 33459.904342862945 ft.lb\n", + "pole_3: susceptibility = 20.788679459959383 ft.lb.s/m\n", + "pole_3: pole_stress = 173.3433321084623%\n", + "pole_3: pole_status = 0\n", + "pole_3: pole failed at 173.3433321084623% stress, time to repair is 8h\n", + "pole_3: down_time = 2021-06-08 14:00:00\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: critical_wind_speed = 223.82796556010786 m/s\n", + "pole_4: pole_moment_wind = 12485.781938167425 ft.lb\n", + "pole_4: equipment_moment_wind = 1448.285802185216 ft.lb\n", + "pole_4: wire_moment_wind = 40884.3988077706 ft.lb\n", + "pole_4: tension_moment_wind = 2756.544918395519 ft.lb\n", + "pole_4: pole_moment_tilt = 135.83620978205428 ft*lb\n", + "pole_4: total_moment = 50755.06441607012 ft.lb\n", + "pole_4: susceptibility = 30.96317301090708 ft.lb.s/m\n", + "pole_4: pole_stress = 262.94313029433033%\n", + "pole_4: pole_status = 0\n", + "pole_4: pole failed at 262.94313029433033% stress, time to repair is 8h\n", + "pole_4: down_time = 2021-06-08 14:00:00\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: critical_wind_speed = 276.910292426423 m/s\n", + "pole_6: pole_moment_wind = 5827.571930498557 ft.lb\n", + "pole_6: equipment_moment_wind = 0.0 ft.lb\n", + "pole_6: wire_moment_wind = 31647.400103995296 ft.lb\n", + "pole_6: tension_moment_wind = 1916.6363428512416 ft.lb\n", + "pole_6: pole_moment_tilt = 75.1073322989531 ft*lb\n", + "pole_6: total_moment = 37036.46096977433 ft.lb\n", + "pole_6: susceptibility = 21.34061775694434 ft.lb.s/m\n", + "pole_6: pole_stress = 191.872143094608%\n", + "pole_6: pole_status = 0\n", + "pole_6: pole failed at 191.872143094608% stress, time to repair is 8h\n", + "pole_6: down_time = 2021-06-08 14:00:00\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "pole_1: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_1: critical_wind_speed = 0 m/s\n", - "pole_2: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_2: critical_wind_speed = 66.29193828974526 m/s\n", - "pole_3: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_3: critical_wind_speed = 617.8143788877663 m/s\n", - "pole_4: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_4: critical_wind_speed = 417.8451674867906 m/s\n", - "pole_5: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_5: critical_wind_speed = 213.65583508830827 m/s\n", - "pole_6: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_6: critical_wind_speed = 473.13499970830475 m/s\n", - "pole_7: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_7: critical_wind_speed = 236.3323105900033 m/s\n", - "pole_8: resisting_moment = 14692.372501155412 ft*lb at 1623110400.0\n", - "pole_8: critical_wind_speed = 132.0161283003065 m/s\n", - "pole_9: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_9: critical_wind_speed = 137.1953640490132 m/s\n", - "pole_10: resisting_moment = 24788.71831398755 ft*lb at 1623110400.0\n", - "pole_10: critical_wind_speed = 131.5277089523646 m/s\n", - "pole_11: resisting_moment = 31226.645934337153 ft*lb at 1623110400.0\n", - "pole_11: critical_wind_speed = 119.48234421742953 m/s\n", - "pole_12: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_12: critical_wind_speed = 114.18967948351678 m/s\n", - "pole_13: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_13: critical_wind_speed = 0 m/s\n", - "pole_14: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_14: critical_wind_speed = 0 m/s\n", - "pole_15: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_15: critical_wind_speed = 87.71747193252 m/s\n", - "pole_16: resisting_moment = 57013.25889164816 ft*lb at 1623110400.0\n", - "pole_16: critical_wind_speed = 84.22201142194207 m/s\n", - "pole_17: resisting_moment = 68020.2431524405 ft*lb at 1623110400.0\n", - "pole_17: critical_wind_speed = 99.9866870144359 m/s\n", - "pole_18: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_18: critical_wind_speed = 0 m/s\n", - "pole_19: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_19: critical_wind_speed = 0 m/s\n", - "pole_20: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_20: critical_wind_speed = 0 m/s\n", - "pole_21: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_21: critical_wind_speed = 0 m/s\n", - "pole_22: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_22: critical_wind_speed = 0 m/s\n", - "pole_23: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_23: critical_wind_speed = 0 m/s\n", - "pole_24: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_24: critical_wind_speed = 0 m/s\n", - "pole_25: resisting_moment = 14692.372501155412 ft*lb at 1623110400.0\n", - "pole_25: critical_wind_speed = 0 m/s\n", - "pole_26: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_26: critical_wind_speed = 88.52656524440324 m/s\n", - "pole_27: resisting_moment = 24788.71831398755 ft*lb at 1623110400.0\n", - "pole_27: critical_wind_speed = 146.26966940588662 m/s\n", - "pole_28: resisting_moment = 31226.645934337153 ft*lb at 1623110400.0\n", - "pole_28: critical_wind_speed = 87.61381321608533 m/s\n", - "pole_29: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_29: critical_wind_speed = 112.48347782206727 m/s\n", - "pole_30: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_30: critical_wind_speed = 0 m/s\n", - "pole_31: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_31: critical_wind_speed = 0 m/s\n", - "pole_32: resisting_moment = 47262.765275879734 ft*lb at 1623110400.0\n", - "pole_32: critical_wind_speed = 0 m/s\n", - "pole_33: resisting_moment = 57013.25889164816 ft*lb at 1623110400.0\n", - "pole_33: critical_wind_speed = 98.59316520073035 m/s\n", - "pole_34: resisting_moment = 68020.2431524405 ft*lb at 1623110400.0\n", - "pole_34: critical_wind_speed = 100.20463141400026 m/s\n", - "pole_35: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_35: critical_wind_speed = 0 m/s\n", - "pole_36: resisting_moment = 10881.652412543199 ft*lb at 1623110400.0\n", - "pole_36: critical_wind_speed = 0 m/s\n", - "pole_37: resisting_moment = 19302.67748743102 ft*lb at 1623110400.0\n", - "pole_37: critical_wind_speed = 0 m/s\n" + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: wind_pressure_failure is negative\n", + "pole_1: no pole recalculation flagged\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has not arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has not arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has not arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has not arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: wind_pressure_failure is negative\n", + "pole_13: no pole recalculation flagged\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: wind_pressure_failure is negative\n", + "pole_14: no pole recalculation flagged\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: wind_pressure_failure is negative\n", + "pole_18: no pole recalculation flagged\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: wind_pressure_failure is negative\n", + "pole_19: no pole recalculation flagged\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: wind_pressure_failure is negative\n", + "pole_20: no pole recalculation flagged\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: wind_pressure_failure is negative\n", + "pole_21: no pole recalculation flagged\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: wind_pressure_failure is negative\n", + "pole_22: no pole recalculation flagged\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: wind_pressure_failure is negative\n", + "pole_23: no pole recalculation flagged\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: wind_pressure_failure is negative\n", + "pole_24: no pole recalculation flagged\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: wind_pressure_failure is negative\n", + "pole_25: no pole recalculation flagged\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has not arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has not arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has not arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: wind_pressure_failure is negative\n", + "pole_30: no pole recalculation flagged\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: wind_pressure_failure is negative\n", + "pole_31: no pole recalculation flagged\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: wind_pressure_failure is negative\n", + "pole_32: no pole recalculation flagged\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: wind_pressure_failure is negative\n", + "pole_35: no pole recalculation flagged\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: wind_pressure_failure is negative\n", + "pole_36: no pole recalculation flagged\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: wind_pressure_failure is negative\n", + "pole_37: no pole recalculation flagged\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: wind_pressure_failure is negative\n", + "pole_1: pole_moment_wind = 2348.5655301716292 ft.lb\n", + "pole_1: equipment_moment_wind = 238.03163768030973 ft.lb\n", + "pole_1: wire_moment_wind = 1708.4918326745442 ft.lb\n", + "pole_1: tension_moment_wind = 776863.9556665377 ft.lb\n", + "pole_1: pole_moment_tilt = 100.04115763562405 ft*lb\n", + "pole_1: total_moment = 776629.4471214575 ft.lb\n", + "pole_1: susceptibility = 11.648805798355117 ft.lb.s/m\n", + "pole_1: pole_stress = 7137.054352390843%\n", + "pole_1: pole_status = 0\n", + "pole_1: pole failed at 7137.054352390843% stress, time to repair is 8h\n", + "pole_1: down_time = 2021-06-08 21:00:00\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 72.44072115620027 m/s\n", + "pole_2: pole_moment_wind = 7147.959598614565 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 3962.5339847968694 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 7658.4734903649105 ft.lb\n", + "pole_2: susceptibility = 36.323746616179214 ft.lb.s/m\n", + "pole_2: pole_stress = 70.37969234835185%\n", + "pole_2: pole_status = 1\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has not arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has not arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has not arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: pole repair time has arrived\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: pole repair time has arrived\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: pole repair time has arrived\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: pole repair time has arrived\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: wind_pressure_failure is negative\n", + "pole_13: pole_moment_wind = 18926.204762053087 ft.lb\n", + "pole_13: equipment_moment_wind = 0.0 ft.lb\n", + "pole_13: wire_moment_wind = 8444.80305899294 ft.lb\n", + "pole_13: tension_moment_wind = 473177.953064816 ft.lb\n", + "pole_13: pole_moment_tilt = 2318.077089265335 ft*lb\n", + "pole_13: total_moment = 487516.8026969706 ft.lb\n", + "pole_13: susceptibility = 23.554076205551894 ft.lb.s/m\n", + "pole_13: pole_stress = 1031.5029174684619%\n", + "pole_13: pole_status = 0\n", + "pole_13: pole failed at 1031.5029174684619% stress, time to repair is 8h\n", + "pole_13: down_time = 2021-06-08 21:00:00\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: wind_pressure_failure is negative\n", + "pole_14: pole_moment_wind = 22369.89449489057 ft.lb\n", + "pole_14: equipment_moment_wind = 0.0 ft.lb\n", + "pole_14: wire_moment_wind = 9303.034427490342 ft.lb\n", + "pole_14: tension_moment_wind = 177792.93112583933 ft.lb\n", + "pole_14: pole_moment_tilt = 3089.6709494248894 ft*lb\n", + "pole_14: total_moment = 164200.17848778973 ft.lb\n", + "pole_14: susceptibility = 29.66897365956865 ft.lb.s/m\n", + "pole_14: pole_stress = 347.4197447595989%\n", + "pole_14: pole_status = 0\n", + "pole_14: pole failed at 347.4197447595989% stress, time to repair is 8h\n", + "pole_14: down_time = 2021-06-08 21:00:00\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: wind_pressure_failure is negative\n", + "pole_18: pole_moment_wind = 2099.661017096332 ft.lb\n", + "pole_18: equipment_moment_wind = 0.0 ft.lb\n", + "pole_18: wire_moment_wind = 1545.9376451501346 ft.lb\n", + "pole_18: tension_moment_wind = 1236327.3863373229 ft.lb\n", + "pole_18: pole_moment_tilt = 200.05184176551182 ft*lb\n", + "pole_18: total_moment = 1237283.8259615216 ft.lb\n", + "pole_18: susceptibility = 13.353655951310882 ft.lb.s/m\n", + "pole_18: pole_stress = 11370.367101004935%\n", + "pole_18: pole_status = 0\n", + "pole_18: pole failed at 11370.367101004935% stress, time to repair is 8h\n", + "pole_18: down_time = 2021-06-08 21:00:00\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: wind_pressure_failure is negative\n", + "pole_19: pole_moment_wind = 6043.890148848424 ft.lb\n", + "pole_19: equipment_moment_wind = 0.0 ft.lb\n", + "pole_19: wire_moment_wind = 1970.6953263034939 ft.lb\n", + "pole_19: tension_moment_wind = 417618.7132787921 ft.lb\n", + "pole_19: pole_moment_tilt = 187.86878573822952 ft*lb\n", + "pole_19: total_moment = 414862.48210933583 ft.lb\n", + "pole_19: susceptibility = 48.434129088451336 ft.lb.s/m\n", + "pole_19: pole_stress = 3812.495256980704%\n", + "pole_19: pole_status = 0\n", + "pole_19: pole failed at 3812.495256980704% stress, time to repair is 8h\n", + "pole_19: down_time = 2021-06-08 21:00:00\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: wind_pressure_failure is negative\n", + "pole_20: pole_moment_wind = 154.39954728325142 ft.lb\n", + "pole_20: equipment_moment_wind = 0.0 ft.lb\n", + "pole_20: wire_moment_wind = 816.3851674318321 ft.lb\n", + "pole_20: tension_moment_wind = 91644.73049070181 ft.lb\n", + "pole_20: pole_moment_tilt = 0.0 ft*lb\n", + "pole_20: total_moment = 91572.72934532913 ft.lb\n", + "pole_20: susceptibility = 3.2175258944941483 ft.lb.s/m\n", + "pole_20: pole_stress = 474.40428616681237%\n", + "pole_20: pole_status = 0\n", + "pole_20: pole failed at 474.40428616681237% stress, time to repair is 8h\n", + "pole_20: down_time = 2021-06-08 21:00:00\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: wind_pressure_failure is negative\n", + "pole_21: pole_moment_wind = 401.3984335072257 ft.lb\n", + "pole_21: equipment_moment_wind = 0.0 ft.lb\n", + "pole_21: wire_moment_wind = 1192.192013015776 ft.lb\n", + "pole_21: tension_moment_wind = 116162.54632673286 ft.lb\n", + "pole_21: pole_moment_tilt = 33.984928061478584 ft*lb\n", + "pole_21: total_moment = 115897.10242054796 ft.lb\n", + "pole_21: susceptibility = 4.812618644149963 ft.lb.s/m\n", + "pole_21: pole_stress = 600.4198251564562%\n", + "pole_21: pole_status = 0\n", + "pole_21: pole failed at 600.4198251564562% stress, time to repair is 8h\n", + "pole_21: down_time = 2021-06-08 21:00:00\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: wind_pressure_failure is negative\n", + "pole_22: pole_moment_wind = 614.8956105977453 ft.lb\n", + "pole_22: equipment_moment_wind = 0.0 ft.lb\n", + "pole_22: wire_moment_wind = 1707.524113075952 ft.lb\n", + "pole_22: tension_moment_wind = 144987.9710886359 ft.lb\n", + "pole_22: pole_moment_tilt = 73.20903400076115 ft*lb\n", + "pole_22: total_moment = 144549.1578904436 ft.lb\n", + "pole_22: susceptibility = 11.396846243347417 ft.lb.s/m\n", + "pole_22: pole_stress = 1328.375070350739%\n", + "pole_22: pole_status = 0\n", + "pole_22: pole failed at 1328.375070350739% stress, time to repair is 8h\n", + "pole_22: down_time = 2021-06-08 21:00:00\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: wind_pressure_failure is negative\n", + "pole_23: pole_moment_wind = 130.3126003390427 ft.lb\n", + "pole_23: equipment_moment_wind = 0.0 ft.lb\n", + "pole_23: wire_moment_wind = 1702.640338626962 ft.lb\n", + "pole_23: tension_moment_wind = 124987.82152296124 ft.lb\n", + "pole_23: pole_moment_tilt = 56.350526993966525 ft*lb\n", + "pole_23: total_moment = 124960.13375517893 ft.lb\n", + "pole_23: susceptibility = 5.956484336336429 ft.lb.s/m\n", + "pole_23: pole_stress = 647.3720230602568%\n", + "pole_23: pole_status = 0\n", + "pole_23: pole failed at 647.3720230602568% stress, time to repair is 8h\n", + "pole_23: down_time = 2021-06-08 21:00:00\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: wind_pressure_failure is negative\n", + "pole_24: pole_moment_wind = 1501.0685731873778 ft.lb\n", + "pole_24: equipment_moment_wind = 0.0 ft.lb\n", + "pole_24: wire_moment_wind = 3577.939517755696 ft.lb\n", + "pole_24: tension_moment_wind = 181294.63980884358 ft.lb\n", + "pole_24: pole_moment_tilt = 412.9563668850881 ft*lb\n", + "pole_24: total_moment = 179677.4729295675 ft.lb\n", + "pole_24: susceptibility = 10.167620690646732 ft.lb.s/m\n", + "pole_24: pole_stress = 930.8422266629325%\n", + "pole_24: pole_status = 0\n", + "pole_24: pole failed at 930.8422266629325% stress, time to repair is 8h\n", + "pole_24: down_time = 2021-06-08 21:00:00\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: wind_pressure_failure is negative\n", + "pole_25: pole_moment_wind = 2221.753491438042 ft.lb\n", + "pole_25: equipment_moment_wind = 0.0 ft.lb\n", + "pole_25: wire_moment_wind = 3686.1289905520716 ft.lb\n", + "pole_25: tension_moment_wind = 38555.64904279871 ft.lb\n", + "pole_25: pole_moment_tilt = 551.5211842534965 ft*lb\n", + "pole_25: total_moment = 37122.437992748135 ft.lb\n", + "pole_25: susceptibility = 12.048459903783408 ft.lb.s/m\n", + "pole_25: pole_stress = 252.66469380509386%\n", + "pole_25: pole_status = 0\n", + "pole_25: pole failed at 252.66469380509386% stress, time to repair is 8h\n", + "pole_25: down_time = 2021-06-08 21:00:00\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: pole repair time has arrived\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: pole repair time has arrived\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: pole repair time has arrived\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: wind_pressure_failure is negative\n", + "pole_30: pole_moment_wind = 16951.343388589718 ft.lb\n", + "pole_30: equipment_moment_wind = 0.0 ft.lb\n", + "pole_30: wire_moment_wind = 11045.897346037418 ft.lb\n", + "pole_30: tension_moment_wind = 1107897.730511574 ft.lb\n", + "pole_30: pole_moment_tilt = 0.0 ft*lb\n", + "pole_30: total_moment = 1126024.7666938468 ft.lb\n", + "pole_30: susceptibility = 26.85997083155342 ft.lb.s/m\n", + "pole_30: pole_stress = 2382.4775383350384%\n", + "pole_30: pole_status = 0\n", + "pole_30: pole failed at 2382.4775383350384% stress, time to repair is 8h\n", + "pole_30: down_time = 2021-06-08 21:00:00\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: wind_pressure_failure is negative\n", + "pole_31: pole_moment_wind = 18949.29155489813 ft.lb\n", + "pole_31: equipment_moment_wind = 0.0 ft.lb\n", + "pole_31: wire_moment_wind = 13637.232545544615 ft.lb\n", + "pole_31: tension_moment_wind = 73736.46492035208 ft.lb\n", + "pole_31: pole_moment_tilt = 773.0062927868681 ft*lb\n", + "pole_31: total_moment = 59393.83235630575 ft.lb\n", + "pole_31: susceptibility = 32.6434870737154 ft.lb.s/m\n", + "pole_31: pole_stress = 125.66728165314744%\n", + "pole_31: pole_status = 0\n", + "pole_31: pole failed at 125.66728165314744% stress, time to repair is 8h\n", + "pole_31: down_time = 2021-06-08 21:00:00\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: wind_pressure_failure is negative\n", + "pole_32: pole_moment_wind = 22410.859085946133 ft.lb\n", + "pole_32: equipment_moment_wind = 0.0 ft.lb\n", + "pole_32: wire_moment_wind = 6315.821005646867 ft.lb\n", + "pole_32: tension_moment_wind = 863375.3936365839 ft.lb\n", + "pole_32: pole_moment_tilt = 1545.7771203686734 ft*lb\n", + "pole_32: total_moment = 848021.5282931566 ft.lb\n", + "pole_32: susceptibility = 31.09659444452363 ft.lb.s/m\n", + "pole_32: pole_stress = 1794.2698091047569%\n", + "pole_32: pole_status = 0\n", + "pole_32: pole failed at 1794.2698091047569% stress, time to repair is 8h\n", + "pole_32: down_time = 2021-06-08 21:00:00\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: wind_pressure_failure is negative\n", + "pole_35: pole_moment_wind = 2339.9849203153417 ft.lb\n", + "pole_35: equipment_moment_wind = 0.0 ft.lb\n", + "pole_35: wire_moment_wind = 2239.2063781441043 ft.lb\n", + "pole_35: tension_moment_wind = 179532.78397585955 ft.lb\n", + "pole_35: pole_moment_tilt = 499.59651297380145 ft*lb\n", + "pole_35: total_moment = 177958.57574045696 ft.lb\n", + "pole_35: susceptibility = 9.83840362194387 ft.lb.s/m\n", + "pole_35: pole_stress = 1635.4002957797609%\n", + "pole_35: pole_status = 0\n", + "pole_35: pole failed at 1635.4002957797609% stress, time to repair is 8h\n", + "pole_35: down_time = 2021-06-08 21:00:00\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: wind_pressure_failure is negative\n", + "pole_36: pole_moment_wind = 5393.472835517528 ft.lb\n", + "pole_36: equipment_moment_wind = 0.0 ft.lb\n", + "pole_36: wire_moment_wind = 11159.369124596877 ft.lb\n", + "pole_36: tension_moment_wind = 546907.6528352136 ft.lb\n", + "pole_36: pole_moment_tilt = 750.9029810177472 ft*lb\n", + "pole_36: total_moment = 553069.476847656 ft.lb\n", + "pole_36: susceptibility = 57.78162471573358 ft.lb.s/m\n", + "pole_36: pole_stress = 5082.587238406338%\n", + "pole_36: pole_status = 0\n", + "pole_36: pole failed at 5082.587238406338% stress, time to repair is 8h\n", + "pole_36: down_time = 2021-06-08 21:00:00\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: wind_pressure_failure is negative\n", + "pole_37: pole_moment_wind = 154.18794806979017 ft.lb\n", + "pole_37: equipment_moment_wind = 0.0 ft.lb\n", + "pole_37: wire_moment_wind = 2514.9464665897394 ft.lb\n", + "pole_37: tension_moment_wind = 278813.1451447642 ft.lb\n", + "pole_37: pole_moment_tilt = 56.35052699396653 ft*lb\n", + "pole_37: total_moment = 276417.68924341653 ft.lb\n", + "pole_37: susceptibility = 8.874612692986293 ft.lb.s/m\n", + "pole_37: pole_stress = 1432.0173427930217%\n", + "pole_37: pole_status = 0\n", + "pole_37: pole failed at 1432.0173427930217% stress, time to repair is 8h\n", + "pole_37: down_time = 2021-06-08 21:00:00\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: critical_wind_speed = 77.18836890425122 m/s\n", + "pole_2: pole_moment_wind = 26470.898675038014 ft.lb\n", + "pole_2: equipment_moment_wind = 0.0 ft.lb\n", + "pole_2: wire_moment_wind = 9871.247494716166 ft.lb\n", + "pole_2: tension_moment_wind = 3768.6336283224555 ft.lb\n", + "pole_2: pole_moment_tilt = 375.68034482439737 ft*lb\n", + "pole_2: total_moment = 22667.45649299922 ft.lb\n", + "pole_2: susceptibility = 63.98562785922322 ft.lb.s/m\n", + "pole_2: pole_stress = 208.30895560375197%\n", + "pole_2: pole_status = 0\n", + "pole_2: pole failed at 208.30895560375197% stress, time to repair is 8h\n", + "pole_2: down_time = 2021-06-08 22:00:00\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has not arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has not arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: pole repair time has arrived\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has not arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: pole repair time has arrived\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: pole repair time has arrived\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 137.96493990311765 m/s\n", + "pole_9: pole_moment_wind = 16925.42385560475 ft.lb\n", + "pole_9: equipment_moment_wind = 353.4024643460239 ft.lb\n", + "pole_9: wire_moment_wind = 6520.901751043117 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 12516.62025635622 ft.lb\n", + "pole_9: susceptibility = 24.821464474986026 ft.lb.s/m\n", + "pole_9: pole_stress = 64.8439588989996%\n", + "pole_9: pole_status = 1\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 140.99284687578415 m/s\n", + "pole_10: pole_moment_wind = 24027.36153837368 ft.lb\n", + "pole_10: equipment_moment_wind = 366.24583453098995 ft.lb\n", + "pole_10: wire_moment_wind = 8764.05578592834 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 20578.314705075034 ft.lb\n", + "pole_10: susceptibility = 27.667012716525534 ft.lb.s/m\n", + "pole_10: pole_stress = 83.01483942985182%\n", + "pole_10: pole_status = 1\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 149.39659194425295 m/s\n", + "pole_11: pole_moment_wind = 29201.752696294137 ft.lb\n", + "pole_11: equipment_moment_wind = 329.7464565465569 ft.lb\n", + "pole_11: wire_moment_wind = 9141.459589159667 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 23353.645458399435 ft.lb\n", + "pole_11: susceptibility = 25.999505373484528 ft.lb.s/m\n", + "pole_11: pole_stress = 74.78755645901603%\n", + "pole_11: pole_status = 1\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 135.7243703628363 m/s\n", + "pole_12: pole_moment_wind = 46024.12870415982 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 9932.108615820767 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 44048.945671013425 ft.lb\n", + "pole_12: susceptibility = 27.526325089586546 ft.lb.s/m\n", + "pole_12: pole_stress = 93.20010247790884%\n", + "pole_12: pole_status = 1\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: critical_wind_speed = 85.12414822585976 m/s\n", + "pole_15: pole_moment_wind = 93912.99541095943 ft.lb\n", + "pole_15: equipment_moment_wind = 0.0 ft.lb\n", + "pole_15: wire_moment_wind = 24013.07379966887 ft.lb\n", + "pole_15: tension_moment_wind = 9896.221425377975 ft.lb\n", + "pole_15: pole_moment_tilt = 3860.323665882934 ft*lb\n", + "pole_15: total_moment = 84228.24137548974 ft.lb\n", + "pole_15: susceptibility = 59.793637121189 ft.lb.s/m\n", + "pole_15: pole_stress = 178.2126815556328%\n", + "pole_15: pole_status = 0\n", + "pole_15: pole failed at 178.2126815556328% stress, time to repair is 8h\n", + "pole_15: down_time = 2021-06-08 22:00:00\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: critical_wind_speed = 93.54572683819582 m/s\n", + "pole_16: pole_moment_wind = 100109.31799819288 ft.lb\n", + "pole_16: equipment_moment_wind = 0.0 ft.lb\n", + "pole_16: wire_moment_wind = 23013.540306776333 ft.lb\n", + "pole_16: tension_moment_wind = 9660.960796382848 ft.lb\n", + "pole_16: pole_moment_tilt = 3501.198401478075 ft*lb\n", + "pole_16: total_moment = 84334.19055718814 ft.lb\n", + "pole_16: susceptibility = 53.457759968268384 ft.lb.s/m\n", + "pole_16: pole_stress = 147.92031221625572%\n", + "pole_16: pole_status = 0\n", + "pole_16: pole failed at 147.92031221625572% stress, time to repair is 8h\n", + "pole_16: down_time = 2021-06-08 22:00:00\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: critical_wind_speed = 113.65738957397858 m/s\n", + "pole_17: pole_moment_wind = 93631.18059795794 ft.lb\n", + "pole_17: equipment_moment_wind = 0.0 ft.lb\n", + "pole_17: wire_moment_wind = 16894.68989075776 ft.lb\n", + "pole_17: tension_moment_wind = 3784.6061027025416 ft.lb\n", + "pole_17: pole_moment_tilt = 2954.8849497744454 ft*lb\n", + "pole_17: total_moment = 78483.36208629838 ft.lb\n", + "pole_17: susceptibility = 42.43274983695571 ft.lb.s/m\n", + "pole_17: pole_stress = 115.38236038117202%\n", + "pole_17: pole_status = 0\n", + "pole_17: pole failed at 115.38236038117202% stress, time to repair is 8h\n", + "pole_17: down_time = 2021-06-08 22:00:00\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 149.15931883960363 m/s\n", + "pole_26: pole_moment_wind = 14875.60949454647 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 8984.40733651695 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 11869.16428504142 ft.lb\n", + "pole_26: susceptibility = 17.14478589060171 ft.lb.s/m\n", + "pole_26: pole_stress = 61.48973007900096%\n", + "pole_26: pole_status = 1\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 125.36684593784446 m/s\n", + "pole_27: pole_moment_wind = 23994.432874446047 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 12219.740055781213 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 22801.579899426804 ft.lb\n", + "pole_27: susceptibility = 24.707507575219978 ft.lb.s/m\n", + "pole_27: pole_stress = 91.98369843333344%\n", + "pole_27: pole_status = 1\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 127.09353732832064 m/s\n", + "pole_28: pole_moment_wind = 33134.63204470086 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 13277.636878296575 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 24495.377974105926 ft.lb\n", + "pole_28: susceptibility = 28.5862764977555 ft.lb.s/m\n", + "pole_28: pole_stress = 78.44383295476042%\n", + "pole_28: pole_status = 1\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: critical_wind_speed = 125.67314250849641 m/s\n", + "pole_29: pole_moment_wind = 54594.64812484839 ft.lb\n", + "pole_29: equipment_moment_wind = 0.0 ft.lb\n", + "pole_29: wire_moment_wind = 5886.488886735517 ft.lb\n", + "pole_29: tension_moment_wind = 2169.121196635802 ft.lb\n", + "pole_29: pole_moment_tilt = 584.5038130713559 ft*lb\n", + "pole_29: total_moment = 49702.12811306939 ft.lb\n", + "pole_29: susceptibility = 36.99322528228288 ft.lb.s/m\n", + "pole_29: pole_stress = 105.16127827678032%\n", + "pole_29: pole_status = 0\n", + "pole_29: pole failed at 105.16127827678032% stress, time to repair is 8h\n", + "pole_29: down_time = 2021-06-08 22:00:00\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: critical_wind_speed = 97.59475671871937 m/s\n", + "pole_33: pole_moment_wind = 100216.24338917829 ft.lb\n", + "pole_33: equipment_moment_wind = 0.0 ft.lb\n", + "pole_33: wire_moment_wind = 17196.677273178557 ft.lb\n", + "pole_33: tension_moment_wind = 5510.700777411035 ft.lb\n", + "pole_33: pole_moment_tilt = 2626.8324142897673 ft*lb\n", + "pole_33: total_moment = 88130.21385092981 ft.lb\n", + "pole_33: susceptibility = 54.86601130507159 ft.lb.s/m\n", + "pole_33: pole_stress = 154.57845344083628%\n", + "pole_33: pole_status = 0\n", + "pole_33: pole failed at 154.57845344083628% stress, time to repair is 8h\n", + "pole_33: down_time = 2021-06-08 22:00:00\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: critical_wind_speed = 107.91936250972873 m/s\n", + "pole_34: pole_moment_wind = 106176.54943820722 ft.lb\n", + "pole_34: equipment_moment_wind = 0.0 ft.lb\n", + "pole_34: wire_moment_wind = 13119.393572069857 ft.lb\n", + "pole_34: tension_moment_wind = 4308.594784830112 ft.lb\n", + "pole_34: pole_moment_tilt = 3938.446322811623 ft*lb\n", + "pole_34: total_moment = 95941.31149613258 ft.lb\n", + "pole_34: susceptibility = 50.05845064851762 ft.lb.s/m\n", + "pole_34: pole_stress = 141.0481748515924%\n", + "pole_34: pole_status = 0\n", + "pole_34: pole failed at 141.0481748515924% stress, time to repair is 8h\n", + "pole_34: down_time = 2021-06-08 22:00:00\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "pole_1: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_1: pole repair time has not arrived\n", + "pole_2: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_2: pole repair time has not arrived\n", + "pole_3: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_3: pole repair time has arrived\n", + "pole_4: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_4: pole repair time has arrived\n", + "pole_5: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_5: critical_wind_speed = 235.4047301836238 m/s\n", + "pole_5: pole_moment_wind = 5516.362143186757 ft.lb\n", + "pole_5: equipment_moment_wind = 1084.8472991919332 ft.lb\n", + "pole_5: wire_moment_wind = 2846.592342189942 ft.lb\n", + "pole_5: tension_moment_wind = 4135.0766628001165 ft.lb\n", + "pole_5: pole_moment_tilt = 182.82750002287722 ft*lb\n", + "pole_5: total_moment = 5289.051059874048 ft.lb\n", + "pole_5: susceptibility = 9.930557116915132 ft.lb.s/m\n", + "pole_5: pole_stress = 48.60521967947992%\n", + "pole_5: pole_status = 1\n", + "pole_6: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_6: pole repair time has arrived\n", + "pole_7: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_7: critical_wind_speed = 240.12470573922045 m/s\n", + "pole_7: pole_moment_wind = 13524.04659568228 ft.lb\n", + "pole_7: equipment_moment_wind = 490.42456780708784 ft.lb\n", + "pole_7: wire_moment_wind = 3644.533064477246 ft.lb\n", + "pole_7: tension_moment_wind = 3702.4388620870504 ft.lb\n", + "pole_7: pole_moment_tilt = 309.8273921761014 ft*lb\n", + "pole_7: total_moment = 6434.682309380779 ft.lb\n", + "pole_7: susceptibility = 12.536539997939128 ft.lb.s/m\n", + "pole_7: pole_stress = 33.33569818783293%\n", + "pole_7: pole_status = 1\n", + "pole_8: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_8: critical_wind_speed = 150.85184976843166 m/s\n", + "pole_8: pole_moment_wind = 20059.9346407353 ft.lb\n", + "pole_8: equipment_moment_wind = 607.5968484890124 ft.lb\n", + "pole_8: wire_moment_wind = 4328.059855311473 ft.lb\n", + "pole_8: tension_moment_wind = 4701.246552950238 ft.lb\n", + "pole_8: pole_moment_tilt = 220.8438726400678 ft*lb\n", + "pole_8: total_moment = 15963.533665442732 ft.lb\n", + "pole_8: susceptibility = 26.765368386900466 ft.lb.s/m\n", + "pole_8: pole_stress = 108.65184410609896%\n", + "pole_8: pole_status = 0\n", + "pole_8: pole failed at 108.65184410609896% stress, time to repair is 8h\n", + "pole_8: down_time = 2021-06-08 23:00:00\n", + "pole_9: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_9: critical_wind_speed = 132.5446714627399 m/s\n", + "pole_9: pole_moment_wind = 36234.62256493839 ft.lb\n", + "pole_9: equipment_moment_wind = 756.5780933076514 ft.lb\n", + "pole_9: wire_moment_wind = 4806.180453030474 ft.lb\n", + "pole_9: tension_moment_wind = 4414.911840494456 ft.lb\n", + "pole_9: pole_moment_tilt = 165.25478497218643 ft*lb\n", + "pole_9: total_moment = 32588.08868590538 ft.lb\n", + "pole_9: susceptibility = 40.33959992655622 ft.lb.s/m\n", + "pole_9: pole_stress = 168.82677911976296%\n", + "pole_9: pole_status = 0\n", + "pole_9: pole failed at 168.82677911976296% stress, time to repair is 8h\n", + "pole_9: down_time = 2021-06-08 23:00:00\n", + "pole_10: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_10: critical_wind_speed = 130.6371561749999 m/s\n", + "pole_10: pole_moment_wind = 54990.3197899387 ft.lb\n", + "pole_10: equipment_moment_wind = 838.2100352727829 ft.lb\n", + "pole_10: wire_moment_wind = 6402.833943687264 ft.lb\n", + "pole_10: tension_moment_wind = 2372.8032058280014 ft.lb\n", + "pole_10: pole_moment_tilt = 0.0 ft*lb\n", + "pole_10: total_moment = 51811.38074423973 ft.lb\n", + "pole_10: susceptibility = 48.34084668760272 ft.lb.s/m\n", + "pole_10: pole_stress = 209.01193876975915%\n", + "pole_10: pole_status = 0\n", + "pole_10: pole failed at 209.01193876975915% stress, time to repair is 8h\n", + "pole_10: down_time = 2021-06-08 23:00:00\n", + "pole_11: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_11: critical_wind_speed = 132.25323508271208 m/s\n", + "pole_11: pole_moment_wind = 70968.37018639308 ft.lb\n", + "pole_11: equipment_moment_wind = 801.3754804113938 ft.lb\n", + "pole_11: wire_moment_wind = 6671.956593378404 ft.lb\n", + "pole_11: tension_moment_wind = 1624.8916807850662 ft.lb\n", + "pole_11: pole_moment_tilt = 320.3534023177048 ft*lb\n", + "pole_11: total_moment = 67331.22911887201 ft.lb\n", + "pole_11: susceptibility = 49.76512705867546 ft.lb.s/m\n", + "pole_11: pole_stress = 215.62107329892214%\n", + "pole_11: pole_status = 0\n", + "pole_11: pole failed at 215.62107329892214% stress, time to repair is 8h\n", + "pole_11: down_time = 2021-06-08 23:00:00\n", + "pole_12: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_12: critical_wind_speed = 120.9757415814155 m/s\n", + "pole_12: pole_moment_wind = 112083.96230951093 ft.lb\n", + "pole_12: equipment_moment_wind = 0.0 ft.lb\n", + "pole_12: wire_moment_wind = 7238.1210505399185 ft.lb\n", + "pole_12: tension_moment_wind = 6772.234253566739 ft.lb\n", + "pole_12: pole_moment_tilt = 1168.8295806190347 ft*lb\n", + "pole_12: total_moment = 110298.474259251 ft.lb\n", + "pole_12: susceptibility = 51.97070148961279 ft.lb.s/m\n", + "pole_12: pole_stress = 233.3728752759652%\n", + "pole_12: pole_status = 0\n", + "pole_12: pole failed at 233.3728752759652% stress, time to repair is 8h\n", + "pole_12: down_time = 2021-06-08 23:00:00\n", + "pole_13: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_13: pole repair time has not arrived\n", + "pole_14: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_14: pole repair time has not arrived\n", + "pole_15: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_15: pole repair time has not arrived\n", + "pole_16: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_16: pole repair time has not arrived\n", + "pole_17: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_17: pole repair time has not arrived\n", + "pole_18: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_18: pole repair time has not arrived\n", + "pole_19: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_19: pole repair time has not arrived\n", + "pole_20: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_20: pole repair time has not arrived\n", + "pole_21: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_21: pole repair time has not arrived\n", + "pole_22: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_22: pole repair time has not arrived\n", + "pole_23: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_23: pole repair time has not arrived\n", + "pole_24: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_24: pole repair time has not arrived\n", + "pole_25: resisting_moment = 14692.372501155412 ft*lb\n", + "pole_25: pole repair time has not arrived\n", + "pole_26: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_26: critical_wind_speed = 131.93728755175562 m/s\n", + "pole_26: pole_moment_wind = 30553.90078800421 ft.lb\n", + "pole_26: equipment_moment_wind = 0.0 ft.lb\n", + "pole_26: wire_moment_wind = 3651.6732746492517 ft.lb\n", + "pole_26: tension_moment_wind = 6541.78017683729 ft.lb\n", + "pole_26: pole_moment_tilt = 660.5158498014947 ft*lb\n", + "pole_26: total_moment = 32634.513954836628 ft.lb\n", + "pole_26: susceptibility = 32.86919024613714 ft.lb.s/m\n", + "pole_26: pole_stress = 169.06729118842014%\n", + "pole_26: pole_status = 0\n", + "pole_26: pole failed at 169.06729118842014% stress, time to repair is 8h\n", + "pole_26: down_time = 2021-06-08 23:00:00\n", + "pole_27: resisting_moment = 24788.71831398755 ft*lb\n", + "pole_27: critical_wind_speed = 114.906672529304 m/s\n", + "pole_27: pole_moment_wind = 51368.239063472334 ft.lb\n", + "pole_27: equipment_moment_wind = 0.0 ft.lb\n", + "pole_27: wire_moment_wind = 5716.893370503427 ft.lb\n", + "pole_27: tension_moment_wind = 9389.280239086833 ft.lb\n", + "pole_27: pole_moment_tilt = 699.4908512325181 ft*lb\n", + "pole_27: total_moment = 50652.71532466075 ft.lb\n", + "pole_27: susceptibility = 44.11589543513211 ft.lb.s/m\n", + "pole_27: pole_stress = 204.33777447896085%\n", + "pole_27: pole_status = 0\n", + "pole_27: pole failed at 204.33777447896085% stress, time to repair is 8h\n", + "pole_27: down_time = 2021-06-08 23:00:00\n", + "pole_28: resisting_moment = 31226.645934337153 ft*lb\n", + "pole_28: critical_wind_speed = 114.20946322201671 m/s\n", + "pole_28: pole_moment_wind = 75833.71188509536 ft.lb\n", + "pole_28: equipment_moment_wind = 0.0 ft.lb\n", + "pole_28: wire_moment_wind = 6380.518996111027 ft.lb\n", + "pole_28: tension_moment_wind = 6879.395129561272 ft.lb\n", + "pole_28: pole_moment_tilt = 640.6092218857306 ft*lb\n", + "pole_28: total_moment = 71505.633169936 ft.lb\n", + "pole_28: susceptibility = 53.09964322497648 ft.lb.s/m\n", + "pole_28: pole_stress = 228.98915663339827%\n", + "pole_28: pole_status = 0\n", + "pole_28: pole failed at 228.98915663339827% stress, time to repair is 8h\n", + "pole_28: down_time = 2021-06-08 23:00:00\n", + "pole_29: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_29: pole repair time has not arrived\n", + "pole_30: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_30: pole repair time has not arrived\n", + "pole_31: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_31: pole repair time has not arrived\n", + "pole_32: resisting_moment = 47262.765275879734 ft*lb\n", + "pole_32: pole repair time has not arrived\n", + "pole_33: resisting_moment = 57013.25889164816 ft*lb\n", + "pole_33: pole repair time has not arrived\n", + "pole_34: resisting_moment = 68020.2431524405 ft*lb\n", + "pole_34: pole repair time has not arrived\n", + "pole_35: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_35: pole repair time has not arrived\n", + "pole_36: resisting_moment = 10881.652412543199 ft*lb\n", + "pole_36: pole repair time has not arrived\n", + "pole_37: resisting_moment = 19302.67748743102 ft*lb\n", + "pole_37: pole repair time has not arrived\n", + "{'wire_tention_on_pole': [1802.4722158107074, 1802.4722158107074, 1802.4722158107074, 1802.4722158107074, 1802.4722158107074, nan, nan, nan, nan, nan, nan, nan, nan, nan, 1802.4722158107074, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'wind_moment_on_cable': [0.07561573032649176, 534.1956017807879, 3371.78932116535, 9848.282321521223, 20335.812453812647, nan, nan, nan, nan, nan, nan, nan, nan, nan, 30346.10389048813, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'wind_moment_on_pole': [0.05710012058627924, 130.3126003390427, 481.5828589191502, 1048.9961976583018, 1926.3314356766014, nan, nan, nan, nan, nan, nan, nan, nan, nan, 4334.245730272352, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'wind_moment_on_equipment': [0.011250906286058479, 25.676563188545416, 94.89023068671851, 206.69234658536266, 379.56092274687404, nan, nan, nan, nan, nan, nan, nan, nan, nan, 854.0120761804666, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'pole_tile_moment': [56.350526993966525, 56.350526993966525, 56.350526993966525, 56.350526993966525, 56.350526993966525, nan, nan, nan, nan, nan, nan, nan, nan, nan, 56.350526993966525, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'total_moment_on_pole': [1858.5596575938475, 2310.8493197841403, 5150.201800670722, 11846.611424734552, 22414.98254935079, nan, nan, nan, nan, nan, nan, nan, nan, nan, 33459.904342862945, nan, nan, nan, nan, nan, nan, nan, nan, nan], 'pole_susceptibility': [0.024900000685539946, 2.424118763072194, 6.929559819986464, 12.831089191928966, 19.20677454246744, nan, nan, nan, nan, nan, nan, nan, nan, 20.788679459959383, nan, nan, nan, nan, nan, nan, nan, nan], 'pole_stress': [9.628507023463726, 11.971651711472955, 26.6812819310911, 61.372892089444576, 116.1236961242623, nan, nan, nan, nan, nan, nan, nan, nan, 173.3433321084623, nan, nan, nan, nan, nan, nan, nan, nan], 'pole_status': 1, 'pole_age': [21, 21, 21, 21, 21, nan, nan, nan, nan, nan, nan, nan, nan, 0, 0, nan, nan, nan, nan, nan, nan, nan, nan, 0], 'critical_wind_speed': nan, 'pole_down_time': 1623160800, 'pole_resisting_moment': 19302.67748743102, 'install_year': 2021, 'tilt_angle': 0.0, 'tilt_direction': 0.0}\n" ] } ], @@ -574,21 +3936,27 @@ "pole_analysis_dict = {}\n", "PS_OK = 1\n", "PS_FAILED = 0\n", + "INFINITY = float ('inf')\n", "default_repair_time = 8\n", "last_wind_speed = 0.0\n", + "recalc = 0\n", + "no_data = np.nan\n", "for pole_key in pole_data_dicts.keys():\n", " pole_analysis_dict[pole_key] = {\n", " 'wire_tention_on_pole' : [],\n", + " 'wind_moment_on_cable' : [],\n", " 'wind_moment_on_pole' : [],\n", + " 'wind_moment_on_equipment' : [],\n", + " 'pole_tile_moment' : [],\n", " 'total_moment_on_pole' : [],\n", " 'pole_susceptibility' : [],\n", " 'pole_stress' : [],\n", " 'pole_status' : PS_OK,\n", " 'pole_age' : [],\n", - " 'pole_current_hollow_diameter' : [],\n", " 'critical_wind_speed' : 0.0,\n", " 'pole_down_time' : 0.0,\n", - " 'pole_resisting_moment' : []\n", + " 'pole_resisting_moment' : 0.0,\n", + " 'install_year' : pole_data_dicts[pole_key]['install_year']\n", " }\n", "\n", "# pole init\n", @@ -601,11 +3969,11 @@ " pole_config_dicts[pole_config_index]['repair_time'] = default_repair_time\n", "\n", "# pole precommit\n", - "# for timestamp_index in range(len(time_stamps)):\n", - "for timestamp_index in range(1):\n", + "for timestamp_index in range(len(time_stamps)):\n", " wind_speed = wind_speeds[timestamp_index]\n", " wind_direction = wind_directions[timestamp_index]\n", " wind_direction = wind_directions[timestamp_index]\n", + " ice_thickness = ice_thicknesses[timestamp_index]\n", " for pole_key in pole_data_dicts.keys():\n", " pole_data = pole_data_dicts[pole_key]\n", " pole_config_id = pole_data['config']\n", @@ -613,13 +3981,11 @@ " t0 = time_stamps[timestamp_index]\n", " # effective pole height, for this example, unit in ft\n", " try:\n", - " pole_height = pole_config_data['pole_length']-pole_config_data['pole_depth']\\\n", - " -pole_data['guy_height']\n", + " pole_height = pole_config_data['pole_length']-pole_config_data['pole_depth']-pole_data['guy_height']\n", " except:\n", " raise Exception(f'pole height error for {pole_key}')\n", " pole_t0_year = 1970 + int(t0/86400/365.24)\n", - " age = pole_t0_year-pole_data_dicts[pole_key]['install_year']\n", - " pole_analysis_dict[pole_key]['pole_age'].append(age)\n", + " age = pole_t0_year-pole_analysis_dict[pole_key]['install_year']\n", " pole_ground_diameter = pole_config_data['ground_diameter'] - pole_height\\\n", " /(pole_config_data['pole_length']-pole_config_data['pole_depth'])\\\n", " *(pole_config_data['ground_diameter']-pole_config_data['top_diameter'])\n", @@ -632,20 +3998,32 @@ " if resisting_moment < 0:\n", " print('pole has degraded past point of static failure')\n", " resisting_moment = 0\n", - " pole_analysis_dict[pole_key]['pole_resisting_moment'].append(resisting_moment)\n", - " print(f'{pole_key}: resisting_moment = {resisting_moment} ft*lb at {time_stamps[timestamp_index]}')\n", + " pole_analysis_dict[pole_key]['pole_resisting_moment'] = resisting_moment\n", + " print(f'{pole_key}: resisting_moment = {resisting_moment} ft*lb')\n", " if (pole_analysis_dict[pole_key]['pole_status'] == PS_FAILED) and ((t0 - pole_analysis_dict[pole_key]['pole_down_time'])/3600.0 > pole_config_data['repair_time']):\n", - " print('pole repair time has arrived')\n", + " print(f'{pole_key}: pole repair time has arrived')\n", " pole_analysis_dict[pole_key]['pole_status'] = PS_OK\n", " pole_analysis_dict[pole_key]['tilt_angle'] = 0.0 \n", " pole_analysis_dict[pole_key]['tilt_direction'] = 0.0\n", - " pole_analysis_dict[pole_key]['install_year'] = 1970 + (t0/86400/365.24)\n", + " pole_analysis_dict[pole_key]['install_year'] = 1970 + int(t0/86400/365.24)\n", + " pole_analysis_dict[pole_key]['wire_tention_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_cable'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_equipment'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_tile_moment'].append(no_data)\n", + " pole_analysis_dict[pole_key]['total_moment_on_pole'].append(no_data)\n", + " age = pole_t0_year-pole_analysis_dict[pole_key]['install_year']\n", + " pole_analysis_dict[pole_key]['pole_age'].append(age)\n", + " pole_analysis_dict[pole_key]['critical_wind_speed'] = no_data\n", + " \n", " elif pole_analysis_dict[pole_key]['pole_status'] == PS_OK and (last_wind_speed != wind_speed or pole_analysis_dict[pole_key]['critical_wind_speed'] == 0.0):\n", " top_diameter_ft = pole_top_diameter/12\n", " ground_diameter_ft = pole_ground_diameter/12\n", " tilt_angle = pole_data['tilt_angle']\n", " tile_direction = pole_data['tilt_direction']\n", " guy_height = pole_data['guy_height']\n", + " repair_time = pole_config_data['repair_time']\n", + " age = pole_t0_year-pole_analysis_dict[pole_key]['install_year']\n", " \n", " pole_moment_tilt = tilt_moment_cals(pole_height,pole_config_data['material_density'],top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", " # print(f'{pole_key}: pole_moment_tilt = {norm_cals(pole_moment_tilt)} ft*lb')\n", @@ -670,20 +4048,83 @@ " if wind_pressure_failure >= 0:\n", " critical_wind_speed = sqrt(wind_pressure_failure/(0.00256 * 2.24))\n", " print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", + " pole_analysis_dict[pole_key]['critical_wind_speed'] = critical_wind_speed\n", " else:\n", - " critical_wind_speed = 0\n", - " print(f'{pole_key}: critical_wind_speed = {critical_wind_speed} m/s')\n", - " last_wind_speed = wind_speed\n", + " print(f'{pole_key}: wind_pressure_failure is negative')\n", + " pole_analysis_dict[pole_key]['critical_wind_speed'] = no_data\n", + "\n", + " pole_moment_wind = pole_moment_cals(pole_height,wind_presure,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", + " equipment_moment_wind = equipment_moment_cals(pole_key,wind_presure,wind_direction,guy_height,tilt_angle,tile_direction,mount_data_dicts)\n", + " wire_moment_wind, tension_moment_wind = wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,ice_thickness)\n", + "\n", + " total_moment = [a+b+c+d+e for a,b,c,d,e in zip(pole_moment_tilt,pole_moment_wind,equipment_moment_wind,wire_moment_wind,tension_moment_wind)]\n", + " # print(f'{pole_key}: total_moment = {norm_cals(total_moment)} ft.lb')\n", + " \n", + " pole_analysis_dict[pole_key]['wire_tention_on_pole'].append(norm_cals(tension_moment_wind))\n", + " pole_analysis_dict[pole_key]['wind_moment_on_cable'].append(norm_cals(wire_moment_wind))\n", + " pole_analysis_dict[pole_key]['wind_moment_on_pole'].append(norm_cals(pole_moment_wind))\n", + " pole_analysis_dict[pole_key]['wind_moment_on_equipment'].append(norm_cals(equipment_moment_wind))\n", + " pole_analysis_dict[pole_key]['pole_tile_moment'].append(norm_cals(pole_moment_tilt))\n", + " pole_analysis_dict[pole_key]['total_moment_on_pole'].append(norm_cals(total_moment))\n", + " pole_analysis_dict[pole_key]['pole_age'].append(age)\n", + " \n", " if wind_presure > 0:\n", - " pole_moment_wind = pole_moment_cals(pole_height,wind_presure,wind_direction,top_diameter_ft,ground_diameter_ft,tilt_angle,tile_direction)\n", - " equipment_moment_wind = equipment_moment_cals(pole_key,wind_presure,wind_direction,guy_height,tilt_angle,tile_direction,mount_data_dicts)\n", - " wire_moment_unit_wind, tension_moment_unit_wind = wire_moment_cals(pole_key,pole_height,wind_presure,wind_direction,pole_data_dicts,pole_section_dicts,pole_config,cable_config_dicts,0)" + " recalc = 1\n", + " if recalc:\n", + " print(f'{pole_key}: pole_moment_wind = {norm_cals(pole_moment_wind)} ft.lb')\n", + " print(f'{pole_key}: equipment_moment_wind = {norm_cals(equipment_moment_wind)} ft.lb')\n", + " print(f'{pole_key}: wire_moment_wind = {norm_cals(wire_moment_wind)} ft.lb')\n", + " print(f'{pole_key}: tension_moment_wind = {norm_cals(tension_moment_wind)} ft.lb')\n", + " print(f'{pole_key}: pole_moment_tilt = {norm_cals(pole_moment_tilt)} ft*lb')\n", + " print(f'{pole_key}: total_moment = {norm_cals(total_moment)} ft.lb')\n", + " \n", + " susceptibility_wind_moment = [a+b+c for a,b,c in zip(pole_moment_wind,equipment_moment_wind,wire_moment_wind)]\n", + " susceptibility = 2*norm_cals(susceptibility_wind_moment)/(resisting_moment*wind_speed*0.00256*2.24)\n", + " print(f'{pole_key}: susceptibility = {susceptibility} ft.lb.s/m')\n", + " pole_analysis_dict[pole_key]['pole_susceptibility'].append(susceptibility)\n", + " \n", + " if resisting_moment > 0:\n", + " pole_stress = norm_cals(total_moment)/resisting_moment\n", + " else:\n", + " pole_stress = INFINITY\n", + " print(f'{pole_key}: pole_stress = {pole_stress*100}%')\n", + " pole_analysis_dict[pole_key]['pole_stress'].append(pole_stress*100)\n", + " \n", + " if pole_stress < 1.0:\n", + " pole_analysis_dict[pole_key]['pole_status'] = PS_OK\n", + " else:\n", + " pole_analysis_dict[pole_key]['pole_status'] = PS_FAILED\n", + " print(f'{pole_key}: pole_status = {pole_analysis_dict[pole_key][\"pole_status\"]}')\n", + " if pole_analysis_dict[pole_key]['pole_status'] == PS_FAILED:\n", + " print(f'{pole_key}: pole failed at {pole_stress*100}% stress, time to repair is {repair_time}h')\n", + " pole_analysis_dict[pole_key]['pole_down_time'] = time_stamps[timestamp_index]\n", + " down_time_date = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(time_stamps[timestamp_index]))\n", + " print(f'{pole_key}: down_time = {down_time_date}')\n", + " recalc = 0\n", + " else:\n", + " pole_analysis_dict[pole_key]['pole_susceptibility'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_stress'].append(no_data)\n", + " print(f'{pole_key}: no pole recalculation flagged')\n", + " else:\n", + " print(f'{pole_key}: pole repair time has not arrived')\n", + " pole_analysis_dict[pole_key]['wire_tention_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_cable'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['wind_moment_on_equipment'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_tile_moment'].append(no_data)\n", + " pole_analysis_dict[pole_key]['total_moment_on_pole'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_age'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_susceptibility'].append(no_data)\n", + " pole_analysis_dict[pole_key]['pole_stress'].append(no_data)\n", + " pole_analysis_dict[pole_key]['critical_wind_speed'] = no_data\n", + " last_wind_speed = wind_speed\n", + "print(pole_analysis_dict['pole_3'])" ] }, { "cell_type": "code", "execution_count": null, - "id": "765bcd37", + "id": "9a889e2b", "metadata": {}, "outputs": [], "source": [] From 5b6aabd2d7e7489344cb3500e1c6de262ba65ce6 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Mon, 15 Nov 2021 11:14:46 -0700 Subject: [PATCH 66/82] Update pole_file_converter.py --- .../anticipation/pole_data/pole_file_converter.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py index d1d84ec4..1a351920 100644 --- a/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py @@ -280,8 +280,6 @@ def parse_space_to_underscore(cell_string, current_column, current_row): raise ValueError(f'The cell column: {current_column}, row {current_row} is empty. Please enter a value.') return cell_string.replace(' ','_') -<<<<<<< Updated upstream -======= # The excel file to read. # excel = 'Pole_Output_Sample.xls' excel = 'SampleReport.xls' @@ -317,7 +315,6 @@ def parse_space_to_underscore(cell_string, current_column, current_row): df_current_sheet.drop(['Owner', 'Foundation', 'Ground Water Level',],axis=1,inplace=True) ->>>>>>> Stashed changes # Parse necessary columns into a format supported by Gridlabd. parse_column(df_current_sheet, 'Lean Angle', parse_angle) parse_column(df_current_sheet, 'Lean Direction', parse_angle) @@ -368,16 +365,6 @@ def parse_space_to_underscore(cell_string, current_column, current_row): df_pole_library['class'] = ['powerflow.pole'] * len(df_pole_library) # Additional properties for each class. These values are just for testing purposes for now. -<<<<<<< Updated upstream -df_pole_config['name'] = 'test_name' -df_pole_library['configuration'] = 'test_name' -df_pole_library['name'] = 'pole_1' - -# Combine. -df['Design - Pole']= pd.concat([df_pole_config, df_pole_library], axis=0, ignore_index=True) -# For visualization. -print(df_current_sheet) -======= pole_configuration_name = [] pole_name = [] for i in range(len(df_current_sheet["name"])): @@ -406,7 +393,6 @@ def parse_space_to_underscore(cell_string, current_column, current_row): df_pole_library.to_csv('pole_vulnerability_config_1.csv') # os.system(f"gridlabd anticipation.glm -v") ->>>>>>> Stashed changes # Secondly, do operations on the sheet 'Design - Structure.' df_current_sheet = df['Design - Structure'] From 96d09c9599d756236d34427794e51e0bf35f29ca Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Mon, 15 Nov 2021 11:14:49 -0700 Subject: [PATCH 67/82] Create SampleReport.xls --- .../anticipation/pole_data/SampleReport.xls | Bin 0 -> 52736 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 US/CA/SLAC/anticipation/pole_data/SampleReport.xls diff --git a/US/CA/SLAC/anticipation/pole_data/SampleReport.xls b/US/CA/SLAC/anticipation/pole_data/SampleReport.xls new file mode 100644 index 0000000000000000000000000000000000000000..206ffdb6c01e81eaedde88a9107d706d4aa3bead GIT binary patch literal 52736 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 literal 0 HcmV?d00001 From 3c902eb1180cb0364b47920f4048e47d79ed731f Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Mon, 15 Nov 2021 11:44:37 -0700 Subject: [PATCH 68/82] Update pole_file_converter.py --- .../pole_data/pole_file_converter.py | 91 ++++++++----------- 1 file changed, 37 insertions(+), 54 deletions(-) diff --git a/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py index 1a351920..15508ed6 100644 --- a/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py @@ -3,31 +3,7 @@ import math import re import gridlabd - -# The excel file to read. -excel = 'Pole_Output_Sample.xls' - -# Round to nearest hundreth decimal place if value has more decimal places than that. -decimal_rounding = 2 - -# Read all the sheets in the .xls file -df = pd.read_excel(excel, sheet_name=None) - - -# The first row of each xls file is the header so we convert it to header. -for key in df: - new_header = df[key].iloc[0] - df[key] = df[key][1:] - df[key].columns = new_header - - - -# First do operations on the sheet 'Design - Pole.' -df_current_sheet = df['Design - Pole'] -# Drop unneeded columns -df_current_sheet.drop(['Owner', 'Foundation', 'Ground Water Level',], - axis=1, - inplace=True) +import numpy as np def parse_angle(cell_string, current_column, current_row): @@ -175,7 +151,8 @@ def parse_column(df_current_sheet, current_column, parsing_function): current_column -- the string to be parsed (presumably from a cell) parsing_function -- the function to be called for each cell """ - for row in range(1,len(df_current_sheet[current_column])+1): + print(df_current_sheet) + for row in range(len(df_current_sheet[current_column])): current_string = str(df_current_sheet.at[row,current_column]) if (current_string == 'nan'): df_current_sheet.at[row,current_column] = '' @@ -309,7 +286,7 @@ def parse_space_to_underscore(cell_string, current_column, current_row): df_current_sheet.index = range(len(df_current_sheet.index)) df_current_sheet.columns.name = None # df_current_sheet = df['Design - Structure'] -# print(df_current_sheet) +print(df_current_sheet) # Drop unneeded columns df_current_sheet.drop(['Owner', 'Foundation', 'Ground Water Level',],axis=1,inplace=True) @@ -321,7 +298,8 @@ def parse_space_to_underscore(cell_string, current_column, current_row): parse_column(df_current_sheet, 'Length', parse_length) parse_column(df_current_sheet, 'GLC', parse_circumference_to_diamater) parse_column(df_current_sheet, 'AGL', parse_length) -parse_column(df_current_sheet, 'Effective Stress Adjustment', parse_pressure) +parse_column(df_current_sheet, 'Effective Allowable Stress', parse_pressure) # for sec data +# parse_column(df_current_sheet, 'Effective Stress Adjustment', parse_pressure) parse_column(df_current_sheet, 'GPS Point', check_lat_long) @@ -331,7 +309,7 @@ def parse_space_to_underscore(cell_string, current_column, current_row): # Subtract agl from length to get depth. -for row in range(1,len(df_current_sheet['AGL'])+1): +for row in range(0,len(df_current_sheet['AGL'])): try: df_current_sheet.at[row,'AGL'] = subtract_length_columns(str(df_current_sheet.at[row,'Length']), str(df_current_sheet.at[row,'AGL']), 'Length', 'AGL', row) @@ -346,14 +324,19 @@ def parse_space_to_underscore(cell_string, current_column, current_row): # Rename columns to its corresponding column name in Gridlabd. # I believe class in the file is referring to grade, so it is renamed. -df_current_sheet.rename(columns = {'Lean Angle': 'tilt_angle', - 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength', 'Length' : 'pole_length', 'GLC' : 'ground_diameter', 'AGL' : 'pole_depth', 'Class': "grade"}, inplace=True) +df_current_sheet.rename(columns = {np.nan : 'name', 'Lean Angle': 'tilt_angle', + 'Lean Direction': 'tilt_direction', 'Effective Allowable Stress': 'fiber_strength',\ + 'Length' : 'pole_length', 'GLC' : 'ground_diameter', 'AGL' : 'pole_depth',\ + 'Class': "grade"}, inplace=True) # for sec data +# df_current_sheet.rename(columns = {'Lean Angle': 'tilt_angle', +# 'Lean Direction': 'tilt_direction', 'Effective Stress Adjustment': 'fiber_strength', 'Length' : 'pole_length', 'GLC' : 'ground_diameter', 'AGL' : 'pole_depth', 'Class': "grade"}, inplace=True) # Split GPS Point into longitude and latitude, then parse. # Remove original GPS Point column -df_current_sheet.drop(columns = {'GPS Point', 'Allowable Stress Adjustment'},axis=1,inplace=True) +df_current_sheet.drop(columns = {'GPS Point'},axis=1,inplace=True) # sce data +# df_current_sheet.drop(columns = {'GPS Point', 'Allowable Stress Adjustment'},axis=1,inplace=True) print(df_current_sheet) # Split the dataframe based on properties of pole_config and pole_library. @@ -394,35 +377,35 @@ def parse_space_to_underscore(cell_string, current_column, current_row): # os.system(f"gridlabd anticipation.glm -v") -# Secondly, do operations on the sheet 'Design - Structure.' -df_current_sheet = df['Design - Structure'] +# # Secondly, do operations on the sheet 'Design - Structure.' +# df_current_sheet = df['Design - Structure'] -parse_column(df_current_sheet, 'Height', parse_length) -parse_column(df_current_sheet, 'Offset/Lead', parse_length) -parse_column(df_current_sheet, 'Direction', parse_angle) -parse_column(df_current_sheet, 'Type', parse_space_to_underscore) +# parse_column(df_current_sheet, 'Height', parse_length) +# parse_column(df_current_sheet, 'Offset/Lead', parse_length) +# parse_column(df_current_sheet, 'Direction', parse_angle) +# parse_column(df_current_sheet, 'Type', parse_space_to_underscore) -# Replace spaces and hashtags -df_current_sheet['Related'] = df_current_sheet['Related'].apply(lambda x: str(x).replace(' ', '')) -df_current_sheet['Related'] = df_current_sheet['Related'].apply(lambda x: str(x).replace('#', '_')) -df_current_sheet['ID#'] = df_current_sheet['ID#'].apply(lambda x: str(x).replace('#', '_')) +# # Replace spaces and hashtags +# df_current_sheet['Related'] = df_current_sheet['Related'].apply(lambda x: str(x).replace(' ', '')) +# df_current_sheet['Related'] = df_current_sheet['Related'].apply(lambda x: str(x).replace('#', '_')) +# df_current_sheet['ID#'] = df_current_sheet['ID#'].apply(lambda x: str(x).replace('#', '_')) -# Specify parent of the pole_mount objects -df_current_sheet['parent'] = ['pole_1'] * len(df_current_sheet) +# # Specify parent of the pole_mount objects +# df_current_sheet['parent'] = ['pole_1'] * len(df_current_sheet) -# Rename/delete some columns -# Todo: Keep size and convert data from that input into area and weight. -df_current_sheet.drop(columns = {'Owner', 'Size'}, inplace=True) -df_current_sheet.rename(str.lower, axis='columns', inplace=True) +# # Rename/delete some columns +# # Todo: Keep size and convert data from that input into area and weight. +# df_current_sheet.drop(columns = {'Owner', 'Size'}, inplace=True) +# df_current_sheet.rename(str.lower, axis='columns', inplace=True) -# Todo: The last two rows of the offset/lead column is the distance between adjacent poles. Handle it somehow. -df_current_sheet.rename(columns = {'id#' : 'id', 'offset/lead' : 'offset'}, inplace=True) +# # Todo: The last two rows of the offset/lead column is the distance between adjacent poles. Handle it somehow. +# df_current_sheet.rename(columns = {'id#' : 'id', 'offset/lead' : 'offset'}, inplace=True) -# Add 'class' column to 'Design - Strucuture'. -df_current_sheet['class'] = ['powerflow.pole_mount'] * len(df_current_sheet) +# # Add 'class' column to 'Design - Strucuture'. +# df_current_sheet['class'] = ['powerflow.pole_mount'] * len(df_current_sheet) -df_current_sheet['name'] = [f'pole_mount_{i}' for i in range(len(df_current_sheet))] +# df_current_sheet['name'] = [f'pole_mount_{i}' for i in range(len(df_current_sheet))] @@ -447,7 +430,7 @@ def parse_space_to_underscore(cell_string, current_column, current_row): df_final.reset_index(drop=True, inplace=True) # Create final csv file. -df_final.to_csv('Sample_Output.csv', index=False) +df_final.to_csv('SampleReport.csv', index=False) # For visualization. print(df_final) From 8da5f4e0ccef3cc0a9bb998f05183bed61b76004 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Mon, 15 Nov 2021 11:44:40 -0700 Subject: [PATCH 69/82] Update SampleReport.xls --- .../anticipation/pole_data/SampleReport.xls | Bin 52736 -> 52736 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/US/CA/SLAC/anticipation/pole_data/SampleReport.xls b/US/CA/SLAC/anticipation/pole_data/SampleReport.xls index 206ffdb6c01e81eaedde88a9107d706d4aa3bead..51d3f1ce6dd524f7b79dd2729249e1778f95da8f 100644 GIT binary patch delta 2819 zcmb_d3v3is6uq`;GbXAXBR#nE8;|`#;{JVu>JfiN)&^iRjO0 zkmx83e+l6oyp-#wi3a^ zW_t-wwOe?n%_(>}Z1)OzO0?WypDA#w-Os<;o!sSEZkk5+*#{5HmCo-3uJMIl3!#UtFYCOf@@o79`p=XH3Q&kvp zqH_1d)`5S9#{Wt{;>m~&X<8>h>j+KjY^*U!TjK?+@vOGSI;>Hzt+5@to3)%j1n=iL z!+Bxuc3cuydpB^qJHqAJ67R}$b8Su?H)P-7a?f_YlRJTz=1VMkhO;?uU2OhO9=DOA z(Q{GWoI8LEb0={yyTTqDsVyGlAR}@=mN$nldP8D-ln*<-Jit|=1FJ8DjI3!rLV%hu+ zluvy#6o)(Mm>#KLIWMxZ9$tyud$_u6rm#zHE9-PN3Z+Cg%-#n)41BVTXu3eO8Mqtx z2e1$L;v+Banevj}mzdL~j7M0egW4Bhk{~M5};Zz{|jKBZ!_d z5uF5{F;OEe9!V52V*>CpFf@v22+UHE0(BJr$G?LFohi13 zrf~VRy~1Sq$7vM?YY*!5CY91S>f*sQqZ}4>myrd3y`EpHnK-l)ye3q~sv8hfrQ9~) z3f2&Os2=k%V(Q@~!KHYt05}o7o#WQjD&qOYJ=C~!rou8hl ztY7f3BgH+UpL;^&fGfrQbU(MHd2nj~wr?5SNc(Ot@lmAr~>qo(SUK-JWPC$(cbJgMV)SiOmHLt@+rt1mHb(#Ekf@L~B2 z_q#m!y|XDA%o#K&$3aqqh_^1OLBxDjg9xoj4I)mL_;{)Yk>VPZcU#jSuYA8(ND<-8 zAVNwLA*G2>N~bO+rHPOdA|#xV$wEj85w4^NzP9&#iU#FqOl}#q8J;u^o-_@fga%KV z22VnRCryJVp&>V^K_2r#S!yBDUuRW>KTU)`O@u!o!k;F>pAg|s6X8#YP(G#cZv4J) zk-!Jqf;_#gl+U&m^J}p$3$cbfcvHSIjUns*I OIk#SzEBBr=3x5L$({XYD delta 2794 zcmbtVYitx%6h3!$cDvhs&2IP6eRR7tb=|6Tx75BYS|ox$pbs8W5F$p)L%;`EiU_0- z1yM1Po)%IlwFC(*5D^9w(10`=g;;|$B!-3`B})8dLt_++ka}i!W_G8piNx9Ld}r>t z-#Op8=iZsEUAnDZx=$?}>qjg1z2R!`mc6T99Ol9duj}J@i(iFrj;^)UeW zeLM_snhfdUPlSiT1q`=k^zM_rCrw@{fo;jP6 zG2m%yaAa*bmp`7EwKV$B7Go5)7->+wYRSqx7iale5@|N)#jx9NVN5LZa}1X|1myfP zaKu}N$H<-(EW?UG2cF3l@Ry*oE!T~i`a8^pLRGd%7H4ylY$PjQ{7sqHtIo%Ky+&RUkDNtnk#b*I!!kN_cX(;ng+E zwu2vzKO;GuDaX9#b?aYjUcZjK0({+xhe{T(PVr93C41|M7=VRl&yNF~B>aPL9=(dD zmH>1T9w59!7@7jGiT2wb!rusQ5>D3vl$Qb^;Tb|V4^Z(aKs(_PLS7HxD+6dD+)Q|l zaD;G{0bq4Gz(oVJg0}*oIg2I`UL*X0a5C-T#g!D4P+tY`0u{fS@FL+A!s2XzqQ?Ms z5N;;CMwnF%&_t(n1L0M|ON0@sY{^uBvxN4?0oGUn-XZ*%(ES9!IvY(qL5776aFaMN z{j`NX4%_Oz`pPU!1w1KVl`rHUJY-)OG~s1;xG*cabsg8Huie(+s2yWehO%y)i85~lA6S|o$iAR zs0GUbDqE;!I{>Eb0q}QXcl~i3Ug+X#0iSQE5@Uh5L=g=HKn=z z+A_sC%ZqGj?(zw4Y(C~lb3Z%5-MHi7bau-G_x|=#1FOXk_U}&gC?{KL$k0B3p2JGL z;@z$b_fcr8Qm8(_8&n6kDNC|l4C>)edSaY`n#a*oa$HB&m^#j@<9f30sN)8C zoX!T+!C!R0hZ}poOVf~*L4))%PiZjHc1dY4sv3->C#Ati--e_%BfW@I8jPT5klrP- z2Jx$dV=PUCJ%b2ABSO%Kkd`i)OwfoBR1tzkgrJI$zRb!(RDXOqO@s7dOP!u%Gu#>t zZjA=Fs==+%;8r!bH5%Ni22VefGQ%G zCZg)dN{0QtarE^?@nCNlM|-3AWZ#$gT3=n;(P0x*-0hn+^dr-Wqety_8a1B!e2o*W Qi;UPj@HTUbV*^?2Zyic*f&c&j From 7dc84e904444e54210570ee365c47fd6787cd8d8 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 12:04:15 -0700 Subject: [PATCH 70/82] Update anticipation_config.csv --- US/CA/SLAC/anticipation/anticipation_config.csv | 1 - 1 file changed, 1 deletion(-) diff --git a/US/CA/SLAC/anticipation/anticipation_config.csv b/US/CA/SLAC/anticipation/anticipation_config.csv index 3164d17a..59c17840 100644 --- a/US/CA/SLAC/anticipation/anticipation_config.csv +++ b/US/CA/SLAC/anticipation/anticipation_config.csv @@ -3,7 +3,6 @@ PSPS_ANALYSIS,off VEGETATION_VULNERABILITY_ANALYSIS,off RELIABILITY_MODE,on POLE_DATA,"pole_data/pole_data.csv" -WEATHER_FILE,test_wind.player STARTTIME,2021-06-08 00:00:00 STOPTIME,2021-06-08 01:00:00 TIMEZONE,PST+8PDT \ No newline at end of file From fcb8e350675b826e8203572615d7fa4af2dced14 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 12:04:25 -0700 Subject: [PATCH 71/82] Create test_wind.player --- US/CA/SLAC/anticipation/test_wind.player | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 US/CA/SLAC/anticipation/test_wind.player diff --git a/US/CA/SLAC/anticipation/test_wind.player b/US/CA/SLAC/anticipation/test_wind.player new file mode 100644 index 00000000..5e3b0552 --- /dev/null +++ b/US/CA/SLAC/anticipation/test_wind.player @@ -0,0 +1,14 @@ +2021-06-08 00:00:00, 0.5 ++1h, +1.0 ++1h, +1.2 ++1h, +1.5 ++1h, +2.0 ++1h, +2.5 ++1h, +3.0 ++1h, +3.5 ++1h, +4.0 ++1h, +10 ++1h, +20 ++1h, +30 ++1h, +50 ++1h, +1.0 From d5f2fef1609ba0ec2c283663a9cd965a4fe50021 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 12:04:29 -0700 Subject: [PATCH 72/82] Update anticipation.glm --- US/CA/SLAC/anticipation/anticipation.glm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index 9b232797..b8e86f3a 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -22,14 +22,6 @@ module tape; #include "anticipation_config.glm" #endif - -//Setting up the clock -//clock { -// starttime ${STARTTIME}; -// stoptime ${STOPTIME}; -// timezone ${TIMEZONE}; -//} - class pole_mount { char32 type; @@ -38,6 +30,14 @@ class pole_mount char32 size; } +object climate { + name weather; + object player { + property wind_speed; + file "test_wind.player"; + }; +} + // load the gridlabd-python module module anticipation; module powerflow { @@ -59,8 +59,8 @@ object fault_check #if POLE_VULNERABILITY_ANALYSIS=="on" #debug "POLE VULNERABILITY ANALYSIS is enabled" // INPUT CSV POLE DATA CONVERTER -//#input "pole_library_config.csv" -f table -t "object" -C powerflow.pole_configuration -//#input "pole_vulnerability_config.csv" -f "table" -t "object" +//#input "pole_library_config_1.csv" -f table -t "object" -C powerflow.pole_configuration +//#input "pole_vulnerability_config_1.csv" -f "table" -t "object" #input "${POLE_DATA}" -f table -t object #endif //POLE_VULNERABILITY_ANALYSIS From e7862714f99cdec29e5e63e099551ecddca2344a Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 12:05:13 -0700 Subject: [PATCH 73/82] Update pole_data.csv --- US/CA/SLAC/anticipation/pole_data/pole_data.csv | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/US/CA/SLAC/anticipation/pole_data/pole_data.csv b/US/CA/SLAC/anticipation/pole_data/pole_data.csv index 7fb33d84..31239aa4 100644 --- a/US/CA/SLAC/anticipation/pole_data/pole_data.csv +++ b/US/CA/SLAC/anticipation/pole_data/pole_data.csv @@ -26,5 +26,4 @@ powerflow.pole_configuration,SYP-80/H-2,,,,,,,,,,,,,,WOOD,70,40,70,70,1.75,70,70 powerflow.pole_configuration,SYP-90/H-2,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,90 ft, 11 ft,20.06369427,9.872611465, 8000 psi,,, powerflow.pole_configuration,SYP-100/H-2,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,100 ft, 12 ft,20.85987261,9.872611465, 8000 psi,,, powerflow.pole_configuration,SYP-110/H-3,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,110 ft, 13 ft,22.77070064,10.50955414, 8000 psi,,, -powerflow.pole_configuration,SYP-120/H-4,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,120 ft, 14 ft,24.68152866,11.14649682, 8000 psi,,, -powerflow.pole_mount,,line1to2,pole1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file +powerflow.pole_configuration,SYP-120/H-4,,,,,,,,,,,,,,WOOD,,,,,,,,,,,,120 ft, 14 ft,24.68152866,11.14649682, 8000 psi,,, \ No newline at end of file From a15d5231c70e67007c4890e45d7cc920253df5ae Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 12:06:00 -0700 Subject: [PATCH 74/82] Update SampleReport.xls --- .../anticipation/pole_data/SampleReport.xls | Bin 52736 -> 52736 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/US/CA/SLAC/anticipation/pole_data/SampleReport.xls b/US/CA/SLAC/anticipation/pole_data/SampleReport.xls index 51d3f1ce6dd524f7b79dd2729249e1778f95da8f..f570c4041791ad1d351780bd8fe9295a543489f5 100644 GIT binary patch delta 21 dcmZpe!`v{3c|*<_wgYh=grD8sTy&<75ddzE3XcE) delta 21 dcmZpe!`v{3c|*<_wg>I*M*?nbE;`f42moyV3P}I} From 9525c4d75726ba33eae7fa5d29a719a9852b7a38 Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 12:06:02 -0700 Subject: [PATCH 75/82] Update example_for_gridwere.xls --- .../test_files/example_for_gridwere.xls | Bin 48128 -> 48128 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/US/CA/SLAC/anticipation/test_files/example_for_gridwere.xls b/US/CA/SLAC/anticipation/test_files/example_for_gridwere.xls index 29b7532b1fb05aea525645b2317294340f67f755..296f75afa56a4e996bc73f9bf497bb64667811c2 100644 GIT binary patch delta 23 fcmZqp!PM}BX+zE~jsr2yO3!XzXWU$}tA`N)ixUf5 delta 18 acmZqp!PM}BX+zGg$#Xk6Hka(`VFUnKjR^Sw From 6dd0b1a2647d280e9288aa2381012982ca47c2bc Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 14:18:50 -0700 Subject: [PATCH 76/82] Update anticipation.glm --- US/CA/SLAC/anticipation/anticipation.glm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/US/CA/SLAC/anticipation/anticipation.glm b/US/CA/SLAC/anticipation/anticipation.glm index b8e86f3a..f1b61da7 100644 --- a/US/CA/SLAC/anticipation/anticipation.glm +++ b/US/CA/SLAC/anticipation/anticipation.glm @@ -11,7 +11,6 @@ module powerflow; module climate; module tape; - // convert CSV configuration file, if any #ifexist "anticipation_config.csv" #exec strings Date: Wed, 17 Nov 2021 14:18:58 -0700 Subject: [PATCH 77/82] Update anticipation_config.csv --- US/CA/SLAC/anticipation/anticipation_config.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/US/CA/SLAC/anticipation/anticipation_config.csv b/US/CA/SLAC/anticipation/anticipation_config.csv index 59c17840..12ac1578 100644 --- a/US/CA/SLAC/anticipation/anticipation_config.csv +++ b/US/CA/SLAC/anticipation/anticipation_config.csv @@ -2,7 +2,7 @@ POLE_VULNERABILITY_ANALYSIS,on PSPS_ANALYSIS,off VEGETATION_VULNERABILITY_ANALYSIS,off RELIABILITY_MODE,on -POLE_DATA,"pole_data/pole_data.csv" +POLE_DATA,"pole_data/pole_data_sec.csv" STARTTIME,2021-06-08 00:00:00 -STOPTIME,2021-06-08 01:00:00 +STOPTIME,2021-06-08 6:00:00 TIMEZONE,PST+8PDT \ No newline at end of file From dd2167dc83fad3b26f2ed7af6df57f7690d1386c Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 14:19:27 -0700 Subject: [PATCH 78/82] Update anticipation_config.csv --- US/CA/SLAC/anticipation/anticipation_config.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/US/CA/SLAC/anticipation/anticipation_config.csv b/US/CA/SLAC/anticipation/anticipation_config.csv index 12ac1578..a166e426 100644 --- a/US/CA/SLAC/anticipation/anticipation_config.csv +++ b/US/CA/SLAC/anticipation/anticipation_config.csv @@ -4,5 +4,5 @@ VEGETATION_VULNERABILITY_ANALYSIS,off RELIABILITY_MODE,on POLE_DATA,"pole_data/pole_data_sec.csv" STARTTIME,2021-06-08 00:00:00 -STOPTIME,2021-06-08 6:00:00 +STOPTIME,2021-06-08 06:00:00 TIMEZONE,PST+8PDT \ No newline at end of file From 6d919147f80be8c6a5d42e87ab5fdb88bb9998ce Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 14:19:56 -0700 Subject: [PATCH 79/82] Update pole_file_converter.py --- .../anticipation/pole_data/pole_file_converter.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py index 15508ed6..6b56585f 100644 --- a/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py @@ -372,8 +372,8 @@ def parse_space_to_underscore(cell_string, current_column, current_row): print(df['Design - Pole']) -df_pole_config.to_csv('pole_library_config_1.csv') -df_pole_library.to_csv('pole_vulnerability_config_1.csv') +# df_pole_config.to_csv('pole_library_config_1.csv') +# df_pole_library.to_csv('pole_vulnerability_config_1.csv') # os.system(f"gridlabd anticipation.glm -v") @@ -411,7 +411,8 @@ def parse_space_to_underscore(cell_string, current_column, current_row): # Keep track of final df to output at the end. -df_final = pd.concat([df['Design - Pole'], df_current_sheet], axis=0, ignore_index=True) +# df_final = pd.concat([df['Design - Pole'], df_current_sheet], axis=0, ignore_index=True) +df_final = df['Design - Pole'].copy() # Move class column to the first column. May not be necessary. class_column = df_final.pop('class') @@ -425,12 +426,12 @@ def parse_space_to_underscore(cell_string, current_column, current_row): # Create the intermediate csv files. May not be necessary. -for key in df: - df[key].to_csv('%s.csv' %key) +# for key in df: +# df[key].to_csv('%s.csv' %key) df_final.reset_index(drop=True, inplace=True) # Create final csv file. -df_final.to_csv('SampleReport.csv', index=False) +df_final.to_csv('pole_data_sec.csv', index=False) # For visualization. print(df_final) From ae0aafc1ef225b90eebcc6b2479071850551072f Mon Sep 17 00:00:00 2001 From: Fuhong Xie Date: Wed, 17 Nov 2021 14:20:36 -0700 Subject: [PATCH 80/82] Update pole_file_converter.py --- US/CA/SLAC/anticipation/pole_data/pole_file_converter.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py b/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py index 6b56585f..fed54718 100644 --- a/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py +++ b/US/CA/SLAC/anticipation/pole_data/pole_file_converter.py @@ -372,9 +372,6 @@ def parse_space_to_underscore(cell_string, current_column, current_row): print(df['Design - Pole']) -# df_pole_config.to_csv('pole_library_config_1.csv') -# df_pole_library.to_csv('pole_vulnerability_config_1.csv') - # os.system(f"gridlabd anticipation.glm -v") # # Secondly, do operations on the sheet 'Design - Structure.' From a7fac5eb1df76a8a35cf6a69da178af258ae9f40 Mon Sep 17 00:00:00 2001 From: jewelnewman Date: Wed, 29 Jun 2022 13:33:59 -0700 Subject: [PATCH 81/82] add resilience template framework and md file --- .../anticipation/resilience/resilience.glm | 58 +++++++++++++++++++ .../anticipation/resilience/resilience.md | 15 +++++ .../resilience/resilience_config.csv | 4 ++ 3 files changed, 77 insertions(+) create mode 100644 US/CA/SLAC/anticipation/resilience/resilience.glm create mode 100644 US/CA/SLAC/anticipation/resilience/resilience.md create mode 100644 US/CA/SLAC/anticipation/resilience/resilience_config.csv diff --git a/US/CA/SLAC/anticipation/resilience/resilience.glm b/US/CA/SLAC/anticipation/resilience/resilience.glm new file mode 100644 index 00000000..e3652762 --- /dev/null +++ b/US/CA/SLAC/anticipation/resilience/resilience.glm @@ -0,0 +1,58 @@ +// Set up modules +module powerflow; +module climate; +module tape; + +// Load py module +//script on_init "resilience_py.py"; + +// convert CSV configuration file, if any +#ifexist "resilience_config.csv" +#exec strings .glm resilience.glm` + +To do +- Verification: test template works with larger network models +- Validation: compare cost.cpp code with hand calculations +- Add functionality for impact metric using Python on create event handler to avoid segmentation error \ No newline at end of file diff --git a/US/CA/SLAC/anticipation/resilience/resilience_config.csv b/US/CA/SLAC/anticipation/resilience/resilience_config.csv new file mode 100644 index 00000000..b42d67c5 --- /dev/null +++ b/US/CA/SLAC/anticipation/resilience/resilience_config.csv @@ -0,0 +1,4 @@ +STARTTIME,2021-06-08 00:00:00 +STOPTIME,2021-06-08 6:00:00 +TIMEZONE,PST+8PDT +IMPACT_DURATION,1 From 81bdc59fdefe60dcf15719fd1abefe1b56fd9520 Mon Sep 17 00:00:00 2001 From: jewelnewman Date: Wed, 29 Jun 2022 14:38:12 -0700 Subject: [PATCH 82/82] improved documentation --- .../anticipation/resilience/resilience.glm | 18 +++++++++++++++++- .../SLAC/anticipation/resilience/resilience.md | 8 ++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/US/CA/SLAC/anticipation/resilience/resilience.glm b/US/CA/SLAC/anticipation/resilience/resilience.glm index e3652762..eabc0a93 100644 --- a/US/CA/SLAC/anticipation/resilience/resilience.glm +++ b/US/CA/SLAC/anticipation/resilience/resilience.glm @@ -30,6 +30,7 @@ module resilience metrics_cost_data "test_metrics_cost_data.csv"; } +// triplex meter object metrics { object cost @@ -45,8 +46,23 @@ object metrics } +// meter +object metrics +{ + object cost + { + asset_class meter; + value 0; + }; + + object outage + { + asset_class meter; + }; + +} -// TO DO +// TO DO Causes segmentation error //#for METER in ${FIND class=triplex_meter} //object impact //{ diff --git a/US/CA/SLAC/anticipation/resilience/resilience.md b/US/CA/SLAC/anticipation/resilience/resilience.md index 3b320680..bfb00ade 100644 --- a/US/CA/SLAC/anticipation/resilience/resilience.md +++ b/US/CA/SLAC/anticipation/resilience/resilience.md @@ -10,6 +10,10 @@ How to run - Run `gridlabd .glm resilience.glm` To do -- Verification: test template works with larger network models -- Validation: compare cost.cpp code with hand calculations +- Verification: + - Test template works with larger network models +- Validation: + - Compare cost.cpp code results with expected model outputs + - Compare impact.cpp code results with expected model outputs + - Unsure how to best validate outage metric - Add functionality for impact metric using Python on create event handler to avoid segmentation error \ No newline at end of file