osut 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitattributes +3 -0
- data/.github/workflows/pull_request.yml +72 -0
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/Gemfile +3 -0
- data/LICENSE +29 -0
- data/README.md +54 -0
- data/Rakefile +11 -0
- data/lib/osut/utils.rb +1430 -0
- data/lib/osut/version.rb +33 -0
- data/lib/osut.rb +39 -0
- data/osut.gemspec +36 -0
- metadata +131 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9e23061febdcbf30770082f0fccb3b16aabd5fd18a8f9ae7decdf3b268703e02
|
4
|
+
data.tar.gz: 0e672c27b10625c3b287f160362c8fcc4619062fe169b3681c90f5fa9fcf45f4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fda291e260dfabb52f7a01f7ab68120475e60e82db082287df2a1647a6254b0f7e8585b23aa32e75001ec1ef6b0c9c5802606bfe1c2f0181d960e5752633d043
|
7
|
+
data.tar.gz: 74c78f3af6ca9e73d97f9b4f5f28c45f05e5002326ebeaa9b731ce1d6143b97595f2eb6af309fe799c280c04b8a3a233444d213372e8d77264568e49d9f3f5db
|
data/.gitattributes
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
name: Pull Request CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
branches:
|
6
|
+
- main
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
test_300x:
|
10
|
+
runs-on: ubuntu-18.04
|
11
|
+
steps:
|
12
|
+
- name: Check out repository
|
13
|
+
uses: actions/checkout@v2
|
14
|
+
- name: Run Tests
|
15
|
+
run: |
|
16
|
+
echo $(pwd)
|
17
|
+
echo $(ls)
|
18
|
+
docker pull nrel/openstudio:3.0.0
|
19
|
+
docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.0.0
|
20
|
+
docker exec -t test pwd
|
21
|
+
docker exec -t test ls
|
22
|
+
docker exec -t test bundle update
|
23
|
+
docker exec -t test bundle exec rake
|
24
|
+
docker kill test
|
25
|
+
test_321x:
|
26
|
+
runs-on: ubuntu-18.04
|
27
|
+
steps:
|
28
|
+
- name: Check out repository
|
29
|
+
uses: actions/checkout@v2
|
30
|
+
- name: Run Tests
|
31
|
+
run: |
|
32
|
+
echo $(pwd)
|
33
|
+
echo $(ls)
|
34
|
+
docker pull nrel/openstudio:3.2.1
|
35
|
+
docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.2.1
|
36
|
+
docker exec -t test pwd
|
37
|
+
docker exec -t test ls
|
38
|
+
docker exec -t test bundle update
|
39
|
+
docker exec -t test bundle exec rake
|
40
|
+
docker kill test
|
41
|
+
test_330x:
|
42
|
+
runs-on: ubuntu-18.04
|
43
|
+
steps:
|
44
|
+
- name: Check out repository
|
45
|
+
uses: actions/checkout@v2
|
46
|
+
- name: Run Tests
|
47
|
+
run: |
|
48
|
+
echo $(pwd)
|
49
|
+
echo $(ls)
|
50
|
+
docker pull nrel/openstudio:3.3.0
|
51
|
+
docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.3.0
|
52
|
+
docker exec -t test pwd
|
53
|
+
docker exec -t test ls
|
54
|
+
docker exec -t test bundle update
|
55
|
+
docker exec -t test bundle exec rake
|
56
|
+
docker kill test
|
57
|
+
test_340x:
|
58
|
+
runs-on: ubuntu-18.04
|
59
|
+
steps:
|
60
|
+
- name: Check out repository
|
61
|
+
uses: actions/checkout@v2
|
62
|
+
- name: Run Tests
|
63
|
+
run: |
|
64
|
+
echo $(pwd)
|
65
|
+
echo $(ls)
|
66
|
+
docker pull nrel/openstudio:3.4.0
|
67
|
+
docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.4.0
|
68
|
+
docker exec -t test pwd
|
69
|
+
docker exec -t test ls
|
70
|
+
docker exec -t test bundle update
|
71
|
+
docker exec -t test bundle exec rake
|
72
|
+
docker kill test
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
BSD 3-Clause License
|
2
|
+
|
3
|
+
Copyright (c) 2022, Denis Bourgeois
|
4
|
+
All rights reserved.
|
5
|
+
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
8
|
+
|
9
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
10
|
+
list of conditions and the following disclaimer.
|
11
|
+
|
12
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
14
|
+
and/or other materials provided with the distribution.
|
15
|
+
|
16
|
+
3. Neither the name of the copyright holder nor the names of its
|
17
|
+
contributors may be used to endorse or promote products derived from
|
18
|
+
this software without specific prior written permission.
|
19
|
+
|
20
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
21
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
22
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
23
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
24
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
25
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
26
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
27
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
28
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
29
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# osut
|
2
|
+
|
3
|
+
General purpose Ruby utilities for [OpenStudio](https://openstudio.net) [Measures](https://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/) or other OpenStudio [SDK](https://openstudio-sdk-documentation.s3.amazonaws.com/index.html) applications. Compatible with SDK v3.0.0 (or newer) and OpenStudio Application [releases](https://github.com/openstudiocoalition/OpenStudioApplication/releases?page=2) distributed by the [OpenStudio Coalition](https://openstudiocoalition.org).
|
4
|
+
|
5
|
+
Add:
|
6
|
+
|
7
|
+
```
|
8
|
+
gem "osut", git: "https://github.com/rd2/osut", branch: "main"
|
9
|
+
```
|
10
|
+
|
11
|
+
... in a v2.1 [bundled](https://bundler.io) _Measure_ development environment "Gemfile" (or instead as a _gemspec_ dependency), and then run:
|
12
|
+
|
13
|
+
```
|
14
|
+
bundle install (or 'bundle update')
|
15
|
+
```
|
16
|
+
### Recommended use
|
17
|
+
|
18
|
+
As a Ruby module, one can access __osut__ by extending a _Measure_ module or class:
|
19
|
+
|
20
|
+
```
|
21
|
+
require osut
|
22
|
+
|
23
|
+
module M
|
24
|
+
extend OSut
|
25
|
+
...
|
26
|
+
end
|
27
|
+
```
|
28
|
+
The logger module [oslg](https://github.com/rd2/oslg) is an __osut__ dependency. _Measure_ developers can (optionally) choose to log debug, informative, warning or error messages from within an __osut__-extended module or class, e.g.:
|
29
|
+
|
30
|
+
```
|
31
|
+
M.log(OSut::WARN, "Calculated material thickness > 1m")
|
32
|
+
```
|
33
|
+
... and then decide (at any given stage in the _Measure_) what to log to the OpenStudio runner, vs an automatically-generated results report (e.g. for code compliance), vs a bug report.
|
34
|
+
|
35
|
+
### Features
|
36
|
+
|
37
|
+
Roughly half of the __osut__ methods extract useful _zoning_ information from OpenStudio models (.osm files), e.g.:
|
38
|
+
- is a given space part of a CONDITIONED thermal zone?
|
39
|
+
- if CONDITIONED, what are its MIN/MAX heating/cooling setpoint temperatures?
|
40
|
+
- is it instead a _plenum_? or otherwise UNCONDITIONED?
|
41
|
+
|
42
|
+
Most of these _zoning_ queries are adapted from [OpenStudio Standards](https://github.com/NREL/openstudio-standards/blob/master/lib/openstudio-standards/standards/Standards.ThermalZone.rb), providing key inputs to _Measures_ (or gems) such as _Thermal Bridging & Derating_ (or [TBD](https://github.com/rd2/tbd)).
|
43
|
+
|
44
|
+
The remaining methods deal mainly with constructions & materials, or surface geometry, e.g.:
|
45
|
+
|
46
|
+
- what is the calculated R-value of a construction?
|
47
|
+
- are any layered materials in a construction MASSLESS?
|
48
|
+
- which one of these layered materials is considered the most insulating?
|
49
|
+
- what is the total thickness of a _standard_ opaque construction?
|
50
|
+
- any overlaps between 2x windows in a given wall?
|
51
|
+
|
52
|
+
Look up the full __osut__ API [here](https://www.rubydoc.info/gems/osut).
|
53
|
+
|
54
|
+
OpenStudio-related questions can be posted on [UnmetHours](https://unmethours.com/questions/).
|