urbanopt-scenario 0.5.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -3
- data/CHANGELOG.md +25 -0
- data/Gemfile +3 -2
- data/LICENSE.md +29 -17
- data/Rakefile +16 -6
- data/docs/package-lock.json +20329 -2005
- data/docs/package.json +7 -4
- data/lib/urbanopt/scenario/default_reports.rb +16 -6
- data/lib/urbanopt/scenario/extension.rb +16 -6
- data/lib/urbanopt/scenario/logger.rb +17 -7
- data/lib/urbanopt/scenario/scenario_base.rb +16 -6
- data/lib/urbanopt/scenario/scenario_csv.rb +47 -20
- data/lib/urbanopt/scenario/scenario_datapoint_base.rb +21 -11
- data/lib/urbanopt/scenario/scenario_post_processor_base.rb +16 -6
- data/lib/urbanopt/scenario/scenario_post_processor_default.rb +20 -10
- data/lib/urbanopt/scenario/scenario_post_processor_opendss.rb +22 -12
- data/lib/urbanopt/scenario/scenario_runner_base.rb +16 -6
- data/lib/urbanopt/scenario/scenario_runner_osw.rb +20 -9
- data/lib/urbanopt/scenario/scenario_visualization.rb +46 -28
- data/lib/urbanopt/scenario/simulation_dir_base.rb +17 -11
- data/lib/urbanopt/scenario/simulation_dir_osw.rb +19 -7
- data/lib/urbanopt/scenario/simulation_mapper_base.rb +16 -6
- data/lib/urbanopt/scenario/version.rb +17 -7
- data/lib/urbanopt/scenario.rb +16 -6
- data/lib/urbanopt-scenario.rb +16 -6
- data/urbanopt-scenario-gem.gemspec +10 -12
- metadata +13 -83
data/docs/package.json
CHANGED
@@ -13,19 +13,22 @@
|
|
13
13
|
"highlight.js": "^10.4.1",
|
14
14
|
"json-schema-ref-parser": "^9.0.6",
|
15
15
|
"json-schema-view-js": "git+https://git@github.com/bgschiller/json-schema-view-js.git",
|
16
|
-
"vuepress": "^1.6.0",
|
17
16
|
"webpack-dev-middleware": "^3.6.0"
|
18
17
|
},
|
19
18
|
"devDependencies": {
|
20
19
|
"braces": "^3.0.2",
|
21
20
|
"dot-prop": "^5.3.0",
|
22
21
|
"gh-pages": "^3.1.0",
|
22
|
+
"ini": "^2.0.0",
|
23
|
+
"is-svg": ">=4.3.1",
|
23
24
|
"js-yaml": "^3.14.0",
|
24
25
|
"minimist": ">=1.2.3",
|
25
26
|
"node-forge": ">=0.10.0",
|
27
|
+
"postcss": "^8.2.15",
|
26
28
|
"serialize-javascript": "^5.0.1",
|
27
|
-
"set-value": "^
|
28
|
-
"
|
29
|
-
"
|
29
|
+
"set-value": "^4.0.1",
|
30
|
+
"ssri": ">=8.0.1",
|
31
|
+
"vuepress": "^1.8.2",
|
32
|
+
"yargs-parser": "^20.2.1"
|
30
33
|
}
|
31
34
|
}
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -32,7 +42,7 @@ require 'logger'
|
|
32
42
|
|
33
43
|
module URBANopt
|
34
44
|
module Scenario
|
35
|
-
@@logger = Logger.new(
|
45
|
+
@@logger = Logger.new($stdout)
|
36
46
|
|
37
47
|
# Definining class variable "@@logger" to log errors, info and warning messages.
|
38
48
|
def self.logger
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -51,6 +61,7 @@ module URBANopt
|
|
51
61
|
# * +num_header_rows+ - _String_ - Number of header rows to skip in CSV file.
|
52
62
|
def initialize(name, root_dir, run_dir, feature_file, mapper_files_dir, csv_file, num_header_rows)
|
53
63
|
super(name, root_dir, run_dir, feature_file)
|
64
|
+
@root_dir = root_dir
|
54
65
|
@mapper_files_dir = mapper_files_dir
|
55
66
|
@csv_file = csv_file
|
56
67
|
@num_header_rows = num_header_rows
|
@@ -71,23 +82,39 @@ module URBANopt
|
|
71
82
|
|
72
83
|
# Require all simulation mappers in mapper_files_dir
|
73
84
|
def load_mapper_files
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
85
|
+
# loads default values from extension gem
|
86
|
+
options = OpenStudio::Extension::RunnerConfig.default_config
|
87
|
+
# check if runner.conf file exists
|
88
|
+
if File.exist?(File.join(@root_dir, OpenStudio::Extension::RunnerConfig::FILENAME))
|
89
|
+
runner_config = OpenStudio::Extension::RunnerConfig.new(@root_dir)
|
90
|
+
# use the default values overriden with runner.conf values
|
91
|
+
options = options.merge(runner_config.options)
|
81
92
|
end
|
82
|
-
|
83
|
-
if
|
84
|
-
|
85
|
-
|
93
|
+
|
94
|
+
# bundle path is assigned from the runner.conf if it exists or is assigned in the root_dir
|
95
|
+
bundle_path = !options.key?(:bundle_install_path) || options[:bundle_install_path] === '' ? File.join(@root_dir, '.bundle/install/') : options[:bundle_install_path]
|
96
|
+
|
97
|
+
# checks if bundle path doesn't exist or is empty
|
98
|
+
if !Dir.exist?(bundle_path) || Dir.empty?(bundle_path)
|
99
|
+
# install bundle
|
100
|
+
OpenStudio::Extension::Runner.new(@root_dir)
|
86
101
|
end
|
87
|
-
# then the rest
|
88
|
-
ordered_dirs += dirs
|
89
102
|
|
90
|
-
|
103
|
+
# find all lib dirs in the bundle path and add them to the path
|
104
|
+
lib_dirs = Dir.glob(File.join(bundle_path, '/**/lib'))
|
105
|
+
lib_dirs.each do |ld|
|
106
|
+
# for now only add openstudio and urbanopt gems to the load path
|
107
|
+
# and only those with 'urbanopt' or 'openstudio' in the before-last path position
|
108
|
+
tmp_path_arr = Pathname(ld).each_filename.to_a
|
109
|
+
if tmp_path_arr[-2].include?('urbanopt') || tmp_path_arr[-2].include?('openstudio')
|
110
|
+
# puts "adding DIR to load path: #{ld}"
|
111
|
+
$LOAD_PATH.unshift(ld)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
dirs = Dir.glob(File.join(@mapper_files_dir, '/*.rb'))
|
116
|
+
|
117
|
+
dirs.each do |f|
|
91
118
|
require(f)
|
92
119
|
rescue LoadError => e
|
93
120
|
@@logger.error(e.message)
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -31,7 +41,7 @@
|
|
31
41
|
module URBANopt
|
32
42
|
module Scenario
|
33
43
|
class ScenarioDatapoint
|
34
|
-
attr_reader :scenario, :feature_id, :feature_name, :mapper_class #:nodoc:#
|
44
|
+
attr_reader :scenario, :feature_id, :feature_name, :mapper_class, :feature #:nodoc:#
|
35
45
|
|
36
46
|
##
|
37
47
|
# ScenarioDatapoint is an agnostic description of the simulation of a Feature in a Scenario
|
@@ -48,9 +58,7 @@ module URBANopt
|
|
48
58
|
@feature_name = feature_name
|
49
59
|
@feature = scenario.feature_file.get_feature_by_id(feature_id)
|
50
60
|
@mapper_class = mapper_class
|
51
|
-
end
|
52
|
-
|
53
|
-
attr_reader :feature #:nodoc:
|
61
|
+
end #:nodoc:
|
54
62
|
|
55
63
|
##
|
56
64
|
# Gets the type of a feature
|
@@ -73,7 +81,8 @@ module URBANopt
|
|
73
81
|
def run_dir
|
74
82
|
raise 'Feature ID not set' if @feature_id.nil?
|
75
83
|
raise 'Scenario run dir not set' if @scenario.run_dir.nil?
|
76
|
-
|
84
|
+
|
85
|
+
return File.join(@scenario.run_dir, "#{@feature_id}/")
|
77
86
|
end
|
78
87
|
|
79
88
|
##
|
@@ -128,6 +137,7 @@ module URBANopt
|
|
128
137
|
if !File.exist?(out_osw)
|
129
138
|
return true
|
130
139
|
end
|
140
|
+
|
131
141
|
out_osw_time = File.mtime(out_osw)
|
132
142
|
|
133
143
|
# array of files that this datapoint depends on
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -107,7 +117,7 @@ module URBANopt
|
|
107
117
|
feature_list = Pathname.new(@initialization_hash[:directory_name]).children.select(&:directory?) # Folders in the run/scenario directory
|
108
118
|
|
109
119
|
# get scenario CSV
|
110
|
-
scenario_csv = File.join(@initialization_hash[:root_dir], @initialization_hash[:name]
|
120
|
+
scenario_csv = File.join(@initialization_hash[:root_dir], "#{@initialization_hash[:name]}.csv")
|
111
121
|
if File.exist?(scenario_csv)
|
112
122
|
# csv found
|
113
123
|
feature_ids = CSV.read(scenario_csv, headers: true)
|
@@ -149,7 +159,7 @@ module URBANopt
|
|
149
159
|
# running sum
|
150
160
|
arr_match[:elec_val] += Float(row[7])
|
151
161
|
end
|
152
|
-
end
|
162
|
+
end
|
153
163
|
elec_query.close
|
154
164
|
|
155
165
|
gas_query = feature_db.query "SELECT ReportData.TimeIndex, Time.Year, Time.Month, Time.Day, Time.Hour,
|
@@ -172,10 +182,10 @@ module URBANopt
|
|
172
182
|
# running sum
|
173
183
|
arr_match[:gas_val] += Float(row[7])
|
174
184
|
end
|
175
|
-
end
|
185
|
+
end
|
176
186
|
gas_query.close
|
177
187
|
feature_db.close
|
178
|
-
end
|
188
|
+
end
|
179
189
|
|
180
190
|
elec_sql = []
|
181
191
|
gas_sql = []
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -70,7 +80,7 @@ module URBANopt
|
|
70
80
|
# load building features data
|
71
81
|
@scenario_report.feature_reports.each do |feature_report|
|
72
82
|
# read results from opendss
|
73
|
-
opendss_csv = CSV.read(File.join(@opendss_results_dir, 'results', 'Features', feature_report.id
|
83
|
+
opendss_csv = CSV.read(File.join(@opendss_results_dir, 'results', 'Features', "#{feature_report.id}.csv"))
|
74
84
|
# add results to data
|
75
85
|
@opendss_data[feature_report.id] = opendss_csv
|
76
86
|
end
|
@@ -92,7 +102,7 @@ module URBANopt
|
|
92
102
|
# add transformer results to @opendss_data
|
93
103
|
transformer_ids.each do |id|
|
94
104
|
# read results from transformers
|
95
|
-
transformer_csv = CSV.read(File.join(tf_results_path, id
|
105
|
+
transformer_csv = CSV.read(File.join(tf_results_path, "#{id}.csv"))
|
96
106
|
# add results to data
|
97
107
|
@opendss_data[id] = transformer_csv
|
98
108
|
end
|
@@ -123,7 +133,7 @@ module URBANopt
|
|
123
133
|
if row.include? 'Datetime'
|
124
134
|
row.map { |header| header.prepend('opendss_') }
|
125
135
|
end
|
126
|
-
csv << (feature_report_data[i] + row[1
|
136
|
+
csv << (feature_report_data[i] + row[1..])
|
127
137
|
end
|
128
138
|
end
|
129
139
|
|
@@ -132,7 +142,7 @@ module URBANopt
|
|
132
142
|
|
133
143
|
# add feature reports for transformers
|
134
144
|
def save_transformers_reports
|
135
|
-
@opendss_data.
|
145
|
+
@opendss_data.each_key do |k|
|
136
146
|
if k.include? 'Transformer'
|
137
147
|
|
138
148
|
# create transformer directory
|
@@ -161,7 +171,7 @@ module URBANopt
|
|
161
171
|
end
|
162
172
|
|
163
173
|
# save transformer CSV report
|
164
|
-
File.write(File.join(transformer_dir, 'feature_reports', 'default_feature_report_opendss
|
174
|
+
File.write(File.join(transformer_dir, 'feature_reports', 'default_feature_report_opendss.csv'), transformer_csv)
|
165
175
|
|
166
176
|
# create transformer report
|
167
177
|
transformer_report = URBANopt::Reporting::DefaultReports::FeatureReport.new(id: k, name: k, directory_name: transformer_dir, feature_type: 'Transformer',
|
@@ -177,7 +187,7 @@ module URBANopt
|
|
177
187
|
transformer_hash = transformer_report.to_hash
|
178
188
|
# transformer_hash.delete_if { |k, v| v.nil? }
|
179
189
|
|
180
|
-
json_name_path = File.join(transformer_dir, 'feature_reports', 'default_feature_report_opendss
|
190
|
+
json_name_path = File.join(transformer_dir, 'feature_reports', 'default_feature_report_opendss.json')
|
181
191
|
|
182
192
|
# save the json file
|
183
193
|
File.open(json_name_path, 'w') do |f|
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -1,21 +1,31 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
|
-
|
4
|
+
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -123,11 +133,12 @@ module URBANopt
|
|
123
133
|
# add each osw file to its corresponding group id +simulation_dir+ is out_of_date
|
124
134
|
if simulation_dir.out_of_date?
|
125
135
|
|
126
|
-
|
136
|
+
case feature_type
|
137
|
+
when 'Building'
|
127
138
|
building_osws << simulation_dir.in_osw_path
|
128
|
-
|
139
|
+
when 'District System'
|
129
140
|
district_system_osws << simulation_dir.in_osw_path
|
130
|
-
|
141
|
+
when 'Transformer'
|
131
142
|
transformer_osws << simulation_dir.in_osw_path
|
132
143
|
else
|
133
144
|
raise "ScenarioRunnerOSW does not know how to run a #{feature_type} feature"
|