Skip to content

Repository files navigation

ISOmodel: The Argonne Reduced Order Building Energy Model based on ISO 13790

The Argonne ISOmodel is a C++ implementation of a reduced order building energy model based on ISO 13790 and associated standards. This is a conversion of a MATLAB code written by Ralph T. Muehleisen of Argonne National Laboratory that was loosly based on spreadsheets developed by graduate students at Georgia Institute of Technology.

This particular code is the basis for the ISOmodel found within in NREL's OpenStudio, however compiler options are available to generate a standalone executable.

README

This is the README for the isomodel (monthly and hourly) building energy model project.

How do I get set up?

TBD

Dependencies

ISOmodel has the following dependencies Boost >1.55 gtest >1.7 for unit tests

For further details on the setting up the development environment, please see the compiling.txt file

Compiling

See IsoModel/COMPILING.txt for details on how to compile the code.

Compiling the docs

The documentation uses doxygen, which can be downloaded from http://www.stack.nl/~dimitri/doxygen/download.html. The doxygen settings are stored in the Doxyfile in the root of the repo. The docs can by compiled by running doxygen in the root directory. This will create a directory called "doc" which will have the docs in it.

Usage

Standalone ISOModel

The standalone ISOModel executable is run from the command line.

Options

Option shortnameOption longnameArgDescription
-i--ismfilepathpathPath to ism file.
-d--defaultsfilepathpathPath to defaults ism file.
-m--monthlyRun the monthly simulation (default).
-h--hourlyByMonthRun the hourly simulation (results aggregated by month.
-H--hourlyByHourRun the hourly simulation (results for each hour).
-c--compareformatRun the monthly and hourly simulations and compare the results. Use 'md' for markdown and 'csv' for csv.

The -i [ --ismfilepath ] arg option is the only required argument it is also a positional argument, so the flag can be omitted. If the monthly vs hourly flag is not specified, the default is to run the monthly simulation. The results from the hourly simulation can either be aggregated by month with -h [ --hourlyByMonth ] or returned hour by hour with -H [ --hourlyByHour ]. For easy comparison of the hourly and monthly results organized by the different types of energy demand, use the -c [ --compare ] arg option, specifying either md or csv as the desired output format for the comparison tables.

When combining two .ism files with the -d option (a main .ism file and a defaults .ism file), any properties in both will use the value of the main .ism file, overriding the value in the default .ism file. The defaults file option is also positional, so if two paths to .ism files are given, the first is the main .ism file and the second is the defaults .ism file.

Examples

Note: these examples are on a Windows machine and are using PowerShell. Adjust the direction of your slashes and the location of your files accordingly!

Running the monthly model:

.\IsoModel\obj\Debug\isomodel_standalone.exe .\IsoModel\test_data\SmallOffice_v2.ism -m

Running the hourly model with results aggregated by month:

.\IsoModel\obj\Debug\isomodel_standalone.exe .\IsoModel\test_data\SmallOffice_v2.ism -h

Running the hourly model, with hour-by-hour results, outputing to a csv file.

.\IsoModel\obj\Debug\isomodel_standalone.exe .\IsoModel\test_data\SmallOffice_v2.ism -H > results.csv

Running both the monthly model and the hourly model, with a defaults .ism file:

.\IsoModel\obj\Debug\isomodel_standalone.exe .\IsoModel\test_data\SmallOffice_v2.ism .\IsoModel\test_data\defaults_test_defaults.ism -hm

Running the hourly vs monthly comparision and outputting the results as a csv.

.\IsoModel\obj\Debug\isomodel_standalone.exe .\IsoModel\test_data\SmallOffice_v2.ism -c csv > monthly_vs_hourly.csv

Running the tests

Running the tests is similar to running the standalone executable, but rather than providing the path to a .ism file, you provode a path to the testing directory:

.\IsoModel\obj\Debug\isomodel_unit_tests.exe .\IsoModel\test_data

Monthly vs Hourly

Notes on the current differences between the monthly and hourly simulations. In general, the monthly simulation is considered to be "correct" and the goal is to bring the hourly simulation in line with its results, but this is not always the case. The goal is for the monthly and hourly simulations to produce relatively consistent results, except in cases where the hourly model is better able to express the property being studied (e.g., hourly occupancy schedules, thermal mass, etc.).

Monthly vs hourly values updated 2015-07-16 with IsoModel/test_data/SmallOffice_v2.ism

ElecHeat

Untested - Electric heating is untested, but presumably consistent because its values shouldn't differ from gas heating.

MonthMonthly ElecHeatHourly ElecHeatDifference
0000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
11000

ElecCool

Consistent - Cooling results are fairly consistent across monthly and hourly simulations.

MonthMonthly ElecCoolHourly ElecCoolDifference
00.023116600.0231166
10.04522500.045225
20.13598400.135984
30.3419240.803466-0.461542
41.083671.5465-0.462828
52.129313.21538-1.08608
63.287414.64883-1.36142
71.799192.73518-0.935989
80.7586121.27682-0.51821
90.1805040.06370510.116799
100.040431200.0404312
110.018531400.0185314

ElecIntLights

Consistent - After commit #3124f63, monthly and hourly interior lighting results are consistent.

MonthMonthly ElecIntLightsHourly ElecIntLightsDifference
02.7212.74978-0.0287845
12.457682.48852-0.0308406
22.7212.78731-0.0663075
32.633222.612660.0205609
42.7212.78731-0.0663075
52.633222.68771-0.0544852
62.7212.712260.00873865
72.7212.78731-0.0663075
82.633222.65019-0.0169621
92.7212.74978-0.0287845
102.633222.68771-0.0544853
112.7212.712260.00873855

ElecExtLights

Consistent - Exterior lighting is consistent.

MonthMonthly ElecExtLightsHourly ElecExtLightsDifference
00.2578220.257822-2.38698e-015
10.1996040.207327-0.00772279
20.1841590.210892-0.0267327
30.1782180.198416-0.0201981
40.1473270.159208-0.0118812
50.1425750.142575-2.77556e-017
60.1473270.148515-0.00118812
70.1473270.178218-0.0308912
80.1782180.189505-0.0112872
90.2025750.226931-0.0243565
100.2316840.236436-0.00475249
110.2578220.258416-0.000594061

ElecFans

Consistent - Since fixing issue #44, fan results are consistent.

MonthMonthly ElecFansHourly ElecFansDifference
07.47867.257480.221118
16.053365.780270.273083
24.726184.204550.521632
32.712812.82539-0.112577
41.409981.56159-0.15161
50.8372381.3296-0.49236
61.137371.59728-0.459908
70.6887621.0586-0.369836
80.8751181.02824-0.153118
92.760482.228080.532401
104.680144.261350.418792
117.171457.003120.168325

ElecPump

Inconsistent - Issue #43. Pump results are not consistent. Both fan and pump values differ the most in the winter. Their is potentially an error in the monthly pump values.

MonthMonthly ElecPumpHourly ElecPumpDifference
00.8081680.1860.622168
10.6541510.1680.486151
20.5107310.17650.334231
30.2931570.153750.139407
40.1523680.1380.0143682
50.09047540.12175-0.0312746
60.1229090.1190.00390898
70.07443050.11075-0.0363195
80.09456890.11675-0.0221811
90.2983090.160.138309
100.5057560.172750.333006
110.7749760.1860.588976

ElecEquipInt

Consistent - Issue #45 fixed.

MonthMonthly ElecEquipIntHourly ElecEquipIntDifference
02.244572.240880.00368978
12.027352.027351.86517e-014
22.244572.26671-0.0221387
32.172162.135260.0368978
42.244572.26671-0.0221387
52.172162.18692-0.0147591
62.244572.215050.0295182
72.244572.26671-0.0221387
82.172162.161090.0110693
92.244572.240880.00368978
102.172162.18692-0.0147591
112.244572.215050.0295182

ElecEquipExt

Untested - Exterior equipment defaults to zero at the moment, so it is untested.

MonthMonthly ElecEquipExtHourly ElecEquipExtDifference
0000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
11000

ElectDHW

Untested - Electric hot water defaults to zero at the moment, so it is untested.

MonthMonthly ElectDHWHourly ElectDHWDifference
0000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
11000

GasHeat

Consistent - Gas heat is consistent.

MonthMonthly GasHeatHourly GasHeatDifference
042.521241.32481.19643
134.365532.90021.46528
226.632723.87152.76125
314.767514.47640.291096
45.891335.795260.0960709
50.5722881.42311-0.850818
600.280847-0.280847
70.3772650.765168-0.387902
83.487123.247930.239184
915.356712.4062.9507
1026.558924.2082.3509
1140.78239.86040.92158

GasCool

Untested - Gas cooling is untested, but presumably equally consistant to electric cooling, as the fuel source shouldn't change the calculations.

MonthMonthly GasCoolHourly GasCoolDifference
0000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
11000

GasEquip

Untested - Gas equipment is untested.

MonthMonthly GasEquipHourly GasEquipDifference
0000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
11000

GasDHW

Untested - Gas hot water defaults to zero, so is currently untested.

MonthMonthly GasDHWHourly GasDHWDifference
0000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
11000

About

ANL hourly and monthly ISOmodel

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages