urbanopt-geojson 0.5.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/Gemfile +1 -1
  4. data/LICENSE.md +29 -17
  5. data/Rakefile +16 -6
  6. data/doc_templates/LICENSE.md +27 -17
  7. data/doc_templates/copyright_erb.txt +40 -30
  8. data/doc_templates/copyright_js.txt +1 -1
  9. data/doc_templates/copyright_ruby.txt +17 -7
  10. data/docs/package-lock.json +2520 -1581
  11. data/docs/package.json +8 -2
  12. data/lib/measures/urban_geometry_creation/LICENSE.md +27 -17
  13. data/lib/measures/urban_geometry_creation/measure.rb +16 -6
  14. data/lib/measures/urban_geometry_creation_zoning/LICENSE.md +27 -17
  15. data/lib/measures/urban_geometry_creation_zoning/measure.rb +16 -6
  16. data/lib/urbanopt-geojson.rb +16 -6
  17. data/lib/urbanopt/geojson.rb +16 -6
  18. data/lib/urbanopt/geojson/building.rb +16 -6
  19. data/lib/urbanopt/geojson/derived_extension.rb +16 -6
  20. data/lib/urbanopt/geojson/district_system.rb +16 -6
  21. data/lib/urbanopt/geojson/feature.rb +24 -11
  22. data/lib/urbanopt/geojson/geo_file.rb +16 -6
  23. data/lib/urbanopt/geojson/helper.rb +22 -9
  24. data/lib/urbanopt/geojson/logging.rb +16 -6
  25. data/lib/urbanopt/geojson/mapper_classes.rb +16 -6
  26. data/lib/urbanopt/geojson/model.rb +11 -1
  27. data/lib/urbanopt/geojson/region.rb +11 -1
  28. data/lib/urbanopt/geojson/scale_area.rb +11 -1
  29. data/lib/urbanopt/geojson/schema/building_properties.json +47 -6
  30. data/lib/urbanopt/geojson/schema/electrical_connector_properties.json +23 -14
  31. data/lib/urbanopt/geojson/schema/thermal_connector_properties.json +1 -1
  32. data/lib/urbanopt/geojson/schema/thermal_junction_properties.json +1 -1
  33. data/lib/urbanopt/geojson/update_areas.rb +11 -1
  34. data/lib/urbanopt/geojson/validate_geojson.rb +11 -1
  35. data/lib/urbanopt/geojson/version.rb +12 -2
  36. data/lib/urbanopt/geojson/zoning.rb +11 -1
  37. data/urbanopt-geojson-gem.gemspec +3 -3
  38. metadata +9 -9
@@ -1,21 +1,31 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
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 (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
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.
@@ -233,10 +243,10 @@ module URBANopt
233
243
  # Used to scale footprint to desired area while keeping the original shape.
234
244
  #
235
245
  # [Parameters]
236
- # * +vertices+ - _Type:Array_ - An array of vertices for the original floorprint
246
+ # * +vertices+ - _Type:Array_ - An array of vertices for the original floorprint
237
247
  # * +desired_area+ - _Type:String_ - Area to which you want to scale the vertices to
238
248
  # * +runner+ - _Type:String_ - An instance of +Openstudio::Measure::OSRunner+ for the measure run.
239
- #
249
+ #
240
250
  def self.adjust_vertices_to_area(vertices, desired_area, runner, eps = 0.1)
241
251
  ar = ScaleArea.new(vertices, desired_area, runner, eps)
242
252
 
@@ -298,8 +308,11 @@ module URBANopt
298
308
  # find the polygon of the other_building by passing it to the get_multi_polygons method
299
309
  other_building_points = building.other_points(other_building, other_height, origin_lat_lon, runner, zoning)
300
310
  shadowed = URBANopt::GeoJSON::Helper.is_shadowed(feature_points, other_building_points, origin_lat_lon)
311
+ if shadowed
312
+ runner.registerInfo("Feature #{other_building[:properties][:id]} is acting as shading object for #{building.id}")
313
+ end
301
314
  next unless shadowed
302
- new_building = building.create_other_building(:space_per_building, model, origin_lat_lon, runner, zoning, other_building)
315
+ new_building = building.create_other_building(:space_per_building, model, origin_lat_lon, runner, zoning, 0, other_building)
303
316
  if new_building.nil? || new_building.empty?
304
317
  runner.registerWarning("Failed to create spaces for other building '#{name}'")
305
318
  end
@@ -1,21 +1,31 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
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 (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
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,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), 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,
@@ -16,6 +16,16 @@
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,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), 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,
@@ -16,6 +16,16 @@
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,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), 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,
@@ -16,6 +16,16 @@
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.
@@ -142,7 +142,7 @@
142
142
  "$ref": "#/definitions/heatingSystemFuelType"
143
143
  },
144
144
  "weekday_start_time": {
145
- "description": "Weekday operating hours start time in 08:30 format, using 24-hr clock. Leave blank to use default. Should this be part of a mixed type struct?",
145
+ "description": "Weekday operating hours start time in 08:30 format, using 24-hr clock. Leave blank to use default.",
146
146
  "type": "string"
147
147
  },
148
148
  "weekday_duration": {
@@ -150,7 +150,7 @@
150
150
  "type": "string"
151
151
  },
152
152
  "weekend_start_time": {
153
- "description": "Weekend operating hours start time in 08:30 format, using 24-hr clock. Leave blank to use default. Should this be part of a mixed type struct?",
153
+ "description": "Weekend operating hours start time in 08:30 format, using 24-hr clock. Leave blank to use default.",
154
154
  "type": "string"
155
155
  },
156
156
  "weekend_duration": {
@@ -225,6 +225,45 @@
225
225
  },
226
226
  "user_data": {
227
227
  "description": "Arbitrary user data"
228
+ },
229
+ "ev_charging": {
230
+ "description": "Should be set to true if EV charging is associated with the building.",
231
+ "type": "boolean"
232
+ },
233
+ "ev_charging_station_type": {
234
+ "description": "Indicates whether EV charging associated with the building is for Typical Home, Public or Work charging station",
235
+ "type": "string",
236
+ "enum": [
237
+ "Typical Home",
238
+ "Typical Public",
239
+ "Typical Work"
240
+ ]
241
+ },
242
+ "delay_type": {
243
+ "description": "Adds workplace charging flexibility for different scenarios. Min delay scenario indicates EV charging immediately upon arriving to work, Max delay indicates not charging until necessary thereby shifting EV charging load to later in the day and Min power indicates charging EVs at a minimum rate over the parking event.",
244
+ "type": "string",
245
+ "enum": [
246
+ "Min Delay",
247
+ "Max Delay",
248
+ "Min Power"
249
+ ]
250
+ },
251
+ "ev_charging_behavior": {
252
+ "description": "Describes scenarios for EV charging behavior, Business as Usual implies home dominant charging behavior, Free Workplace Charging at Project Site implies peak power draw from EV charging during morning hours due to EV charging at workplaces and Free Workplace Charging Across Metro Area scenario reduces Home EV charging relative to Free Workplace Charging at Project Site for residents who work elsewhere and can charge their vehicles for free at those workplaces.",
253
+ "type": "string",
254
+ "enum": [
255
+ "Business as Usual",
256
+ "Free Workplace Charging at Project Site",
257
+ "Free Workplace Charging Across Metro Area"
258
+ ]
259
+ },
260
+ "ev_percent": {
261
+ "description": "Denotes the % of vehicles parked at the building that are EVs.",
262
+ "type": "number"
263
+ },
264
+ "ev_curtailment_frac": {
265
+ "description": "Fraction between 0 and 1 that denotes curtailment of EV charging load to better align EV charging with expected energy production from a solar PV system",
266
+ "type": "number"
228
267
  }
