urbanopt-scenario 0.5.1 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- 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"
|