openstudio-common-measures 0.5.0 → 0.6.0
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/CHANGELOG.md +12 -1
- data/README.md +7 -2
- data/doc_templates/copyright_erb.txt +1 -1
- data/lib/measures/AddCostPerFloorAreaUnusedToLights/measure.xml +2 -8
- data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/measure.xml +9 -3
- data/lib/measures/AddSimplePvToShadingSurfacesByType/measure.xml +2 -2
- data/lib/measures/RemoveUnusedDefaultProfiles/measure.xml +2 -2
- data/lib/measures/ReportModelChanges/measure.xml +2 -2
- data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/measure.xml +4 -4
- data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/measure.xml +4 -4
- data/lib/measures/SetGasBurnerEfficiency/measure.xml +4 -4
- data/lib/measures/ShiftScheduleProfileTime/measure.xml +4 -4
- data/lib/measures/SwapLightsDefinition/measure.xml +3 -5
- data/lib/measures/add_ems_emissions_reporting/measure.rb +236 -29
- data/lib/measures/add_ems_emissions_reporting/measure.xml +362 -10
- data/lib/measures/add_ev_load/measure.rb +51 -8
- data/lib/measures/add_ev_load/measure.xml +23 -5
- data/lib/measures/envelope_and_internal_load_breakdown/measure.xml +3 -3
- data/lib/measures/envelope_and_internal_load_breakdown/resources/report.html.erb +5 -1
- data/lib/measures/example_report/measure.xml +3 -3
- data/lib/measures/example_report/resources/report.html.erb +5 -1
- data/lib/measures/generic_qaqc/README.md +19 -4
- data/lib/measures/generic_qaqc/README.md.erb +7 -1
- data/lib/measures/generic_qaqc/docs/generic_qaqc_detailed.jpg +0 -0
- data/lib/measures/generic_qaqc/docs/generic_qaqc_summary.jpg +0 -0
- data/lib/measures/generic_qaqc/measure.rb +34 -29
- data/lib/measures/generic_qaqc/measure.xml +181 -82
- data/lib/measures/generic_qaqc/resources/check_cond_zns.rb +3 -1
- data/lib/measures/generic_qaqc/resources/check_domestic_hot_water.rb +13 -8
- data/lib/measures/generic_qaqc/resources/check_envelope_conductance.rb +330 -231
- data/lib/measures/generic_qaqc/resources/check_eui_by_end_use.rb +59 -20
- data/lib/measures/generic_qaqc/resources/check_eui_reasonableness.rb +58 -20
- data/lib/measures/generic_qaqc/resources/check_internal_loads.rb +57 -56
- data/lib/measures/generic_qaqc/resources/check_mech_sys_capacity.rb +4 -1
- data/lib/measures/generic_qaqc/resources/check_mech_sys_efficiency.rb +27 -22
- data/lib/measures/generic_qaqc/resources/check_mech_sys_part_load_eff.rb +4 -1
- data/lib/measures/generic_qaqc/resources/check_mech_sys_type.rb +3 -3
- data/lib/measures/generic_qaqc/resources/check_schedules.rb +65 -101
- data/lib/measures/generic_qaqc/resources/check_simultaneous_heating_and_cooling.rb +3 -1
- data/lib/measures/generic_qaqc/resources/check_supply_air_and_thermostat_temp_difference.rb +3 -1
- data/lib/measures/generic_qaqc/resources/os_lib_reporting_qaqc.rb +49 -15
- data/lib/measures/generic_qaqc/resources/report.html.erb +5 -1
- data/lib/measures/hvac_psychrometric_chart/measure.xml +3 -3
- data/lib/measures/hvac_psychrometric_chart/resources/report.html.erb +5 -1
- data/lib/measures/openstudio_results/measure.xml +3 -3
- data/lib/measures/openstudio_results/resources/report.html.erb +5 -1
- data/lib/measures/set_run_period/measure.xml +2 -2
- data/lib/measures/view_data/measure.xml +4 -4
- data/lib/measures/view_data/resources/report.html.in +189 -19
- data/lib/measures/view_data/resources/va3c.rb +1 -0
- data/lib/measures/view_model/measure.xml +9 -9
- data/lib/measures/view_model/resources/report.html.in +189 -19
- data/lib/measures/view_model/resources/va3c.rb +1 -0
- data/lib/openstudio/common_measures/version.rb +1 -1
- data/openstudio-common-measures.gemspec +1 -1
- metadata +7 -5
@@ -1845,7 +1845,7 @@ var os_data;
|
|
1845
1845
|
var os_data_const = <%=os_data %>;
|
1846
1846
|
// END_REMOVE
|
1847
1847
|
|
1848
|
-
var renderer, scene, light, scene_objects, scene_edges, object_edges, coincident_objects, back_objects;
|
1848
|
+
var renderer, scene, light, scene_objects, scene_edges, object_edges, coincident_objects, back_objects, dot_points;
|
1849
1849
|
var perspectiveCamera, orthographicCamera, perspectiveControls, orthographicControls;
|
1850
1850
|
var project, materials, variable;
|
1851
1851
|
var dataFolder, dateTimeControl;
|
@@ -1857,7 +1857,7 @@ var raycaster;
|
|
1857
1857
|
var mouse;
|
1858
1858
|
var headsUp;
|
1859
1859
|
var intersected = [];
|
1860
|
-
var selected_material, unknown_material;
|
1860
|
+
var selected_material, unknown_material, dot_material;
|
1861
1861
|
|
1862
1862
|
var getStringFromLocalStorage = function (key, defaultValue) {
|
1863
1863
|
try {
|
@@ -1908,6 +1908,9 @@ var setLocalStorage = function (key, value) {
|
|
1908
1908
|
var settings = {
|
1909
1909
|
renderBy: 'Surface Type',
|
1910
1910
|
showStory: 'All Stories',
|
1911
|
+
showAirLoop: 'All Loops',
|
1912
|
+
findAdjacencyIssues: false,
|
1913
|
+
findAdjacencyThreshold: 1,
|
1911
1914
|
searchType: getStringFromLocalStorage('searchType', 'Surfaces'),
|
1912
1915
|
searchName: getStringFromLocalStorage('searchName', ''),
|
1913
1916
|
showFloors: getBoolFromLocalStorage('showFloors', true),
|
@@ -2295,11 +2298,13 @@ function init(os_data_in) {
|
|
2295
2298
|
orthographicControls.minDistance = 10;
|
2296
2299
|
orthographicControls.maxDistance = 1000;
|
2297
2300
|
orthographicControls.enabled = true;
|
2301
|
+
orthographicControls.addEventListener('change', requestRenderIfNotRequested);
|
2298
2302
|
|
2299
2303
|
perspectiveControls = new THREE.OrbitControls(perspectiveCamera, renderer.domElement);
|
2300
2304
|
perspectiveControls.minDistance = 10;
|
2301
2305
|
perspectiveControls.maxDistance = 1000;
|
2302
2306
|
perspectiveControls.enabled = true;
|
2307
|
+
perspectiveControls.addEventListener('change', requestRenderIfNotRequested);
|
2303
2308
|
|
2304
2309
|
// initialize camera and controls
|
2305
2310
|
setAllCameraAngles(-30, 30, 0);
|
@@ -2406,6 +2411,8 @@ function init(os_data_in) {
|
|
2406
2411
|
shininess: 50,
|
2407
2412
|
side: THREE.DoubleSide
|
2408
2413
|
});
|
2414
|
+
|
2415
|
+
dot_material = new THREE.PointsMaterial( { size: 10, sizeAttenuation: false, color: 0xff0000 } );
|
2409
2416
|
|
2410
2417
|
materials = parseMaterials(os_data.materials);
|
2411
2418
|
|
@@ -2543,6 +2550,7 @@ function onDocumentMouseClick(event) {
|
|
2543
2550
|
} else {
|
2544
2551
|
removeSelection();
|
2545
2552
|
}
|
2553
|
+
requestRenderIfNotRequested();
|
2546
2554
|
}
|
2547
2555
|
}
|
2548
2556
|
|
@@ -2622,8 +2630,10 @@ function displaySelectedObjectDetails() {
|
|
2622
2630
|
document.body.style.cursor = 'pointer';
|
2623
2631
|
}
|
2624
2632
|
|
2625
|
-
|
2626
|
-
|
2633
|
+
let renderRequested = false;
|
2634
|
+
|
2635
|
+
function animate() {
|
2636
|
+
renderRequested = undefined;
|
2627
2637
|
orthographicControls.update();
|
2628
2638
|
perspectiveControls.update();
|
2629
2639
|
if (settings.orthographic){
|
@@ -2633,6 +2643,13 @@ function animate(timestamp) {
|
|
2633
2643
|
}
|
2634
2644
|
}
|
2635
2645
|
|
2646
|
+
function requestRenderIfNotRequested() {
|
2647
|
+
if (!renderRequested) {
|
2648
|
+
renderRequested = true;
|
2649
|
+
requestAnimationFrame(animate);
|
2650
|
+
}
|
2651
|
+
}
|
2652
|
+
|
2636
2653
|
function erf(x) {
|
2637
2654
|
// constants
|
2638
2655
|
var a1 = 0.254829592;
|
@@ -2683,6 +2700,100 @@ function cycleHour() {
|
|
2683
2700
|
}
|
2684
2701
|
}
|
2685
2702
|
|
2703
|
+
var adjacencyIssueIds = new Set();
|
2704
|
+
var adjacencyIssueVertices = new Set();
|
2705
|
+
var updateAdjacencyIssues = function(value) {
|
2706
|
+
Array.groupBy = function(arr, prop) {
|
2707
|
+
return arr.reduce(function(groups, item) {
|
2708
|
+
const val = prop.split('.')
|
2709
|
+
.reduce((obj, key) => (obj && obj[key] !== 'undefined') ? obj[key] : undefined, item);
|
2710
|
+
groups[val] = groups[val] || [];
|
2711
|
+
groups[val].push(item);
|
2712
|
+
return groups;
|
2713
|
+
}, {});
|
2714
|
+
}
|
2715
|
+
|
2716
|
+
function combinations(a, b) {
|
2717
|
+
if (b === undefined) {
|
2718
|
+
return a.flatMap((v, i) => a.slice(i).map(w => [v, w]));
|
2719
|
+
} else {
|
2720
|
+
return a.flatMap((v, i) => b.map(w => [v, w]));
|
2721
|
+
}
|
2722
|
+
}
|
2723
|
+
|
2724
|
+
// As of now Three.js revision 71
|
2725
|
+
class Box3 extends THREE.Box3 {
|
2726
|
+
|
2727
|
+
// Added in revision 84
|
2728
|
+
expandByObject(object) {
|
2729
|
+
const box = new THREE.Box3();
|
2730
|
+
box.setFromObject(object);
|
2731
|
+
this.expandByPoint(box.min);
|
2732
|
+
this.expandByPoint(box.max);
|
2733
|
+
}
|
2734
|
+
|
2735
|
+
// Added in revision 74
|
2736
|
+
intersectsBox(box) {
|
2737
|
+
// using 6 splitting planes to rule out intersections.
|
2738
|
+
return box.max.x < this.min.x || box.min.x > this.max.x ||
|
2739
|
+
box.max.y < this.min.y || box.min.y > this.max.y ||
|
2740
|
+
box.max.z < this.min.z || box.min.z > this.max.z ? false : true;
|
2741
|
+
}
|
2742
|
+
}
|
2743
|
+
|
2744
|
+
const detectable = scene_objects.filter(o =>
|
2745
|
+
["Wall", "RoofCeiling", "Floor"].includes(o.userData.surfaceTypeMaterialName))
|
2746
|
+
const per_space = Array.groupBy(detectable, 'userData.spaceName')
|
2747
|
+
const space_boxes = Object.entries(per_space).map(([space, objects]) => {
|
2748
|
+
const box = new Box3();
|
2749
|
+
box.space = space;
|
2750
|
+
box.surfaces = objects;
|
2751
|
+
objects.forEach(o => box.expandByObject(o));
|
2752
|
+
box.expandByScalar(0.5);
|
2753
|
+
return box;
|
2754
|
+
});
|
2755
|
+
|
2756
|
+
/*
|
2757
|
+
* Implements part of Honeybee's SolveAdj tool licensed under the AGPL 3.0. See:
|
2758
|
+
* - https://github.com/ladybug-tools/honeybee-grasshopper-core/blob/27773fe0097188d4be0e160c71a0cda2c54c6f73/honeybee_grasshopper_core/src/HB%20Solve%20Adjacency.py#L190
|
2759
|
+
* - https://github.com/ladybug-tools/honeybee-core/blob/ae4e905a78635a7448291ff8dbe94aa2f627a1ae/honeybee/room.py#L925
|
2760
|
+
* - https://github.com/ladybug-tools/honeybee-core/blob/ae4e905a78635a7448291ff8dbe94aa2f627a1ae/honeybee/room.py#L867
|
2761
|
+
* - https://github.com/ladybug-tools/ladybug-geometry/blob/da34f3397c59bc311004cb6319d534953c8ee9ab/ladybug_geometry/geometry3d/polyface.py#L689
|
2762
|
+
*/
|
2763
|
+
const almost_equal = 1e-6;
|
2764
|
+
const thresh = (parseFloat(settings.findAdjacencyThreshold)**2)/10000;
|
2765
|
+
adjacencyIssueIds.clear();
|
2766
|
+
adjacencyIssueVertices.clear();
|
2767
|
+
|
2768
|
+
// issues within space
|
2769
|
+
space_boxes.forEach(a => {
|
2770
|
+
for (var [p, q] of combinations(a.surfaces)) {
|
2771
|
+
for (var [x, y] of combinations(p.geometry.vertices, q.geometry.vertices)) {
|
2772
|
+
const dist = x.distanceToSquared(y);
|
2773
|
+
if (almost_equal < dist && dist < thresh) {
|
2774
|
+
adjacencyIssueIds.add(p.id).add(q.id);
|
2775
|
+
adjacencyIssueVertices.add(x).add(y);
|
2776
|
+
}
|
2777
|
+
}
|
2778
|
+
}
|
2779
|
+
})
|
2780
|
+
|
2781
|
+
// issues between spaces
|
2782
|
+
for (var [a, b] of combinations(space_boxes)) {
|
2783
|
+
if (a.intersectsBox(b)) {
|
2784
|
+
for (var [p, q] of combinations(a.surfaces, b.surfaces)) {
|
2785
|
+
for (var [x, y] of combinations(p.geometry.vertices, q.geometry.vertices)) {
|
2786
|
+
const dist = x.distanceToSquared(y);
|
2787
|
+
if (almost_equal < dist && dist < thresh) {
|
2788
|
+
adjacencyIssueIds.add(p.id).add(q.id);
|
2789
|
+
adjacencyIssueVertices.add(x).add(y);
|
2790
|
+
}
|
2791
|
+
}
|
2792
|
+
}
|
2793
|
+
}
|
2794
|
+
}
|
2795
|
+
}
|
2796
|
+
|
2686
2797
|
var gui = null;
|
2687
2798
|
var dataFolder = null;
|
2688
2799
|
var update = function (value) {
|
@@ -2770,9 +2881,16 @@ var update = function (value) {
|
|
2770
2881
|
|
2771
2882
|
object.visible = true;
|
2772
2883
|
|
2773
|
-
if (settings.
|
2774
|
-
|
2775
|
-
}
|
2884
|
+
if (settings.findAdjacencyIssues) {
|
2885
|
+
object.visible = adjacencyIssueIds.has(object.id);
|
2886
|
+
}
|
2887
|
+
|
2888
|
+
if (settings.showStory !== 'All Stories' && settings.showStory !== object.userData.buildingStoryName) {
|
2889
|
+
object.visible = false;
|
2890
|
+
}
|
2891
|
+
if ((settings.showAirLoop !== 'All Loops' && !object.userData.airLoopHVACNames.includes(settings.showAirLoop))
|
2892
|
+
&&
|
2893
|
+
(settings.showAirLoop !== 'No Loop' || object.userData.airLoopHVACNames.length !== 0)) {
|
2776
2894
|
object.visible = false;
|
2777
2895
|
}
|
2778
2896
|
|
@@ -2863,7 +2981,7 @@ var update = function (value) {
|
|
2863
2981
|
keyName = object_variable.keyName;
|
2864
2982
|
}
|
2865
2983
|
}
|
2866
|
-
|
2984
|
+
|
2867
2985
|
if (value !== null) {
|
2868
2986
|
object.userData.variableName = settings.variableName;
|
2869
2987
|
object.userData.variableDate = date;
|
@@ -2875,7 +2993,7 @@ var update = function (value) {
|
|
2875
2993
|
object.userData.variableName = settings.variableName;
|
2876
2994
|
object.userData.variableDate = date;
|
2877
2995
|
object.userData.variableTime = time;
|
2878
|
-
object.userData.variableKeyName = keyName;
|
2996
|
+
object.userData.variableKeyName = keyName;
|
2879
2997
|
object.userData.variableValue = '';
|
2880
2998
|
object.userData.variableUnits = units;
|
2881
2999
|
}
|
@@ -2884,7 +3002,7 @@ var update = function (value) {
|
|
2884
3002
|
material.color.set(getColor(value, variable.valueMin, variable.valueMax, settings.colorScheme));
|
2885
3003
|
break;
|
2886
3004
|
}
|
2887
|
-
|
3005
|
+
|
2888
3006
|
if (!material) {
|
2889
3007
|
material = unknown_material;
|
2890
3008
|
}
|
@@ -2926,7 +3044,7 @@ var update = function (value) {
|
|
2926
3044
|
// coincident object is visible, hide back object
|
2927
3045
|
back_object.visible = false;
|
2928
3046
|
}else{
|
2929
|
-
|
3047
|
+
|
2930
3048
|
if (back_object.material){
|
2931
3049
|
// coincident object is not visible, show back object
|
2932
3050
|
back_object.visible = true;
|
@@ -2942,6 +3060,27 @@ var update = function (value) {
|
|
2942
3060
|
}
|
2943
3061
|
}
|
2944
3062
|
});
|
3063
|
+
|
3064
|
+
if (dot_points instanceof THREE.Points){
|
3065
|
+
scene.remove(dot_points);
|
3066
|
+
dot_points = null;
|
3067
|
+
}
|
3068
|
+
|
3069
|
+
if (settings.findAdjacencyIssues) {
|
3070
|
+
var dot_geometry = new THREE.Geometry();
|
3071
|
+
dot_points = new THREE.Points(dot_geometry, dot_material);
|
3072
|
+
|
3073
|
+
adjacencyIssueVertices.forEach(function(p) {
|
3074
|
+
dot_geometry.vertices.push(p);
|
3075
|
+
});
|
3076
|
+
|
3077
|
+
dot_geometry.verticesNeedUpdate = true;
|
3078
|
+
dot_geometry.elementsNeedUpdate = true;
|
3079
|
+
dot_geometry.computeVertexNormals();
|
3080
|
+
scene.add(dot_points);
|
3081
|
+
}
|
3082
|
+
|
3083
|
+
requestRenderIfNotRequested();
|
2945
3084
|
};
|
2946
3085
|
|
2947
3086
|
var updateVariable = function (variableName) {
|
@@ -2973,13 +3112,27 @@ var initDatGui = function () {
|
|
2973
3112
|
update(value);
|
2974
3113
|
});
|
2975
3114
|
|
2976
|
-
building_story_names = os_data.metadata.buildingStoryNames;
|
3115
|
+
var building_story_names = os_data.metadata.buildingStoryNames;
|
2977
3116
|
building_story_names.unshift('All Stories');
|
2978
3117
|
gui.add(settings, 'showStory', building_story_names).name('Show Story').onChange(function(value) {
|
2979
3118
|
removeSelection();
|
2980
3119
|
update(value);
|
2981
3120
|
});
|
2982
3121
|
|
3122
|
+
var air_loop_names = os_data.metadata
|
3123
|
+
.modelObjectMetadata
|
3124
|
+
.filter(objMetaData => objMetaData.iddObjectType === "OS:AirLoopHVAC")
|
3125
|
+
.map(objMetaData => objMetaData.name)
|
3126
|
+
.sort();
|
3127
|
+
if (air_loop_names && air_loop_names.length > 0) {
|
3128
|
+
air_loop_names.unshift("All Loops");
|
3129
|
+
air_loop_names.unshift("No Loop");
|
3130
|
+
gui.add(settings, 'showAirLoop', air_loop_names).name('Show Air Loop').onChange(function (value) {
|
3131
|
+
removeSelection();
|
3132
|
+
update(value);
|
3133
|
+
});
|
3134
|
+
}
|
3135
|
+
|
2983
3136
|
var s1 = gui.addFolder('Search');
|
2984
3137
|
search_types = ['Surfaces', 'Spaces and Groups']
|
2985
3138
|
s1.add(settings, 'searchType', search_types).name('Search Type').onChange(function (value) {
|
@@ -3037,16 +3190,33 @@ var initDatGui = function () {
|
|
3037
3190
|
});
|
3038
3191
|
f1.open();
|
3039
3192
|
|
3040
|
-
var f2 = gui.addFolder('
|
3041
|
-
f2.add(settings, '
|
3042
|
-
|
3193
|
+
var f2 = gui.addFolder('Potential Adjacency Issues');
|
3194
|
+
f2.add(settings, 'findAdjacencyIssues').name('Enable').onChange(value => {
|
3195
|
+
removeSelection();
|
3196
|
+
setLocalStorage('findAdjacencyThreshold', value);
|
3197
|
+
updateAdjacencyIssues();
|
3198
|
+
update(value);
|
3199
|
+
});
|
3200
|
+
f2.add(settings, 'findAdjacencyThreshold', 0.1, 10, 0.5).name('Threshold').onFinishChange(function (value) {
|
3201
|
+
if (settings.findAdjacencyIssues) {
|
3202
|
+
removeSelection();
|
3203
|
+
setLocalStorage('findAdjacencyThreshold', value);
|
3204
|
+
updateAdjacencyIssues();
|
3205
|
+
update(value);
|
3206
|
+
}
|
3043
3207
|
});
|
3044
|
-
f2.add(settings, 'xView').name('X View');
|
3045
|
-
f2.add(settings, 'yView').name('Y View');
|
3046
|
-
f2.add(settings, 'zView').name('Z View');
|
3047
|
-
f2.add(settings, 'reset').name('Reset');
|
3048
3208
|
f2.open();
|
3049
3209
|
|
3210
|
+
var f3 = gui.addFolder('Camera');
|
3211
|
+
f3.add(settings, 'orthographic').name('Orthographic').onChange(function (value) {
|
3212
|
+
setLocalStorage('orthographic', value);
|
3213
|
+
});
|
3214
|
+
f3.add(settings, 'xView').name('X View');
|
3215
|
+
f3.add(settings, 'yView').name('Y View');
|
3216
|
+
f3.add(settings, 'zView').name('Z View');
|
3217
|
+
f3.add(settings, 'reset').name('Reset');
|
3218
|
+
f3.open();
|
3219
|
+
|
3050
3220
|
/*var f2 = gui.addFolder('Section Cut');
|
3051
3221
|
f2.add(settings, 'xSection', 0, 360).name('X Section').onChange(function (value) {
|
3052
3222
|
console.log('X cut: ' + value);
|
@@ -228,6 +228,7 @@ class VA3C
|
|
228
228
|
materials << make_material('Boundary_Outdoors_Wind', format_color(9, 159, 162), 1, THREE::DoubleSide)
|
229
229
|
materials << make_material('Boundary_Outdoors_SunWind', format_color(68, 119, 161), 1, THREE::DoubleSide)
|
230
230
|
materials << make_material('Boundary_Ground', format_color(204, 183, 122), 1, THREE::DoubleSide)
|
231
|
+
materials << make_material('Boundary_Foundation', format_color(117, 30, 122), 1, THREE::DoubleSide)
|
231
232
|
materials << make_material('Boundary_Groundfcfactormethod', format_color(153, 122, 30), 1, THREE::DoubleSide)
|
232
233
|
materials << make_material('Boundary_Groundslabpreprocessoraverage', format_color(255, 191, 0), 1, THREE::DoubleSide)
|
233
234
|
materials << make_material('Boundary_Groundslabpreprocessorcore', format_color(255, 182, 50), 1, THREE::DoubleSide)
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
|
31
31
|
spec.add_dependency 'bundler', '>= 2.1'
|
32
32
|
spec.add_dependency 'openstudio-extension', '~> 0.5.1'
|
33
|
-
spec.add_dependency 'openstudio-standards', '~> 0.2.
|
33
|
+
spec.add_dependency 'openstudio-standards', '~> 0.2.16'
|
34
34
|
|
35
35
|
spec.add_development_dependency 'rake', '~> 13.0'
|
36
36
|
spec.add_development_dependency 'rspec', '~> 3.9'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstudio-common-measures
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Goldwasser
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-05-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 0.2.
|
48
|
+
version: 0.2.16
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.2.
|
55
|
+
version: 0.2.16
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rake
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -456,6 +456,8 @@ files:
|
|
456
456
|
- lib/measures/generic_qaqc/LICENSE.md
|
457
457
|
- lib/measures/generic_qaqc/README.md
|
458
458
|
- lib/measures/generic_qaqc/README.md.erb
|
459
|
+
- lib/measures/generic_qaqc/docs/generic_qaqc_detailed.jpg
|
460
|
+
- lib/measures/generic_qaqc/docs/generic_qaqc_summary.jpg
|
459
461
|
- lib/measures/generic_qaqc/measure.rb
|
460
462
|
- lib/measures/generic_qaqc/measure.xml
|
461
463
|
- lib/measures/generic_qaqc/resources/CreateResults.rb
|
@@ -716,7 +718,7 @@ licenses: []
|
|
716
718
|
metadata:
|
717
719
|
bug_tracker_uri: https://github.com/NREL/openstudio-common-measures-gem/issues
|
718
720
|
changelog_uri: https://github.com/NREL/openstudio-common-measures-gem/blob/develop/CHANGELOG.md
|
719
|
-
source_code_uri: https://github.com/NREL/openstudio-common-measures-gem/tree/v0.
|
721
|
+
source_code_uri: https://github.com/NREL/openstudio-common-measures-gem/tree/v0.6.0
|
720
722
|
post_install_message:
|
721
723
|
rdoc_options: []
|
722
724
|
require_paths:
|