229
268
  },
230
269
  "oneOf": [
@@ -254,7 +293,7 @@
254
293
  "building_type": {
255
294
  "enum": [
256
295
  "Single-Family Attached"
257
- ]
296
+ ]
258
297
  }
259
298
  },
260
299
  "required": [
@@ -276,7 +315,7 @@
276
315
  "building_type": {
277
316
  "enum": [
278
317
  "Multifamily"
279
- ]
318
+ ]
280
319
  }
281
320
  },
282
321
  "required": [
@@ -373,7 +412,7 @@
373
412
  ]
374
413
  },
375
414
  "systemType": {
376
- "description": "Building HVAC system type. Should this be part of a mixed type struct?",
415
+ "description": "Building HVAC system type.",
377
416
  "type": "string",
378
417
  "enum": [
379
418
  "PTAC with baseboard electric",
@@ -437,7 +476,7 @@
437
476
  "Direct evap coolers with baseboard electric",
438
477
  "Direct evap coolers with baseboard gas boiler",
439
478
  "Direct evap coolers with baseboard central air source heat pump",
440
- "Direct evap coolers with no heat",
479
+ "Direct evap coolers with no heat",
441
480
  "Direct evap coolers with gas unit heaters",
442
481
  "Direct evap coolers with forced air furnace",
443
482
  "Gas unit heaters",
@@ -498,6 +537,8 @@
498
537
  "90.1-2007",
499
538
  "90.1-2010",
500
539
  "90.1-2013",
540
+ "90.1-2016",
541
+ "90.1-2019",
501
542
  "NREL ZNE Ready 2017",
502
543
  "DEER Pre-1975",
503
544
  "DEER 1985",
@@ -50,22 +50,31 @@
50
50
  "description": "Id of the junction that this line starts at.",
51
51
  "type": "string"
52
52
  },
53
- "line_properties":{
54
- "description": "A sub-element containing all the attributes that can be assigned to a line, including wires",
55
- "type":"object",
56
- "properties":{
57
- "is_switch":{"type":"boolean","description":"Flag indicating if the line is a switch or not"},
58
- "is_fuse":{"type":"boolean","description":"Flag indicating if the line is a fuse or not"},
59
- "is_open":{"type":"boolean","description":"Flag indicating if the switch/fuse is a open or not"}
53
+ "line_properties": {
54
+ "description": "A sub-element containing all the attributes that can be assigned to a line, including wires",
55
+ "type": "object",
56
+ "properties": {
57
+ "is_switch": {
58
+ "type": "boolean",
59
+ "description": "Flag indicating if the line is a switch or not"
60
+ },
61
+ "is_fuse": {
62
+ "type": "boolean",
63
+ "description": "Flag indicating if the line is a fuse or not"
64
+ },
65
+ "is_open": {
66
+ "type": "boolean",
67
+ "description": "Flag indicating if the switch/fuse is a open or not"
60
68
  }
69
+ }
61
70
  },
62
71
  "wires": {
63
- "description": "Array of wires that are on the line",
64
- "type": "array",
65
- "items": {
66
- "$ref": "#/definitions/WireType",
67
- "type": "string"
68
- }
72
+ "description": "Array of wires that are on the line",
73
+ "type": "array",
74
+ "items": {
75
+ "$ref": "#/definitions/WireType",
76
+ "type": "string"
77
+ }
69
78
  },
70
79
  "endJunctionId": {
71
80
  "description": "Id of the junction that this line ends at.",
@@ -214,4 +223,4 @@
214
223
  ]
215
224
  }
216
225
  }
217
- }
226
+ }
@@ -105,4 +105,4 @@
105
105
  ]
106
106
  }
107
107
  }
108
- }
108
+ }
@@ -80,4 +80,4 @@
80
80
  ]
81
81
  }
82
82
  }
83
- }
83
+ }
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), 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,
@@ -16,6 +16,16 @@
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.