diff --git a/.decent_ci-Linux.yaml b/.decent_ci-Linux.yaml index e0872c4a609..028a51d9e61 100644 --- a/.decent_ci-Linux.yaml +++ b/.decent_ci-Linux.yaml @@ -1,15 +1,16 @@ compilers: - name: "gcc" - version: "11.4" - cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DBUILD_PERFORMANCE_TESTS:BOOL=ON -DVALGRIND_ANALYZE_PERFORMANCE_TESTS:BOOL=ON -DENABLE_PCH:BOOL=OFF + version: "13.2" + cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DBUILD_PERFORMANCE_TESTS:BOOL=ON -DVALGRIND_ANALYZE_PERFORMANCE_TESTS:BOOL=ON -DENABLE_PCH:BOOL=OFF collect_performance_results: true skip_regression: true s3_upload_bucket: energyplus + num_parallel_builds: 16 - name: "gcc" - version: "11.4" + version: "13.2" build_type: RelWithDebInfo - cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF + cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF coverage_enabled: true coverage_base_dir: src/EnergyPlus coverage_pass_limit: 41.0 @@ -19,11 +20,12 @@ compilers: ctest_filter: -E "integration.*" skip_regression: true skip_packaging: true + num_parallel_builds: 16 - name: "gcc" - version: "11.4" + version: "13.2" build_type: RelWithDebInfo - cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF + cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF coverage_enabled: true coverage_base_dir: src/EnergyPlus coverage_pass_limit: 66.0 @@ -33,3 +35,4 @@ compilers: ctest_filter: -R "integration.*" skip_regression: true skip_packaging: true + num_parallel_builds: 16 diff --git a/.decent_ci-Windows.yaml b/.decent_ci-Windows.yaml index 496d53df1f3..0d6b529304d 100644 --- a/.decent_ci-Windows.yaml +++ b/.decent_ci-Windows.yaml @@ -2,5 +2,5 @@ compilers: - name: Visual Studio version: 16 architecture: Win64 - cmake_extra_flags: -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DCOMMIT_SHA=%COMMIT_SHA% -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON -DPython_EXECUTABLE:PATH=C:/Users/elee/AppData/Local/Programs/Python/Python312/python.exe + cmake_extra_flags: -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DCOMMIT_SHA=%COMMIT_SHA% -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON -DPYTHON_CLI:BOOL=OFF -DPython_EXECUTABLE:PATH=C:/Users/elee/AppData/Local/Programs/Python/Python312/python.exe skip_regression: true diff --git a/.decent_ci.yaml b/.decent_ci.yaml index 011ef0a2485..a80d9aee629 100644 --- a/.decent_ci.yaml +++ b/.decent_ci.yaml @@ -2,7 +2,7 @@ results_repository : Myoldmopar/EnergyPlusBuildResults results_path : _posts results_base_url : https://myoldmopar.github.io/EnergyPlusBuildResults regression_repository : NREL/EnergyPlusRegressionTool -regression_branch : BumpToBoto3 # this is the branch of NREL/EnergyPlusRegressionTool to use (usually main) +regression_branch : main # this is the branch of NREL/EnergyPlusRegressionTool to use (usually main) regression_baseline_default : develop # this is the NREL/EnergyPlus branch to use as the baseline for regressions regression_baseline_develop : "" regression_baseline_master : "" diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 19c8da226b7..094aaf0f082 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,7 +47,7 @@ jobs: path: ./dist - name: Deploy on Test PyPi - uses: pypa/gh-action-pypi-publish@v1.9.0 + uses: pypa/gh-action-pypi-publish@v1.12.2 with: repository-url: https://test.pypi.org/legacy/ user: __token__ diff --git a/.github/workflows/cpp-problem-matcher.json b/.github/workflows/cpp-problem-matcher.json new file mode 100644 index 00000000000..e7932b4950b --- /dev/null +++ b/.github/workflows/cpp-problem-matcher.json @@ -0,0 +1,17 @@ +{ + "problemMatcher": [ + { + "owner": "gcc-problem-matcher", + "pattern": [ + { + "regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$", + "file": 1, + "line": 2, + "column": 3, + "severity": 4, + "message": 5 + } + ] + } + ] +} diff --git a/.github/workflows/release_linux.yml b/.github/workflows/release_linux.yml index 6469fade466..7f716a52623 100644 --- a/.github/workflows/release_linux.yml +++ b/.github/workflows/release_linux.yml @@ -1,4 +1,4 @@ -name: Releases +name: Linux Releases on: push: @@ -70,7 +70,8 @@ jobs: shell: bash run: | cmake -DCMAKE_BUILD_TYPE:STRING=$BUILD_TYPE \ - -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \ + -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=ON \ + -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \ -DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/x64/ \ -DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON \ -DDOCUMENTATION_BUILD:STRING="BuildWithAll" -DTEX_INTERACTION:STRING="batchmode" -DENABLE_PCH:BOOL=OFF \ @@ -127,16 +128,10 @@ jobs: # fail-fast: Default is true, switch to false to allow one platform to fail and still run others fail-fast: false matrix: - name: [20, 22, 24] include: - - name: 20 - os: ubuntu-20.04 - test_key: ubuntu2004 - - name: 22 - os: ubuntu-22.04 + - os: ubuntu-22.04 test_key: ubuntu2204 - - name: 24 - os: ubuntu-24.04 + - os: ubuntu-24.04 test_key: ubuntu2404 steps: diff --git a/.github/workflows/release_mac.yml b/.github/workflows/release_mac.yml index 9556e5e893c..c98b71a10af 100644 --- a/.github/workflows/release_mac.yml +++ b/.github/workflows/release_mac.yml @@ -1,4 +1,4 @@ -name: Releases +name: Mac Releases on: push: @@ -137,7 +137,7 @@ jobs: echo "Installing gcc@13 for gfortran support of -static-libquadmath" brew list gcc@13 || brew install gcc@13 which gfortran-13 || echo "FC=$(brew --prefix gcc@13)/bin/gfortran-13" >> $GITHUB_ENV - brew install ninja + brew install ninja tcl-tk - name: Create Build Directory run: cmake -E make_directory ./build/ @@ -150,7 +150,8 @@ jobs: run: | cmake -G Ninja -DCMAKE_BUILD_TYPE:STRING=$BUILD_TYPE \ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${{ matrix.macos_dev_target }} \ - -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \ + -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=ON \ + -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \ -DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.python-arch }}/ \ -DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON \ -DDOCUMENTATION_BUILD:STRING=$DOCUMENTATION_BUILD -DTEX_INTERACTION:STRING="batchmode" \ diff --git a/.github/workflows/release_windows.yml b/.github/workflows/release_windows.yml index 5885ca60967..703465b3dcc 100644 --- a/.github/workflows/release_windows.yml +++ b/.github/workflows/release_windows.yml @@ -1,4 +1,4 @@ -name: Releases +name: Windows Releases on: push: @@ -134,7 +134,8 @@ jobs: run: | set -x cmake -G "Visual Studio 16 2019" -A ${{ matrix.vs-generator }} \ - -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \ + -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=ON \ + -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \ -DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.arch }}/ \ -DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON \ -DENABLE_HARDENED_RUNTIME:BOOL=${{ matrix.enable_hardened_runtime }} \ diff --git a/.github/workflows/test_code_integrity.yml b/.github/workflows/test_code_integrity.yml index 40b09e63a17..9001751e46b 100644 --- a/.github/workflows/test_code_integrity.yml +++ b/.github/workflows/test_code_integrity.yml @@ -9,19 +9,19 @@ on: jobs: code_integrity_checks: name: Static Code Analysis - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Run clang-format style check for C/C++ source code. - uses: jidicula/clang-format-action@v4.13.0 + uses: jidicula/clang-format-action@v4.14.0 if: always() with: clang-format-version: '10' check-path: 'src/EnergyPlus' - name: Run clang-format style check for C/C++ unit test code. - uses: jidicula/clang-format-action@v4.13.0 + uses: jidicula/clang-format-action@v4.14.0 if: always() with: clang-format-version: '10' @@ -33,36 +33,7 @@ jobs: - name: Install cppcheck if: always() - run: | - mkdir cppcheck - cd cppcheck - wget https://github.com/danmar/cppcheck/archive/2.10.tar.gz - tar xfz 2.10.tar.gz - mkdir build - cd build - cmake -DCMAKE_BUILD_TYPE=Release ../cppcheck-2.10/ - make -j $(nproc) - sudo make install - cd .. - rm -Rf cppcheck - - - name: Cache cppcheck-build-directory - if: always() - id: cppcheckcache - uses: actions/cache@v4 - with: - path: .cppcheck-build-dir/ - key: cppcheckcache - - - name: cppcheck-build-directory not found - # If the build cache wasn't found in the cache - if: always() && steps.cppcheckcache.outputs.cache-hit != 'true' - run: mkdir .cppcheck-build-dir - - - name: cppcheck-build-directory was found - # If the build cache wasn't found in the cache - if: always() && steps.cppcheckcache.outputs.cache-hit == 'true' - run: ls .cppcheck-build-dir/ || true + run: sudo apt-get install cppcheck - name: Run CppCheck id: cpp_check_run @@ -70,13 +41,13 @@ jobs: # TODO: Evaluate the long list of flags here run: > cppcheck - --cppcheck-build-dir=.cppcheck-build-dir -D__cppcheck__ -UEP_Count_Calls -DEP_NO_OPENGL -UGROUND_PLOT -DLINK_WITH_PYTHON -DMSVC_DEBUG -DSKYLINE_MATRIX_REMOVE_ZERO_COLUMNS -U_OPENMP -Ugeneratetestdata -DEP_cache_GlycolSpecificHeat -DEP_cache_PsyTsatFnPb -UEP_nocache_Psychrometrics -UEP_psych_errors -UEP_psych_stats --force --std=c++17 --inline-suppr - --suppress=cppcheckError + --suppress=missingInclude + --suppress=missingIncludeSystem --suppress=unusedFunction:src/EnergyPlus/api/autosizing.cc --suppress=unusedFunction:src/EnergyPlus/api/datatransfer.cc --suppress=unusedFunction:src/EnergyPlus/api/func.cc diff --git a/.github/workflows/test_develop_commits.yml b/.github/workflows/test_develop_commits.yml index 849f171c4e5..111ca75c314 100644 --- a/.github/workflows/test_develop_commits.yml +++ b/.github/workflows/test_develop_commits.yml @@ -2,7 +2,7 @@ name: Develop Branch Testing on: push: - branches: [ develop ] # run this on all commits to the develop branch + branches: [ develop, fixPythonEngineBuild ] # run this on all commits to the develop branch defaults: run: @@ -58,13 +58,13 @@ jobs: # nproc: 4 # pretty: "Standard Build on Windows VS 2022" # alternate: false -# - os: ubuntu-24.04 -# arch: x86_64 -# python-arch: x64 -# generator: "Unix Makefiles" -# nproc: 4 -# pretty: "Alternate Build on Ubuntu 24.04" -# alternate: true + - os: ubuntu-24.04 + arch: x86_64 + python-arch: x64 + generator: "Unix Makefiles" + nproc: 4 + pretty: "Alternate Build on Ubuntu 24.04" + alternate: true steps: @@ -106,6 +106,7 @@ jobs: -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${{ matrix.macos_dev_target }} -DLINK_WITH_PYTHON:BOOL=ON + -DPYTHON_CLI:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} -DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.python-arch }}/ -DBUILD_TESTING:BOOL=ON @@ -134,7 +135,10 @@ jobs: - name: Build id: build working-directory: ./build - run: cmake --build . -j ${{ matrix.nproc }} --config Release + run: | + echo "::add-matcher::./.github/workflows/cpp-problem-matcher.json" + cmake --build . -j ${{ matrix.nproc }} --config Release + echo "::remove-matcher owner=gcc-problem-matcher::" - name: Test # Not running test on alternate build yet, I need to test things diff --git a/.github/workflows/test_pull_requests.yml b/.github/workflows/test_pull_requests.yml index 1a3fc03c513..153b38d8f89 100644 --- a/.github/workflows/test_pull_requests.yml +++ b/.github/workflows/test_pull_requests.yml @@ -58,6 +58,7 @@ jobs: if: runner.os == 'macOS' run: | brew update + brew install tcl-tk brew reinstall gcc@13 echo "FC=$(brew --prefix gcc@13)/bin/gfortran-13" >> $GITHUB_ENV echo MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_dev_target }} >> $GITHUB_ENV @@ -94,6 +95,7 @@ jobs: -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${{ matrix.macos_dev_target }} -DLINK_WITH_PYTHON:BOOL=ON + -DPYTHON_CLI:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} -DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.python-arch }}/ -DBUILD_TESTING:BOOL=ON @@ -139,6 +141,7 @@ jobs: -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${{ matrix.macos_dev_target }} -DLINK_WITH_PYTHON:BOOL=ON + -DPYTHON_CLI:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} -DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.python-arch }}/ -DBUILD_TESTING:BOOL=ON @@ -152,7 +155,10 @@ jobs: - name: Branch Build id: branch_build working-directory: ./branch/build - run: cmake --build . -j ${{ matrix.nproc }} --config Release + run: | + echo "::add-matcher::./branch/.github/workflows/cpp-problem-matcher.json" + cmake --build . -j ${{ matrix.nproc }} --config Release + echo "::remove-matcher owner=gcc-problem-matcher::" - name: Branch Test working-directory: ./branch/build @@ -188,8 +194,14 @@ jobs: ${{ steps.upload_regressions.outputs.artifact-url }} - uses: actions/github-script@v7 - if: always() && matrix.run_regressions && steps.regressions.outcome == 'failure' + if: always() && matrix.run_regressions && steps.regressions.outcome == 'failure' && github.event.pull_request.head.repo.full_name == 'NREL/EnergyPlus' with: script: | const script = require('${{ github.workspace }}/regressions/summary.js') console.log(script({github, context})) + + - name: Fail on Regressions from Forked Repository + if: always() && matrix.run_regressions && steps.regressions.outcome == 'failure' && github.event.pull_request.head.repo.full_name != 'NREL/EnergyPlus' + run: | + echo "::error::Regressions detected in pull request from forked repository, check job summary for details and to download regression results" + exit 1 diff --git a/CMakeLists.txt b/CMakeLists.txt index b6cded6bc15..7d9416a4470 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -184,6 +184,7 @@ endif() # If LINK_WITH_PYTHON, also request the Development (libs) at the same time, to ensure consistent version between interpreter and Development # and ask for at least 3.8 (for the PyConfig stuff). if(LINK_WITH_PYTHON) + option(PYTHON_CLI "Build the Auxiliary CLI to Call Python Utilities" OFF) # find_package(Python) has the problem that on github actions in particular it'll pick up the most recent python (eg 3.9) from the tool cache # even if you have used the setup-python action and set it to 3.8, so we make the exact version required set(Python_REQUIRED_VERSION "" CACHE STRING "The specific Python version you want to link to (Optional)") diff --git a/bin/EP-Compare/GraphHints.csv b/bin/EP-Compare/GraphHints.csv deleted file mode 100644 index 0e4843c2075..00000000000 --- a/bin/EP-Compare/GraphHints.csv +++ /dev/null @@ -1,80 +0,0 @@ -EP-COMPARE,GRAPH DETAILS DATA - DO NOT MODIFY,isBarForEveryValue,isStackedBarForEachColumn,isStackedBarForEachRow,is100StackedBarForEachEachColumn,is100StackedBarForEachEachRow,isSideBySideForEachColumn,isSideBySideForEachRow,isSideBySideForTotals,isMonthlyLineForEachColumn,numBottomRowsToExclude,numTopRowsToExclude,numRightColumnsToExclude,numLeftColumnsToExclude,isUnusualTable,isVariableRowCount,isMultipleInstancePerFile,Last Column -Report,Subtable,Show simple bar graphs for every individual value in table ,Stacked bar of values from each column,Stacked bar of values from each row,100% stacked bar of values from each column,100% stacked bar of values from each row,Side-by-side bar of values from each column,Side-by-side bar of values from each row,Side-by-side bar of each value in total section across instance of report in file,Monthly line graph for values from each column,Number of bottom rows to exclude (when using multiple values),"Number of top rows to exclude (not including label, when using multiple values)",Number of columns at right to exclude (when using multiple values),"Number of columns at left to exclude (not including label, when using multiple values)",Unusual table (Special rules),Variable Row Count,Multiple Instances Per File,Last Column -Annual Building Utility Performance Summary,Site and Source Energy,x,,,,,x,x,,,,,,,,,,L -Annual Building Utility Performance Summary,Source to Site Energy Conversion Factors,x,,,,,x,,,,,,,,,,,L -Annual Building Utility Performance Summary,Building Area,x,,,,,x,,,,,1,,,,,,L -Annual Building Utility Performance Summary,End Uses,,x,x,x,x,x,x,,,2,,1,,,,,L -Annual Building Utility Performance Summary,End Uses By Subcategory,,x,x,x,x,x,x,,,,,1,,,,,L -Annual Building Utility Performance Summary,Utility Use Per Conditioned Floor Area,x,x,x,x,x,x,x,,,1,,1,,,,,L -Annual Building Utility Performance Summary,Utility Use Per Total Floor Area,x,x,x,x,x,x,x,,,1,,1,,,,,L -Annual Building Utility Performance Summary,Electric Loads Satisfied,x,,,,,,,,,,,,,x,,,L -Annual Building Utility Performance Summary,On-Site Thermal Sources,x,,,,,x,x,,,1,,,,,,,L -Annual Building Utility Performance Summary,Water Source Summary,x,,,,,,,,,,,,,x,,,L -Annual Building Utility Performance Summary,Comfort and Setpoint Not Met Summary,x,,,,,x,,,,,,,,,,,L -Input Verification and Results Summary,General,x,,,,,,,,,,,,,,,,L -Input Verification and Results Summary,Window-Wall Ratio,x,,,,,x,x,,,1,,,1,,,,L -Input Verification and Results Summary,Skylight-Roof Ratio,x,,,,,x,,,,1,,,,,,,L -Input Verification and Results Summary,Zone Summary,,x,,x,,x,x,,,3,,,,,x,,L -Demand End Use Components Summary,End Uses,,x,x,x,x,x,x,,,2,1,1,,,,,L -Demand End Use Components Summary,End Uses By Subcategory,,x,x,x,x,x,x,,,,,1,,,,,L -Climatic Data Summary,SizingPeriod:DesignDay,x,,,,,,,,,,,,,,x,,L -Climatic Data Summary,Weather Statistics File,x,,,,,,,,,,,,,,x,,L -Envelope Summary,Opaque Exterior,,,,,,x,,,,,,,,,x,,L -Envelope Summary,Fenestration,,,,,,x,,,,3,,,,,x,,L -Shading Summary,Sunlit Fraction,,,,,,x,x,,,,,,,,x,,L -Shading Summary,Window Control,,,,,,x,,,,,,,,,x,,L -Lighting Summary,Interior Lighting,,,,,,x,,,,1,,,,,x,,L -Lighting Summary,Daylighting,,,,,,x,,,,,,,,,x,,L -Lighting Summary,Exterior Lighting,,,,,,x,,,,,,,,,x,,L -Equipment Summary,Central Plant,,,,,,x,,,,,,,,,x,,L -Equipment Summary,Cooling Coils,,,,,,x,,,,,,,,,x,,L -Equipment Summary,Heating Coils,,,,,,x,,,,,,,,,x,,L -Equipment Summary,Fans,,,,,,x,,,,,,,,,x,,L -Equipment Summary,Pumps,,,,,,x,,,,,,,,,x,,L -Equipment Summary,Service Water Heating,,,,,,x,,,,,,,,,x,,L -HVAC Sizing Summary,Zone Cooling,,,,,,x,,,,,,,,,x,,L -HVAC Sizing Summary,Zone Heating,,,,,,x,,,,,,,,,x,,L -HVAC Sizing Summary,System Design Air Flow Rates,,,,,,x,x,,,,,,,,x,,L -System Summary,Economizer,,,,,,x,,,,,,,,,x,,L -System Summary,Demand Controlled Ventilation using Controller:MechanicalVentilation,,,,,,x,,,,,,,,,x,,L -System Summary,Time Not Comfortable Based on Simple ASHRAE 55-2004,,,,,,x,x,,,1,,,,,x,,L -System Summary,Time Setpoint Not Met,,,,,,x,x,,,1,,,,,x,,L -Outdoor Air Summary,Average Outdoor Air During Occupied Hours,,,,,,x,,,,,,,,,x,,L -Outdoor Air Summary,Minimum Outdoor Air During Occupied Hours,,,,,,x,,,,,,,,,x,,L -Object Count Summary,Surfaces by Class,x,,,,,x,x,,,,,,,,,,L -Object Count Summary,HVAC,x,,,,,x,,,,,,,,,,,L -Object Count Summary,Input Fields,x,,,,,x,,,,,,,,,,,L -Component Sizing Summary,AirTerminal:SingleDuct:VAV:Reheat,,,,,,x,,,,,,,,,x,,L -Component Sizing Summary,Coil:Heating:Gas,,,,,,x,,,,,,,,,x,,L -Component Sizing Summary,Branch,,,,,,x,,,,,,,,,x,,L -Component Sizing Summary,AirLoopHVAC,,,,,,x,,,,,,,,,x,,L -Component Sizing Summary,Controller:OutdoorAir,,,,,,x,,,,,,,,,x,,L -Component Sizing Summary,Coil:Cooling:DX:TwoSpeed,,,,,,x,,,,,,,,,x,,L -Component Sizing Summary,Fan:VariableVolume,,,,,,x,,,,,,,,,x,,L -Zone Cooling Summary Monthly,,,,,,,,,x,x,4,,,,,,x,L -Zone Heating Summary Monthly,,,,,,,,,x,x,4,,,,,,x,L -Zone Electric Summary Monthly,,,,,,,,,x,x,4,,,,,,x,L -Space Gains Monthly,,,,,,,,,x,x,4,,,,,,x,L -Peak Space Gains Monthly,,,,,,,,,x,x,4,,,,,,x,L -Space Gain Components At Cooling Peak Monthly,,,,,,,,,x,x,4,,,,,,x,L -Energy Consumption Electricity Natural Gas Monthly,,,,,,,,,x,x,4,,,,,,x,L -End Use EnergyC onsumption Electricity Monthly,,,,,,,,,x,x,4,,,,,,x,L -End Use Energy Consumption Natural Gas Monthly,,,,,,,,,x,x,4,,,,,,x,L -Peak Energy End Use Electricity Part 1 Monthly,,,,,,,,,x,x,4,,,,,,x,L -Peak Energy End Use Electricity Part 2 Monthly,,,,,,,,,x,x,4,,,,,,x,L -Electric Components Of Peak Demand Monthly,,,,,,,,,x,x,4,,,,,,x,L -Peak Energy End Use Natural Gas Monthly,,,,,,,,,x,x,4,,,,,,x,L -Setpoints Not Met With Temperatures Monthly,,,,,,,,,x,x,4,,,,,,x,L -Comfort Report Simple 55 Monthly,,,,,,,,,x,x,4,,,,,,x,L -Occupant Comfort Data Summary Monthly,,,,,,,,,x,x,4,,,,,,x,L -DX Report Monthly,,,,,,,,,x,x,4,,,,,,x,L -Window Report Monthly,,,,,,,,,x,x,4,,,,,,x,L -Window Energy Report Monthly,,,,,,,,,x,x,4,,,,,,x,L -Window Zone Summary Monthly,,,,,,,,,x,x,4,,,,,,x,L -Window Energy Zone Summary Monthly,,,,,,,,,x,x,4,,,,,,x,L -Fan Report Monthly,,,,,,,,,x,x,4,,,,,,x,L -Zone Temperature Oscillation Report Monthly,,,,,,,,,x,x,4,,,,,,x,L -Air Loop System Energy And Water Use Monthly,,,,,,,,,x,x,4,,,,,,x,L -Air Loop System Component Loads Monthly,,,,,,,,,x,x,4,,,,,,x,L -Air Loop System Component Energy Use Monthly,,,,,,,,,x,x,4,,,,,,x,L -Mechanical Ventilation Loads Monthly,,,,,,,,,x,x,4,,,,,,x,L diff --git a/bin/EP-Compare/Run-Linux/EP-Compare b/bin/EP-Compare/Run-Linux/EP-Compare deleted file mode 100644 index e00ec783bfe..00000000000 Binary files a/bin/EP-Compare/Run-Linux/EP-Compare and /dev/null differ diff --git a/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHInterfaces5001.so b/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHInterfaces5001.so deleted file mode 100644 index c4e26806436..00000000000 Binary files a/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHInterfaces5001.so and /dev/null differ diff --git a/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectArray5001.so b/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectArray5001.so deleted file mode 100644 index 392ac3bd6e9..00000000000 Binary files a/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectArray5001.so and /dev/null differ diff --git a/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectCollection5001.so b/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectCollection5001.so deleted file mode 100644 index f82f7809c99..00000000000 Binary files a/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectCollection5001.so and /dev/null differ diff --git a/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHTreeView4301.so b/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHTreeView4301.so deleted file mode 100644 index 3ec9abe2c87..00000000000 Binary files a/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHTreeView4301.so and /dev/null differ diff --git a/bin/EP-Compare/Run-Linux/EP-Compare Libs/libMBSChartDirector5Plugin16042.so b/bin/EP-Compare/Run-Linux/EP-Compare Libs/libMBSChartDirector5Plugin16042.so deleted file mode 100644 index 0364d7c866c..00000000000 Binary files a/bin/EP-Compare/Run-Linux/EP-Compare Libs/libMBSChartDirector5Plugin16042.so and /dev/null differ diff --git a/bin/EP-Compare/Run-Linux/EP-Compare Libs/libRBAppearancePak.so b/bin/EP-Compare/Run-Linux/EP-Compare Libs/libRBAppearancePak.so deleted file mode 100644 index cdd24153eeb..00000000000 Binary files a/bin/EP-Compare/Run-Linux/EP-Compare Libs/libRBAppearancePak.so and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_0.dylib b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_0.dylib deleted file mode 100644 index 4ba438adf7b..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_0.dylib and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_1.dylib b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_1.dylib deleted file mode 100644 index 88d89f8411e..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_1.dylib and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_5.dylib b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_5.dylib deleted file mode 100644 index 935667db645..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_5.dylib and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/MBS REALbasic ChartDirector Plugin.rbx_0.dylib b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/MBS REALbasic ChartDirector Plugin.rbx_0.dylib deleted file mode 100644 index 40f2b861792..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/MBS REALbasic ChartDirector Plugin.rbx_0.dylib and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/RBAppearancePak.rbx_0.dylib b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/RBAppearancePak.rbx_0.dylib deleted file mode 100644 index 37f676124ca..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/RBAppearancePak.rbx_0.dylib and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/TreeView.rbx_0.dylib b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/TreeView.rbx_0.dylib deleted file mode 100644 index 983d02ad7c9..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Frameworks/TreeView.rbx_0.dylib and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Info.plist b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Info.plist deleted file mode 100644 index a784b1a25b1..00000000000 --- a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Info.plist +++ /dev/null @@ -1,42 +0,0 @@ - - - - - BuildMachineOSBuild - 10K549 - CFBundleDevelopmentRegion - English - CFBundleExecutable - EP-Launch Lite - CFBundleIconFile - EnergyPlus - CFBundleIdentifier - ${MACOSX_BUNDLE_GUI_IDENTIFIER} - CFBundleName - EP-Launch Lite - CFBundlePackageType - APPL - CFBundleSignature - NREL - DTCompiler - - DTPlatformBuild - 10M2518 - DTPlatformVersion - PG - DTSDKBuild - 10M2518 - DTSDKName - macosx10.6 - DTXcode - 0400 - DTXcodeBuild - 10M2518 - NSAppleScriptEnabled - - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/MacOS/EP-Compare b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/MacOS/EP-Compare deleted file mode 100755 index e983220c79b..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/MacOS/EP-Compare and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/MacOS/rbframework.dylib b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/MacOS/rbframework.dylib deleted file mode 100644 index aedcf589dec..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/MacOS/rbframework.dylib and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/PkgInfo b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/PkgInfo deleted file mode 100644 index 6cc636d33de..00000000000 --- a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPLNREL \ No newline at end of file diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/131.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/131.png deleted file mode 100644 index 858fde16104..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/131.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/19.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/19.png deleted file mode 100644 index e5145d05235..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/19.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/24.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/24.png deleted file mode 100644 index b0033cf64a7..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/24.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/34.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/34.png deleted file mode 100644 index 63f3b0465fa..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/34.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/36.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/36.png deleted file mode 100644 index c6e17fdd56c..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/36.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/40.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/40.png deleted file mode 100644 index 1035906078c..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/40.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/41.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/41.png deleted file mode 100644 index 622e1d8b278..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/41.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/65.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/65.png deleted file mode 100644 index 863bec13216..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/65.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/81.png b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/81.png deleted file mode 100644 index d9018259a3d..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/81.png and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/EP-Compare.icns b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/EP-Compare.icns deleted file mode 100644 index 3b7cc1cd01f..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/EP-Compare.icns and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/EnergyPlus.icns b/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/EnergyPlus.icns deleted file mode 100644 index 92b933cf89c..00000000000 Binary files a/bin/EP-Compare/Run-Mac/EP-Compare.app/Contents/Resources/EnergyPlus.icns and /dev/null differ diff --git a/bin/EP-Compare/Run-Mac/codesign.sh b/bin/EP-Compare/Run-Mac/codesign.sh deleted file mode 100755 index f6a7ca64746..00000000000 --- a/bin/EP-Compare/Run-Mac/codesign.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -APP_NAME=EP-Compare -IDENTIFIER="org.nrel.EnergyPlus.$APP_NAME" - -function ep_codesign() { - codesign -vvvv -s "Developer ID Application: National Renewable Energy Laboratory (K7JYVQJL7R)" \ - --force --timestamp \ - --prefix "$IDENTIFIER." \ - --options runtime \ - --entitlements entitlements.xml "$1" -} - -function ep_notarize() { - xcrun notarytool submit --keychain-profile "EnergyPlus" --wait "$1" -} - -ep_codesign "EP-Compare.app/Contents/Frameworks/RBAppearancePak.rbx_0.dylib" -ep_codesign "EP-Compare.app/Contents/Frameworks/TreeView.rbx_0.dylib" -ep_codesign "EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_5.dylib" -ep_codesign "EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_1.dylib" -ep_codesign "EP-Compare.app/Contents/Frameworks/#CoreClasses.rbx_0.dylib" -ep_codesign "EP-Compare.app/Contents/Frameworks/MBS REALbasic ChartDirector Plugin.rbx_0.dylib" - -ep_codesign "EP-Compare.app/Contents/MacOS/rbframework.dylib" -ep_codesign "EP-Compare.app/Contents/MacOS/EP-Compare" - -codesign -vvvv -s "Developer ID Application: National Renewable Energy Laboratory (K7JYVQJL7R)" \ - --force --timestamp \ - --identifier "$IDENTIFIER" \ - --options runtime \ - --entitlements entitlements.xml \ - $APP_NAME.app - -zip -r ./$APP_NAME.zip ./$APP_NAME.app -ep_notarize ./$APP_NAME.zip -xcrun stapler staple ./$APP_NAME.app - -xcrun stapler validate ./$APP_NAME.app -spctl -vvvv --assess ./$APP_NAME.app -rm -Rf ./$APP_NAME.zip diff --git a/bin/EP-Compare/Run-Mac/entitlements.xml b/bin/EP-Compare/Run-Mac/entitlements.xml deleted file mode 100644 index 6bc22e913b5..00000000000 --- a/bin/EP-Compare/Run-Mac/entitlements.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.security.cs.allow-jit - - com.apple.security.cs.allow-unsigned-executable-memory - - com.apple.security.cs.allow-dyld-environment-variables - - com.apple.security.cs.disable-library-validation - - - diff --git a/bin/EP-Compare/Run-Win/EP-Compare Libs/Appearance Pak.dll b/bin/EP-Compare/Run-Win/EP-Compare Libs/Appearance Pak.dll deleted file mode 100644 index 6367ccbef5c..00000000000 Binary files a/bin/EP-Compare/Run-Win/EP-Compare Libs/Appearance Pak.dll and /dev/null differ diff --git a/bin/EP-Compare/Run-Win/EP-Compare Libs/EHInterfaces5001.dll b/bin/EP-Compare/Run-Win/EP-Compare Libs/EHInterfaces5001.dll deleted file mode 100644 index 70457ff416c..00000000000 Binary files a/bin/EP-Compare/Run-Win/EP-Compare Libs/EHInterfaces5001.dll and /dev/null differ diff --git a/bin/EP-Compare/Run-Win/EP-Compare Libs/EHObjectArray5001.dll b/bin/EP-Compare/Run-Win/EP-Compare Libs/EHObjectArray5001.dll deleted file mode 100644 index 2a50b2f63c1..00000000000 Binary files a/bin/EP-Compare/Run-Win/EP-Compare Libs/EHObjectArray5001.dll and /dev/null differ diff --git a/bin/EP-Compare/Run-Win/EP-Compare Libs/EHObjectCollection5001.dll b/bin/EP-Compare/Run-Win/EP-Compare Libs/EHObjectCollection5001.dll deleted file mode 100644 index 7dd27bd0124..00000000000 Binary files a/bin/EP-Compare/Run-Win/EP-Compare Libs/EHObjectCollection5001.dll and /dev/null differ diff --git a/bin/EP-Compare/Run-Win/EP-Compare Libs/EHTreeView4301.DLL b/bin/EP-Compare/Run-Win/EP-Compare Libs/EHTreeView4301.DLL deleted file mode 100644 index 0085d278bdb..00000000000 Binary files a/bin/EP-Compare/Run-Win/EP-Compare Libs/EHTreeView4301.DLL and /dev/null differ diff --git a/bin/EP-Compare/Run-Win/EP-Compare Libs/MBSChartDirector5Plugin16042.dll b/bin/EP-Compare/Run-Win/EP-Compare Libs/MBSChartDirector5Plugin16042.dll deleted file mode 100644 index e7ff50f78c7..00000000000 Binary files a/bin/EP-Compare/Run-Win/EP-Compare Libs/MBSChartDirector5Plugin16042.dll and /dev/null differ diff --git a/bin/EP-Compare/Run-Win/EP-Compare.exe b/bin/EP-Compare/Run-Win/EP-Compare.exe deleted file mode 100644 index 3537b85bd1a..00000000000 Binary files a/bin/EP-Compare/Run-Win/EP-Compare.exe and /dev/null differ diff --git a/bin/EP-Compare/readme.txt b/bin/EP-Compare/readme.txt new file mode 100644 index 00000000000..95db72511bc --- /dev/null +++ b/bin/EP-Compare/readme.txt @@ -0,0 +1,9 @@ +The EP-Compare program is no longer included in the EnergyPlus distribution. It appeared to be seldom used and had not been updated in many years. + +Please install EnergyPlus 24.1 or earlier if you would like a copy. It should work just as well with later distributions. + +If you would like to see further development of EP-Compare, please contact the original author: + +Jason Glazer +jglazer@gard.com + diff --git a/cmake/CMakeCPackOptions.cmake.in b/cmake/CMakeCPackOptions.cmake.in index 9bf27274b9f..2289979c6d8 100644 --- a/cmake/CMakeCPackOptions.cmake.in +++ b/cmake/CMakeCPackOptions.cmake.in @@ -18,8 +18,6 @@ if(CPACK_GENERATOR MATCHES "NSIS") set(CPACK_NSIS_MENU_LINKS "Documentation/index.html" "EnergyPlus Documentation" - "PostProcess/EP-Compare/EP-Compare.exe" - "EP-Compare" "PreProcess/EPDraw/EPDrawGUI.exe" "EPDrawGUI" "EP-Launch.exe" diff --git a/cmake/CPack.STGZ_Header.sh.in b/cmake/CPack.STGZ_Header.sh.in index 39768573415..157fc60135e 100644 --- a/cmake/CPack.STGZ_Header.sh.in +++ b/cmake/CPack.STGZ_Header.sh.in @@ -118,7 +118,6 @@ if [ ! "$link_directory" = "n" ]; then ln -sf "${install_directory}/energyplus" "${link_directory}/energyplus" 2> /dev/null > /dev/null || link_err ln -sf "${install_directory}/Energy+.idd" "${link_directory}" 2> /dev/null > /dev/null || link_err ln -sf "${install_directory}/Energy+.schema.epJSON" "${link_directory}" 2> /dev/null > /dev/null || link_err - ln -sf "${install_directory}/PostProcess/EP-Compare/EP-Compare" "${link_directory}" 2> /dev/null > /dev/null || link_err ln -sf "${install_directory}/EPMacro" "${link_directory}" 2> /dev/null > /dev/null || link_err ln -sf "${install_directory}/ExpandObjects" "${link_directory}" 2> /dev/null > /dev/null || link_err ln -sf "${install_directory}/PostProcess/HVAC-Diagram" "${link_directory}" 2> /dev/null > /dev/null || link_err @@ -141,7 +140,6 @@ if [ ! "$link_directory" = "n" ]; then rm -f "${link_directory}/energyplus" rm -f "${link_directory}/Energy+.idd" rm -f "${link_directory}/Energy+.schema.epJSON" - rm -f "${link_directory}/EP-Compare" rm -f "${link_directory}/EPMacro" rm -f "${link_directory}/ExpandObjects" rm -f "${link_directory}/HVAC-Diagram" diff --git a/cmake/Install.cmake b/cmake/Install.cmake index e63f1659f52..4315762e629 100644 --- a/cmake/Install.cmake +++ b/cmake/Install.cmake @@ -418,20 +418,7 @@ if(WIN32) install(FILES "${PROJECT_SOURCE_DIR}/bin/WeatherConverter/TimeZoneCodes.txt" DESTINATION "PreProcess/WeatherConverter/") install(FILES "${PROJECT_SOURCE_DIR}/bin/WeatherConverter/WBANLocations.csv" DESTINATION "PreProcess/WeatherConverter/") install(FILES "${PROJECT_SOURCE_DIR}/bin/WeatherConverter/Weather.exe" DESTINATION "PreProcess/WeatherConverter/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Win/EP-Compare Libs/Appearance Pak.dll" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Win/EP-Compare Libs/EHInterfaces5001.dll" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Win/EP-Compare Libs/EHObjectArray5001.dll" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Win/EP-Compare Libs/EHObjectCollection5001.dll" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Win/EP-Compare Libs/EHTreeView4301.DLL" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Win/EP-Compare Libs/MBSChartDirector5Plugin16042.dll" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Win/EP-Compare.exe" DESTINATION "PostProcess/EP-Compare/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/GraphHints.csv" DESTINATION "PostProcess/EP-Compare/") + install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/readme.txt" DESTINATION "PostProcess/EP-Compare/") install(FILES "${PROJECT_SOURCE_DIR}/bin/EPDraw/Run-Win/EPDrawGUI Libs/Appearance Pak.dll" DESTINATION "PreProcess/EPDraw/EPDrawGUI Libs/") install(FILES "${PROJECT_SOURCE_DIR}/bin/EPDraw/Run-Win/EPDrawGUI Libs/Shell.dll" DESTINATION "PreProcess/EPDraw/EPDrawGUI Libs/") install(FILES "${PROJECT_SOURCE_DIR}/bin/EPDraw/Run-Win/EPDrawGUI.exe" DESTINATION "PreProcess/EPDraw/") @@ -512,8 +499,7 @@ if(APPLE) install(DIRECTORY "${PROJECT_SOURCE_DIR}/bin/EP-Launch-Lite/EP-Launch-Lite.app" DESTINATION "PreProcess") install(DIRECTORY "${PROJECT_SOURCE_DIR}/bin/IDFVersionUpdater/Run-Mac/IDFVersionUpdater.app" DESTINATION "PreProcess/IDFVersionUpdater") - install(DIRECTORY "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Mac/EP-Compare.app" DESTINATION "PostProcess/EP-Compare") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/GraphHints.csv" DESTINATION "PostProcess/EP-Compare/") + install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/readme.txt" DESTINATION "PostProcess/EP-Compare/") install(PROGRAMS "${PROJECT_SOURCE_DIR}/bin/EPMacro/Mac/EPMacro" DESTINATION "./") configure_file(scripts/runenergyplus.in "${PROJECT_BINARY_DIR}/scripts/runenergyplus" @ONLY) @@ -549,21 +535,7 @@ elseif(UNIX) set(CPACK_IFW_TARGET_DIRECTORY "/usr/local/${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}-${CPACK_PACKAGE_VERSION_MINOR}-${CPACK_PACKAGE_VERSION_PATCH}") - install(PROGRAMS "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare" DESTINATION "PostProcess/EP-Compare/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/GraphHints.csv" DESTINATION "PostProcess/EP-Compare/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHInterfaces5001.so" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectArray5001.so" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHObjectCollection5001.so" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare Libs/EHTreeView4301.so" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare Libs/libMBSChartDirector5Plugin16042.so" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/Run-Linux/EP-Compare Libs/libRBAppearancePak.so" - DESTINATION "PostProcess/EP-Compare/EP-Compare Libs/") - + install(FILES "${PROJECT_SOURCE_DIR}/bin/EP-Compare/readme.txt" DESTINATION "PostProcess/EP-Compare/") install(FILES "${PROJECT_SOURCE_DIR}/bin/IDFVersionUpdater/Run-Linux/IDFVersionUpdater Libs/libRBAppearancePak64.so" DESTINATION "PreProcess/IDFVersionUpdater/IDFVersionUpdater Libs/") install(FILES "${PROJECT_SOURCE_DIR}/bin/IDFVersionUpdater/Run-Linux/IDFVersionUpdater Libs/libRBCrypto64.so" @@ -710,7 +682,6 @@ if(APPLE) # "EPMacro" # "PreProcess/EP-Launch-Lite.app" # "PreProcess/IDFVersionUpdater/IDFVersionUpdater.app" - # "PostProcess/EP-Compare/EP-Compare.app" ) # Codesign inner binaries and libraries, in the CPack staging area for the EnergyPlus project, component Unspecified diff --git a/cmake/PythonCopyStandardLib.py b/cmake/PythonCopyStandardLib.py index 1e4becce5bb..7cc0f7a9723 100644 --- a/cmake/PythonCopyStandardLib.py +++ b/cmake/PythonCopyStandardLib.py @@ -61,7 +61,7 @@ # this script must be called with two args: # 1 - the path to the EnergyPlus executable in the install-tree, which is used to determine where to copy the library # since this is in the install-tree, you'll need to use a cmake generator expression -# 2 - name of the folder to create to store the copied in python standard library, usually python_standard_library +# 2 - name of the folder to create to store the copied in python standard library, usually python_lib import ctypes import os import platform @@ -85,6 +85,8 @@ ctypes_package_dir = os.path.dirname(ctypes_import_file) standard_lib_dir = os.path.dirname(ctypes_package_dir) +print(f"PYTHON: Analyzing standard library directory at {standard_lib_dir}") + if os.path.exists(target_dir): # Let's check the library files to see if the ABI matches # Otherwise if you build with say python 3.8 initially, and then switch to @@ -117,6 +119,12 @@ def find_libs(dir_path): dll_dir = os.path.join(python_root_dir, 'DLLs') shutil.copytree(dll_dir, target_dir, dirs_exist_ok=True) +# And also on Windows, we now need the grab the Tcl/Tk folder that contains config, scripts, and blobs +if platform.system() == 'Windows': + python_root_dir = os.path.dirname(standard_lib_dir) + tcl_dir = os.path.join(python_root_dir, 'tcl') + shutil.copytree(tcl_dir, target_dir, dirs_exist_ok=True) + # then I'm going to try to clean up any __pycache__ folders in the target dir to reduce installer size for root, dirs, _ in os.walk(target_dir): for this_dir in dirs: diff --git a/cmake/PythonFixUpTclTk.py b/cmake/PythonFixUpTclTk.py new file mode 100644 index 00000000000..dac83009c72 --- /dev/null +++ b/cmake/PythonFixUpTclTk.py @@ -0,0 +1,134 @@ +# EnergyPlus, Copyright (c) 1996-2024, The Board of Trustees of the University +# of Illinois, The Regents of the University of California, through Lawrence +# Berkeley National Laboratory (subject to receipt of any required approvals +# from the U.S. Dept. of Energy), Oak Ridge National Laboratory, managed by UT- +# Battelle, Alliance for Sustainable Energy, LLC, and other contributors. All +# rights reserved. +# +# NOTICE: This Software was developed under funding from the U.S. Department of +# Energy and the U.S. Government consequently retains certain rights. As such, +# the U.S. Government has been granted for itself and others acting on its +# behalf a paid-up, nonexclusive, irrevocable, worldwide license in the +# Software to reproduce, distribute copies to the public, prepare derivative +# works, and perform publicly and display publicly, and to permit others to do +# so. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# (1) Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# (2) Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# (3) Neither the name of the University of California, Lawrence Berkeley +# National Laboratory, the University of Illinois, U.S. Dept. of Energy nor +# the names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# (4) Use of EnergyPlus(TM) Name. If Licensee (i) distributes the software in +# stand-alone form without changes from the version obtained under this +# License, or (ii) Licensee makes a reference solely to the software +# portion of its product, Licensee must refer to the software as +# "EnergyPlus version X" software, where "X" is the version number Licensee +# obtained under this License and may not use a different name for the +# software. Except as specifically required in this Section (4), Licensee +# shall not use in a company name, a product name, in advertising, +# publicity, or other promotional activities any name, trade name, +# trademark, logo, or other designation of "EnergyPlus", "E+", "e+" or +# confusingly similar designation, without the U.S. Department of Energy's +# prior written consent. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +import platform +import re +import shutil +import subprocess +import sys +from pathlib import Path +import os +import stat + + +def locate_tk_so(python_dir: Path) -> Path: + print(f"Searching for _tkinter so in {python_dir}") + sos = list(python_dir.glob("lib-dynload/_tkinter*.so")) + assert len(sos) == 1, "Unable to locate _tkinter so" + return sos[0] + + +LINKED_RE = re.compile( + r"(?P.*) \(compatibility version (?P\d+\.\d+\.\d+), " + r"current version (?P\d+\.\d+\.\d+)(?:, \w+)?\)" +) + +LINKED_RE_ARM64 = re.compile(r"(?P.*) \(architecture arm64\)") + + +def get_linked_libraries(p: Path): + linked_libs = [] + lines = subprocess.check_output(["otool", "-L", str(p)], encoding="utf-8", universal_newlines=True).splitlines() + if "is not an object file" in lines[0]: + return None + lines = [x.strip() for x in lines[1:]] + + for line in lines: + if 'compatibility version' in line and (m := LINKED_RE.match(line)): + linked_libs.append(m.groupdict()) + elif 'architecture arm64' in line and (m := LINKED_RE_ARM64.match(line)): + linked_libs.append(m.groupdict()) # it will only have a libname key, I think that's fine + else: + raise ValueError(f"For {p}, cannot parse line: '{line}'") + return linked_libs + + +if __name__ == "__main__": + + if platform.system() != "Darwin": + sys.exit(0) + + print("PYTHON: Copying and fixing up Tcl/Tk") + + if len(sys.argv) == 2: + python_dir = Path(sys.argv[1]) + else: + print("Must call " + sys.argv[0] + "with one command line argument: the path to the python_lib directory") + sys.exit(1) + + assert python_dir.is_dir() + lib_dynload_dir = python_dir / "lib-dynload" + + tk_so = locate_tk_so(python_dir) + tcl_tk_sos = [Path(t["libname"]) for t in get_linked_libraries(tk_so) if "libt" in t["libname"]] + + for tcl_tk_so in tcl_tk_sos: + new_tcl_tk_so = lib_dynload_dir / tcl_tk_so.name + if str(tcl_tk_so).startswith('@loader_path'): + assert new_tcl_tk_so.is_file(), f"{new_tcl_tk_so} missing when the tkinter so is already adjusted. Wipe the dir" + print("Already fixed up the libtcl and libtk, nothing to do here") + continue + shutil.copy(tcl_tk_so, new_tcl_tk_so) + # during testing, the brew installed tcl and tk libraries were installed without write permission + # the workaround was to manually chmod u+w those files in the brew install folder + # instead let's just fix them up once we copy them here + current_perms = os.stat(str(new_tcl_tk_so)).st_mode + os.chmod(str(new_tcl_tk_so), current_perms | stat.S_IWUSR) + # now that it can definitely be written, we can run install_name_tool on it + lines = subprocess.check_output( + ["install_name_tool", "-change", str(tcl_tk_so), f"@loader_path/{new_tcl_tk_so.name}", str(tk_so)] + ) + # Change the id that's the first line of the otool -L in this case and it's confusing + lines = subprocess.check_output(["install_name_tool", "-id", str(new_tcl_tk_so.name), str(new_tcl_tk_so)]) diff --git a/cmake/Version.cmake b/cmake/Version.cmake index 11b3f7fe845..21078bf2542 100644 --- a/cmake/Version.cmake +++ b/cmake/Version.cmake @@ -1,13 +1,13 @@ -set(CMAKE_VERSION_MAJOR 24) -set(CMAKE_VERSION_MINOR 2) +set(CMAKE_VERSION_MAJOR 25) +set(CMAKE_VERSION_MINOR 1) set(CMAKE_VERSION_PATCH 0) -set(CMAKE_PROJECTED_RELEASE_DATE "30 September 2024") +set(CMAKE_PROJECTED_RELEASE_DATE "31 March 2025") set(PREV_RELEASE_MAJOR 24) -set(PREV_RELEASE_MINOR 1) +set(PREV_RELEASE_MINOR 2) set(PREV_RELEASE_PATCH 0) -set(PREV_RELEASE_SHA "9d7789a") +set(PREV_RELEASE_SHA "94a8878") set(ENERGYPLUS_VERSION "${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}.${CMAKE_VERSION_PATCH}") diff --git a/cmake/install_codesign_script.cmake b/cmake/install_codesign_script.cmake index 78a671a90f4..10db6b51a11 100644 --- a/cmake/install_codesign_script.cmake +++ b/cmake/install_codesign_script.cmake @@ -20,7 +20,7 @@ Pre-conditions: This script will codesign the ``FILES_TO_SIGN``, as well as the globbed copied Python .so and the root dylibs (such as ``libintl8.dylib``) -* ``python_standard_lib/lib-dynload/*.so`` +* ``python_lib/lib-dynload/*.so`` * ``lib*.dylib`` To do so, it uses the `CodeSigning`_ functions :cmake:command:`codesign_files_macos` @@ -113,11 +113,11 @@ foreach(path ${_all_root_dylibs}) endif() endforeach() -file(GLOB PYTHON_SOS "${CMAKE_INSTALL_PREFIX}/python_standard_lib/lib-dynload/*.so") +file(GLOB PYTHON_SOS "${CMAKE_INSTALL_PREFIX}/python_lib/lib-dynload/*.so" "${CMAKE_INSTALL_PREFIX}/python_lib/lib-dynload/*.dylib") print_relative_paths(PREFIX "FULL_PATHS=" ABSOLUTE_PATHS ${FULL_PATHS}) print_relative_paths(PREFIX "ROOT_DYLIBS=" ABSOLUTE_PATHS ${ROOT_DYLIBS}) -print_relative_paths(PREFIX "PYTHON_SOS, in ${CMAKE_INSTALL_PREFIX}/python_standard_lib/lib-dynload/=" ABSOLUTE_PATHS ${PYTHON_SOS} NAME_ONLY) +print_relative_paths(PREFIX "PYTHON_SOS, in ${CMAKE_INSTALL_PREFIX}/python_lib/lib-dynload/=" ABSOLUTE_PATHS ${PYTHON_SOS} NAME_ONLY) include(${CMAKE_CURRENT_LIST_DIR}/CodeSigning.cmake) codesign_files_macos( diff --git a/cmake/qtifw/install_operations.qs b/cmake/qtifw/install_operations.qs index 73480101a5d..34179b85abd 100644 --- a/cmake/qtifw/install_operations.qs +++ b/cmake/qtifw/install_operations.qs @@ -15,7 +15,6 @@ function Component() component.addOperation("Execute", "chmod", "+x", "@TargetDir@/PreProcess/IDFVersionUpdater/IDFVersionUpdater.app/Contents/MacOS/IDFVersionUpdater"); component.addOperation("Execute", "chmod", "+x", "@TargetDir@/PreProcess/EP-Launch-Lite.app/Contents/MacOS/EP-Launch-Lite"); component.addOperation("Execute", "chmod", "+x", "@TargetDir@/PreProcess/EP-Launch-Lite.app/Contents/MacOS/python"); - component.addOperation("Execute", "chmod", "+x", "@TargetDir@/PostProcess/EP-Compare/EP-Compare.app/Contents/MacOS/EP-Compare"); // Not sure necessary so not doing it yet // component.addOperation("Execute", "chmod", "-R", "a+w", "@TargetDir@"); diff --git a/cmake/qtifw/install_unix_createsymlinks.qs b/cmake/qtifw/install_unix_createsymlinks.qs index 1bfa437177f..6a48337de76 100644 --- a/cmake/qtifw/install_unix_createsymlinks.qs +++ b/cmake/qtifw/install_unix_createsymlinks.qs @@ -52,9 +52,6 @@ function Component() component.addElevatedOperation("Execute", "ln", "-sf", "@TargetDir@/energyplus", linktarget + "/EnergyPlus", "UNDOEXECUTE", "rm", linktarget + "/EnergyPlus") - component.addElevatedOperation("Execute", "ln", "-sf", "@TargetDir@/PostProcess/EP-Compare/EP-Compare", linktarget, - "UNDOEXECUTE", "rm", linktarget + "/EP-Compare"); - component.addElevatedOperation("Execute", "ln", "-sf", "@TargetDir@/PreProcess/IDFVersionUpdater/IDFVersionUpdater", linktarget, "UNDOEXECUTE", "rm", linktarget + "/IDFVersionUpdater"); @@ -62,9 +59,8 @@ function Component() "UNDOEXECUTE", "rm", linktarget + "/parser"); } - // TODO: we should perhaps create symlinks to EP-Compare, + // TODO: we should perhaps create symlinks to // IDFVersionUpdater and and FMUparser on mac too, eg: - // "@TargetDir@/PostProcess/EP-Compare/EP-Compare.app/Contents/MacOS/EP-Compare" // man page: linktarget = "/usr/local/share/man/man1"; diff --git a/cmake/qtifw/install_win_createstartmenu.qs b/cmake/qtifw/install_win_createstartmenu.qs index 532ae27931a..819fc3c01a3 100644 --- a/cmake/qtifw/install_win_createstartmenu.qs +++ b/cmake/qtifw/install_win_createstartmenu.qs @@ -46,7 +46,6 @@ function Component() console.log("Target directory for Start Menu Shortcuts: " + target_dir); component.addOperation("CreateShortcut", "@TargetDir@/Documentation/index.html", target_dir + "/EnergyPlus Documentation.lnk"); - component.addOperation("CreateShortcut", "@TargetDir@/PostProcess/EP-Compare/EP-Compare.exe", target_dir + "/EP-Compare.lnk"); component.addOperation("CreateShortcut", "@TargetDir@/PreProcess/EPDraw/EPDrawGUI.exe", target_dir + "/EPDrawGUI.lnk"); component.addOperation("CreateShortcut", "@TargetDir@/EP-Launch.exe", target_dir + "/EP-Launch.lnk"); component.addOperation("CreateShortcut", "@TargetDir@/ExampleFiles/ExampleFiles.html", target_dir + "/Example Files Summary.lnk"); diff --git a/design/FY2024/chiller_heater_part_load_fix.md b/design/FY2024/chiller_heater_part_load_fix.md new file mode 100644 index 00000000000..bb966f0f756 --- /dev/null +++ b/design/FY2024/chiller_heater_part_load_fix.md @@ -0,0 +1,106 @@ +DEFECT: Fix for Chiller Heater Always Assuming Evaporator is at Full Load +================ + +**Rick Strand, University of Illinois at Urbana-Champaign** + + - Original Date: July 22, 2024 + - Revision Date: July 30, 2024 + + +## Justification for New Feature ## + +The current heater mode portion of the chiller heater model in PlantCentralGSHP.cc is written with the built-in assumption that the evaporator is running at full load. When the condenser load comes back at less than full load, the evaporator load is never adjusted and reports load and electric power at full load. This is not correct and resulted in a defect being logged (Defect 10065). This document is a plan for a potential solution to this problem. + +## E-mail and Conference Call Conclusions ## + +July 24, 2024: Discussed this on the technicalities call. Decision was made to not implement an iteration strategy but to simply make an approximation of the PLR from the condenser load and then multiple full load evaporator load, compressor power, and false loading by that PLR. Not ideal, but given all of the suspected problems in this model, it was decided to not invest too heavily in this now and turn this into a potential development topic in the future. + +## Overview ## + +The heat pump model for the ChillerHeater model is contained in the PlantCentralGSHP.cc file. The model allows for various modes of operation: off (0), cooling only (1), heating only (2), heat recovery (3), cooling dominant (4), and heating dominant (5). Off mode is obvious--no loads, nothing happening. When in cooling or heating only mode, the heat rejection is lost/sent to the other thermal environment. When in heat recovery mode, heat rejection at the condenser is used for heating purposes in the HVAC system. Cooling and heating dominant modes have heat recovery but there is more heat recovery than is needed so the excess is rejected to whatever the outside environment is. The cooling controlled modes (1, 3, and 4) are simulated using the CalcChillerModel in CentralPlantGSHP.cc. The heating controlled modes (2 and 5) are simulated using the CalcChillerHeaterModel in CentralPlantGSHP.cc. The cooling controlled modes seem to be working without any known issues. The heating modes run the condenser to the correct load for heating. However, a user noticed that there was an issue with the reported evaporator load and power consumption which always seemed to be relatively constant at a high level whenever the condenser was needed for a heating load. This was traced back to the assumptions in the heater portion of the chiller heater model. + +The simlation flow in the heater portion of the model is summarized as follows. Once it is identified that the chiller is in one of the heating modes, the chiller is assumed to run at full capacity to get an evaporator load, a compressor power consumption, and any false load for when the chiller is below the minimum part load ratio. A condenser load at full power is calculated from this information. This condenser load is then adjusted to fit the actual heating need. From this condenser load, flows or temperatures are adjusted for this load as needed on the condenser side. The simulation then moves on from there. + +The problem here is that the evaporator load and the compressor power are still at full load and are never adjusted when the condenser load gets reduced because the heating load does not require full load. This is the source of the error--evaporator load and compressor power never change in heating mode regardless of the actual part load ratio based on the condenser load. PLR simply stays at near 100%. This is not correct and leads to over-estimation of both the evaporator load and the compressor power consumption. + +## Original Approach ## + +Note: before the actual fix takes place, it was decided to make a code improvement pass through the current chiller heater model. This has already taken place and has been merged into develop. The point was to make the code re-usable within the chiller heater model but it also realized some improvements in the cooling mode subroutine as well. The changes took several different code sections and turned them into smaller subroutines. The heating mode code is now much easier to follow, reducing the size of the routine by a factor of more than 3 (based on printouts of the routine before and after restructuring). The real benefit will be seen when the problem is fixed as the algorithm should stay fairly compact and easy to follow (hopefully). + +The approach to this problem is to for the most part leave the initial pass at full load in tact. The code still needs to know what the condenser is capable of from a heating standpoint. If the required heating load (HeatingLoadToMeet) is larger than the condenser load at full power, then there is no change to be made. However, when the condenser load is reduced because the HeatingLoadToMeet is less than the condenser load at full power, there needs to be additional code to handle this case. + +When the QCondenser is initially calculated based on full load evaporator conditions, a new variable (qCondOrig or something like that) tracking the original value will be set equal to this value. After QCondenser is compared to HeatingLoadToMeet and then potentially modified by the new restructured subroutine adjustChillerHeaterFlowTemp, QCondenser will be compared to qCondOrig. If QCondenser is lower than qCondOrig, then this means that we are no longer at full load and need to go into an adjustment procedure. + +Adjustment Procedure: The adjustment process to obtain a revised/appropriate evaporator load and compressor power will take place in the code after the initial pass to adjust the chiller heater flow rate and temperature. The code in CalcChillerHeaterModel, after restructuring, looks like this: + + if (CurrentMode == 2 || this->SimulHtgDominant) { + if (CondMassFlowRate > DataBranchAirLoopPlant::MassFlowTolerance && CondDeltaTemp > 0.0) { + this->adjustChillerHeaterFlowTemp(state, QCondenser, CondMassFlowRate, CondOutletTemp, CondInletTemp, CondDeltaTemp); + } else { + QCondenser = 0.0; + CondOutletTemp = CondInletTemp; + } + } + +New code will be added right after the call to adjustChillerHeaterFlowTemp. There will need to be an iteration loop as there is no guarantee that one pass will obtain the correct evaporator conditions. The iteration loop will end after 20 attempts or when the latest condenser load is sufficiently similar to the condenser load from the previous iteration. + +Before the iteration loop, set iteration number to zero and old condenser load to full load (qCondOrig) and new condenser load to existing condenser load. + +During the iteration loop (while iteration is less than 20 and difference between old and new QCondenser is outside of tolerance), the following functions will be done: + +Step 0: Update last iteration condenser load and iteration number + +Step 1: Calculate PLR based on comparison of last iteration condenser load to full condenser load, limit to MaxPartLoadRatio. + +Step 2: Calculate QEvaporator and EvapOutletTemp based on new PartLoadRatio. Could potentially be turned into a new subroutine. + +Step 3: Call checkEvapOutletTemp. This in all likelihood won't do anything because it just makes sure that the minimum evaporator temperature limits are not violated, but it still needs to be run just in case. + +Step 4: Call calcPLRAndCyclingRatio. This shouldn't change PLR because it was just used to calculate a new QEvaporator. It could, however, result in some false loading if PLR drops below the minimum. + +Step 5: Recalculate CHPower, the compressor power using the same equation used from previously in this routine. Could potentially be turned into a new function (one line). + +Step 6: Recalculate ActualCOP. Could Could potentially be turned into a new function. + +Step 7: Calculate the new QCondenser for this iteration. Reuse existing code that limits this based on minPLR, HeatingLoadToMeet. + +Step 8: Call adjustChillerHeaterFlowTemp to adjust flow rate and temperature if necessary. + +At this point, a new QCondenser has been calculated so the iteration cycle is done. No additional code is needed after the iteration cycle as it should just be able to pick up where it left off as it currently does. + +## Modified Approach ## + +During the technicalities call, it was suggested that rather than iterating, we should just approximate the PLR from the condenser load and then multiply evaporator load and compressor power by this PLR. The false load was also factored in this way though in this case it was probably zero at full load anyway. Other problems in the algorithm were also fixed along the way. No guarantees that this model is now 100% bug free but it should be improved. + +## Testing/Validation/Data Sources ## + +Testing will be done using the existing user input file that shows the problem. Comparisons will be made between develop and the new version to establish that the results have changed after the fix has been implemented and that the new output makes sense. + +Unit testing: as this is being handled as part of a bug fix, at least two unit tests will be generated. As there are several new subroutines, the unit tests will likely center on these new subroutines. + +## Input Output Reference Documentation ## + +No changes needed--this is an algorithm fix that does not require input changes. + +## Input Description ## + +No changes needed--this is an algorithm fix that does not require input changes. + +## Outputs Description ## + +No changes needed--this is an algorithm fix that does not require input changes or new output. + +## Engineering Reference ## + +Currently, the Engineering Reference has a section for the chiller heater model (ChillerHeaterPerformance\:Electric:EIR). The subsection entitled "Heating-only mode and Simultaneous cooling-heating mode" essentially outlines the calculation process in heating only (2) and heating dominant (5) modes. Additional text will be added to the end of this section to describe the work implemented as part of this fix that will outline the steps in a similar fashion to what is shown above in the Approach section of this document. + +## Example File and Transition Changes ## + +No transition changes are needed since there is no change to the input. A change to an existing input file that has a chiller heater equipment may be needed to show differences in output, but it likely will without any changes to the .idf. So, there are no changes anticipated to existing example files either. + +## References ## + +Current code in PlantCentralGSHP.cc + + + diff --git a/dictionary.dic b/dictionary.dic new file mode 100644 index 00000000000..81124bc4dda --- /dev/null +++ b/dictionary.dic @@ -0,0 +1,32 @@ +AirLoopHVAC +AirToAir +BalancedFlow +Celdek +CeldekPad +CoilSystem +ComponentModel +ConstantVolume +DetailedGeometry +Evaporative +EvaporativeCooler +FlatPlate +HeatExchanger +HeatExchangerAssisted +HVACDOAS +Liesen +NoFans +OutdoorAir +OutdoorAirSystem +PhotovoltaicThermal +ResearchSpecial +SensibleAndLatent +SolarCollector +SystemModel +TerminalUnit +UnglazedTranspired +UnitarySystem +UserDefined +VariableRefrigerantFlow +VariableVolume +WetCoil +ZoneHVAC diff --git a/doc/auxiliary-programs/CMakeLists.txt b/doc/auxiliary-programs/CMakeLists.txt index c0873c235a7..b033a710283 100644 --- a/doc/auxiliary-programs/CMakeLists.txt +++ b/doc/auxiliary-programs/CMakeLists.txt @@ -183,8 +183,6 @@ set(INCLUDED_IMAGES ${PROJECT_SOURCE_DIR}/auxiliary-programs/media/image118.png ${PROJECT_SOURCE_DIR}/auxiliary-programs/media/image119.png ${PROJECT_SOURCE_DIR}/auxiliary-programs/media/image120.png - ${PROJECT_SOURCE_DIR}/auxiliary-programs/media/image121.png - ${PROJECT_SOURCE_DIR}/auxiliary-programs/media/image122.png - ${PROJECT_SOURCE_DIR}/auxiliary-programs/media/image123.png) + ${PROJECT_SOURCE_DIR}/auxiliary-programs/media/image121.png) create_doc_target("auxiliary-programs" "AuxiliaryPrograms") diff --git a/doc/auxiliary-programs/media/image122.png b/doc/auxiliary-programs/media/image122.png deleted file mode 100644 index ef86050fa67..00000000000 Binary files a/doc/auxiliary-programs/media/image122.png and /dev/null differ diff --git a/doc/auxiliary-programs/media/image123.png b/doc/auxiliary-programs/media/image123.png deleted file mode 100644 index b096972f72c..00000000000 Binary files a/doc/auxiliary-programs/media/image123.png and /dev/null differ diff --git a/doc/auxiliary-programs/src/auxiliary-energyplus-programs.tex b/doc/auxiliary-programs/src/auxiliary-energyplus-programs.tex index 9f2709448b7..3013004c6e5 100644 --- a/doc/auxiliary-programs/src/auxiliary-energyplus-programs.tex +++ b/doc/auxiliary-programs/src/auxiliary-energyplus-programs.tex @@ -44,4 +44,3 @@ \chapter{Auxiliary Programs Introduction}\label{auxiliary-programs-introduction} \textbf{Technical Details of Running EnergyPlus} - this section gives full instructions on both EP-Launch and the IDF-Editor as well as some more details on running EnergyPlus manually. -\textbf{EP-Compare} - A utility to graphically compare tabular results from multiple simulation files. diff --git a/doc/auxiliary-programs/src/manipulating-output-files/ep-compare.tex b/doc/auxiliary-programs/src/manipulating-output-files/ep-compare.tex index 2403e672a56..8bc64083085 100644 --- a/doc/auxiliary-programs/src/manipulating-output-files/ep-compare.tex +++ b/doc/auxiliary-programs/src/manipulating-output-files/ep-compare.tex @@ -1,25 +1,4 @@ \section{EP-Compare}\label{ep-compare} -The EP-Compare program is intended to be used to compare the tabular results of several simulations including the ABUPS summary report. To generate tabular reports in EnergyPlus use the Output:Table:SummaryReports object and make sure the OutputControl:Table:Style includes HTML output. EP-Compare displays bar graphs and monthly line graphs for most of the tabular reports. It can be used in Windows, Linux and Macintosh systems. The main screen is shown below: +The EP-Compare program is no longer included in the EnergyPlus distribution. Please see the readme.txt file in the EP-Compare folder within the PostProcess folder for more information. -\begin{figure}[hbtp] % fig 56 -\centering -\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/image122.png} -\caption{EP-Compare Main Screen \protect \label{fig:ep-compare-main-screen}} -\end{figure} - -The main screen shows both the graph being displayed at the bottom and allows the user to select a graph from a list at the top. The list of graphs is based on each table name and subtable name and then has a list of graphs supported including stacked bars, simple bar, 100\% stacked bars, side-by-side bars, and monthly line graphs. The program window can be resized. - -The first time the program is started no graphs are shown because no files have been selected. To select files use the ``Manage Files'' button. This brings up the Manage Files dialog box shown below: - -\begin{figure}[hbtp] % fig 57 -\centering -\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/image123.png} -\caption{EP-Compare Dialog box \protect \label{fig:ep-compare-dialog-box}} -\end{figure} - -This dialog lets you add and remove files from the list of files. The files selected should be HTML or HTM files that are produced by EnergyPlus when using the Output:Table:SummaryReports object with OutputControl:Table:Style set to produce HTML files. It is best to compare files that have similar reports otherwise missing values will be shown as zeros.The dialog also provides a button to add entire directories of files but that adding too many files makes the graphs difficult to understand. To change the order that files appear in the graph, the files can be dragged up and down the list of files in the Manage Files dialog. The dialog box window can be resized to view longer files names if necessary. - -When EP-Compare is started again, the files last selected are shown in the graph if they are still available. - -The Copy button allows the current graph (as it is sized in the window) to be copied to another application such as Microsoft Word or PowerPoint. To paste a copied image to those programs use the Paste Special option and select one of the bitmap formats. diff --git a/doc/ems-application-guide/src/ems-actuators/hvac-systems-001.tex b/doc/ems-application-guide/src/ems-actuators/hvac-systems-001.tex index 8aab11f4052..ed6c4b13925 100644 --- a/doc/ems-application-guide/src/ems-actuators/hvac-systems-001.tex +++ b/doc/ems-application-guide/src/ems-actuators/hvac-systems-001.tex @@ -180,7 +180,7 @@ \subsection{Pump}\label{pump} \end{equation} where $P$ is the pump power (\si{\watt}), $\dot{Q}$ is the volume flow rate (\si{\volumeFlowRate}), $\eta_{total}$ is the pump total efficiency (\%) -and $\Delta P_{override}$ is your EMS-overriden pressure rise (\si{\pascal}). +and $\Delta P_{override}$ is your EMS-overridden pressure rise (\si{\pascal}). The unique identifier in both these actuator is the name of Pump Input object. diff --git a/doc/engineering-reference/src/advanced-surface-concepts/exterior-naturally-vented-cavity.tex b/doc/engineering-reference/src/advanced-surface-concepts/exterior-naturally-vented-cavity.tex index 4fa169166ec..753ecf1ca9c 100644 --- a/doc/engineering-reference/src/advanced-surface-concepts/exterior-naturally-vented-cavity.tex +++ b/doc/engineering-reference/src/advanced-surface-concepts/exterior-naturally-vented-cavity.tex @@ -237,6 +237,6 @@ \subsection{Radiation Coefficients}\label{radiation-coefficients} \subsection{References}\label{references-023} -ASHRAE HOF 2001.~ 2001 ASHRAE Fundamentals Handbook.~ American Society of Heating Refrigeration and Air-Conditioning Engineers. Altanta GA. +ASHRAE HOF 2001.~ 2001 ASHRAE Fundamentals Handbook.~ American Society of Heating Refrigeration and Air-Conditioning Engineers. Atlanta GA. ISO. 2003. ISO 15099:2003. Thermal performance of windows, doors, and shading devices -- Detailed calculations. International Organization for Standardization. diff --git a/doc/engineering-reference/src/integrated-solution-manager/summary-of-time-marching-solution.tex b/doc/engineering-reference/src/integrated-solution-manager/summary-of-time-marching-solution.tex index 2628924b7b0..a2de37e2bf0 100644 --- a/doc/engineering-reference/src/integrated-solution-manager/summary-of-time-marching-solution.tex +++ b/doc/engineering-reference/src/integrated-solution-manager/summary-of-time-marching-solution.tex @@ -97,6 +97,9 @@ \subsubsection{SpaceHVAC:ZoneEquipmentMixer Adjustments}\label{space-hvac-zoneeq After all of the zone HVAC equipment is simulated, the flow rates on the space outlet nodes are set to the space fraction times the zone equipment inlet node flow rate. +\subsubsection{SpaceHVAC:ZoneReturnMixer Adjustments}\label{space-hvac-zoneretmixer-adjustments} +When a SpaceHVAC:ZoneReturnMixer is used, after zone-level return node flow rates are set, the space return node flow rates are set. The space flow rates are set based on the same method used for zones (sum of inlet flows minus sum of exhaust flows). Then the space flow rates are adjusted proportionately so the sum is equal to the previously determined zone-level return node flow rate. Then the conditions on the zone return nodes are set to the combined space outlet node conditions weighted by the space return node flow rates. + \subsection{References}\label{references-043} Ceylan, H. T., and G. E. Myers. 1980. Long-time Solutions to Heat Conduction Transients with Time-Dependent Inputs. ASME Journal of Heat Transfer, Volume 102, No. 1, pp.~115-120. diff --git a/doc/engineering-reference/src/loop-equipment-sizing-and-other-design-data/zone-design-loads-and-air-flow-rates.tex b/doc/engineering-reference/src/loop-equipment-sizing-and-other-design-data/zone-design-loads-and-air-flow-rates.tex index c0cffe63c7d..e88ff4790ea 100644 --- a/doc/engineering-reference/src/loop-equipment-sizing-and-other-design-data/zone-design-loads-and-air-flow-rates.tex +++ b/doc/engineering-reference/src/loop-equipment-sizing-and-other-design-data/zone-design-loads-and-air-flow-rates.tex @@ -243,6 +243,12 @@ \subsubsection{EndZoneSizingCalc}\label{endzonesizingcalc} If \emph{heating design air flow method} is \emph{flow/zone}, then \emph{heating design air flow rate} will be used for the design max heating air flow rate. If \emph{heating design air flow method} is \emph{design day}, then the design day calculation will set the design max heating air flow rate. If \emph{heating design air flow method} is \emph{design day with limit}, then the maximum from \emph{heating max flow per area}, \emph{heating max flow} and \emph{heating max flow fraction} will set an upper limit on the design max heating air flow rate. The design max heating air flow rate must always be \textgreater{} = the ventilation requirement. In each case, the outside airflow will be modified based on zone ventilation effectiveness specified in the zone sizing object. +\subsection{Space Sizing}\label{space-sizing} +When ZoneAirHeatBalanceAlgorithm ``Do Space Heat Balance for Sizing'' is ``Yes'', the same sizing calculations described above will be performed for each space that is part of a controlled zone, using the same thermostat setpoints as the parent zone. The space sizing results will be reported the same as zone sizing results (eio, table, and spsz outputs). + +\subsection{NonCoincident Zone Sizing}\label{noncoincident-zone-sizing} +Sizing:Zone has an option for ``Type of Space Sum to Use'', ``Coincident'' or ``NonCoincident''. Coincident zone sizing (the default) is always calculated first, with all spaces in the zone lumped together. For ``NonCoincident'' zone sizing, if the zone contains more than one space, the zone sizing results will be overwritten using the sums and averages of the space sizing results. If all spaces for a given load type (heating or cooling) peak on the same design day, then that day will be reported as the zone peak day, otherwise the zone design day will be "N/A". The zone peak time will be determined by scanning the peak zone sequential loads which are calculated by summing the space peak day sequential loads. + \textbf{This concludes the calculation of the zone design flow rates and loads.} \subsection{Air Terminal Unit Sizing}\label{air-terminal-unit-sizing} diff --git a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-001/coils.tex b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-001/coils.tex index 06433ea1982..4ae205972ed 100644 --- a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-001/coils.tex +++ b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-001/coils.tex @@ -392,7 +392,7 @@ \subsubsection{Coil Completely Wet Calculations (operating block)}\label{coil-co and \begin{equation} -OutletAirHumdityRatio = PsyWFnTdbH(OutletAirTemp,EnthAirOutlet) +OutletAirHumIdityRatio = PsyWFnTdbH(OutletAirTemp,EnthAirOutlet) \end{equation} \textbf{ELSE} @@ -2294,7 +2294,7 @@ \subsubsection{Waste heat calculation}\label{waste-heat-calculation-000} {Q_{WasteHeat}} = (Fraction)(TempModifier)(CoolingPower) \end{equation} -where Fraction is the rated waste heat fraction of the energy input and TempModifer is the waste heat modifier as a function of indoor and outdoor air dry-bulb temperature. +where Fraction is the rated waste heat fraction of the energy input and TempModifier is the waste heat modifier as a function of indoor and outdoor air dry-bulb temperature. \subsubsection{Basin Heater For Multi-Speed DX Coil}\label{basin-heater-for-multi-speed-dx-coil} @@ -2306,10 +2306,10 @@ \subsubsection{Standard Rating of Multi-Speed DX Cooling Coils}\label{standard-r ANSI/AHRI Standard 210-240 (AHRI 2017 and 2023) [AHRI 2017] For multi-speed direct expansion cooling coils, the industry standard ratings are calculated according to ANSI/AHRI Standard 210-240 (AHRI 2017). These Standard Ratings are: Standard Rating Cooling Capacity and Seasonal Energy Efficiency Ratio (SEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:DX:MultiSpeed object. These AHRI Standard ratings apply only to air-to-air unitary heat pumps and air conditioners with rated cooling capacities less than 65,000 Btu/h (19,000 Watts). The equations required to calculate the net cooling capacity and SEER values according to the AHRI 2017 standard are outlined in the next two sections. Further detail can be found in the AHRI Standard 210-240 (2017) (section 11). -[AHRI 2023] Support for the 2023 version of this Standard was added in EnergyPlus version 22.2. The updated Standard Ratings are designated as: Standard Rating (Net) Cooling Capacity, Energy Efficiency Ratio (EER2), and Seasonal Energy Efficiency Ratio (SEER2). As with th 2017 version, this standard and ratings apply only to air-to-air unitary heat pumps and air conditioners with rated cooling capacities less than 65,000 Btu/h (19 kW). The equations used in this implementation are detailed in the AHRI standard (Section 11). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-210240-2023-2020-performance-rating-unitary-air-conditioning-air-source-heat). +[AHRI 2023] Support for the 2023 version of this Standard was added in EnergyPlus version 22.2. The updated Standard Ratings are designated as: Standard Rating (Net) Cooling Capacity, Energy Efficiency Ratio (EER2), and Seasonal Energy Efficiency Ratio (SEER2). As with the 2017 version, this standard and ratings apply only to air-to-air unitary heat pumps and air conditioners with rated cooling capacities less than 65,000 Btu/h (19 kW). The equations used in this implementation are detailed in the AHRI standard (Section 11). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-210240-2023-2020-performance-rating-unitary-air-conditioning-air-source-heat). ANSI/AHRI Standard 340-360 (AHRI 2022) -The Standard Rating calulations defined in this standard include: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER) and Integrated Energy Efficiency Ratio (IEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:DX:MultiSpeed object (see the EnergyPlus I/O Reference manual for details). According to AHRI Standard, these ratings apply to factory-made Commercial and Industrial Unitary Air-conditioning and Heat Pump Equipment with rated cooling/heating capcities greater than 65,000 Btu/h (19 kW) and less than 250,000 Btu/h (73.2 kW). The equations used in this implementation are detailed in this standard (Section 6). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-340360-i-p2022-performance-rating-commercial-and-industrial-unitary-air). +The Standard Rating calculations defined in this standard include: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER) and Integrated Energy Efficiency Ratio (IEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:DX:MultiSpeed object (see the EnergyPlus I/O Reference manual for details). According to AHRI Standard, these ratings apply to factory-made Commercial and Industrial Unitary Air-conditioning and Heat Pump Equipment with rated cooling/heating capacities greater than 65,000 Btu/h (19 kW) and less than 250,000 Btu/h (73.2 kW). The equations used in this implementation are detailed in this standard (Section 6). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-340360-i-p2022-performance-rating-commercial-and-industrial-unitary-air). Standard Ratings Reporting The values for these Standard Ratings are reported in the eplusout.eio output file and also in the predefined tabular output reports (Output:Table:SummaryReports object, '2017 Standard Ratings for DX Coils' and '2023 Standard Ratings for DX Coils'). @@ -2670,7 +2670,7 @@ \subsubsection{Standard Rating of Two-Speed DX Cooling Coils}\label{standard-rat For Two-Speed direct expansion cooling coils, the following industry standard ratings are calculated and reported according to the industry standards listed below: ANSI/AHRI Standard 340-360 (AHRI 2022) -The Standard Rating calulations defined in this standard include: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER) and Integrated Energy Efficiency Ratio (IEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:DX:TwoSpeed object (see the I/O Reference manual for details). According to Standard, these ratings apply to factory-made Commercial and Industrial Unitary Air-conditioning and Heat Pump Equipment with rated cooling/heating capcities greater than 65,000 Btu/h (19 kW) and less than 250,000 Btu/h (73.2 kW). The equations used in this implementation are outlined in the next section. For more detail is provided in this standard itself (Section 6). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-340360-i-p2022-performance-rating-commercial-and-industrial-unitary-air). +The Standard Rating calculations defined in this standard include: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER) and Integrated Energy Efficiency Ratio (IEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:DX:TwoSpeed object (see the I/O Reference manual for details). According to Standard, these ratings apply to factory-made Commercial and Industrial Unitary Air-conditioning and Heat Pump Equipment with rated cooling/heating capacities greater than 65,000 Btu/h (19 kW) and less than 250,000 Btu/h (73.2 kW). The equations used in this implementation are outlined in the next section. For more detail is provided in this standard itself (Section 6). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-340360-i-p2022-performance-rating-commercial-and-industrial-unitary-air). Standard Ratings Reporting The values for these Standard Ratings are reported in the eplusout.eio output file and also in the predefined tabular output reports (Output:Table:SummaryReports object, '2017 Standard Ratings for DX Coils' and '2023 Standard Ratings for DX Coils'). @@ -3134,11 +3134,11 @@ \subsubsection{Standard Rating of Variable Speed DX Cooling Coils}\label{standar For variable speed direct expansion cooling coils, the following industry standard ratings are calculated and reported according to the industry standards listed below: ANSI/AHRI Standard 210-240 (AHRI 2017 and 2023) -[AHRI 2017] The Standard Rating calulations defined in the 2017 version of this standard include: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER), and Seasonal Energy Efficiency Ratio (SEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:DX:MultiSpeed object. These AHRI Standard ratings apply only to air-to-air unitary heat pumps and air conditioners with rated cooling capacities less than 65,000 Btu/h (19,000 Watts). The equations required to calculate the net cooling capacity and SEER values aaccording to the AHRI 2017 standard are outlined below (sections 15.2.5.9 and 15.2.5.10) further detail can be found in the AHRI Standard 210-240 (2017) (section 11). -[AHRI 2023] Support for the 2023 version of this Standard was added in EnergyPlus version 22.2. The updated Standard Ratings are designated as: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER2), and Seasonal Energy Efficiency Ratio (SEER2). As with th 2017 version, this standard and ratings apply only to air-to-air unitary heat pumps and air conditioners with rated cooling capacities less than 65,000 Btu/h (19 kW). The equations used in this implementation are detailed in the AHRI standard (Section 11). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-210240-2023-2020-performance-rating-unitary-air-conditioning-air-source-heat). +[AHRI 2017] The Standard Rating calculations defined in the 2017 version of this standard include: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER), and Seasonal Energy Efficiency Ratio (SEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:DX:MultiSpeed object. These AHRI Standard ratings apply only to air-to-air unitary heat pumps and air conditioners with rated cooling capacities less than 65,000 Btu/h (19,000 Watts). The equations required to calculate the net cooling capacity and SEER values according to the AHRI 2017 standard are outlined below (sections 15.2.5.9 and 15.2.5.10) further detail can be found in the AHRI Standard 210-240 (2017) (section 11). +[AHRI 2023] Support for the 2023 version of this Standard was added in EnergyPlus version 22.2. The updated Standard Ratings are designated as: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER2), and Seasonal Energy Efficiency Ratio (SEER2). As with the 2017 version, this standard and ratings apply only to air-to-air unitary heat pumps and air conditioners with rated cooling capacities less than 65,000 Btu/h (19 kW). The equations used in this implementation are detailed in the AHRI standard (Section 11). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-210240-2023-2020-performance-rating-unitary-air-conditioning-air-source-heat). ANSI/AHRI Standard 340-360 (AHRI 2022) -The Standard Rating calulations defined in this standard include: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER) and Integrated Energy Efficiency Ratio (IEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:VariableSpeed object (see the EnergyPlus I/O Reference manual for details). According to AHRI Standard, these ratings apply to factory-made Commercial and Industrial Unitary Air-conditioning and Heat Pump Equipment with rated cooling/heating capcities greater than 65,000 Btu/h (19 kW) and less than 250,000 Btu/h (73.2 kW). The equations used in this implementation are detailed in this standard (Section 6). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-340360-i-p2022-performance-rating-commercial-and-industrial-unitary-air). +The Standard Rating calculations defined in this standard include: Standard Rating Cooling Capacity, Energy Efficiency Ratio (EER) and Integrated Energy Efficiency Ratio (IEER). These standard ratings are calculated using the user-entered data in the Coil:Cooling:VariableSpeed object (see the EnergyPlus I/O Reference manual for details). According to AHRI Standard, these ratings apply to factory-made Commercial and Industrial Unitary Air-conditioning and Heat Pump Equipment with rated cooling/heating capacities greater than 65,000 Btu/h (19 kW) and less than 250,000 Btu/h (73.2 kW). The equations used in this implementation are detailed in this standard (Section 6). The reader can download the standard document to view these details from AHRI(https://www.ahrinet.org/search-standards/ahri-340360-i-p2022-performance-rating-commercial-and-industrial-unitary-air). Standard Ratings Reporting The values for these Standard Ratings are reported in the eplusout.eio output file and also in the predefined tabular output reports (Output:Table:SummaryReports object, '2017 Standard Ratings for DX Coils' and '2023 Standard Ratings for DX Coils'). diff --git a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-compound-component-groups.tex b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-compound-component-groups.tex index 3d96644eeed..89969ac2832 100644 --- a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-compound-component-groups.tex +++ b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-compound-component-groups.tex @@ -207,7 +207,7 @@ \subsubsection{Load based control:}\label{load-based-control} \emph{\({\dot m_{Speed1}}\)} is the air mass flow rate through unitary system at Speed 1 (kg/s) -\(\Delta_{sen,Speed1}\) is th sensible load difference between the system output node and the zone inlet node at full-load conditions at Speed 1. +\(\Delta_{sen,Speed1}\) is the sensible load difference between the system output node and the zone inlet node at full-load conditions at Speed 1. \begin{equation} \begin{split} diff --git a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex index 19ca6d020a7..ef0d5101918 100644 --- a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex +++ b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex @@ -9,7 +9,7 @@ \subsection{Energy Balance of Indoor Living Wall}\label{energy-balance-of-indoor Plant energy balance equation: \begin{equation} -Q_{lw-net}+Q_{sw}+h_{ip} \cdot A_ip \cdot (T_z - T_p )-\lambda \cdot A_ip \cdot ET+Q_{cond}=0 +Q_{lw-net}+Q_{sw}+h_{ip} \cdot A_ip \cdot (T_z - T_p )+Q_{cond}=0 \end{equation} where: @@ -27,11 +27,7 @@ \subsection{Energy Balance of Indoor Living Wall}\label{energy-balance-of-indoor \item \(T_p\) is the plant surface temperature (\si{\celsius}) \item - \(A_ip\) is the plant surface area (\si{\area}) -\item - \(\lambda\) is the latent heat of vaporization (\si{\specificEnthalpy}) -\item - \(ET\) is the evapotranspiration rate (\si{\evapotranspirationRate}). + \(A_ip\) is the plant surface area (\si{\area}). \end{itemize} Indoor air heat balance connects with indoor living walls through convective heat transfer, which has the opposite sign of the term in surface heat balance. Convective portion of heat gain from LED lights also contributes to zone air heat balance equation. @@ -53,7 +49,7 @@ \subsection{Energy Balance of Indoor Living Wall}\label{energy-balance-of-indoor \item $V_z$ is zone air volume (\si{\volume}) \item - \(\dot Q_i\) is the convective heat from internal loads (\si{\watt}) + \(\dot Q_i\) is the convective heat from internal loads including sensible heat gain from living walls (\si{\watt}) \item \({{h_i}} {A_i}\left( {{T_{si}} - {T_z}} \right)\) is the convective heat transfer from surfaces to zone air (\si{\watt}) \item diff --git a/doc/essentials/src/essentials.tex b/doc/essentials/src/essentials.tex index e7fddad3dc6..b81e087da89 100644 --- a/doc/essentials/src/essentials.tex +++ b/doc/essentials/src/essentials.tex @@ -42,7 +42,7 @@ \section{What is BEM?} \begin{itemize} \item \href{https://www.ashrae.org/technical-resources/ashrae-handbook/description-2017-ashrae-handbook-fundamentals}{2017 ASHRAE Handbook - Fundamentals }Chapter 19 Energy Estimating and Modeling Methods -\item \href{https://www.bemlibrary.com/}{BEM Libary} +\item \href{https://www.bemlibrary.com/}{BEM Library} \item \href{http://www.ibpsa.org/?page_id=695}{IBPSA}, \href{https://www.ibpsa.us/videos/all}{IBPSA-USA}, and \href{https://www.youtube.com/results?search_query=building+energy+modeling}{YouTube} videos @@ -89,7 +89,7 @@ \section{Questions that BEM can answer} The most common questions that BEM can answer are: \begin{itemize} \item If my building was made or operated differently, how would the required -equpment capacity and energy consumption change? +equipment capacity and energy consumption change? \item Does my building comply with a building energy code or standard? \item What kind of rating or how many points can I get in an environmental certification program? @@ -983,7 +983,7 @@ \section{What Are All These Output Files?} \item ERR -- list of errors and warnings \item TABLE.HTML, TABLE.TXT, TABLE.TAB, TABLE.CSV, TABLE.XML -- tabulated report of the bin and monthly data in HTML, space delimited, tab delimited, -comma delimited, or XML format. This is one of the primary otuput +comma delimited, or XML format. This is one of the primary output files. \item CSV, TAB, or TXT -- time series output from the Output:Variable input object in a comma, tab, or space delimited format (generated by the @@ -1101,7 +1101,7 @@ \section{Data Sets} DataSets -- which contains IDF snippets and MacroDataSets -- which also contain IDF snippets but are in a form such that they can be easily used with the EPMacro program. Another data set are DDY files -that acompany each EPW weather file. The DDY files include several +that accompany each EPW weather file. The DDY files include several varieties of the corresponding design day data for each weather file location. @@ -1168,7 +1168,7 @@ \section{Simulation Parameters} related to the simulation that, in general, should be allowed to default. \end{itemize} For a new modeler, the following input objects may be omitted. They -can be added later for special cases althought they and appear in +can be added later for special cases although they appear in almost all of the example files: \begin{itemize} \item Timestep - the number of timesteps each hour and usually set to 6. @@ -1204,7 +1204,7 @@ \section{Location and Climate} to the full year. When debugging a file, a shorter period of time can be used to speed up the simulation portion of the Run-Check-Edit cycle. -\item RunPeriodControl:SpecialDays - allows specfication of holidays and +\item RunPeriodControl:SpecialDays - allows specification of holidays and a good example can be seen in 5ZoneCostEst.idf. \item RunPeriodControl:DaylightSavingTime - allows the specification of the start and ending period for daylight savings time. This will impact diff --git a/doc/getting-started/src/energy-meters/standard-energy-meters.tex b/doc/getting-started/src/energy-meters/standard-energy-meters.tex index 24fd5d9fa3b..083b4327af6 100644 --- a/doc/getting-started/src/energy-meters/standard-energy-meters.tex +++ b/doc/getting-started/src/energy-meters/standard-energy-meters.tex @@ -61,7 +61,8 @@ \section{Standard Energy Meters}\label{standard-energy-meters} Water \tabularnewline Steam \tabularnewline DistrictCooling \tabularnewline -DistrictHeating \tabularnewline +DistrictHeatingWater \tabularnewline +DistrictHeatingSteam \tabularnewline \bottomrule \end{longtable} diff --git a/doc/getting-started/src/getting-started-with-energyplus.tex b/doc/getting-started/src/getting-started-with-energyplus.tex index 018320cab64..52c42c28f36 100644 --- a/doc/getting-started/src/getting-started-with-energyplus.tex +++ b/doc/getting-started/src/getting-started-with-energyplus.tex @@ -34,7 +34,6 @@ \chapter{Getting Started with EnergyPlus}\label{getting-started-with-energyplus} | +-- IDFVersionUpdater Graphical tool for updating old EnergyPlus files to the latest version +-- PostProcess | +-- ReadVarsEso The simple post processor exe. -| +-- EPCompare A graphical tool for comparing two EnergyPlus output sets +-- ExampleFiles Sample input, output, results files shipped with the program. +-- WeatherData Sample weather files shipped with the program. \end{lstlisting} diff --git a/doc/getting-started/src/tutorial-example-for-running-energyplus/instructions.tex b/doc/getting-started/src/tutorial-example-for-running-energyplus/instructions.tex index fcc3923832c..17f3a502586 100644 --- a/doc/getting-started/src/tutorial-example-for-running-energyplus/instructions.tex +++ b/doc/getting-started/src/tutorial-example-for-running-energyplus/instructions.tex @@ -28,7 +28,7 @@ \subsection{Exercise 1A. Run Pre-Defined Building with no Windows}\label{exercis \item Outdoor Dry Bulb -- is being reported (so you can compare to outside temperature) \item - The meter for the heating in the facility - DistrictHeating:Facility -- is being reported. Facility is the entire building. + The meter for the heating in the facility - DistrictHeatingWater:Facility -- is being reported. Facility is the entire building. \item The meter for the cooling in the facility - DistrictCooling:Facility -- is being reported. \end{itemize} diff --git a/doc/input-output-reference/src/overview/group-airflow-network.tex b/doc/input-output-reference/src/overview/group-airflow-network.tex index 61599bfaeaa..d06129e9d67 100644 --- a/doc/input-output-reference/src/overview/group-airflow-network.tex +++ b/doc/input-output-reference/src/overview/group-airflow-network.tex @@ -2156,8 +2156,12 @@ \subsubsection{Inputs}\label{inputs-2016-06-16} \hyperref[coilcoolingdxtwostagewithhumiditycontrolmode]{Coil:Cooling:DX:TwoStageWithHumidityControlMode} \item \hyperref[coilcoolingdxmultispeed]{Coil:Cooling:DX:MultiSpeed} +\item + \hyperref[coilcoolingdxvariablespeed]{Coil:Cooling:DX:VariableSpeed} \item \hyperref[coilheatingdxmultispeed]{Coil:Heating:DX:MultiSpeed} +\item + \hyperref[coilheatingdxvariablespeed]{Coil:Heating:DX:VariableSpeed} \item \hyperref[coilheatingdesuperheater]{Coil:Heating:Desuperheater} \end{itemize} diff --git a/doc/input-output-reference/src/overview/group-airflow.tex b/doc/input-output-reference/src/overview/group-airflow.tex index f70b854e548..218ac1dab71 100644 --- a/doc/input-output-reference/src/overview/group-airflow.tex +++ b/doc/input-output-reference/src/overview/group-airflow.tex @@ -1927,7 +1927,7 @@ \subsubsection{Outputs}\label{zoneearthtube-outputs} This is the wet bulb temperature of the air entering the zone after passing through the earth tube {[}C{]}. -\paragraph{Earth Tube Zone Inlet Humidity Ratio {[}kgWater/krDryAir{]}}\label{earth-tube-zone-inlet-humidity-ratio-kgWater/kgDryAir} +\paragraph{Earth Tube Zone Inlet Humidity Ratio {[}kgWater/krDryAir{]}}\label{earth-tube-zone-inlet-humidity-ratio-kgWater-kgDryAir} This is the humidity ratio of the air entering the zone after passing through the earth tube {[}kgWater/kgDryAir{]}. diff --git a/doc/input-output-reference/src/overview/group-daylighting.tex b/doc/input-output-reference/src/overview/group-daylighting.tex index 769bf3ae999..cedc47a96e2 100644 --- a/doc/input-output-reference/src/overview/group-daylighting.tex +++ b/doc/input-output-reference/src/overview/group-daylighting.tex @@ -20,7 +20,7 @@ \subsubsection{Inputs}\label{inputs-009} The name of the \hyperref[zone]{Zone} or \hyperref[space]{Space} to which the following daylighting-related input applies. If a zone name is specified, the zone must lie completely within a single solar enclosure. -\paragraph{Field: Daylighting Method}\label{field-Daylighting Method} +\paragraph{Field: Daylighting Method}\label{field-daylighting-method} The Daylighting Method field can be set to either of the following: SplitFlux or DElight. Different Zones can have different settings in the same file but in a single zone only one method should be used at a time. Guidelines for using the SplitFlux method and additional details on the DElight method are shown in following sections. @@ -89,7 +89,7 @@ \subsubsection{Inputs}\label{inputs-009} May be specified if a stepped lighting control system (Lighting Control Type set to Stepped) is manually operated, such as in a simple, one-step (on-off) system. Gives the probability the occupants of a daylit zone will set the electric lights to the correct level to obtain the required illuminance. The rest of the time the lights are assumed to be set one step too high. For example, consider an on-off lighting system (Number of Steps = 1) with a set point of 600 lux and 0.7 reset probability. Then, when daylighting exceeds 600 lux, the electric lights will be off 70\% of the time and on 30\% of the time. -\paragraph{Field: Glare Calculation Daylighting Reference Point Name}\label{field-glare calculation-daylighting-reference-point-name} +\paragraph{Field: Glare Calculation Daylighting Reference Point Name}\label{field-glare-calculation-daylighting-reference-point-name} The \hyperref[daylightingreferencepoint-000]{Daylighting:ReferencePoint} name should be specified that is used for determining the glare. Only one reference point is used to calculate the glare. This input is only used in when the Daylighting Method is set to SplitFlux. This input is ignored when Daylighting Method is set to DElight. diff --git a/doc/input-output-reference/src/overview/group-electric-load-center-generator.tex b/doc/input-output-reference/src/overview/group-electric-load-center-generator.tex index c36ba22bab5..40192856bf8 100644 --- a/doc/input-output-reference/src/overview/group-electric-load-center-generator.tex +++ b/doc/input-output-reference/src/overview/group-electric-load-center-generator.tex @@ -40,7 +40,7 @@ \subsubsection{Inputs}\label{inputs-014} \paragraph{Field: Transformer Usage}\label{field-transformer-usage} -This field indicates one of the three supported transformer application types: PowerInFromGrid, PowerOutToGrid, and LoadCenterPowerConditioning. A PowerInFromGrid type of transformer is used to step down voltage from the electricity grid to the building. The transformer with this type of use is somewhat free standing and does not need to be referenced in any \hyperref[electricloadcenterdistribution]{ElectricLoadCenter:Distribution} object. There should be only one PowerInFromGrid transformer in the model. A PowerOutToGrid type of transformer is used to match voltage from the building to the electricity grid. This conditions power exported out of the facility and feed back into the grid. This type of transformer will only be needed if the building ever exports power and the building and grid connection have different voltages. There should be only one PowerOutToGrid transformer in the model and it will serve all the surplus electricity produced by electric load center(s). A LoadCenterPowerConditioning type of transformer is used to match voltage between an electic load center (subpanel) and the facility's main panel. Each electric load center can have its own transformer to condition power fed into the main panel. For electric load centers that also draw power from the main panel, to charge storage, the transformer is assumed to operate in both directions (at the same performance). This type of transformer should be named in an \hyperref[electricloadcenterdistribution]{ElectricLoadCenter:Distribution} object. +This field indicates one of the three supported transformer application types: PowerInFromGrid, PowerOutToGrid, and LoadCenterPowerConditioning. A PowerInFromGrid type of transformer is used to step down voltage from the electricity grid to the building. The transformer with this type of use is somewhat free standing and does not need to be referenced in any \hyperref[electricloadcenterdistribution]{ElectricLoadCenter:Distribution} object. There should be only one PowerInFromGrid transformer in the model. A PowerOutToGrid type of transformer is used to match voltage from the building to the electricity grid. This conditions power exported out of the facility and feed back into the grid. This type of transformer will only be needed if the building ever exports power and the building and grid connection have different voltages. There should be only one PowerOutToGrid transformer in the model and it will serve all the surplus electricity produced by electric load center(s). A LoadCenterPowerConditioning type of transformer is used to match voltage between an electric load center (subpanel) and the facility's main panel. Each electric load center can have its own transformer to condition power fed into the main panel. For electric load centers that also draw power from the main panel, to charge storage, the transformer is assumed to operate in both directions (at the same performance). This type of transformer should be named in an \hyperref[electricloadcenterdistribution]{ElectricLoadCenter:Distribution} object. \paragraph{Field: Zone Name}\label{field-zone-name-005} @@ -149,7 +149,7 @@ \subsubsection{Outputs}\label{outputs-010} \item HVAC,Average,Transformer Output Electricity Rate {[}W{]} \item - HVAC,Sum,Transformer Output Elecric Energy {[}J{]} + HVAC,Sum,Transformer Output Electric Energy {[}J{]} \item HVAC,Average,Transformer Input Electricity Rate {[}W{]} \item @@ -178,7 +178,7 @@ \subsubsection{Outputs}\label{outputs-010} \paragraph{Transformer Output Electricity Rate {[}W{]}}\label{transformer-output-electric-power-w} -\paragraph{Transformer Output Elecric Energy {[}J{]}}\label{transformer-output-elecric-energy-j} +\paragraph{Transformer Output Electric Energy {[}J{]}}\label{transformer-output-electric-energy-j} These outputs are the total electricity power or energy provided by the transformer. They are equal to the metered loads which are wired to the transformer. These values are calculated for each HVAC system timestep being simulated, and the results are averaged (for power) or summed (for energy) for the timestep being reported. diff --git a/doc/input-output-reference/src/overview/group-heating-and-cooling-coils.tex b/doc/input-output-reference/src/overview/group-heating-and-cooling-coils.tex index 9581e3197ee..a572b80ac56 100644 --- a/doc/input-output-reference/src/overview/group-heating-and-cooling-coils.tex +++ b/doc/input-output-reference/src/overview/group-heating-and-cooling-coils.tex @@ -4222,7 +4222,7 @@ \subsubsection{Inputs}\label{inputs-19-001} This numeric field defines the capacity of the resistive defrost heating element in Watts. This input field is used only when the selected defrost strategy is resistive (see input field Defrost Strategy above). The value for this input field must be greater than or equal to 0. If this input field is left blank, the default value is 0. -\paragraph{Field: Region Number for Calculating HSPF (2017) and HSPF2 (2023)}\label{field-region-number-for-calculating-HSPF-(2017)-and-hspf2-(2023)} +\paragraph{Field: Region Number for Calculating HSPF (2017) and HSPF2 (2023)}\label{field-region-number-for-calculating-HSPF-2017-and-hspf2-2023} This optional numeric field defines the region number which is used in calculating the Heating Seasonal Performance Factor (HSPF (2017 ANSI/AHRI standard) and HSPF2 (2023 ANSI/AHRI standard)) of heating coils. The value for this input field must be between 1 and 6. If this input field is left blank, the default value is 4. diff --git a/doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex b/doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex index 526a1be444f..bf62f8cd5fa 100644 --- a/doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex +++ b/doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex @@ -2452,7 +2452,7 @@ \subsubsection{Outputs}\label{outputs-indoorlivingwall} \paragraph{Indoor Living Wall Sensible Heat Gain Rate {[}W{]}}\label{indoor-living-wall-sensible-heat-gain-rate-w} -This output is the sensible heat gain rate from indoor living walls in W and determined by surface heat balance. Positive sign represents heat loss from plants or heat gain to indoor space; negative sign represents heat gain to plants or heat loss from indoor space. +This output is the sensible heat gain rate from indoor living walls in W and determined by surface heat balance. Positive sign represents heat gain of spaces; negative sign represents heat loss of spaces. \paragraph{Indoor Living Wall Latent Heat Gain Rate {[}W{]}}\label{indoor-living-wall-latent-heat-gain-rate-w} diff --git a/doc/input-output-reference/src/overview/group-operational-faults.tex b/doc/input-output-reference/src/overview/group-operational-faults.tex index abfdb1346f7..54e19388df9 100644 --- a/doc/input-output-reference/src/overview/group-operational-faults.tex +++ b/doc/input-output-reference/src/overview/group-operational-faults.tex @@ -857,11 +857,11 @@ \subsubsection{Inputs} This field provides the name of a schedule that represents severity of a fault. This schedule should be set to a non-zero value when a fault is applicable and 0.0 when it is not. If this field is blank, the schedule has values of 1 for all time periods. This is used to increase or decrease the fouling by a percentage. For example, if the schedule has a value of 1.2, it implies 20\% more fouling: if the Fouling Factor is 0.8, then resulting Fouling Factor would be $0.8 / 1.2 = 0.67$. -\paragraph{Field: Evaporative Cooler Object Type}\label{field-evaporative cooler-object-type} +\paragraph{Field: Evaporative Cooler Object Type}\label{field-evaporative-cooler-object-type} This field defines the evaporative cooler object type that this fault is associated with. Choices are the wetted coil evaporative coolers. -\paragraph{Field: Evaporative Cooler Object Name}\label{field-evaporative cooler-object-name} +\paragraph{Field: Evaporative Cooler Object Name}\label{field-evaporative-cooler-object-name} This field defines the name of the evaporative cooler object associated with the fault. It should be one of the objects with the defined types. diff --git a/doc/input-output-reference/src/overview/group-performance-curves.tex b/doc/input-output-reference/src/overview/group-performance-curves.tex index 37a96ce5ae7..6f8f877b647 100644 --- a/doc/input-output-reference/src/overview/group-performance-curves.tex +++ b/doc/input-output-reference/src/overview/group-performance-curves.tex @@ -1066,7 +1066,7 @@ \subsubsection{Inputs}\label{inputs-6-016} \subsection{Curve:Biquadratic}\label{curvebiquadratic} -This curve is a function of two independent variables. Input consists of the curve name, the six coefficients, and min and max values for each of the independent variables. Optional inputs for curve minimum and maximum may be used to limit the output of the performance curve (e.g., limit extrapolation). The equation represented by the bicubic curve is: +This curve is a function of two independent variables. Input consists of the curve name, the six coefficients, and min and max values for each of the independent variables. Optional inputs for curve minimum and maximum may be used to limit the output of the performance curve (e.g., limit extrapolation). The equation represented by the biquadratic curve is: \begin{equation} z = {C_1} + {C_2}*x + {C_3}*{x^2} + {C_4}*y + {C_5}*{y^2} + {C_6}*xy diff --git a/doc/input-output-reference/src/overview/group-plant-condenser-control.tex b/doc/input-output-reference/src/overview/group-plant-condenser-control.tex index bd931e9c419..ca6f9b310c3 100644 --- a/doc/input-output-reference/src/overview/group-plant-condenser-control.tex +++ b/doc/input-output-reference/src/overview/group-plant-condenser-control.tex @@ -461,9 +461,9 @@ \subsubsection{Inputs}\label{inputs-13-009} \subsection{PlantEquipmentOperation:ChillerHeaterChangeover}\label{plantequipmentoperationchillerheaterchangeover} -Plant operation can difficult to control when air-to-water or water-to-water heat pumps are used as plant equipment. Individual machines can be operated either as cooling or heat devices at any given time. This object will poll the building to determine what type of loads are dominant and determine how the plant equipment should operate. Once the mode of operation is set the apparant plant loads are dispatched to equipment listed to meet those loads. For example, a heat pump capable of providing heating or cooling will be dispatched in heating mode. It is also possible to create a heat recovery heat pump connected between the heating and cooling plant loops where this heat pump can serve low loads on one plant while supplementing the operation of the other plant. Traditional plant controls cannot meet this type of equipment configuration. This object provides a supervisory controller can be used to control one heating and one cooling hydronic plant. +Plant operation can difficult to control when air-to-water or water-to-water heat pumps are used as plant equipment. Individual machines can be operated either as cooling or heat devices at any given time. This object will poll the building to determine what type of loads are dominant and determine how the plant equipment should operate. Once the mode of operation is set the apparent plant loads are dispatched to equipment listed to meet those loads. For example, a heat pump capable of providing heating or cooling will be dispatched in heating mode. It is also possible to create a heat recovery heat pump connected between the heating and cooling plant loops where this heat pump can serve low loads on one plant while supplementing the operation of the other plant. Traditional plant controls cannot meet this type of equipment configuration. This object provides a supervisory controller can be used to control one heating and one cooling hydronic plant. -This object is used as a special plant operation scheme intended for a specific type of plant with both heating and cooling plant loops served by heat pumps which can switch between heating and cooling. EnergyPlus's usual plant operation schemes focus on one plant at a time, however the need to cleanly control heat pumps switching between heating and cooling modes requires an operation scheme that considers both the heating and cooling plant loops at the same time. This object is intended to allow controlling both heating and cooling heating plants served by heat pumps that can changeover between heating and cooling. The main focus is air source heat pumps serving seperate cooling and heating plant loops. The scheme is also able to control operation of secondary heating and cooling loops. The fullest application of this scheme include boiler backup and control of a special water to water heat pump situated to exchange heat between the return hot water and return chilled water on the secondary loops. The following diagram shows the plant configuration supported by this supervisory controller. +This object is used as a special plant operation scheme intended for a specific type of plant with both heating and cooling plant loops served by heat pumps which can switch between heating and cooling. EnergyPlus's usual plant operation schemes focus on one plant at a time, however the need to cleanly control heat pumps switching between heating and cooling modes requires an operation scheme that considers both the heating and cooling plant loops at the same time. This object is intended to allow controlling both heating and cooling heating plants served by heat pumps that can changeover between heating and cooling. The main focus is air source heat pumps serving separate cooling and heating plant loops. The scheme is also able to control operation of secondary heating and cooling loops. The fullest application of this scheme include boiler backup and control of a special water to water heat pump situated to exchange heat between the return hot water and return chilled water on the secondary loops. The following diagram shows the plant configuration supported by this supervisory controller. \begin{figure}[hbtp] \centering @@ -483,11 +483,11 @@ \subsection{PlantEquipmentOperation:ChillerHeaterChangeover}\label{plantequipmen This supervisory plant controller polls the building to see how the current loads favor operating the plants in either a cooling-only, heating-only, or simultaneous cooling and heating mode. The building loads include the predicted sensible loads to setpoint for the listed zones, the ventilation loads on any central air handlers connected to those zones, and the loads from any process loads on plant (from a LoadProfile:Plant object). The controller determines which of the three modes the plant should be in based on the polled building loads. -Once the mode of operaton is determined, the controller dispatches the equipment based on the inputs for the operation scheme and equipment lists input for that mode using the current load on the primary plant side. The heat pumps are modeled with companion objects, where a single machine has both cooling and heating input objects. The PlantEquipmentOperation:CoolingLoad operating schemes should specify equipment lists with the cooling companion models (HeatPump:PlantLoop:EIR:Cooling) and the PlantEquipmentOperation:HeatingLoad operating schemes should point to the heating companion models (HeatPump:PlantLoop:EIR:Heating). The heat pump model inputs need to set the Control Type to ``Setpoint'' control. +Once the mode of operation is determined, the controller dispatches the equipment based on the inputs for the operation scheme and equipment lists input for that mode using the current load on the primary plant side. The heat pumps are modeled with companion objects, where a single machine has both cooling and heating input objects. The PlantEquipmentOperation:CoolingLoad operating schemes should specify equipment lists with the cooling companion models (HeatPump:PlantLoop:EIR:Cooling) and the PlantEquipmentOperation:HeatingLoad operating schemes should point to the heating companion models (HeatPump:PlantLoop:EIR:Heating). The heat pump model inputs need to set the Control Type to ``Setpoint'' control. -This controller includes special handing of boiler backup. Because air-source heat pumps can be limited in their ability to operate and cold outdoor air temperatures, in is necessary to coordinate boiler operation to provide heating during cold weather. If a simple hot water boiler is present on the heating loops, it will be operated as a supplemental or auxilary heater to be used when the heat pumps cannot deliver. For example when the outdoor air is below the Low Outdoor Air Temperature limit the air source heat pumps cannot operate and a boiler is used to meeting the setpoint. Boilers found on a primary hot water loop are considered auxiliary boilers while boilers found on a secondary hot water loop are considered supplemental boilers. Auxiliary boilers, if present, are operated when the outdoor air temperature is below the Outdoor Low Temperature and use the setpoint temperature determined by outdoor air reset. The usual location of an auxiliary boiler is in the branch serving as the outlet branch on the supply side of the primary hot water loop. Supplemental boilers, if present, are operated when the inlet fluid temperature is below a setpoint. The setpoint is determined by the lower of the secondary hot water setpoint and the outdoor air reset. The usual location of a supplemental boiler is in the branch serving as the outlet branch on the supply side of the secondary hot water loop. +This controller includes special handing of boiler backup. Because air-source heat pumps can be limited in their ability to operate and cold outdoor air temperatures, in is necessary to coordinate boiler operation to provide heating during cold weather. If a simple hot water boiler is present on the heating loops, it will be operated as a supplemental or auxiliary heater to be used when the heat pumps cannot deliver. For example when the outdoor air is below the Low Outdoor Air Temperature limit the air source heat pumps cannot operate and a boiler is used to meeting the setpoint. Boilers found on a primary hot water loop are considered auxiliary boilers while boilers found on a secondary hot water loop are considered supplemental boilers. Auxiliary boilers, if present, are operated when the outdoor air temperature is below the Outdoor Low Temperature and use the setpoint temperature determined by outdoor air reset. The usual location of an auxiliary boiler is in the branch serving as the outlet branch on the supply side of the primary hot water loop. Supplemental boilers, if present, are operated when the inlet fluid temperature is below a setpoint. The setpoint is determined by the lower of the secondary hot water setpoint and the outdoor air reset. The usual location of a supplemental boiler is in the branch serving as the outlet branch on the supply side of the secondary hot water loop. -This controller includes a special handling of a dedicated water to water heat pump used to recover heat directly between the return hot water and return chlled water. The cooling and heating companions of this heat pump are named in the object. These are used to efficiently exchange heat between the return flows on the secondary hot and chilled water returns. This dedicated water to water heat pump will operate when there is sufficient flows in both returns and can be controlled to not operate when loads are high. +This controller includes a special handling of a dedicated water to water heat pump used to recover heat directly between the return hot water and return chilled water. The cooling and heating companions of this heat pump are named in the object. These are used to efficiently exchange heat between the return flows on the secondary hot and chilled water returns. This dedicated water to water heat pump will operate when there is sufficient flows in both returns and can be controlled to not operate when loads are high. \subsubsection{Inputs}\label{inputs-plantequipmentoperationchillerheaterchangeover} @@ -513,11 +513,11 @@ \subsubsection{Inputs}\label{inputs-plantequipmentoperationchillerheaterchangeov \paragraph{Field: Primary Heating Plant Setpoint at Outdoor Low Temperature}\label{field-hot-water-setpoint-reset-max-temp-diff-plantequipmentoperationchillerheaterchangeover} -This required numeric field specifies the heating plant operating set point temperature at the low outdoor air temperature. This value is generally set to the warmest temperature the heat pump can deliver at the Outdoor Low Temperature. Degress C. +This required numeric field specifies the heating plant operating set point temperature at the low outdoor air temperature. This value is generally set to the warmest temperature the heat pump can deliver at the Outdoor Low Temperature. Degrees C. \paragraph{Field: Outdoor Low Temperature}\label{field-hot-water-setpoint-reset-ratio-plantequipmentoperationchillerheaterchangeover} -This required numeric field specifies the low outdoor air temperature used for outdoor air reset and heat pump control. This serves as the lower limit for when air source heat pumps can operate in heaing mode. If the outdoor air is colder than this setting, the air source heat pumps cannot operate. Degrees C. +This required numeric field specifies the low outdoor air temperature used for outdoor air reset and heat pump control. This serves as the lower limit for when air source heat pumps can operate in heating mode. If the outdoor air is colder than this setting, the air source heat pumps cannot operate. Degrees C. \paragraph{Field: Secondary Distribution Heating Plant Setpoint Temperature}\label{secondary-distribution-heating-plant-setpoint-temperature} @@ -627,7 +627,7 @@ \subsubsection{Inputs}\label{inputs-plantequipmentoperationchillerheaterchangeov \paragraph{Supervisory Plant Auxiliary Boiler Mode}\label{operation-scheme-outputs-boiler-operation-mode} -This integer output represents the plant operating mode for the auxilary and/or supplemental boiler. Off = 0, Heating = 1. +This integer output represents the plant operating mode for the auxiliary and/or supplemental boiler. Off = 0, Heating = 1. \paragraph{Supervisory Plant Operation Polled Building Heating Load}\label{operation-scheme-outputs-supervisory-plant-operation-sensed-heating-load} diff --git a/doc/input-output-reference/src/overview/group-simulation-parameters.tex b/doc/input-output-reference/src/overview/group-simulation-parameters.tex index 133543c557a..a8483b4722b 100644 --- a/doc/input-output-reference/src/overview/group-simulation-parameters.tex +++ b/doc/input-output-reference/src/overview/group-simulation-parameters.tex @@ -618,10 +618,10 @@ \subsubsection{Inputs}\label{inputs-10-019} This field applies to the shading calculation update frequency method called ``Periodic.'' When the method called ``Timestep'' is used the diffuse sky modeling always uses DetailedSkyDiffuseModeling. -\paragraph{Field: Output External Shading Calculation Results}\label{field-output-external-shading-calculation results} +\paragraph{Field: Output External Shading Calculation Results}\label{field-output-external-shading-calculation-results} This fields indicates whether or not (\textbf{Yes} or \textbf{No})to save internal shading calculation results to an external file, which can be imported back as needed. This file saves external sunlit fractions for all surfaces. If \textbf{Yes} is chosen, hourly shading fraction of all surfaces will be exported as a CSV file, naming as "output file prefix + shading" (the default name is "eplusshading.csv" if no output file prefix is defined). Each column of the CSV file lists the annually calculated shading fraction of each surface with time-step interval. It only writes data for each simulation day that shadows are calculated, e.g. once every 20 days by default. If the results are intended to be reused to be imported back using \textbf{Imported} in \textbf{\hyperref[field-shading-calculation-method]{Field: Shading Calculation Method}}, the Calculation Frequency should be set as one to write year-round hourly results. Design days are not included. The default choice is \textbf{No}. -\paragraph{Field: Disable Self-Shading Within Shading Zone Groups}\label{fieldself--disable-shading-within-a-zone-group} +\paragraph{Field: Disable Self-Shading Within Shading Zone Groups}\label{field-self--disable-shading-within-a-zone-group} This fields specifies during shading calculation, for all surfaces in a targeted Zone Group, whether or not (\textbf{Yes} or \textbf{No} ) the self-shading effect by exterior surfaces of all zones within the target Zone Group is disabled. If Yes, self-shading will be disabled from all exterior surfaces in a given Shading Zone Group to surfaces within the same Shading Zone Group. If both Disable Self-Shading Within Shading Zone Groups and Disable Self-Shading From Shading Zone Groups to Other Zones = Yes, then all self-shading from exterior surfaces will be disabled.If only one of these fields = Yes, then at least one Shading Zone Group must be specified, or this field will be ignored. Shading from Shading:* surfaces, overhangs, fins, and reveals will not be disabled. \paragraph{Field: Disable Self-Shading From Shading Zone Groups to Other Zones}\label{field-self-disable-shading-between-zone-groups} diff --git a/doc/input-output-reference/src/overview/group-surface-construction-elements.tex b/doc/input-output-reference/src/overview/group-surface-construction-elements.tex index a32a8141b4f..c107bfc842b 100644 --- a/doc/input-output-reference/src/overview/group-surface-construction-elements.tex +++ b/doc/input-output-reference/src/overview/group-surface-construction-elements.tex @@ -2667,27 +2667,27 @@ \subsubsection{Inputs}\label{inputs-24-003} \paragraph{Field: Slat Width}\label{field-slat-width-1} -The width (m) of the venetian slats.~ Used only for ShadingLayerType = Venetian. +The width (m) of the venetian slats.~ Used only for ShadingLayerType = VenetianHorizontal or VenetianVertical. \paragraph{Field: Slat Spacing}\label{field-slat-spacing} -The distance (m) between front sides of the venetian slats.~ Used only for ShadingLayerType = Venetian. +The distance (m) between front sides of the venetian slats.~ Used only for ShadingLayerType = VenetianHorizontal or VenetianVertical. \paragraph{Field: Slat Thickness}\label{field-slat-thickness-1} -The thickness (m) of the venetian slats.~ Used only for ShadingLayerType = Venetian. +The thickness (m) of the venetian slats.~ Used only for ShadingLayerType = VenetianHorizontal or VenetianVertical. \paragraph{Field: Slat Angle}\label{field-slat-angle-1} -The slat tilt angle (degrees) of the venetian slats.~ Used only for ShadingLayerType = Venetian.~ Range of slat angle is from -90 to 90 degrees. +The slat tilt angle (degrees) of the venetian slats.~ Used only for ShadingLayerType = VenetianHorizontal or VenetianVertical.~ Range of slat angle is from -90 to 90 degrees. \paragraph{Field: Slat Conductivity}\label{field-slat-conductivity-1} -The conductivity (W/mK) of the venetian slats.~ Used only for ShadingLayerType = Venetian. +The conductivity (W/mK) of the venetian slats.~ Used only for ShadingLayerType = VenetianHorizontal or VenetianVertical. \paragraph{Field: Slat Curve}\label{field-slat-curve} -The curvature radius (m) of the venetian slats.~ Setting this value to zero means there is no curvature in the slat (it is flat), while a non-zero value is the radius of the slat curve.~ This value cannot be smaller than Slat Width / 2.~ Used only for ShadingLayerType = Venetian. +The curvature radius (m) of the venetian slats.~ Setting this value to zero means there is no curvature in the slat (it is flat), while a non-zero value is the radius of the slat curve.~ This value cannot be smaller than Slat Width / 2.~ Used only for ShadingLayerType = VenetianHorizontal or VenetianVertical. \begin{figure}[hbtp] % fig 18 \centering @@ -2695,13 +2695,13 @@ \subsubsection{Inputs}\label{inputs-24-003} \caption{Side view of horizontal venetian blind slats or top view of blinds with vertical slats. Front face of slats is marked with red line. \protect \label{fig:side-view-of-horizontal-venetian-blind-slats}} \end{figure} -An IDF example for ShadingLayerType = Venetian +An IDF example for ShadingLayerType = VenetianHorizontal \begin{lstlisting} WindowMaterial:ComplexShade, !- venetian blind layer Shade_30001_Layer, !- name - Venetian, !- shading layer type + VenetianHorizontal, !- shading layer type 0.005, !- thickness 160, !- layer conductivity 0.0, !- IR transmittance @@ -4118,7 +4118,7 @@ \subsubsection{Outputs}\label{outputs-36-1} This output is the temperature within the surface at the location of the source/sink. -\paragraph{Surface Internal User Specified Location Temperature {[}C{]}}\label{surface-internal-user—specified-location-temperature-c} +\paragraph{Surface Internal User Specified Location Temperature {[}C{]}}\label{surface-internal-user-specified-location-temperature-c} This output is the temperature within the surface at the location requested by the user. diff --git a/doc/input-output-reference/src/overview/group-zone-equipment.tex b/doc/input-output-reference/src/overview/group-zone-equipment.tex index 600d3c236ef..f835340823a 100644 --- a/doc/input-output-reference/src/overview/group-zone-equipment.tex +++ b/doc/input-output-reference/src/overview/group-zone-equipment.tex @@ -487,7 +487,7 @@ \subsubsection{Inputs}\label{inputs-1-052-seqsplitter} \paragraph{Field: Space Fraction Method}\label{field-seqsplitter-space-sizing-basis} The method used to autosize the space fractions. The choices are: DesignCoolingLoad, DesignHeatingLoad, FloorArea, Volume, and PerimeterLength. The default is DesignCoolingLoad. -For example, if there are 3 Spaces listed below, the Space Output Fractions will be sized to Space1DesignCoolingLoad / Sum(Space1thru3DesignCoolingLoad). +For example, if there are 3 Spaces listed below, the Space 1 Output Fraction will be sized to Space1DesignCoolingLoad / Sum(Space1thru3DesignCoolingLoad). PerimeterLength sums the width of exterior walls in each space. \paragraph{Field: Space \textless{}x\textgreater{} Name}\label{field-seqsplitter-space-name} @@ -547,7 +547,7 @@ \subsubsection{Inputs}\label{inputs-1-052-seqmixer} \paragraph{Field: Space Fraction Method}\label{field-seqmixer-space-sizing-basis} The method used to autosize the space fractions. The choices are: DesignCoolingLoad, DesignHeatingLoad, FloorArea, Volume, and PerimeterLength. The default is DesignCoolingLoad. -For example, if there are 3 Spaces listed below, the Space Output Fractions will be sized to Space1DesignCoolingLoad / Sum(Space1thru3DesignCoolingLoad). +For example, if there are 3 Spaces listed below, the Space 1 Output Fraction will be sized to Space1DesignCoolingLoad / Sum(Space1thru3DesignCoolingLoad). PerimeterLength sums the width of exterior walls in each space. \paragraph{Field: Space \textless{}x\textgreater{} Name}\label{field-seqmixer-space-name} diff --git a/doc/input-output-reference/src/overview/group-zone-forced-air-units.tex b/doc/input-output-reference/src/overview/group-zone-forced-air-units.tex index 43f2e9f2f5e..b10bf8baf47 100644 --- a/doc/input-output-reference/src/overview/group-zone-forced-air-units.tex +++ b/doc/input-output-reference/src/overview/group-zone-forced-air-units.tex @@ -1891,7 +1891,7 @@ \subsubsection{Inputs}\label{inputs-6-032} ZoneHVAC:OutdoorAirUnit:EquipmentList, Zone5OAUEquip1, !- Name Dehumidifier:Desiccant:NoFans, !- Component 1 Object Type - Z5Dessicant, !- Component 1 Name + Z5Desiccant, !- Component 1 Name HeatExchanger:AirToAir:FlatPlate, !- Component 2 Object Type Zone5A2AHeat Recovery, !- Component 2 Name CoilSystem:Cooling:DX, !- Component 3 Object Type diff --git a/doc/module-developer/src/energyplus-services/error-messages.tex b/doc/module-developer/src/energyplus-services/error-messages.tex index bf636074ac5..12d438b64d8 100644 --- a/doc/module-developer/src/energyplus-services/error-messages.tex +++ b/doc/module-developer/src/energyplus-services/error-messages.tex @@ -116,7 +116,7 @@ \subsection{ShowWarningError, ShowWarningMessage}\label{showwarningerror-showwar ~~ ** Warning ** Processing Monthly Tabular Reports: PEAK SPACE GAINS -The important difference between the two calls is that the ``Error'' call will incrase the ``number of warnings'' counter whereas the ``Message'' call does not incrase the counter.~ The ``Message'' call can, therefore, be used ro ``start'' off a recurring sequence without disturbing the total warning count.~ To do this, one would place the calls: +The important difference between the two calls is that the ``Error'' call will increase the ``number of warnings'' counter whereas the ``Message'' call does not increase the counter.~ The ``Message'' call can, therefore, be used to ``start'' off a recurring sequence without disturbing the total warning count.~ To do this, one would place the calls: CALL ShowWarningMessage(xxx) @@ -132,7 +132,7 @@ \subsection{ShowSevereError, ShowSevereMessage}\label{showsevereerror-showsevere ~~ ** Severe~ ** Node Connection Error, Node = ``SOFC AIR INLET NODE'', ZoneExhaust node did not find a matching inlet node. -The important difference between the two calls is that the ``Error'' call will incrase the ``number of severe errors'' counter whereas the ``Message'' call does not incrase the counter.~ The ``Message'' call can, therefore, be used ro ``start'' off a recurring sequence without disturbing the total warning count.~ To do this, one would place the calls: +The important difference between the two calls is that the ``Error'' call will increase the ``number of severe errors'' counter whereas the ``Message'' call does not increase the counter.~ The ``Message'' call can, therefore, be used to ``start'' off a recurring sequence without disturbing the total warning count.~ To do this, one would place the calls: CALL ShowSevereMessage(xxx) @@ -148,7 +148,7 @@ \subsection{ShowFatalError}\label{showfatalerror} ~~ **~ Fatal~ ** EMS user program halted simulation with error code = 9001.30 -For clarity, the sequence ending in the fatal error, should start with a Severe error and give the user a good indication of the problem.~ During execution, this Severe error may immediately preceed the Fata call. During get input, errors may be found previously in the input, interspersed with Warning errors.~ The last Severe error is stored and displayed as the program terminates. +For clarity, the sequence ending in the fatal error, should start with a Severe error and give the user a good indication of the problem.~ During execution, this Severe error may immediately precede the Fatal call. During get input, errors may be found previously in the input, interspersed with Warning errors.~ The last Severe error is stored and displayed as the program terminates. \subsection{ShowContinueError, ShowContinueErrorTimeStamp}\label{showcontinueerror-showcontinueerrortimestamp} @@ -196,7 +196,7 @@ \subsection{Recurring Error Handling}\label{recurring-error-handling} The first two parameters (Message, MsgIndex) are required.~ The remaining six arguments (ReportMaxOf, ReportMinOf, ReportSumOf, ReportMaxUnits, ReportMinUnits, ReportSumUnits) are optional. To illustrate, we re-write the above call using the recurring error routines.~ (Note that we still do the first few counted because we are using the TimeStamp routine -- however a message buffer is set up in this instance.). -!~~ Print warning messages only when valid and only for the first ocurrance. Let summary provide statistics. +!~~ Print warning messages only when valid and only for the first occurrence. Let summary provide statistics. !~~ Wait for next time step to print warnings. If simulation iterates, print out @@ -236,7 +236,7 @@ \subsection{Recurring Error Handling}\label{recurring-error-handling} Illustrations of use of these calls is seen in the Chiller modules, PurchasedAir modules, DXCoil modules and others. -Another example is seen in the Dessicant routines: +Another example is seen in the Desiccant routines: ~ IF (Node(DesicDehum(DesicDehumNum)\%RegenAirInNode)\%MassFlowRate .NE. \& diff --git a/doc/module-developer/src/energyplus-services/psychrometric-services.tex b/doc/module-developer/src/energyplus-services/psychrometric-services.tex index 983cf5e9ee8..32523d887ad 100644 --- a/doc/module-developer/src/energyplus-services/psychrometric-services.tex +++ b/doc/module-developer/src/energyplus-services/psychrometric-services.tex @@ -90,7 +90,7 @@ \subsection{PsyRhFnTdbRhov (Tdb,Rhov,calledfrom)}\label{psyrhfntdbrhov-tdbrhovca \subsection{PsyRhFnTdbWPb (Tdb,W,Pb,calledfrom)}\label{psyrhfntdbwpb-tdbwpbcalledfrom} -Returns the relative humifity (fraction) as a function of of dry bulb temperature {[}Tdb{]} (Celsius), humidity ratio {[}W{]} (kilograms of water per kilogram of dry air) and barometric pressure {[}Pb{]} (Pascals). +Returns the relative humidity (fraction) as a function of of dry bulb temperature {[}Tdb{]} (Celsius), humidity ratio {[}W{]} (kilograms of water per kilogram of dry air) and barometric pressure {[}Pb{]} (Pascals). \subsection{PsyTwbFnTdbWPb (Tdb,W,Pb,calledfrom)}\label{psytwbfntdbwpb-tdbwpbcalledfrom} diff --git a/doc/module-developer/src/hvac-network/interfacing-with-plant.tex b/doc/module-developer/src/hvac-network/interfacing-with-plant.tex index 1d6a8481c83..ad1594f25c0 100644 --- a/doc/module-developer/src/hvac-network/interfacing-with-plant.tex +++ b/doc/module-developer/src/hvac-network/interfacing-with-plant.tex @@ -1,6 +1,6 @@ \section{Interfacing with Plant}\label{interfacing-with-plant} -Beginning with Version 7.0, EnergyPlus's plant routines were reengineered and this section discusses protocols for how component models should interact with plant loop modeling.~ Component models that reject or obtain heat from a liquid fluid stream, such as hot or chilled water, condenser water, and steam (but not refrigeration), are ``plant components'' that will need to interface with the central plant solver routines.~ This section describes a number of utility routines and concepts for developers of plant component models. +Beginning with Version 7.0, EnergyPlus's plant routines were re-engineered and this section discusses protocols for how component models should interact with plant loop modeling.~ Component models that reject or obtain heat from a liquid fluid stream, such as hot or chilled water, condenser water, and steam (but not refrigeration), are ``plant components'' that will need to interface with the central plant solver routines.~ This section describes a number of utility routines and concepts for developers of plant component models. The node structure discussed above is reused for plant.~ Each component model related to plant has inlet and outlet nodes that describe how it is connected to the loop.~ Many of the routines pass in node indexes as arguments as well as other indexes into the main plant data structure. @@ -20,7 +20,7 @@ \subsection{Plant Loop Data Structure}\label{plant-loop-data-structure} Comp is the fourth level and will be sized to the total number of components on the branch. -There are four indices that indentify each component's location for each of the plant loops it is connected with: : loop number, loop side number, branch number, and component number.~ A water cooled chiller will be connected to two loops and so the component itself will appear twice in the data structure and one set of indices will identify its location on the chilled water loop while a second set of indices will locate it on the condenser loop.~~ +There are four indices that identify each component's location for each of the plant loops it is connected with: : loop number, loop side number, branch number, and component number.~ A water cooled chiller will be connected to two loops and so the component itself will appear twice in the data structure and one set of indices will identify its location on the chilled water loop while a second set of indices will locate it on the condenser loop.~~ \subsection{Initialization}\label{initialization} @@ -38,9 +38,9 @@ \subsection{Sizing}\label{sizing} \begin{itemize} \item - PlantFirstSizesOkayToFinalizePlantSizeNotComplete This public logical boolean flag is declared in DataPlant. It starts out FALSE TRUEfalse and is set to TRUE FALSEtrue only after all some intial plant sizing actions iterations have been completed and the first set of sizes can be finalized. Component models should delay first filling autosized values until this flag is true. The -9999 values that indicate an autosized variable are not filled until this is TRUE. + PlantFirstSizesOkayToFinalizePlantSizeNotComplete This public logical boolean flag is declared in DataPlant. It starts out FALSE TRUEfalse and is set to TRUE FALSEtrue only after all some initial plant sizing actions iterations have been completed and the first set of sizes can be finalized. Component models should delay first filling autosized values until this flag is true. The -9999 values that indicate an autosized variable are not filled until this is TRUE. \item - PlantFirstSizesOkayToReportPlantSizesOkayToFinalize This public logical boolean flag is declared in DataPlant. It starts out false FALSE and is set to TRUE true after the main iterative phase of sizing is completed but before the final finishing passes are made. This flag is only used for advanced sizing methods based on HVAC Sizing Simulations, where the program should report both the ``Initial'' sizes and the final sizes. Component models should delay final reporting first sizes and filling of autosized values until this is set to TRUEtrue. The -9999 values that indicate an autosized variable are not filled until this is TRUE. The first, or intial, cCalls to report the outcome of sizing are not made until this is TRUEtrue. + PlantFirstSizesOkayToReportPlantSizesOkayToFinalize This public logical boolean flag is declared in DataPlant. It starts out false FALSE and is set to TRUE true after the main iterative phase of sizing is completed but before the final finishing passes are made. This flag is only used for advanced sizing methods based on HVAC Sizing Simulations, where the program should report both the ``Initial'' sizes and the final sizes. Component models should delay final reporting first sizes and filling of autosized values until this is set to TRUEtrue. The -9999 values that indicate an autosized variable are not filled until this is TRUE. The first, or initial, cCalls to report the outcome of sizing are not made until this is TRUEtrue. \item PlantFinalSizesOkayToReport This public boolean flag is declared in DataPlant. It starts out false and is set to true when all the sizing is done and it is okay to report the final size values. Component models should delay reporting final sizes until this is set to true. \item @@ -67,7 +67,7 @@ \subsection{Sizing}\label{sizing} 6.~~~~Sizing finished and PlantSizeNotCompleteset FALSE -In earlier versions, component sizing routines were only called once and one had to take care not call them repeatedly (or else their flow request would get doubled each time). However, now plant component models should be designed for multiple executions of their component-level sizing routine. This allows for an iterative approach to plant sizing that is used to solve complex problems raised by inter-connected loops and the interdependence of sizing information. As of version 8.3, the addition of HVAC Sizing Simulation method makes it very explicit that not only do sizing routines need to be able to rerun, the autosized values need to be set to useable values and then changed. It is therefore now necessary to store whether or not the original input was set to autosize and so autosizable input now needs to add a boolean ``*WasAutoSized'' version of the variable to keep track of the user input. +In earlier versions, component sizing routines were only called once and one had to take care not call them repeatedly (or else their flow request would get doubled each time). However, now plant component models should be designed for multiple executions of their component-level sizing routine. This allows for an iterative approach to plant sizing that is used to solve complex problems raised by inter-connected loops and the interdependence of sizing information. As of version 8.3, the addition of HVAC Sizing Simulation method makes it very explicit that not only do sizing routines need to be able to rerun, the autosized values need to be set to usable values and then changed. It is therefore now necessary to store whether or not the original input was set to autosize and so autosizable input now needs to add a boolean ``*WasAutoSized'' version of the variable to keep track of the user input. After the component model has determined a design value for the flow rate, this flow rate needs to be registered with the larger plant routines by calling RegisterPlantCompDesignFlow.~This is a volume flow rate in m\(^{3}\)/s.~ The flow rate is associated with the inlet node.~ This call can be repeated and the design flow will be updated with the latest request. @@ -113,7 +113,7 @@ \subsection{Central Routine Modifications}\label{central-routine-modifications} d.~~~Array ValidLoopEquipTypes.~ Add array element with classification for what type of loop this component is intended for, primarily with respect to the type of loop it is intended to meet loads. -e.~~~~Parameter TypeOf\_xxxx .~ Add an integer parameter to identify ``TypeOf'' number for subsequent use to identify component type without having to do string comparisions. +e.~~~~Parameter TypeOf\_xxxx .~ Add an integer parameter to identify ``TypeOf'' number for subsequent use to identify component type without having to do string comparisons. 2.~~~~PlantManager.f90 diff --git a/doc/readthedocs/sphinx/tips_and_tricks/tips_and_tricks.rst b/doc/readthedocs/sphinx/tips_and_tricks/tips_and_tricks.rst index 76b1ceb5047..275132fb09d 100644 --- a/doc/readthedocs/sphinx/tips_and_tricks/tips_and_tricks.rst +++ b/doc/readthedocs/sphinx/tips_and_tricks/tips_and_tricks.rst @@ -43,7 +43,7 @@ https://energyplushelp.freshdesk.com/ The site is monitored by EnergyPlus developers and questions are attempted to be answered in a timely manner. Standard EnergyPlus support -is provided free of charge by the U.S. Deparment of Energy, as part of a +is provided free of charge by the U.S. Department of Energy, as part of a continuing effort to improve the EnergyPlus building simulation tool. Expedited, priority support may be available from other sources. The helpdesk has a files area where important (after release) files may be @@ -133,7 +133,7 @@ Datasets aka Libraries ---------------------- EnergyPlus uses the term DataSets for what many would call libraries. -These files are included, for the most part, in the instalation package +These files are included, for the most part, in the installation package but may be available from other sites (such as the helpdesk or Yahoo Groups). @@ -141,7 +141,7 @@ There are two flavors of DataSets: **simple** and **Macro**. Some sets have files in both camps (for example, Solar Collectors). Both flavors contain IDF objects ready to be put into EnergyPlus input files. With the simple datasets, you may need to use a text editor or the IDF Editor -to search the file for the one you want to use. With the macro datsets +to search the file for the one you want to use. With the macro datasets and a simply structured imf (input macro file), you can name the item you want to include. (The macro program is described in the `Auxiliary Programs document `__). @@ -291,7 +291,7 @@ You can’t measure extraterrestrial unless you’re in outer space, but then it’s assumed to be constant anyway. For the various radiation and illuminance values, they can measured by various instrumentation ranging from the very cheap to the very expensive. Properly, radiation needs to -be measured with a pyranometer (Eppley), which is pricy, but I’m also +be measured with a pyranometer (Eppley), which is pricey, but I’m also seen people use simpler apparatus (Lycors) that are really photometers. Direct beam is generally not measured, but derived by subtracting the diffuse from the global. Diffuse is measured by adding a shadow band @@ -1024,7 +1024,7 @@ each other: and diffuse solar (and daylighting) to pass between the adjacent zones. -* Radiant (long-wave thermal) transfer can be signifcant between exterior surfaces of a perimeter zone and +* Radiant (long-wave thermal) transfer can be significant between exterior surfaces of a perimeter zone and interior surfaces of a core zone with an open boundary between them. Normally, there is no direct radiant exchange between surfaces in different thermal zones. Construction:AirBoundary groups adjacent @@ -1133,7 +1133,7 @@ The Trombe wall convection algorithm is applicable to just about any vertical cavity with a high aspect ratio and relatively narrow width. I’m not sure if a double facade cavity would meet the aspect ratio requirement. But I do know the Trombe wall algorithm is not picky about -whether the inner wall is highly absorbant, or about any particular +whether the inner wall is highly absorbent, or about any particular properties of the walls. Actually the same basic algorithm is used by the window model to calculate the convection between the two panes of a window. The full reference is ISO 15099. @@ -1254,7 +1254,7 @@ that are used during EnergyPlus development testing (i.e.small differences are within .001 or .5%; big differences are greater than those limits). -For the purposes of dicussion, the buildings will be called: +For the purposes of discussion, the buildings will be called: * Multistory 1 – the original 9 zone building (with multipliers and groups) ref: Figure `fig:original-multistory-idf`_; * Multistory 2 – the building shown in Figure `fig:multistory-with-cloned-middle-zones`_. @@ -1317,7 +1317,7 @@ With these included, the files were rerun with the following results: .. table:: Multiplier Results with negated height variation. +---------------+---------------------+---------------------+---------------------+---------------------+ - | Location | Multi-story 2 Loahs | Multi-story 2 Meter | Multi-story 3 Loahs | Multi-story 3 Meter | + | Location | Multi-story 2 Loads | Multi-story 2 Meter | Multi-story 3 Loads | Multi-story 3 Meter | +===============+=====================+=====================+=====================+=====================+ | Chicago | Small diffs | Small diffs | Small diffs | Small diffs | +---------------+---------------------+---------------------+---------------------+---------------------+ @@ -1796,7 +1796,7 @@ A coil will check its inlet air temperature compared to the set point temperature. For cooling, if the inlet air temperature is above the set point temp, the coil turns on. It’s opposite that for heating. In the 5ZoneAutoDXVAV example file, a schedule temperature set point is placed -at the system outlet node. This is the temperture the designer wants at +at the system outlet node. This is the temperature the designer wants at the outlet. The mixed air SP manager is used to account for fan heat and places the required SP at the outlet of the cooling coil so the coil slightly overcools the air to overcome fan heat and meet the system @@ -1828,7 +1828,7 @@ SetpointManager objects place a setpoint on a node, for example, one might place a setpoint of 12C on the node named “Main Cooling Coil Air Outlet Node”. -In the case of Controler:WaterCoil which controls a hot water or chilled +In the case of Controller:WaterCoil which controls a hot water or chilled water coil, the controller reads the setpoint and tries to adjust the water flow so that the air temperature at the controlled node matches the current setpoint. Continuing the example above: @@ -2500,7 +2500,7 @@ Low Temperature Radiant Undersizing Issues ------------------------------------------ Some users have noted difficulties when trying to size certain aspects -of low temperature radiant systems, particulary in cooling mode for the +of low temperature radiant systems, particularly in cooling mode for the hydronic (variable flow) and constant flow low temperature radiant systems when using autosize. The problem appears to be that the system is not sizing properly or is undersizing, leaving zone conditions that @@ -3799,7 +3799,7 @@ buildings with large numbers of surfaces and shading surfaces): .. table:: Recommended Reduce Time Settings for Early Diagnostic runs ======================= ================================================================================ - Object Recommenheh Early Diagnostic Setting + Object Recommended Early Diagnostic Setting Building MinimalShadowing (Solar Distribution field) ShadowCalculation 200 (Maximum Figures in Shadow Overlap Calculations field) SizingPeriod:DesignDays Only perform design day or limited run period runs until you have the model set. diff --git a/idd/Energy+.idd.in b/idd/Energy+.idd.in index fa0cf2f26d9..b2133c31cf3 100644 --- a/idd/Energy+.idd.in +++ b/idd/Energy+.idd.in @@ -22827,7 +22827,7 @@ IndoorLivingWall, \object-list ScheduleNames \note units in Schedule should be fraction applied to design level of other equipment, generally (0.0 - 1.0) A4 , \field Evapotranspiration Calculation Method - \note Model selection for caclulating evapotranspiration of indoor greenery system. + \note Model selection for calculating evapotranspiration of indoor greenery system. \note This rate can also be actuated with user-defined calculations, see EMS application guide for actuator details. \type choice \key Penman-Monteith @@ -22844,8 +22844,8 @@ IndoorLivingWall, \object-list ScheduleNames A7 , \field Daylighting Control Name \note If daylighting is used in the selected lighting methods (Daylight or LED-Daylight), - \note users should define an object of Daylighting:Control to obtain the daylighting illumance level - \note and an object for Daylighing:ReferencePoint for the daylighting sensor location in the thermal zone. + \note users should define an object of Daylighting:Control to obtain the daylighting illuminance level + \note and an object for Daylighting:ReferencePoint for the daylighting sensor location in the thermal zone. \note The name of the object of Daylighting:Controls should be specified in this field. \type alpha A8 , \field LED-Daylight Targeted Lighting Intensity Schedule Name @@ -26706,6 +26706,8 @@ AirflowNetwork:Distribution:Component:Coil, \key Coil:Cooling:DX:TwoStageWithHumidityControlMode \key Coil:Cooling:DX:MultiSpeed \key Coil:Heating:DX:MultiSpeed + \key Coil:Cooling:DX:VariableSpeed + \key Coil:Heating:DX:VariableSpeed \key Coil:Heating:Desuperheater \key Coil:Heating:Electric:MultiStage \key Coil:Heating:Gas:MultiStage @@ -35693,7 +35695,7 @@ ZoneHVAC:IdealLoadsAirSystem, \memo the ideal loads system component. This component can be thought of as an ideal unit \memo that mixes zone air with the specified amount of outdoor air and then adds or removes \memo heat and moisture at 100% efficiency in order to meet the specified controls. Energy - \memo use is reported as DistrictHeating and DistrictCooling. + \memo use is reported as DistrictHeatingWater and DistrictCooling. \min-fields 27 A1 , \field Name \required-field @@ -63068,7 +63070,7 @@ HeatExchanger:AirToAir:SensibleAndLatent, \note when the economizer is operating or high humidity control is active A11,\field Sensible Effectiveness of Heating Air Flow Curve Name \note optional - \note if this field has value, then the sensivle effectiveness for heating + \note if this field has value, then the sensible effectiveness for heating \note will be the value in N2 multiplied by this curve value \type object-list \object-list UnivariateFunctions @@ -63080,7 +63082,7 @@ HeatExchanger:AirToAir:SensibleAndLatent, \object-list UnivariateFunctions A13,\field Sensible Effectiveness of Cooling Air Flow Curve Name \note optional - \note if this field has value, then the sensivle effectiveness for cooling + \note if this field has value, then the sensible effectiveness for cooling \note will be the value in N4 multiplied by this curve value \type object-list \object-list UnivariateFunctions @@ -73676,6 +73678,9 @@ Chiller:Electric:EIR, \note corresponds to this fraction multiplied by the maximum condenser flow rate. This input is only used \note when the "Condenser Flow Control" input is set to "ModulatedChillerPLR", "ModulatedLoopPLR" or \note "ModulatedDeltaTemperature". + \minimum 0.0 + \maximum 1 + \default 0.2 A20, \field Thermosiphon Capacity Fraction Curve Name \type object-list \object-list UniVariateFunctions @@ -73688,7 +73693,7 @@ Chiller:Electric:EIR, \minimum 0.0 \default 0.0 \note Thermosiphon model is disabled below this minimum limit and - \note when the load is greater than calculated using the prevoius field. + \note when the load is greater than calculated using the previous field. Chiller:Electric:ReformulatedEIR, \min-fields 22 @@ -73924,6 +73929,9 @@ Chiller:Electric:ReformulatedEIR, \note corresponds to this fraction multiplied by the maximum condenser flow rate. This input is only used \note when the "Condenser Flow Control" input is set to "ModulatedChillerPLR", "ModulatedLoopPLR" or \note "ModulatedDeltaTemperature". + \minimum 0.0 + \maximum 1 + \default 0.2 A19, \field Thermosiphon Capacity Fraction Curve Name \type object-list \object-list UniVariateFunctions @@ -73936,7 +73944,7 @@ Chiller:Electric:ReformulatedEIR, \minimum 0.0 \default 0.0 \note Thermosiphon model is disabled below this minimum limit and - \note when the load is greater than calculated using the prevoius field. + \note when the load is greater than calculated using the previous field. Chiller:Electric, \min-fields 27 @@ -74097,7 +74105,7 @@ Chiller:Electric, \minimum 0.0 \default 0.0 \note Thermosiphon model is disabled below this minimum limit and - \note when the load is greater than calculated using the prevoius field. + \note when the load is greater than calculated using the previous field. Chiller:Absorption:Indirect, \min-fields 17 @@ -74487,7 +74495,7 @@ Chiller:ConstantCOP, \minimum 0.0 \default 0.0 \note Thermosiphon model is disabled below this minimum limit and - \note when the load is greater than calculated using the prevoius field. + \note when the load is greater than calculated using the previous field. Chiller:EngineDriven, \min-fields 43 @@ -75454,7 +75462,7 @@ HeatPump:PlantLoop:EIR:Cooling, \minimum 0.0 \default 0.0 \note Thermosiphon model is disabled below this minimum limit and - \note when the load is greater than calculated using the prevoius field. + \note when the load is greater than calculated using the previous field. HeatPump:PlantLoop:EIR:Heating, diff --git a/idd/versions/V24-2-0-Energy+.idd b/idd/versions/V24-2-0-Energy+.idd new file mode 100644 index 00000000000..16c3a2034a2 --- /dev/null +++ b/idd/versions/V24-2-0-Energy+.idd @@ -0,0 +1,108101 @@ +!IDD_Version 24.2.0 +!IDD_BUILD 94a887817b +! *************************************************************************** +! This file is the Input Data Dictionary (IDD) for EnergyPlus. +! The IDD defines the syntax and data model for each type of input "Object." +! Lines in EnergyPlus input files (and IDD) are limited to 500 characters. +! +! +! Note on IDD Processing/Usage +! ---------------------------- +! The IDD is converted to the epJSON schema and compiled into the EnergyPlus exe. +! Any modification to this IDD will have no impact on EnergyPlus input processing +! without rebuilding the exe. Only the IDF Editor and possibly other third-party +! tools read the IDD directly. +! +! Object Description +! ------------------ +! To define an object (a record with data), develop a key word that is unique +! Each data item to the object can be A (Alphanumeric string) or N (numeric) +! Number each A and N. This will show how the data items will be put into the +! arrays that are passed to the Input Processor "Get" (GetObjectItem) routines. +! All alpha fields are limited to 100 characters. Numeric fields should be +! valid numerics (can include such as 1.0E+05) and are placed into double +! precision variables. +! +! NOTE: Even though a field may be optional, a comma representing that field +! must be included (unless it is the last field in the object). Since the +! entire input is "field-oriented" and not "keyword-oriented", the EnergyPlus +! Input Processor must have some representation (even if blank) for each +! field. +! +! Object Documentation +! -------------------- +! In addition, the following special comments appear one per line and +! most are followed by a value. Comments may apply to a field or the object +! or a group of objects. +! +! Field-level comments: +! +! \field Name of field +! (should be succinct and readable, blanks are encouraged) +! +! \note Note describing the field and its valid values. If multiple lines, +! start each line with \note. Limit line length to 100 characters. +! +! \required-field To flag fields which must have a value. If the idf input is blank and +! there is a \default, then the default will be used. However, as of v8.6.0 +! the use of \required-field and \default on the same field is discouraged +! and instances with both have been changed. +! (this comment has no "value") +! +! \begin-extensible Marks the first field at which the object accepts an extensible +! field set. A fixed number of fields from this marker define the +! extensible field set, see the object code \extensible for +! more information. +! +! \units Units (must be from EnergyPlus standard units list) +! EnergyPlus units are standard SI units +! +! \ip-units IP-Units (for use by input processors with IP units) +! This is only used if the default conversion is not +! appropriate. +! +! \unitsBasedOnField For fields that may have multiple possible units, indicates +! the field in the object that can be used to determine +! the units. The field reference is in the A2 form. +! +! \minimum Minimum that includes the following value +! +! \minimum> Minimum that must be > than the following value +! +! \maximum Maximum that includes the following value +! +! \maximum< Maximum that must be < than the following value +! +! \default Default for the field (if N/A then omit entire line). If a default is +! added to an existing field, then \required-field should be removed if present. +! Defaults are filled in only if the field is within \min-fields, or the actual +! object is longer than this field. +! +! \deprecated This field is not really used and will be deleted from the object. +! The required information is gotten internally or +! not needed by the program. +! +! \autosizable Flag to indicate that this field can be used with the Auto +! Sizing routines to produce calculated results for the +! field. If a value follows this, then that will be used +! when the "Autosize" feature is flagged. To trigger +! autosizing for a field, enter Autosize as the field's +! value. Only applicable to numeric fields. +! +! \autocalculatable Flag to indicate that this field can be automatically +! calculated. To trigger auto calculation for a field, enter +! Autocalculate as the field's value. Only applicable to +! numeric fields. +! +! \type Type of data for the field - +! integer +! real +! alpha (arbitrary string), +! choice (alpha with specific list of choices, see +! \key) +! object-list (link to a list of objects defined elsewhere, +! see \object-list and \reference) +! external-list (uses a special list from an external source, +! see \external-list) +! node (name used in connecting HVAC components) +! +! \retaincase Retains the alphabetic case for alpha type fields +! +! \key Possible value for "\type choice" (blanks are significant) +! use multiple \key lines to indicate all valid choices +! +! \object-list Name of a list of user-provided object names that are valid +! entries for this field (used with "\reference") +! see Zone and BuildingSurface:Detailed objects below for +! examples. +! ** Note that a field may have multiple \object-list commands. +! +! \external-list The values for this field should be selected from a special +! list generated outside of the IDD file. The choices for the +! special lists are: +! autoRDDvariable +! autoRDDmeter +! autoRDDvariableMeter +! When one of these are selected the options for the field +! are taken from the RDD or MDD file or both. +! +! \reference Name of a list of names to which this object belongs +! used with "\type object-list" and with "\object-list" +! see Zone and BuildingSurface:Detailed objects below for +! examples: +! +! Zone, +! A1 , \field Name +! \type alpha +! \reference ZoneNames +! +! BuildingSurface:Detailed, +! A4 , \field Zone Name +! \note Zone the surface is a part of +! \type object-list +! \object-list ZoneNames +! +! For each zone, the field "Name" may be referenced +! by other objects, such as BuildingSurface:Detailed, so it is +! commented with "\reference ZoneNames" +! Fields that reference a zone name, such as BuildingSurface:Detailed's +! "Zone Name", are commented as +! "\type object-list" and "\object-list ZoneNames" +! ** Note that a field may have multiple \reference commands. +! ** This is useful if the object belongs to a small specific +! object-list as well as a larger more general object-list. +! +! Object-level comments: +! +! \memo Memo describing the object. If multiple lines, start each line +! with \memo. +! Limit line length to 100 characters. +! +! \unique-object To flag objects which should appear only once in an idf +! (this comment has no "value") +! +! \required-object To flag objects which are required in every idf +! (this comment has no "value") +! +! \min-fields Minimum number of fields that should be included in the +! object. If appropriate, the Input Processor will fill +! any missing fields with defaults (for numeric fields). +! It will also supply that number of fields to the "get" +! routines using blanks for alpha fields (note -- blanks +! may not be allowable for some alpha fields). +! +! \obsolete This object has been replaced though is kept (and is read) +! in the current version. Please refer to documentation as +! to the dispersal of the object. If this object is +! encountered in an IDF, the InputProcessor will post an +! appropriate message to the error file. +! usage: \obsolete New=>[New object name] +! +! \extensible:<#> This object is dynamically extensible -- meaning the input +! object may be extended beyond the number of fields shown in +! the IDD. <#> signifies the size of the extensible field set. +! The first field of the first instance of the extensible field +! set is marked with \begin-extensible. EnergyPlus will accept +! an extensible object of any length as long as the extended +! fields match the extensible field set size. Note that the +! classic windows IDF Editor limits objects to the number of +! fields specified in the IDD. Editing the IDD enables IDF +! Editor to read longer objects. In the epJSON schema, each +! extensible group is a named array. See Energy+.schema.epJSON +! +! \begin-extensible See previous item, marks beginning of extensible fields in +! an object. +! +! \format The object should have a special format when saved in +! the IDF Editor with the special format option enabled. +! The options include SingleLine, Vertices, CompactSchedule, +! FluidProperties, ViewFactors, and Spectral. +! The SingleLine option puts all the fields for the object +! on a single line. The Vertices option is used in objects +! that use X, Y and Z fields to format those three fields +! on a single line. +! The CompactSchedule formats that specific object. +! The FluidProperty option formats long lists of fluid +! properties to ten values per line. +! The ViewFactor option formats three fields related to +! view factors per line. +! The Spectral option formats the four fields related to +! window glass spectral data per line. +! +! \reference-class-name Adds the name of the class to the reference list +! similar to \reference. +! +! Group-level comments: +! +! \group Name for a group of related objects +! +! +! Notes on comments +! ----------------- +! +! 1. If a particular comment is not applicable (such as units, or default) +! then simply omit the comment rather than indicating N/A. +! +! 2. Memos and notes should be brief (recommend 5 lines or less per block). +! More extensive explanations are expected to be in the user documentation +! +! Default IP conversions (no \ip-units necessary) +! $/(m3/s) => $/(ft3/min) 0.000472000059660808 +! $/(W/K) => $/(Btu/h-F) 0.52667614683731 +! $/kW => $/(kBtuh/h) 0.293083235638921 +! $/m2 => $/ft2 0.0928939733269818 +! $/m3 => $/ft3 0.0283127014102352 +! (kg/s)/W => (lbm/sec)/(Btu/hr) 0.646078115385742 +! 1/K => 1/F 0.555555555555556 +! 1/m => 1/ft 0.3048 +! A/K => A/F 0.555555555555556 +! C => F 1.8 (plus 32) +! cm => in 0.3937 +! cm2 => inch2 0.15500031000062 +! deltaC => deltaF 1.8 +! deltaC/hr => deltaF/hr 1.8 +! deltaJ/kg => deltaBtu/lb 0.0004299 +! g/GJ => lb/MWh 0.00793664091373665 +! g/kg => grains/lb 7 +! g/MJ => lb/MWh 7.93664091373665 +! g/mol => lb/mol 0.0022046 +! g/m-s => lb/ft-s 0.000671968949659 +! g/m-s-K => lb/ft-s-F 0.000373574867724868 +! GJ => ton-hrs 78.9889415481832 +! J => Wh 0.000277777777777778 +! J/K => Btu/F 526.565 +! J/kg => Btu/lb 0.00042986 (plus 7.686) +! J/kg-K => Btu/lb-F 0.000239005736137667 +! J/kg-K2 => Btu/lb-F2 0.000132889924714692 +! J/kg-K3 => Btu/lb-F3 7.38277359526066E-05 +! J/m2-K => Btu/ft2-F 4.89224766847393E-05 +! J/m3 => Btu/ft3 2.68096514745308E-05 +! J/m3-K => Btu/ft3-F 1.49237004739337E-05 +! K => R 1.8 +! K/m => F/ft 0.54861322767449 +! kg => lb 2.2046 +! kg/J => lb/Btu 2325.83774250441 +! kg/kg-K => lb/lb-F 0.555555555555556 +! kg/m => lb/ft 0.67196893069637 +! kg/m2 => lb/ft2 0.204794053596664 +! kg/m3 => lb/ft3 0.062428 +! kg/m-s => lb/ft-s 0.67196893069637 +! kg/m-s-K => lb/ft-s-F 0.373316072609094 +! kg/m-s-K2 => lb/ft-s-F2 0.207397818116164 +! kg/Pa-s-m2 => lb/psi-s-ft2 1412.00523459398 +! kg/s => lb/s 2.20462247603796 +! kg/s2 => lb/s2 2.2046 +! kg/s-m => lb/s-ft 0.67196893069637 +! kJ/kg => Btu/lb 0.429925 +! kPa => psi 0.145038 +! L/day => pint/day 2.11337629827348 +! L/GJ => gal/kWh 0.000951022349025202 +! L/kWh => pint/kWh 2.11337629827348 +! L/MJ => gal/kWh 0.951022349025202 +! lux => foot-candles 0.092902267 +! m => ft 3.28083989501312 +! m/hr => ft/hr 3.28083989501312 +! m/s => ft/min 196.850393700787 +! m/s => miles/hr 2.2369362920544 +! m/yr => inch/yr 39.3700787401575 +! m2 => ft2 10.7639104167097 +! m2/m => ft2/ft 3.28083989501312 +! m2/person => ft2/person 10.764961 +! m2/s => ft2/s 10.7639104167097 +! m2-K/W => ft2-F-hr/Btu 5.678263 +! m3 => ft3 35.3146667214886 +! m3 => gal 264.172037284185 +! m3/GJ => ft3/MWh 127.13292 +! m3/hr => ft3/hr 35.3146667214886 +! m3/hr-m2 => ft3/hr-ft2 3.28083989501312 +! m3/hr-person => ft3/hr-person 35.3146667214886 +! m3/kg => ft3/lb 16.018 +! m3/m2 => ft3/ft2 3.28083989501312 +! m3/MJ => ft3/kWh 127.13292 +! m3/person => ft3/person 35.3146667214886 +! m3/s => ft3/min 2118.88000328931 +! m3/s-m => ft3/min-ft 645.89 +! m3/s-m2 => ft3/min-ft2 196.85 +! m3/s-person => ft3/min-person 2118.6438 +! m3/s-W => (ft3/min)/(Btu/h) 621.099127332943 +! N-m => lbf-in 8.85074900525547 +! N-s/m2 => lbf-s/ft2 0.0208857913669065 +! Pa => psi 0.000145037743897283 +! percent/K => percent/F 0.555555555555556 +! person/m2 => person/ft2 0.0928939733269818 +! s/m => s/ft 0.3048 +! umol/m2-s => umol/ft2-s 0.09290304 +! V/K => V/F 0.555555555555556 +! W => Btu/h 3.4121412858518 +! W/((m3/s)-Pa) => W/((gal/min)-ftH20) 0.188582274697355 +! W/((m3/s)-Pa) => W/((ft3/min)-inH2O) 0.117556910599482 +! W/(m3/s) => W/(ft3/min) 0.0004719475 +! W/K => Btu/h-F 1.89563404769544 +! W/m => Btu/h-ft 1.04072 +! W/m2 => Btu/h-ft2 0.316957210776545 +! W/m2 => W/ft2 0.09290304 +! W/m2-K => Btu/h-ft2-F 0.176110194261872 +! W/m2-K2 => Btu/h-ft2-F2 0.097826 +! W/m-K => Btu-in/h-ft2-F 6.93481276005548 +! W/m-K2 => Btu/h-F2-ft 0.321418310071648 +! W/m-K3 => Btu/h-F3-ft 0.178565727817582 +! W/person => Btu/h-person 3.4121412858518 +! +! Other conversions supported (needs the \ip-units code) +! +! kPa => inHg 0.29523 +! m => in 39.3700787401575 +! m3/hr => gal/hr 264.172037284185 +! m3/hr-m2 => gal/hr-ft2 24.5423853466941 +! m3/hr-person => gal/hr-person 264.172037284185 +! m3/m2 => gal/ft2 24.5423853466941 +! m3/person => gal/person 264.172037284185 +! m3/s => gal/min 15850.3222370511 +! m3/s-m => gal/min-ft 4831.17821785317 +! m3/s-W => (gal/min)/(Btu/h) 4645.27137336702 +! Pa => ftH2O 0.00033455 +! Pa => inH2O 0.00401463 +! Pa => inHg 0.00029613 +! Pa => Pa 1 +! W => W 1 +! W/(m3/s) => W/(gal/min) 0.0000630902 +! W/m2 => W/m2 1 +! W/m-K => Btu/h-ft-F 0.577796066000163 +! W/person => W/person 1 +! +! Units fields that are not translated +! $ +! 1/hr +! A +! A/V +! Ah +! Availability +! Control +! cycles/hr +! days +! deg +! dimensionless +! eV +! hh:mm +! hr +! J/J +! kg/kg +! kgWater/kgDryAir +! kmol +! kmol/s +! m3/m3 +! micron +! minutes +! Mode +! ms +! ohms +! percent +! ppm +! rev/min +! s +! V +! VA +! W/m2, deg C or cd/m2 +! W/m2, W or deg C +! W/s +! W/W +! years +! ************************************************************************** + +\group Simulation Parameters + +Version, + \memo Specifies the EnergyPlus version of the IDF file. + \unique-object + \format singleLine + A1 ; \field Version Identifier + \default 24.2 + +SimulationControl, + \unique-object + \memo Note that the following 3 fields are related to the Sizing:Zone, Sizing:System, + \memo and Sizing:Plant objects. Having these fields set to Yes but no corresponding + \memo Sizing object will not cause the sizing to be done. However, having any of these + \memo fields set to No, the corresponding Sizing object is ignored. + \memo Note also, if you want to do system sizing, you must also do zone sizing in the same + \memo run or an error will result. + \min-fields 7 + A1, \field Do Zone Sizing Calculation + \note If Yes, Zone sizing is accomplished from corresponding Sizing:Zone objects + \note and autosize fields. + \type choice + \key Yes + \key No + \default No + A2, \field Do System Sizing Calculation + \note If Yes, System sizing is accomplished from corresponding Sizing:System objects + \note and autosize fields. + \note If Yes, Zone sizing (previous field) must also be Yes. + \type choice + \key Yes + \key No + \default No + A3, \field Do Plant Sizing Calculation + \note If Yes, Plant sizing is accomplished from corresponding Sizing:Plant objects + \note and autosize fields. + \type choice + \key Yes + \key No + \default No + A4, \field Run Simulation for Sizing Periods + \note If Yes, SizingPeriod:* objects are executed and results from those may be displayed.. + \type choice + \key Yes + \key No + \default Yes + A5, \field Run Simulation for Weather File Run Periods + \note If Yes, RunPeriod:* objects are executed and results from those may be displayed.. + \type choice + \key Yes + \key No + \default Yes + A6, \field Do HVAC Sizing Simulation for Sizing Periods + \note If Yes, SizingPeriod:* objects are executed additional times for advanced sizing. + \note Currently limited to use with coincident plant sizing, see Sizing:Plant object + \type choice + \key Yes + \key No + \default No + N1; \field Maximum Number of HVAC Sizing Simulation Passes + \note the entire set of SizingPeriod:* objects may be repeated to fine tune size results + \note this input sets a limit on the number of passes that the sizing algorithms can repeat the set + \type integer + \minimum 1 + \default 1 + +PerformancePrecisionTradeoffs, + \unique-object + \memo This object enables users to choose certain options that speed up EnergyPlus simulation, + \memo but may lead to small decreases in accuracy of results. + A1, \field Use Coil Direct Solutions + \note If Yes, an analytical or empirical solution will be used to replace iterations in + \note the coil performance calculations. + \type choice + \key Yes + \key No + \default No + A2, \field Zone Radiant Exchange Algorithm + \note Determines which algorithm will be used to solve long wave radiant exchange among surfaces within a zone. + \type choice + \key ScriptF + \key CarrollMRT + \default ScriptF + A3, \field Override Mode + \note The increasing mode number roughly correspond with increased speed. A description of each mode + \note are shown in the documentation. When Advanced is selected the N1 field value is used. + \type choice + \key Normal + \key Mode01 + \key Mode02 + \key Mode03 + \key Mode04 + \key Mode05 + \key Mode06 + \key Mode07 + \key Mode08 + \key Advanced + \default Normal + N1, \field MaxZoneTempDiff + \note Maximum zone temperature change before HVAC timestep is shortened. + \note Only used when Override Mode is set to Advanced + \type real + \minimum 0.1 + \maximum 3.0 + \default 0.3 + N2, \field MaxAllowedDelTemp + \note Maximum surface temperature change before HVAC timestep is shortened. + \note Only used when Override Mode is set to Advanced + \type real + \minimum 0.002 + \maximum 0.1 + \default 0.002 + A4; \field Use Representative Surfaces for Calculations + \note Automatically group surfaces with similar characteristics and perform relevant calculations only once for each group. + \type choice + \key Yes + \key No + \default No + +Building, + \memo Describes parameters that are used during the simulation + \memo of the building. There are necessary correlations between the entries for + \memo this object and some entries in the Site:WeatherStation and + \memo Site:HeightVariation objects, specifically the Terrain field. + \unique-object + \required-object + \min-fields 8 + A1 , \field Name + \retaincase + \default NONE + N1 , \field North Axis + \note degrees from true North + \units deg + \type real + \default 0.0 + A2 , \field Terrain + \note Country=FlatOpenCountry | Suburbs=CountryTownsSuburbs | City=CityCenter | Ocean=body of water (5km) | Urban=Urban-Industrial-Forest + \type choice + \key Country + \key Suburbs + \key City + \key Ocean + \key Urban + \default Suburbs + N2 , \field Loads Convergence Tolerance Value + \note Loads Convergence Tolerance Value is a change in load from one warmup day to the next + \type real + \minimum> 0.0 + \maximum .5 + \default .04 + \units W + N3 , \field Temperature Convergence Tolerance Value + \units deltaC + \type real + \minimum> 0.0 + \maximum .5 + \default .4 + A3 , \field Solar Distribution + \note MinimalShadowing | FullExterior | FullInteriorAndExterior | FullExteriorWithReflections | FullInteriorAndExteriorWithReflections + \type choice + \key MinimalShadowing + \key FullExterior + \key FullInteriorAndExterior + \key FullExteriorWithReflections + \key FullInteriorAndExteriorWithReflections + \default FullExterior + N4 , \field Maximum Number of Warmup Days + \note EnergyPlus will only use as many warmup days as needed to reach convergence tolerance. + \note This field's value should NOT be set less than 25. + \type integer + \minimum> 0 + \default 25 + N5 ; \field Minimum Number of Warmup Days + \note The minimum number of warmup days that produce enough temperature and flux history + \note to start EnergyPlus simulation for all reference buildings was suggested to be 6. + \note However this can lead to excessive run times as warmup days can be repeated needlessly. + \note For faster execution rely on the convergence criteria to detect when warmup is complete. + \note When this field is greater than the maximum warmup days defined previous field + \note the maximum number of warmup days will be reset to the minimum value entered here. + \note Warmup days will be set to be the value you entered. The default is 1. + \type integer + \minimum> 0 + \default 1 + +ShadowCalculation, + \unique-object + \memo This object is used to control details of the solar, shading, and daylighting models + \extensible:1 + A1 , \field Shading Calculation Method + \note Select between CPU-based polygon clipping method, the GPU-based pixel counting method, + \note or importing from external shading data. + \note If PixelCounting is selected and GPU hardware (or GPU emulation) is not available, a warning will be + \note displayed and EnergyPlus will revert to PolygonClipping. + \note If Scheduled is chosen, the Sunlit Fraction Schedule Name is required + \note in SurfaceProperty:LocalEnvironment. + \note If Imported is chosen, the Schedule:File:Shading object is required. + \type choice + \key PolygonClipping + \key PixelCounting + \key Scheduled + \key Imported + \default PolygonClipping + A2 , \field Shading Calculation Update Frequency Method + \note choose calculation frequency method. note that Timestep is only needed for certain cases + \note and can increase execution time significantly. + \type choice + \key Periodic + \key Timestep + \default Periodic + N1 , \field Shading Calculation Update Frequency + \type integer + \minimum 1 + \default 20 + \note enter number of days + \note this field is only used if the previous field is set to Periodic + \note warning issued if >31 + N2 , \field Maximum Figures in Shadow Overlap Calculations + \note Number of allowable figures in shadow overlap in PolygonClipping calculations + \type integer + \minimum 200 + \default 15000 + A3 , \field Polygon Clipping Algorithm + \note Advanced Feature. Internal default is SutherlandHodgman + \note Refer to InputOutput Reference and Engineering Reference for more information + \type choice + \key ConvexWeilerAtherton + \key SutherlandHodgman + \key SlaterBarskyandSutherlandHodgman + \default SutherlandHodgman + N3 , \field Pixel Counting Resolution + \note Number of pixels in both dimensions of the surface rendering + \type integer + \default 512 + A4 , \field Sky Diffuse Modeling Algorithm + \note Advanced Feature. Internal default is SimpleSkyDiffuseModeling + \note If you have shading elements that change transmittance over the + \note year, you may wish to choose the detailed method. + \note Refer to InputOutput Reference and Engineering Reference for more information + \type choice + \key SimpleSkyDiffuseModeling + \key DetailedSkyDiffuseModeling + \default SimpleSkyDiffuseModeling + A5 , \field Output External Shading Calculation Results + \type choice + \key Yes + \key No + \default No + \note If Yes is chosen, the calculated external shading fraction results will be saved to an external CSV file with surface names as the column headers. + A6 , \field Disable Self-Shading Within Shading Zone Groups + \note If Yes, self-shading will be disabled from all exterior surfaces in a given Shading Zone Group to surfaces within + \note the same Shading Zone Group. + \note If both Disable Self-Shading Within Shading Zone Groups and Disable Self-Shading From Shading Zone Groups to Other Zones = Yes, + \note then all self-shading from exterior surfaces will be disabled. + \note If only one of these fields = Yes, then at least one Shading Zone Group must be specified, or this field will be ignored. + \note Shading from Shading:* surfaces, overhangs, fins, and reveals will not be disabled. + \type choice + \key Yes + \key No + \default No + A7 , \field Disable Self-Shading From Shading Zone Groups to Other Zones + \note If Yes, self-shading will be disabled from all exterior surfaces in a given Shading Zone Group to all other zones in the model. + \note If both Disable Self-Shading Within Shading Zone Groups and Disable Self-Shading From Shading Zone Groups to Other Zones = Yes, + \note then all self-shading from exterior surfaces will be disabled. + \note If only one of these fields = Yes, then at least one Shading Zone Group must be specified, or this field will be ignored. + \note Shading from Shading:* surfaces, overhangs, fins, and reveals will not be disabled. + \type choice + \key Yes + \key No + \default No + A8 , \field Shading Zone Group 1 ZoneList Name + \note Specifies a group of zones which are controlled by the Disable Self-Shading fields. + \type object-list + \object-list ZoneListNames + \begin-extensible + A9 , \field Shading Zone Group 2 ZoneList Name + \type object-list + \object-list ZoneListNames + A10, \field Shading Zone Group 3 ZoneList Name + \type object-list + \object-list ZoneListNames + A11, \field Shading Zone Group 4 ZoneList Name + \type object-list + \object-list ZoneListNames + A12, \field Shading Zone Group 5 ZoneList Name + \type object-list + \object-list ZoneListNames + A13; \field Shading Zone Group 6 ZoneList Name + \type object-list + \object-list ZoneListNames + +SurfaceConvectionAlgorithm:Inside, + \memo Default indoor surface heat transfer convection algorithm to be used for all zones + \unique-object + \format singleLine + A1 ; \field Algorithm + \type choice + \key Simple + \key TARP + \key CeilingDiffuser + \key AdaptiveConvectionAlgorithm + \key ASTMC1340 + \default TARP + \note Simple = constant value natural convection (ASHRAE) + \note TARP = variable natural convection based on temperature difference (ASHRAE, Walton) + \note CeilingDiffuser = ACH-based forced and mixed convection correlations + \note for ceiling diffuser configuration with simple natural convection limit + \note AdaptiveConvectionAlgorithm = dynamic selection of convection models based on conditions + \note ASTMC1340 = mixed convection correlations based on heat flow direction, + \note surface tilt angle, surface characteristic length, and air speed past the surface. + +SurfaceConvectionAlgorithm:Outside, + \memo Default outside surface heat transfer convection algorithm to be used for all zones + \unique-object + \format singleLine + A1 ; \field Algorithm + \type choice + \key SimpleCombined + \key TARP + \key MoWiTT + \key DOE-2 + \key AdaptiveConvectionAlgorithm + \default DOE-2 + \note SimpleCombined = Combined radiation and convection coefficient using simple ASHRAE model + \note TARP = correlation from models developed by ASHRAE, Walton, and Sparrow et. al. + \note MoWiTT = correlation from measurements by Klems and Yazdanian for smooth surfaces + \note DOE-2 = correlation from measurements by Klems and Yazdanian for rough surfaces + \note AdaptiveConvectionAlgorithm = dynamic selection of correlations based on conditions + +HeatBalanceAlgorithm, + \memo Determines which Heat Balance Algorithm will be used ie. + \memo CTF (Conduction Transfer Functions), + \memo EMPD (Effective Moisture Penetration Depth with Conduction Transfer Functions). + \memo Advanced/Research Usage: CondFD (Conduction Finite Difference) + \memo Advanced/Research Usage: ConductionFiniteDifferenceSimplified + \memo Advanced/Research Usage: HAMT (Combined Heat And Moisture Finite Element) + \unique-object + \format singleLine + A1 , \field Algorithm + \type choice + \key ConductionTransferFunction + \key MoisturePenetrationDepthConductionTransferFunction + \key ConductionFiniteDifference + \key CombinedHeatAndMoistureFiniteElement + \default ConductionTransferFunction + N1 , \field Surface Temperature Upper Limit + \type real + \minimum 200 + \default 200 + \units C + N2 , \field Minimum Surface Convection Heat Transfer Coefficient Value + \units W/m2-K + \default 0.1 + \minimum> 0.0 + N3 ; \field Maximum Surface Convection Heat Transfer Coefficient Value + \units W/m2-K + \default 1000 + \minimum 1.0 + +HeatBalanceSettings:ConductionFiniteDifference, + \memo Determines settings for the Conduction Finite Difference + \memo algorithm for surface heat transfer modeling. + \unique-object + A1 , \field Difference Scheme + \type choice + \key CrankNicholsonSecondOrder + \key FullyImplicitFirstOrder + \default FullyImplicitFirstOrder + N1 , \field Space Discretization Constant + \note increase or decrease number of nodes + \type real + \default 3 + N2 , \field Relaxation Factor + \type real + \default 1.0 + \minimum 0.01 + \maximum 1.0 + N3 ; \field Inside Face Surface Temperature Convergence Criteria + \type real + \default 0.002 + \minimum 1.0E-7 + \maximum 0.01 + +ZoneAirHeatBalanceAlgorithm, + \memo Controls the zone/space air heat balance. + \unique-object + \format singleLine + \min-fields 2 + A1 , \field Algorithm + \note Determines which algorithm will be used to solve the air heat balance. + \type choice + \key ThirdOrderBackwardDifference + \key AnalyticalSolution + \key EulerMethod + \default ThirdOrderBackwardDifference + A2 , \field Do Space Heat Balance for Sizing + \note If yes, space heat balance will be calculated and reported during sizing. + \type choice + \key No + \key Yes + \default No + A3 ; \field Do Space Heat Balance for Simulation + \note If yes, space heat balance will be calculated and reported during simulation. + \type choice + \key No + \key Yes + \default No + +ZoneAirContaminantBalance, + \memo Determines which contaminant concentration will be simulates. + \unique-object + \format singleLine + A1 , \field Carbon Dioxide Concentration + \note If Yes, CO2 simulation will be performed. + \type choice + \key Yes + \key No + \default No + A2 , \field Outdoor Carbon Dioxide Schedule Name + \note Schedule values should be in parts per million (ppm) + \type object-list + \object-list ScheduleNames + A3 , \field Generic Contaminant Concentration + \note If Yes, generic contaminant simulation will be performed. + \type choice + \key Yes + \key No + \default No + A4 ; \field Outdoor Generic Contaminant Schedule Name + \note Schedule values should be generic contaminant concentration in parts per + \note million (ppm) + \type object-list + \object-list ScheduleNames + +ZoneAirMassFlowConservation, + \memo Enforces the zone air mass flow balance by either adjusting zone mixing object flow only, + \memo adjusting zone total return flow only, zone mixing and the zone total return flows, + \memo or adjusting the zone total return and zone mixing object flows. Zone infiltration flow air + \memo flow is increased or decreased depending user selection in the infiltration treatment method. + \memo If either of zone mixing or zone return flow adjusting methods or infiltration is active, + \memo then the zone air mass flow balance calculation will attempt to enforce conservation of + \memo mass for each zone. If flow balancing method is "None" and infiltration is "None", then the + \memo zone air mass flow calculation defaults to assume self-balanced simple flow mixing and + \memo infiltration objects. + \unique-object + \min-fields 3 + A1, \field Adjust Zone Mixing and Return For Air Mass Flow Balance + \note If "AdjustMixingOnly", zone mixing object flow rates are adjusted to balance the zone air mass + \note flow and zone infiltration air flow may be increased or decreased if required in order to balance + \note the zone air mass flow. If "AdjustReturnOnly", zone total return flow rate is adjusted to balance + \note the zone air mass flow and zone infiltration air flow may be increased or decreased if required + \note in order to balance the zone air mass flow. If "AdjustMixingThenReturn", first the zone mixing + \note objects flow rates are adjusted to balance the zone air flow, second zone total return flow rate + \note is adjusted and zone infiltration air flow may be increased or decreased if required in order to + \note balance the zone air mass flow. If "AdjustReturnThenMixing", first zone total return flow rate is + \note adjusted to balance the zone air flow, second the zone mixing object flow rates are adjusted and + \note infiltration air flow may be increased or decreased if required in order to balance the zone + \note air mass flow. + \type choice + \key AdjustMixingOnly + \key AdjustReturnOnly + \key AdjustMixingThenReturn + \key AdjustReturnThenMixing + \key None + \default None + A2, \field Infiltration Balancing Method + \note This input field allows user to choose how zone infiltration flow is treated during + \note the zone air mass flow balance calculation. + \type choice + \key AddInfiltrationFlow + \key AdjustInfiltrationFlow + \key None + \default AddInfiltrationFlow + \note AddInfiltrationFlow may add infiltration to the base flow specified in the + \note infiltration object to balance the zone air mass flow. The additional infiltration + \note air mass flow is not self-balanced. The base flow is assumed to be self-balanced. + \note AdjustInfiltrationFlow may adjust the base flow calculated using + \note the base flow specified in the infiltration object to balance the zone air mass flow. If it + \note If no adjustment is required, then the base infiltration is assumed to be self-balanced. + \note None will make no changes to the base infiltration flow. + A3; \field Infiltration Balancing Zones + \note This input field allows user to choose which zones are included in infiltration balancing. + \note MixingSourceZonesOnly allows infiltration balancing only in zones which as source zones for mixing + \note which also have an infiltration object defined. + \note AllZones allows infiltration balancing in any zone which has an infiltration object defined. + \type choice + \key MixingSourceZonesOnly + \key AllZones + \default MixingSourceZonesOnly + +ZoneCapacitanceMultiplier:ResearchSpecial, + \format singleLine + \memo Multiplier altering the relative capacitance of the air compared to an empty zone + \min-fields 6 + A1 , \field Name + \required-field + \type alpha + A2 , \field Zone or ZoneList Name + \type object-list + \object-list ZoneAndZoneListNames + \note If this field is left blank, the multipliers are applied to all the zones not specified + N1 , \field Temperature Capacity Multiplier + \type real + \default 1.0 + \minimum> 0.0 + \note Used to alter the capacitance of zone air with respect to heat or temperature + N2 , \field Humidity Capacity Multiplier + \type real + \default 1.0 + \minimum> 0.0 + \note Used to alter the capacitance of zone air with respect to moisture or humidity ratio + N3 , \field Carbon Dioxide Capacity Multiplier + \type real + \default 1.0 + \minimum> 0.0 + \note Used to alter the capacitance of zone air with respect to zone air carbon dioxide concentration + N4 ; \field Generic Contaminant Capacity Multiplier + \type real + \default 1.0 + \minimum> 0.0 + \note Used to alter the capacitance of zone air with respect to zone air generic contaminant concentration + +Timestep, + \memo Specifies the "basic" timestep for the simulation. The + \memo value entered here is also known as the Zone Timestep. This is used in + \memo the Zone Heat Balance Model calculation as the driving timestep for heat + \memo transfer and load calculations. + \unique-object + \format singleLine + N1 ; \field Number of Timesteps per Hour + \note Number in hour: normal validity 4 to 60: 6 suggested + \note Must be evenly divisible into 60 + \note Allowable values include 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, and 60 + \note Normal 6 is minimum as lower values may cause inaccuracies + \note A minimum value of 20 is suggested for both ConductionFiniteDifference + \note and CombinedHeatAndMoistureFiniteElement surface heat balance algorithms + \note A minimum of 12 is suggested for simulations involving a Vegetated Roof (Material:RoofVegetation). + \default 6 + \type integer + \minimum 1 + \maximum 60 + +ConvergenceLimits, + \memo Specifies limits on HVAC system simulation timesteps and iterations. + \memo This item is an advanced feature that should be used only with caution. + \unique-object + N1 , \field Minimum System Timestep + \units minutes + \type integer + \note 0 sets the minimum to the zone timestep (ref: Timestep) + \note 1 is normal (ratchet down to 1 minute) + \note setting greater than zone timestep (in minutes) will effectively set to zone timestep + \minimum 0 + \maximum 60 + N2 , \field Maximum HVAC Iterations + \type integer + \default 20 + \minimum 1 + N3 , \field Minimum Plant Iterations + \note Controls the minimum number of plant system solver iterations within a single HVAC iteration + \note Larger values will increase runtime but might improve solution accuracy for complicated plant systems + \note Complex plants include: several interconnected loops, heat recovery, thermal load following generators, etc. + \type integer + \default 2 + \minimum 1 + N4 ; \field Maximum Plant Iterations + \note Controls the maximum number of plant system solver iterations within a single HVAC iteration + \note Smaller values might decrease runtime but could decrease solution accuracy for complicated plant systems + \type integer + \default 8 + \minimum 2 + +HVACSystemRootFindingAlgorithm, + \memo Specifies a HVAC system solver algorithm to find a root + \unique-object + A1 , \field Algorithm + \type choice + \key RegulaFalsi + \key Bisection + \key BisectionThenRegulaFalsi + \key RegulaFalsiThenBisection + \key Alternation + \default RegulaFalsi + N1 ; \field Number of Iterations Before Algorithm Switch + \note This field is used when RegulaFalsiThenBisection or BisectionThenRegulaFalsi is + \note entered. When iteration number is greater than the value, algorithm switches. + \type integer + \default 5 + +\group Compliance Objects + +Compliance:Building, + \memo Building level inputs related to compliance to building standards, building codes, and beyond energy code programs. + \unique-object + \min-fields 1 + N1; \field Building Rotation for Appendix G + \note Additional degrees of rotation to be used with the requirement in ASHRAE Standard 90.1 Appendix G + \note that states that the baseline building should be rotated in four directions. + \units deg + \type real + \default 0.0 + +\group Location and Climate + +Site:Location, + \memo Specifies the building's location. Only one location is allowed. + \memo Weather data file location, if it exists, will override this object. + \unique-object + \min-fields 5 + A1 , \field Name + \required-field + \type alpha + N1 , \field Latitude + \units deg + \minimum -90.0 + \maximum +90.0 + \default 0.0 + \note + is North, - is South, degree minutes represented in decimal (i.e. 30 minutes is .5) + \type real + N2 , \field Longitude + \units deg + \minimum -180.0 + \maximum +180.0 + \default 0.0 + \note - is West, + is East, degree minutes represented in decimal (i.e. 30 minutes is .5) + \type real + N3 , \field Time Zone + \note basic these limits on the WorldTimeZone Map (2003) + \units hr + \minimum -12.0 + \maximum +14.0 + \default 0.0 + \note Time relative to GMT. Decimal hours. + \type real + N4 , \field Elevation + \units m + \minimum -300.0 + \maximum< 8900.0 + \default 0.0 + \type real + A2 ; \field Keep Site Location Information + \type choice + \key Yes + \key No + \default No + +Site:VariableLocation, + \memo Captures the scheduling of a moving/reorienting building, or more likely a vessel + \unique-object + \min-fields 1 + A1 , \field Name + \required-field + \type alpha + A2 , \field Building Location Latitude Schedule + \note The name of a schedule that defines the latitude of the building at any time. + \note If not entered, the latitude defined in the Site:Location, or the default + \note latitude, will be used for the entirety of the simulation + \type object-list + \object-list ScheduleNames + A3 , \field Building Location Longitude Schedule + \note The name of a schedule that defines the longitude of the building at any time. + \note If not entered, the longitude defined in the Site:Location, or the default + \note longitude, will be used for the entirety of the simulation + \type object-list + \object-list ScheduleNames + A4 ; \field Building Location Orientation Schedule + \note The name of a schedule that defines the orientation of the building at any time. + \note This orientation is based on a change from the original orientation. -- NEED TO REFINE THIS + \note If not entered, the original orientation will be used for the entirety of the simulation + \type object-list + \object-list ScheduleNames + +SizingPeriod:DesignDay, + \memo The design day object creates the parameters for the program to create + \memo the 24 hour weather profile that can be used for sizing as well as + \memo running to test the other simulation parameters. Parameters in this + \memo include a date (month and day), a day type (which uses the appropriate + \memo schedules for either sizing or simple tests), min/max temperatures, + \memo wind speeds, and solar radiation values. + A1, \field Name + \type alpha + \required-field + \reference RunPeriodsAndDesignDays + N1, \field Month + \required-field + \minimum 1 + \maximum 12 + \type integer + N2, \field Day of Month + \required-field + \minimum 1 + \maximum 31 + \type integer + \note must be valid for Month field + A2, \field Day Type + \required-field + \note Day Type selects the schedules appropriate for this design day + \type choice + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + \key Holiday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + N3, \field Maximum Dry-Bulb Temperature + \note This field is required when field "Dry-Bulb Temperature Range Modifier Type" + \note is not "TemperatureProfileSchedule". + \units C + \minimum -90 + \maximum 70 + \type real + N4, \field Daily Dry-Bulb Temperature Range + \note Must still produce appropriate maximum dry-bulb (within range) + \note This field is not needed if Dry-Bulb Temperature Range Modifier Type + \note is "delta". + \units deltaC + \minimum 0 + \default 0 + \type real + A3, \field Dry-Bulb Temperature Range Modifier Type + \note Type of modifier to the dry-bulb temperature calculated for the timestep + \type choice + \key MultiplierSchedule + \key DifferenceSchedule + \key TemperatureProfileSchedule + \key DefaultMultipliers + \default DefaultMultipliers + A4, \field Dry-Bulb Temperature Range Modifier Day Schedule Name + \type object-list + \object-list DayScheduleNames + \note Only used when previous field is "MultiplierSchedule", "DifferenceSchedule" or + \note "TemperatureProfileSchedule". + \note For type "MultiplierSchedule" the hour/time interval values should specify + \note the fraction (0-1) of the dry-bulb temperature range to be subtracted + \note from the maximum dry-bulb temperature for each timestep in the day + \note For type "DifferenceSchedule" the values should specify a number to be subtracted + \note from the maximum dry-bulb temperature for each timestep in the day. + \note Note that numbers in the difference schedule cannot be negative as that + \note would result in a higher maximum than the maximum previously specified. + \note For type "TemperatureProfileSchedule" the values should specify the actual dry-bulb + \note temperature for each timestep in the day. + A5, \field Humidity Condition Type + \note values/schedules indicated here and in subsequent fields create the humidity + \note values in the 24 hour design day conditions profile. + \type choice + \key WetBulb + \key DewPoint + \key HumidityRatio + \key Enthalpy + \key RelativeHumiditySchedule + \key WetBulbProfileMultiplierSchedule + \key WetBulbProfileDifferenceSchedule + \key WetBulbProfileDefaultMultipliers + \default WetBulb + N5, \field Wetbulb or DewPoint at Maximum Dry-Bulb + \note Wetbulb or dewpoint temperature coincident with the maximum temperature. + \note Required only if field Humidity Condition Type is "Wetbulb", "Dewpoint", + \note "WetBulbProfileMultiplierSchedule", "WetBulbProfileDifferenceSchedule", + \note or "WetBulbProfileDefaultMultipliers" + \type real + \units C + A6, \field Humidity Condition Day Schedule Name + \type object-list + \object-list DayScheduleNames + \note Only used when Humidity Condition Type is "RelativeHumiditySchedule", + \note "WetBulbProfileMultiplierSchedule", or "WetBulbProfileDifferenceSchedule" + \note For type "RelativeHumiditySchedule", the hour/time interval values should specify + \note relative humidity (percent) from 0.0 to 100.0. + \note For type "WetBulbProfileMultiplierSchedule" the hour/time interval values should specify + \note the fraction (0-1) of the wet-bulb temperature range to be subtracted from the + \note maximum wet-bulb temperature for each timestep in the day (units = Fraction) + \note For type "WetBulbProfileDifferenceSchedule" the values should specify a number to be subtracted + \note from the maximum wet-bulb temperature for each timestep in the day. (units = deltaC) + N6, \field Humidity Ratio at Maximum Dry-Bulb + \note Humidity ratio coincident with the maximum temperature (constant humidity ratio throughout day). + \note Required only if field Humidity Condition Type is "HumidityRatio". + \type real + \units kgWater/kgDryAir + N7, \field Enthalpy at Maximum Dry-Bulb + \note Enthalpy coincident with the maximum temperature. + \note Required only if field Humidity Condition Type is "Enthalpy". + \type real + \units J/kg + N8, \field Daily Wet-Bulb Temperature Range + \units deltaC + \note Required only if Humidity Condition Type = "WetbulbProfileMultiplierSchedule" or + \note "WetBulbProfileDefaultMultipliers" + N9, \field Barometric Pressure + \note This field's value is also checked against the calculated "standard barometric pressure" + \note for the location. If out of range (>10%) or blank, then is replaced by standard value. + \units Pa + \minimum 31000 + \maximum 120000 + \type real + \ip-units inHg + N10, \field Wind Speed + \required-field + \units m/s + \minimum 0 + \maximum 40 + \ip-units miles/hr + \type real + N11, \field Wind Direction + \required-field + \units deg + \minimum 0 + \maximum 360 + \note North=0.0 East=90.0 + \note 0 and 360 are the same direction. + \type real + A7, \field Rain Indicator + \note Yes is raining (all day), No is not raining + \type choice + \key Yes + \key No + \default No + A8, \field Snow Indicator + \type choice + \key Yes + \key No + \default No + \note Yes is Snow on Ground, No is no Snow on Ground + A9, \field Daylight Saving Time Indicator + \note Yes -- use schedules modified for Daylight Saving Time Schedules. + \note No - do not use schedules modified for Daylight Saving Time Schedules + \type choice + \key Yes + \key No + \default No + A10, \field Solar Model Indicator + \type choice + \key ASHRAEClearSky + \key ZhangHuang + \key Schedule + \key ASHRAETau + \key ASHRAETau2017 + \default ASHRAEClearSky + A11, \field Beam Solar Day Schedule Name + \note if Solar Model Indicator = Schedule, then beam schedule name (for day) + \type object-list + \object-list DayScheduleNames + A12, \field Diffuse Solar Day Schedule Name + \note if Solar Model Indicator = Schedule, then diffuse schedule name (for day) + \type object-list + \object-list DayScheduleNames + N12, \field ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) + \units dimensionless + \note Required if Solar Model Indicator = ASHRAETau or ASHRAETau2017 + \note ASHRAETau2017 solar model can be used with 2013 and 2017 HOF matching taub + \minimum 0 + \maximum 1.2 + \default 0 + N13, \field ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) + \units dimensionless + \note Required if Solar Model Indicator = ASHRAETau or ASHRAETau2017 + \note ASHRAETau2017 solar model can be used with 2013 and 2017 HOF matching taud + \minimum 0 + \maximum 3 + \default 0 + N14, \field Sky Clearness + \note Used if Sky Model Indicator = ASHRAEClearSky or ZhangHuang + \minimum 0.0 + \maximum 1.2 + \default 0.0 + \note 0.0 is totally unclear, 1.0 is totally clear + \type real + N15, \field Maximum Number Warmup Days + \note If used this design day will be run with a custom limit on the maximum number of days that are repeated for warmup. + \note Limiting the number of warmup days can improve run time. + \type integer + A13; \field Begin Environment Reset Mode + \note If used this can control if you want the thermal history to be reset at the beginning of the design day. + \note When using a series of similar design days, this field can be used to retain warmup state from the previous design day. + \type choice + \key FullResetAtBeginEnvironment + \key SuppressAllBeginEnvironmentResets + \default FullResetAtBeginEnvironment + +SizingPeriod:WeatherFileDays, + \memo Use a weather file period for design sizing calculations. + A1 , \field Name + \reference RunPeriodsAndDesignDays + \required-field + \note user supplied name for reporting + N1 , \field Begin Month + \required-field + \minimum 1 + \maximum 12 + \type integer + N2 , \field Begin Day of Month + \required-field + \minimum 1 + \maximum 31 + \type integer + N3 , \field End Month + \required-field + \minimum 1 + \maximum 12 + \type integer + N4 , \field End Day of Month + \required-field + \minimum 1 + \maximum 31 + \type integer + A2 , \field Day of Week for Start Day + \note =[|Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|SummerDesignDay|WinterDesignDay| + \note |CustomDay1|CustomDay2]; + \note if you use SummerDesignDay or WinterDesignDay or the CustomDays then this will apply + \note to the whole period; other days (i.e., Monday) will signify a start day and + \note normal sequence of subsequent days + \default Monday + \type choice + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + A3, \field Use Weather File Daylight Saving Period + \note If yes or blank, use daylight saving period as specified on Weatherfile. + \note If no, do not use the daylight saving period as specified on the Weatherfile. + \type choice + \default Yes + \key Yes + \key No + A4; \field Use Weather File Rain and Snow Indicators + \type choice + \key Yes + \key No + \default Yes + +SizingPeriod:WeatherFileConditionType, + \memo Use a weather file period for design sizing calculations. + \memo EPW weather files are created with typical and extreme periods + \memo created heuristically from the weather file data. For more + \memo details on these periods, see AuxiliaryPrograms document. + A1 , \field Name + \required-field + \reference RunPeriodsAndDesignDays + \note user supplied name for reporting + A2 , \field Period Selection + \required-field + \retaincase + \note Following is a list of all possible types of Extreme and Typical periods that + \note might be identified in the Weather File. Not all possible types are available + \note for all weather files. + \type choice + \key SummerExtreme + \key SummerTypical + \key WinterExtreme + \key WinterTypical + \key AutumnTypical + \key SpringTypical + \key WetSeason + \key DrySeason + \key NoDrySeason + \key NoWetSeason + \key TropicalHot + \key TropicalCold + \key NoDrySeasonMax + \key NoDrySeasonMin + \key NoWetSeasonMax + \key NoWetSeasonMin + A3 , \field Day of Week for Start Day + \note =[|Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|SummerDesignDay|WinterDesignDay| + \note |CustomDay1|CustomDay2]; + \note if you use SummerDesignDay or WinterDesignDay or the CustomDays then this will apply + \note to the whole period; other days (i.e., Monday) will signify a start day and + \note normal sequence of subsequent days + \default Monday + \type choice + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + A4, \field Use Weather File Daylight Saving Period + \note If yes or blank, use daylight saving period as specified on Weatherfile. + \note If no, do not use the daylight saving period as specified on the Weatherfile. + \type choice + \default Yes + \key Yes + \key No + A5; \field Use Weather File Rain and Snow Indicators + \type choice + \key Yes + \key No + \default Yes + +RunPeriod, + \memo Specify a range of dates and other parameters for a simulation. + \memo Multiple run periods may be input, but they may not overlap. + \min-fields 7 + A1 , \field Name + \required-field + \reference RunPeriodsAndDesignDays + \note descriptive name (used in reporting mainly) + \note Cannot be not blank and must be unique + N1 , \field Begin Month + \required-field + \minimum 1 + \maximum 12 + \type integer + N2 , \field Begin Day of Month + \required-field + \minimum 1 + \maximum 31 + \type integer + N3, \field Begin Year + \note Start year of the simulation, if this field is specified it must agree with the Day of Week for Start Day + \note If this field is blank, the year will be selected to match the weekday, which is Sunday if not specified + N4 , \field End Month + \required-field + \minimum 1 + \maximum 12 + \type integer + N5 , \field End Day of Month + \required-field + \minimum 1 + \maximum 31 + \type integer + N6, \field End Year + \note end year of simulation, if specified + A2 , \field Day of Week for Start Day + \note =[Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday]; + \note If no year is input, this field will default to Sunday + \note If a year is input and this field is blank, the correct weekday is determined + \type choice + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + A3, \field Use Weather File Holidays and Special Days + \note If yes or blank, use holidays as specified on Weatherfile. + \note If no, do not use the holidays specified on the Weatherfile. + \note Note: You can still specify holidays/special days using the RunPeriodControl:SpecialDays object(s). + \type choice + \default Yes + \key Yes + \key No + A4, \field Use Weather File Daylight Saving Period + \note If yes or blank, use daylight saving period as specified on Weatherfile. + \note If no, do not use the daylight saving period as specified on the Weatherfile. + \type choice + \default Yes + \key Yes + \key No + A5, \field Apply Weekend Holiday Rule + \note if yes and single day holiday falls on weekend, "holiday" occurs on following Monday + \type choice + \key Yes + \key No + \default No + A6, \field Use Weather File Rain Indicators + \type choice + \key Yes + \key No + \default Yes + A7, \field Use Weather File Snow Indicators + \type choice + \key Yes + \key No + \default Yes + A8, \field Treat Weather as Actual + \type choice + \key Yes + \key No + \default No + A9; \field First Hour Interpolation Starting Values + \note When the weather data timestep is longer than the simulation timestep, weather data is interpolated. For the first hour of the + \note simulation, this field specifies which values from the first day of the run period to use as the interpolation starting point. + \note This same interpolation will be used for repeated warmup days. + \type choice + \key Hour1 + \key Hour24 + \default Hour24 + +RunPeriodControl:SpecialDays, + \min-fields 4 + \memo This object sets up holidays/special days to be used during weather file + \memo run periods. (These are not used with SizingPeriod:* objects.) + \memo Depending on the value in the run period, days on the weather file may also + \memo be used. However, the weather file specification will take precedence over + \memo any specification shown here. (No error message on duplicate days or overlapping + \memo days). + A1, \field Name + \required-field + A2, \field Start Date + \required-field + \note Dates can be several formats: + \note / (month/day) + \note + \note + \note in in + \note can be January, February, March, April, May, June, July, August, September, October, November, December + \note Months can be the first 3 letters of the month + \note can be Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday + \note can be 1 or 1st, 2 or 2nd, etc. up to 5(?) + N1, \field Duration + \units days + \minimum 1 + \maximum 366 + \default 1 + A3; \field Special Day Type + \note Special Day Type selects the schedules appropriate for each day so labeled + \type choice + \key Holiday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + \default Holiday + +RunPeriodControl:DaylightSavingTime, + \unique-object + \min-fields 2 + \memo This object sets up the daylight saving time period for any RunPeriod. + \memo Ignores any daylight saving time period on the weather file and uses this definition. + \memo These are not used with SizingPeriod:DesignDay objects. + \memo Use with SizingPeriod:WeatherFileDays object can be controlled in that object. + A1, \field Start Date + \required-field + A2; \field End Date + \required-field + \note Dates can be several formats: + \note / (month/day) + \note + \note + \note in in + \note can be January, February, March, April, May, June, July, August, September, October, November, December + \note Months can be the first 3 letters of the month + \note can be Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday + \note can be 1 or 1st, 2 or 2nd, etc. up to 5(?) + +WeatherProperty:SkyTemperature, + \memo This object is used to override internal sky temperature calculations. + A1, \field Name + \note blank in this field will apply to all run periods (that is, all objects= + \note SizingPeriod:WeatherFileDays, SizingPeriod:WeatherFileConditionType or RunPeriod + \note otherwise, this name must match one of the environment object names. + \type object-list + \object-list RunPeriodsAndDesignDays + A2, \field Calculation Type + \required-field + \note The field indicates that the sky temperature will be imported from external schedules or calculated by alternative methods other than default. + \type choice + \key ClarkAllen + \key Brunt + \key Idso + \key BerdahlMartin + \key ScheduleValue + \key DifferenceScheduleDryBulbValue + \key DifferenceScheduleDewPointValue + \default ClarkAllen + A3, \field Schedule Name + \note if name matches a SizingPeriod:DesignDay, put in a day schedule of this name + \note if name is for a SizingPeriod:WeatherFileDays, SizingPeriod:WeatherFileConditionType or + \note RunPeriod, put in a full year schedule that covers the appropriate days. + \note Required if Calculation Type is ScheduleValue, DifferenceScheduleDryBulbValue or DifferenceScheduleDewPointValue. + \type object-list + \object-list DayScheduleNames + \object-list ScheduleNames + A4; \field Use Weather File Horizontal IR + \note If yes or blank, use Horizontal IR values from weather file when present, otherwise use the specified sky model. + \note If no, always use the specified sky model and ignore the horizontal IR values from the weather file. + \note For Calculation Type = ScheduleValue, DifferenceScheduleDryBulbValue or DifferenceScheduleDewPointValue, this field is ignored and the scheduled values are used. + \type choice + \default Yes + \key Yes + \key No + +Site:WeatherStation, + \unique-object + \memo This object should only be used for non-standard weather data. Standard weather data + \memo such as TMY2, IWEC, and ASHRAE design day data are all measured at the + \memo default conditions and do not require this object. + N1 , \field Wind Sensor Height Above Ground + \type real + \units m + \default 10.0 + \minimum> 0.0 + N2 , \field Wind Speed Profile Exponent + \type real + \default 0.14 + \minimum 0.0 + N3 , \field Wind Speed Profile Boundary Layer Thickness + \type real + \units m + \default 270.0 + \minimum 0.0 + N4 ; \field Air Temperature Sensor Height Above Ground + \type real + \units m + \default 1.5 + \minimum 0.0 + +Site:HeightVariation, + \unique-object + \memo This object is used if the user requires advanced control over height-dependent + \memo variations in wind speed and temperature. When this object is not present, the default model + \memo for temperature dependence on height is used, and the wind speed is modeled according + \memo to the Terrain field of the BUILDING object. + N1 , \field Wind Speed Profile Exponent + \note Set to zero for no wind speed dependence on height. + \type real + \default 0.22 + \minimum 0.0 + N2 , \field Wind Speed Profile Boundary Layer Thickness + \type real + \units m + \default 370.0 + \minimum> 0.0 + N3 ; \field Air Temperature Gradient Coefficient + \note Set to zero for no air temperature dependence on height. + \type real + \units K/m + \default 0.0065 + \minimum 0.0 + +Site:GroundTemperature:BuildingSurface, + \memo These temperatures are specifically for those surfaces that have the outside environment + \memo of "Ground". Documentation about what values these should be is located in the + \memo Auxiliary programs document (Ground Heat Transfer) as well as the InputOutput Reference. + \memo CAUTION - Do not use the "undisturbed" ground temperatures from the weather data. + \memo These values are too extreme for the soil under a conditioned building. + \memo For best results, use the Slab or Basement program to calculate custom monthly + \memo average ground temperatures (see Auxiliary Programs). For typical commercial + \memo buildings in the USA, a reasonable default value is 2C less than the average indoor space temperature. + \unique-object + \min-fields 12 + \format singleLine + N1 , \field January Ground Temperature + \units C + \type real + \default 18 + N2 , \field February Ground Temperature + \units C + \type real + \default 18 + N3 , \field March Ground Temperature + \units C + \type real + \default 18 + N4 , \field April Ground Temperature + \units C + \type real + \default 18 + N5 , \field May Ground Temperature + \units C + \type real + \default 18 + N6 , \field June Ground Temperature + \units C + \type real + \default 18 + N7 , \field July Ground Temperature + \units C + \type real + \default 18 + N8 , \field August Ground Temperature + \units C + \type real + \default 18 + N9 , \field September Ground Temperature + \units C + \type real + \default 18 + N10, \field October Ground Temperature + \units C + \type real + \default 18 + N11, \field November Ground Temperature + \units C + \type real + \default 18 + N12; \field December Ground Temperature + \units C + \type real + \default 18 + +Site:GroundTemperature:FCfactorMethod, + \memo These temperatures are specifically for underground walls and ground floors + \memo defined with the C-factor and F-factor methods, and should be close to the + \memo monthly average outdoor air temperature delayed by 3 months for the location. + \unique-object + \min-fields 12 + \format singleLine + N1 , \field January Ground Temperature + \units C + \type real + \default 13 + N2 , \field February Ground Temperature + \units C + \type real + \default 13 + N3 , \field March Ground Temperature + \units C + \type real + \default 13 + N4 , \field April Ground Temperature + \units C + \type real + \default 13 + N5 , \field May Ground Temperature + \units C + \type real + \default 13 + N6 , \field June Ground Temperature + \units C + \type real + \default 13 + N7 , \field July Ground Temperature + \units C + \type real + \default 13 + N8 , \field August Ground Temperature + \units C + \type real + \default 13 + N9 , \field September Ground Temperature + \units C + \type real + \default 13 + N10, \field October Ground Temperature + \units C + \type real + \default 13 + N11, \field November Ground Temperature + \units C + \type real + \default 13 + N12; \field December Ground Temperature + \units C + \type real + \default 13 + +Site:GroundTemperature:Shallow, + \memo These temperatures are specifically for the Surface Ground Heat Exchanger and + \memo should probably be close to the average outdoor air temperature for the location. + \memo They are not used in other models. + \unique-object + \min-fields 12 + \format singleLine + N1 , \field January Surface Ground Temperature + \units C + \type real + \default 13 + N2 , \field February Surface Ground Temperature + \units C + \type real + \default 13 + N3 , \field March Surface Ground Temperature + \units C + \type real + \default 13 + N4 , \field April Surface Ground Temperature + \units C + \type real + \default 13 + N5 , \field May Surface Ground Temperature + \units C + \type real + \default 13 + N6 , \field June Surface Ground Temperature + \units C + \type real + \default 13 + N7 , \field July Surface Ground Temperature + \units C + \type real + \default 13 + N8 , \field August Surface Ground Temperature + \units C + \type real + \default 13 + N9 , \field September Surface Ground Temperature + \units C + \type real + \default 13 + N10, \field October Surface Ground Temperature + \units C + \type real + \default 13 + N11, \field November Surface Ground Temperature + \units C + \type real + \default 13 + N12; \field December Surface Ground Temperature + \units C + \type real + \default 13 + +Site:GroundTemperature:Deep, + \memo These temperatures are specifically for the ground heat exchangers that would use + \memo "deep" (3-4 m depth) ground temperatures for their heat source. + \memo They are not used in other models. + \unique-object + \min-fields 12 + \format singleLine + N1 , \field January Deep Ground Temperature + \units C + \type real + \default 16 + N2 , \field February Deep Ground Temperature + \units C + \type real + \default 16 + N3 , \field March Deep Ground Temperature + \units C + \type real + \default 16 + N4 , \field April Deep Ground Temperature + \units C + \type real + \default 16 + N5 , \field May Deep Ground Temperature + \units C + \type real + \default 16 + N6 , \field June Deep Ground Temperature + \units C + \type real + \default 16 + N7 , \field July Deep Ground Temperature + \units C + \type real + \default 16 + N8 , \field August Deep Ground Temperature + \units C + \type real + \default 16 + N9 , \field September Deep Ground Temperature + \units C + \type real + \default 16 + N10, \field October Deep Ground Temperature + \units C + \type real + \default 16 + N11, \field November Deep Ground Temperature + \units C + \type real + \default 16 + N12; \field December Deep Ground Temperature + \units C + \type real + \default 16 + +Site:GroundTemperature:Undisturbed:FiniteDifference, + \memo Undisturbed ground temperature object using a + \memo detailed finite difference 1-D model + \min-fields 7 + A1, \field Name + \required-field + \reference UndisturbedGroundTempModels + N1, \field Soil Thermal Conductivity + \required-field + \type real + \units W/m-K + \minimum> 0.0 + N2, \field Soil Density + \required-field + \type real + \units kg/m3 + \minimum> 0.0 + N3, \field Soil Specific Heat + \required-field + \type real + \units J/kg-K + \minimum> 0.0 + N4, \field Soil Moisture Content Volume Fraction + \type real + \units percent + \minimum 0 + \maximum 100 + \default 30 + N5, \field Soil Moisture Content Volume Fraction at Saturation + \type real + \units percent + \minimum 0 + \maximum 100 + \default 50 + N6; \field Evapotranspiration Ground Cover Parameter + \type real + \units dimensionless + \minimum 0 + \maximum 1.5 + \default 0.4 + \note This specifies the ground cover effects during evapotranspiration + \note calculations. The value roughly represents the following cases: + \note = 0 : concrete or other solid, non-permeable ground surface material + \note = 0.5 : short grass, much like a manicured lawn + \note = 1 : standard reference state (12 cm grass) + \note = 1.5 : wild growth + +Site:GroundTemperature:Undisturbed:KusudaAchenbach, + \memo Undisturbed ground temperature object using the + \memo Kusuda-Achenbach 1965 correlation. + \min-fields 7 + A1, \field Name + \required-field + \reference UndisturbedGroundTempModels + N1, \field Soil Thermal Conductivity + \required-field + \type real + \units W/m-K + \minimum> 0.0 + N2, \field Soil Density + \required-field + \type real + \units kg/m3 + \minimum> 0.0 + N3, \field Soil Specific Heat + \required-field + \type real + \units J/kg-K + \minimum> 0.0 + N4, \field Average Soil Surface Temperature + \type real + \units C + \note Annual average surface temperature + \note If left blank the Site:GroundTemperature:Shallow object must be included in the input + \note The soil temperature, amplitude, and phase shift must all be included or omitted together + N5, \field Average Amplitude of Surface Temperature + \type real + \units deltaC + \minimum 0 + \note Annual average surface temperature variation from average. + \note If left blank the Site:GroundTemperature:Shallow object must be included in the input + \note The soil temperature, amplitude, and phase shift must all be included or omitted together + N6; \field Phase Shift of Minimum Surface Temperature + \type real + \units days + \minimum 0 + \maximum< 365 + \note The phase shift of minimum surface temperature, or the day + \note of the year when the minimum surface temperature occurs. + \note If left blank the Site:GroundTemperature:Shallow object must be included in the input + \note The soil temperature, amplitude, and phase shift must all be included or omitted together + +Site:GroundTemperature:Undisturbed:Xing, + \memo Undisturbed ground temperature object using the + \memo Xing 2014 2 harmonic parameter model. + \min-fields 9 + A1, \field Name + \required-field + \reference UndisturbedGroundTempModels + N1, \field Soil Thermal Conductivity + \required-field + \type real + \units W/m-K + \minimum> 0.0 + N2, \field Soil Density + \required-field + \type real + \units kg/m3 + \minimum> 0.0 + N3, \field Soil Specific Heat + \required-field + \type real + \units J/kg-K + \minimum> 0.0 + N4, \field Average Soil Surface Temperature + \required-field + \type real + \units C + N5, \field Soil Surface Temperature Amplitude 1 + \required-field + \type real + \units deltaC + N6, \field Soil Surface Temperature Amplitude 2 + \required-field + \type real + \units deltaC + N7, \field Phase Shift of Temperature Amplitude 1 + \required-field + \type real + \units days + \maximum< 365 + N8; \field Phase Shift of Temperature Amplitude 2 + \required-field + \type real + \units days + \maximum< 365 + +Site:GroundDomain:Slab, + \memo Ground-coupled slab model for on-grade and + \memo in-grade cases with or without insulation. + A1, \field Name + \required-field + N1, \field Ground Domain Depth + \type real + \default 10 + \units m + \minimum> 0.0 + N2, \field Aspect Ratio + \type real + \default 1 + N3, \field Perimeter Offset + \type real + \default 5 + \units m + \minimum> 0.0 + N4, \field Soil Thermal Conductivity + \type real + \default 1.5 + \units W/m-K + \minimum> 0.0 + N5, \field Soil Density + \type real + \default 2800 + \units kg/m3 + \minimum> 0.0 + N6, \field Soil Specific Heat + \type real + \default 850 + \units J/kg-K + \minimum> 0.0 + N7, \field Soil Moisture Content Volume Fraction + \type real + \units percent + \minimum 0 + \maximum 100 + \default 30 + N8, \field Soil Moisture Content Volume Fraction at Saturation + \type real + \units percent + \minimum 0 + \maximum 100 + \default 50 + A2, \field Undisturbed Ground Temperature Model Type + \required-field + \type choice + \key Site:GroundTemperature:Undisturbed:FiniteDifference + \key Site:GroundTemperature:Undisturbed:KusudaAchenbach + \key Site:GroundTemperature:Undisturbed:Xing + A3, \field Undisturbed Ground Temperature Model Name + \required-field + \type object-list + \object-list UndisturbedGroundTempModels + N9, \field Evapotranspiration Ground Cover Parameter + \type real + \minimum 0 + \maximum 1.5 + \default 0.4 + \note This specifies the ground cover effects during evapotranspiration + \note calculations. The value roughly represents the following cases: + \note = 0 : concrete or other solid, non-permeable ground surface material + \note = 0.5 : short grass, much like a manicured lawn + \note = 1 : standard reference state (12 cm grass) + \note = 1.5 : wild growth + A4, \field Slab Boundary Condition Model Name + \required-field + \type object-list + \object-list OSCMNames + A5, \field Slab Location + \required-field + \type choice + \key InGrade + \key OnGrade + \note This field specifies whether the slab is located "in-grade" or "on-grade" + A6, \field Slab Material Name + \type object-list + \object-list MaterialName + \note Only applicable for the in-grade case + A7, \field Horizontal Insulation + \type choice + \key Yes + \key No + \default No + \note This field specifies the presence of insulation beneath the slab. + \note Only required for in-grade case. + A8, \field Horizontal Insulation Material Name + \type object-list + \object-list MaterialName + \note This field specifies the horizontal insulation material. + A9, \field Horizontal Insulation Extents + \type choice + \key Full + \key Perimeter + \default Full + \note This field specifies whether the horizontal insulation fully insulates + \note the surface or is perimeter only insulation + N10, \field Perimeter Insulation Width + \type real + \units m + \minimum> 0.0 + \note This field specifies the width of the underfloor perimeter insulation + A10, \field Vertical Insulation + \type choice + \key Yes + \key No + \default No + \note This field specifies the presence of vertical insulation at the slab edge. + A11, \field Vertical Insulation Material Name + \type object-list + \object-list MaterialName + \note This field specifies the vertical insulation material. + N11, \field Vertical Insulation Depth + \type real + \units m + \minimum> 0.0 + \note Only used when including vertical insulation + \note This field specifies the depth of the vertical insulation + A12, \field Simulation Timestep + \type choice + \key Timestep + \key Hourly + \default Hourly + \note This field specifies the ground domain simulation timestep. + N12, \field Geometric Mesh Coefficient + \type real + \minimum 1.0 + \maximum 2.0 + \default 1.6 + N13; \field Mesh Density Parameter + \type integer + \minimum 4 + \default 6 + +Site:GroundDomain:Basement, + \memo Ground-coupled basement model for simulating basements + \memo or other underground zones. + A1, \field Name + \required-field + N1, \field Ground Domain Depth + \type real + \default 10 + \units m + \minimum> 0.0 + \note The depth from ground surface to the deep ground boundary of the domain. + N2, \field Aspect Ratio + \type real + \default 1 + \note This defines the height to width ratio of the basement zone. + N3, \field Perimeter Offset + \type real + \default 5 + \units m + \minimum> 0.0 + \note The distance from the basement wall edge to the edge of the ground domain + N4, \field Soil Thermal Conductivity + \type real + \default 1.5 + \units W/m-K + \minimum> 0.0 + N5, \field Soil Density + \type real + \default 2800 + \units kg/m3 + \minimum> 0.0 + N6, \field Soil Specific Heat + \type real + \default 850 + \units J/kg-K + \minimum> 0.0 + N7, \field Soil Moisture Content Volume Fraction + \type real + \units percent + \minimum 0 + \maximum 100 + \default 30 + N8, \field Soil Moisture Content Volume Fraction at Saturation + \type real + \units percent + \minimum 0 + \maximum 100 + \default 50 + A2, \field Undisturbed Ground Temperature Model Type + \required-field + \type choice + \key Site:GroundTemperature:Undisturbed:FiniteDifference + \key Site:GroundTemperature:Undisturbed:KusudaAchenbach + \key Site:GroundTemperature:Undisturbed:Xing + A3, \field Undisturbed Ground Temperature Model Name + \required-field + \type object-list + \object-list UndisturbedGroundTempModels + N9, \field Evapotranspiration Ground Cover Parameter + \type real + \minimum 0 + \maximum 1.5 + \default 0.4 + \note This specifies the ground cover effects during evapotranspiration + \note calculations. The value roughly represents the following cases: + \note = 0 : concrete or other solid, non-permeable ground surface material + \note = 0.5 : short grass, much like a manicured lawn + \note = 1 : standard reference state (12 cm grass) + \note = 1.5 : wild growth + A4, \field Basement Floor Boundary Condition Model Name + \required-field + \type object-list + \object-list OSCMNames + A5, \field Horizontal Insulation + \type choice + \key Yes + \key No + \default No + \note This field specifies the presence of insulation beneath the basement floor. + A6, \field Horizontal Insulation Material Name + \type object-list + \object-list MaterialName + A7, \field Horizontal Insulation Extents + \type choice + \key Perimeter + \key Full + \default Full + \note This field specifies whether the horizontal insulation fully insulates + \note the surface or is perimeter only insulation + N10, \field Perimeter Horizontal Insulation Width + \type real + \units m + \minimum> 0.0 + \note Width of horizontal perimeter insulation measured from + \note foundation wall inside surface. + N11, \field Basement Wall Depth + \type real + \units m + \minimum> 0.0 + \note Depth measured from ground surface. + A8, \field Basement Wall Boundary Condition Model Name + \required-field + \type object-list + \object-list OSCMNames + A9, \field Vertical Insulation + \type choice + \key Yes + \key No + \default No + A10, \field Basement Wall Vertical Insulation Material Name + \type object-list + \object-list MaterialName + N12, \field Vertical Insulation Depth + \type real + \units m + \minimum> 0.0 + \note Depth measured from the ground surface. + A11, \field Simulation Timestep + \type choice + \key Timestep + \key Hourly + \default Hourly + \note This field specifies the basement domain simulation interval. + N13; \field Mesh Density Parameter + \type integer + \default 4 + \minimum 2 + +Site:GroundReflectance, + \memo Specifies the ground reflectance values used to calculate ground reflected solar. + \memo The ground reflectance can be further modified when snow is on the ground + \memo by Site:GroundReflectance:SnowModifier. + \unique-object + \min-fields 12 + \format singleLine + N1 , \field January Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N2 , \field February Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N3 , \field March Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N4 , \field April Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N5 , \field May Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N6 , \field June Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N7 , \field July Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N8 , \field August Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N9 , \field September Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N10 , \field October Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N11 , \field November Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + N12 ; \field December Ground Reflectance + \default 0.2 + \type real + \minimum 0.0 + \maximum 1.0 + \units dimensionless + +Site:GroundReflectance:SnowModifier, + \memo Specifies ground reflectance multipliers when snow resident on the ground. + \memo These multipliers are applied to the "normal" ground reflectances specified + \memo in Site:GroundReflectance. + N1, \field Ground Reflected Solar Modifier + \minimum 0.0 + \default 1.0 + \note Value for modifying the "normal" ground reflectance when Snow is on ground + \note when calculating the "Ground Reflected Solar Radiation Value" + \note a value of 1.0 here uses the "normal" ground reflectance + \note Ground Reflected Solar = (BeamSolar*CosSunZenith + DiffuseSolar)*GroundReflectance + \note This would be further modified by the Snow Ground Reflectance Modifier when Snow was on the ground + \note When Snow on ground, effective GroundReflectance is normal GroundReflectance*"Ground Reflectance Snow Modifier" + \note Ground Reflectance achieved in this manner will be restricted to [0.0,1.0] + N2; \field Daylighting Ground Reflected Solar Modifier + \minimum 0.0 + \default 1.0 + \note Value for modifying the "normal" daylighting ground reflectance when Snow is on ground + \note when calculating the "Ground Reflected Solar Radiation Value" + \note a value of 1.0 here uses the "normal" ground reflectance + \note Ground Reflected Solar = (BeamSolar*CosSunZenith + DiffuseSolar)*GroundReflectance + \note This would be further modified by the Snow Ground Reflectance Modifier when Snow was on the ground + \note When Snow on ground, effective GroundReflectance is normal GroundReflectance*"Daylighting Ground Reflectance Snow Modifier" + \note Ground Reflectance achieved in this manner will be restricted to [0.0,1.0] + +Site:WaterMainsTemperature, + \memo Used to calculate water mains temperatures delivered by underground water main pipes. + \memo Water mains temperatures are a function of outdoor climate conditions + \memo and vary with time of year. + A1 , \field Calculation Method + \required-field + \type choice + \key Schedule + \key Correlation + \key CorrelationFromWeatherFile + \default CorrelationFromWeatherFile + \note If calculation method is CorrelationFromWeatherFile, the two numeric input + \note fields are ignored. Instead, EnergyPlus calculates them from weather file. + A2 , \field Temperature Schedule Name + \type object-list + \object-list ScheduleNames + N1 , \field Annual Average Outdoor Air Temperature + \note If calculation method is CorrelationFromWeatherFile or Schedule, this input + \note field is ignored. + \type real + \units C + N2 ; \field Maximum Difference In Monthly Average Outdoor Air Temperatures + \note If calculation method is CorrelationFromWeatherFile or Schedule, this input + \note field is ignored. + \type real + \units deltaC + \minimum 0 + +Site:Precipitation, + \memo Used to describe the amount of water precipitation at the building site. + \memo Precipitation includes both rain and the equivalent water content of snow. + A1, \field Precipitation Model Type + \type choice + \key ScheduleAndDesignLevel + N1, \field Design Level for Total Annual Precipitation + \note meters of water per year used for design level + \units m/yr + A2, \field Precipitation Rates Schedule Name + \type object-list + \object-list ScheduleNames + \note Schedule values in meters of water per hour + \note values should be non-negative + N2; \field Average Total Annual Precipitation + \note meters of water per year from average weather statistics + \minimum 0 + \units m/yr + +RoofIrrigation, + \memo Used to describe the amount of irrigation on the ecoroof surface over the course + \memo of the simulation runperiod. + A1, \field Irrigation Model Type + \type choice + \key Schedule + \key SmartSchedule + \note SmartSchedule will not allow irrigation when soil is already moist. + \note Current threshold set at 30% of saturation. + A2, \field Irrigation Rate Schedule Name + \type object-list + \object-list ScheduleNames + \note Schedule values in meters of water per hour + \note values should be non-negative + N1; \field Irrigation Maximum Saturation Threshold + \note Used with SmartSchedule to set the saturation level at which no + \note irrigation is allowed. + \units percent + \minimum 0.0 + \maximum 100.0 + \default 40.0 + +Site:SolarAndVisibleSpectrum, + \memo If this object is omitted, the default solar and visible spectrum data will be used. + \unique-object + A1, \field Name + \required-field + \type alpha + A2, \field Spectrum Data Method + \note The method specifies which of the solar and visible spectrum data to use in the calculations. + \note Choices: Default - existing hard-wired spectrum data in EnergyPlus. + \note UserDefined - user specified spectrum data referenced by the next two fields + \type choice + \key Default + \key UserDefined + \default Default + A3, \field Solar Spectrum Data Object Name + \type object-list + \object-list SpectrumDataNames + A4; \field Visible Spectrum Data Object Name + \type object-list + \object-list SpectrumDataNames + +Site:SpectrumData, + \min-fields 8 + \memo Spectrum Data Type is followed by up to 107 sets of normal-incidence measured values of + \memo [wavelength, spectrum] for wavelengths covering the solar (0.25 to 2.5 microns) or visible + \memo spectrum (0.38 to 0.78 microns) + \extensible:2 + A1, \field Name + \required-field + \type alpha + \reference SpectrumDataNames + A2, \field Spectrum Data Type + \required-field + \type choice + \key Solar + \key Visible + N1, \field Wavelength + \type real + \units micron + N2, \field Spectrum + \type real + N3, \field Wavelength + \type real + \units micron + N4, \field Spectrum + \type real + N5, \field Wavelength + \begin-extensible + \type real + \units micron + N6, \field Spectrum + \type real + N7, N8, \note fields as indicated + N9, N10, \note fields as indicated + N11, N12, \note fields as indicated + N13, N14, \note fields as indicated + N15, N16, \note fields as indicated + N17, N18, \note fields as indicated + N19, N20, \note fields as indicated + N21, N22, \note fields as indicated + N23, N24, \note fields as indicated + N25, N26, \note fields as indicated + N27, N28, \note fields as indicated + N29, N30, \note fields as indicated + N31, N32, \note fields as indicated + N33, N34, \note fields as indicated + N35, N36, \note fields as indicated + N37, N38, \note fields as indicated + N39, N40, \note fields as indicated + N41, N42, \note fields as indicated + N43, N44, \note fields as indicated + N45, N46, \note fields as indicated + N47, N48, \note fields as indicated + N49, N50, \note fields as indicated + N51, N52, \note fields as indicated + N53, N54, \note fields as indicated + N55, N56, \note fields as indicated + N57, N58, \note fields as indicated + N59, N60, \note fields as indicated + N61, N62, \note fields as indicated + N63, N64, \note fields as indicated + N65, N66, \note fields as indicated + N67, N68, \note fields as indicated + N69, N70, \note fields as indicated + N71, N72, \note fields as indicated + N73, N74, \note fields as indicated + N75, N76, \note fields as indicated + N77, N78, \note fields as indicated + N79, N80, \note fields as indicated + N81, N82, \note fields as indicated + N83, N84, \note fields as indicated + N85, N86, \note fields as indicated + N87, N88, \note fields as indicated + N89, N90, \note fields as indicated + N91, N92, \note fields as indicated + N93, N94, \note fields as indicated + N95, N96, \note fields as indicated + N97, N98, \note fields as indicated + N99, N100, \note fields as indicated + N101, N102, \note fields as indicated + N103, N104, \note fields as indicated + N105, N106, \note fields as indicated + N107, N108, \note fields as indicated + N109, N110, \note fields as indicated + N111, N112, \note fields as indicated + N113, N114, \note fields as indicated + N115, N116, \note fields as indicated + N117, N118, \note fields as indicated + N119, N120, \note fields as indicated + N121, N122, \note fields as indicated + N123, N124, \note fields as indicated + N125, N126, \note fields as indicated + N127, N128, \note fields as indicated + N129, N130, \note fields as indicated + N131, N132, \note fields as indicated + N133, N134, \note fields as indicated + N135, N136, \note fields as indicated + N137, N138, \note fields as indicated + N139, N140, \note fields as indicated + N141, N142, \note fields as indicated + N143, N144, \note fields as indicated + N145, N146, \note fields as indicated + N147, N148, \note fields as indicated + N149, N150, \note fields as indicated + N151, N152, \note fields as indicated + N153, N154, \note fields as indicated + N155, N156, \note fields as indicated + N157, N158, \note fields as indicated + N159, N160, \note fields as indicated + N161, N162, \note fields as indicated + N163, N164, \note fields as indicated + N165, N166, \note fields as indicated + N167, N168, \note fields as indicated + N169, N170, \note fields as indicated + N171, N172, \note fields as indicated + N173, N174, \note fields as indicated + N175, N176, \note fields as indicated + N177, N178, \note fields as indicated + N179, N180, \note fields as indicated + N181, N182, \note fields as indicated + N183, N184, \note fields as indicated + N185, N186, \note fields as indicated + N187, N188, \note fields as indicated + N189, N190, \note fields as indicated + N191, N192, \note fields as indicated + N193, N194, \note fields as indicated + N195, N196, \note fields as indicated + N197, N198, \note fields as indicated + N199, N200, \note fields as indicated + N201, N202, \note fields as indicated + N203, N204, \note fields as indicated + N205, N206, \note fields as indicated + N207, N208, \note fields as indicated + N209, N210, \note fields as indicated + N211, N212, \note fields as indicated + N213, N214; \note fields as indicated + +\group Schedules + +ScheduleTypeLimits, + \memo ScheduleTypeLimits specifies the data types and limits for the values contained in schedules + A1, \field Name + \required-field + \reference ScheduleTypeLimitsNames + \note used to validate schedule types in various schedule objects + N1, \field Lower Limit Value + \note lower limit (real or integer) for the Schedule Type. e.g. if fraction, this is 0.0 + \unitsBasedOnField A3 + N2, \field Upper Limit Value + \note upper limit (real or integer) for the Schedule Type. e.g. if fraction, this is 1.0 + \unitsBasedOnField A3 + A2, \field Numeric Type + \note Numeric type is either Continuous (all numbers within the min and + \note max are valid or Discrete (only integer numbers between min and + \note max are valid. (Could also allow REAL and INTEGER to mean the + \note same things) + \type choice + \key Continuous + \key Discrete + A3; \field Unit Type + \note Temperature (C or F) + \note DeltaTemperature (C or F) + \note PrecipitationRate (m/hr or ft/hr) + \note Angle (degrees) + \note Convection Coefficient (W/m2-K or Btu/sqft-hr-F) + \note Activity Level (W/person) + \note Velocity (m/s or ft/min) + \note Capacity (W or Btu/h) + \note Power (W) + \type choice + \key Dimensionless + \key Temperature + \key DeltaTemperature + \key PrecipitationRate + \key Angle + \key ConvectionCoefficient + \key ActivityLevel + \key Velocity + \key Capacity + \key Power + \key Availability + \key Percent + \key Control + \key Mode + \default Dimensionless + +Schedule:Day:Hourly, + \min-fields 26 + \memo A Schedule:Day:Hourly contains 24 values for each hour of the day. + A1 , \field Name + \required-field + \type alpha + \reference DayScheduleNames + A2 , \field Schedule Type Limits Name + \type object-list + \object-list ScheduleTypeLimitsNames + N1 , \field Hour 1 + \type real + \default 0 + N2 , \field Hour 2 + \type real + \default 0 + N3 , \field Hour 3 + \type real + \default 0 + N4 , \field Hour 4 + \type real + \default 0 + N5 , \field Hour 5 + \type real + \default 0 + N6 , \field Hour 6 + \type real + \default 0 + N7 , \field Hour 7 + \type real + \default 0 + N8 , \field Hour 8 + \type real + \default 0 + N9 , \field Hour 9 + \type real + \default 0 + N10, \field Hour 10 + \type real + \default 0 + N11, \field Hour 11 + \type real + \default 0 + N12, \field Hour 12 + \type real + \default 0 + N13, \field Hour 13 + \type real + \default 0 + N14, \field Hour 14 + \type real + \default 0 + N15, \field Hour 15 + \type real + \default 0 + N16, \field Hour 16 + \type real + \default 0 + N17, \field Hour 17 + \type real + \default 0 + N18, \field Hour 18 + \type real + \default 0 + N19, \field Hour 19 + \type real + \default 0 + N20, \field Hour 20 + \type real + \default 0 + N21, \field Hour 21 + \type real + \default 0 + N22, \field Hour 22 + \type real + \default 0 + N23, \field Hour 23 + \type real + \default 0 + N24; \field Hour 24 + \type real + \default 0 + +Schedule:Day:Interval, + \extensible:2 - repeat last two fields, remembering to remove ; from "inner" fields. + \memo A Schedule:Day:Interval contains a full day of values with specified end times for each value + \memo Currently, is set up to allow for 10 minute intervals for an entire day. + \min-fields 5 + A1 , \field Name + \required-field + \type alpha + \reference DayScheduleNames + A2 , \field Schedule Type Limits Name + \type object-list + \object-list ScheduleTypeLimitsNames + A3 , \field Interpolate to Timestep + \note when the interval does not match the user specified timestep a Average choice will average between the intervals request (to + \note timestep resolution. A No choice will use the interval value at the simulation timestep without regard to if it matches + \note the boundary or not. A Linear choice will interpolate linearly between successive values. + \type choice + \key Average + \key Linear + \key No + \default No + A4 , \field Time 1 + \begin-extensible + \note "until" includes the time entered. + \units hh:mm + N1 , \field Value Until Time 1 + A5 , \field Time 2 + \note "until" includes the time entered. + \units hh:mm + N2 , \field Value Until Time 2 + A6 , \field Time 3 + \note "until" includes the time entered. + \units hh:mm + N3 , \field Value Until Time 3 + A7 , \field Time 4 + \note "until" includes the time entered. + \units hh:mm + N4 , \field Value Until Time 4 + A8 , \field Time 5 + \note "until" includes the time entered. + \units hh:mm + N5 , \field Value Until Time 5 + A9 , \field Time 6 + \note "until" includes the time entered. + \units hh:mm + N6 , \field Value Until Time 6 + A10 , \field Time 7 + \note "until" includes the time entered. + \units hh:mm + N7 , \field Value Until Time 7 + A11 , \field Time 8 + \note "until" includes the time entered. + \units hh:mm + N8 , \field Value Until Time 8 + A12 , \field Time 9 + \note "until" includes the time entered. + \units hh:mm + N9 , \field Value Until Time 9 + A13 , \field Time 10 + \note "until" includes the time entered. + \units hh:mm + N10 , \field Value Until Time 10 + A14 , \field Time 11 + \note "until" includes the time entered. + \units hh:mm + N11 , \field Value Until Time 11 + A15 , \field Time 12 + \note "until" includes the time entered. + \units hh:mm + N12 , \field Value Until Time 12 + A16 , \field Time 13 + \note "until" includes the time entered. + \units hh:mm + N13 , \field Value Until Time 13 + A17 , \field Time 14 + \note "until" includes the time entered. + \units hh:mm + N14 , \field Value Until Time 14 + A18 , \field Time 15 + \note "until" includes the time entered. + \units hh:mm + N15 , \field Value Until Time 15 + A19 , \field Time 16 + \note "until" includes the time entered. + \units hh:mm + N16 , \field Value Until Time 16 + A20 , \field Time 17 + \note "until" includes the time entered. + \units hh:mm + N17 , \field Value Until Time 17 + A21 , \field Time 18 + \note "until" includes the time entered. + \units hh:mm + N18 , \field Value Until Time 18 + A22 , \field Time 19 + \note "until" includes the time entered. + \units hh:mm + N19 , \field Value Until Time 19 + A23 , \field Time 20 + \note "until" includes the time entered. + \units hh:mm + N20 , \field Value Until Time 20 + A24 , \field Time 21 + \note "until" includes the time entered. + \units hh:mm + N21 , \field Value Until Time 21 + A25 , \field Time 22 + \note "until" includes the time entered. + \units hh:mm + N22 , \field Value Until Time 22 + A26 , \field Time 23 + \note "until" includes the time entered. + \units hh:mm + N23 , \field Value Until Time 23 + A27 , \field Time 24 + \note "until" includes the time entered. + \units hh:mm + N24 , \field Value Until Time 24 + A28 , \field Time 25 + \note "until" includes the time entered. + \units hh:mm + N25 , \field Value Until Time 25 + A29 , \field Time 26 + \note "until" includes the time entered. + \units hh:mm + N26 , \field Value Until Time 26 + A30 , \field Time 27 + \note "until" includes the time entered. + \units hh:mm + N27 , \field Value Until Time 27 + A31 , \field Time 28 + \note "until" includes the time entered. + \units hh:mm + N28 , \field Value Until Time 28 + A32 , \field Time 29 + \note "until" includes the time entered. + \units hh:mm + N29 , \field Value Until Time 29 + A33 , \field Time 30 + \note "until" includes the time entered. + \units hh:mm + N30 , \field Value Until Time 30 + A34 , \field Time 31 + \note "until" includes the time entered. + \units hh:mm + N31 , \field Value Until Time 31 + A35 , \field Time 32 + \note "until" includes the time entered. + \units hh:mm + N32 , \field Value Until Time 32 + A36 , \field Time 33 + \note "until" includes the time entered. + \units hh:mm + N33 , \field Value Until Time 33 + A37 , \field Time 34 + \note "until" includes the time entered. + \units hh:mm + N34 , \field Value Until Time 34 + A38 , \field Time 35 + \note "until" includes the time entered. + \units hh:mm + N35 , \field Value Until Time 35 + A39 , \field Time 36 + \note "until" includes the time entered. + \units hh:mm + N36 , \field Value Until Time 36 + A40 , \field Time 37 + \note "until" includes the time entered. + \units hh:mm + N37 , \field Value Until Time 37 + A41 , \field Time 38 + \note "until" includes the time entered. + \units hh:mm + N38 , \field Value Until Time 38 + A42 , \field Time 39 + \note "until" includes the time entered. + \units hh:mm + N39 , \field Value Until Time 39 + A43 , \field Time 40 + \note "until" includes the time entered. + \units hh:mm + N40 , \field Value Until Time 40 + A44 , \field Time 41 + \note "until" includes the time entered. + \units hh:mm + N41 , \field Value Until Time 41 + A45 , \field Time 42 + \note "until" includes the time entered. + \units hh:mm + N42 , \field Value Until Time 42 + A46 , \field Time 43 + \note "until" includes the time entered. + \units hh:mm + N43 , \field Value Until Time 43 + A47 , \field Time 44 + \note "until" includes the time entered. + \units hh:mm + N44 , \field Value Until Time 44 + A48 , \field Time 45 + \note "until" includes the time entered. + \units hh:mm + N45 , \field Value Until Time 45 + A49 , \field Time 46 + \note "until" includes the time entered. + \units hh:mm + N46 , \field Value Until Time 46 + A50 , \field Time 47 + \note "until" includes the time entered. + \units hh:mm + N47 , \field Value Until Time 47 + A51 , \field Time 48 + \note "until" includes the time entered. + \units hh:mm + N48 , \field Value Until Time 48 + A52 , \field Time 49 + \note "until" includes the time entered. + \units hh:mm + N49 , \field Value Until Time 49 + A53 , \field Time 50 + \note "until" includes the time entered. + \units hh:mm + N50 , \field Value Until Time 50 + A54 , \field Time 51 + \note "until" includes the time entered. + \units hh:mm + N51 , \field Value Until Time 51 + A55 , \field Time 52 + \note "until" includes the time entered. + \units hh:mm + N52 , \field Value Until Time 52 + A56 , \field Time 53 + \note "until" includes the time entered. + \units hh:mm + N53 , \field Value Until Time 53 + A57 , \field Time 54 + \note "until" includes the time entered. + \units hh:mm + N54 , \field Value Until Time 54 + A58 , \field Time 55 + \note "until" includes the time entered. + \units hh:mm + N55 , \field Value Until Time 55 + A59 , \field Time 56 + \note "until" includes the time entered. + \units hh:mm + N56 , \field Value Until Time 56 + A60 , \field Time 57 + \note "until" includes the time entered. + \units hh:mm + N57 , \field Value Until Time 57 + A61 , \field Time 58 + \note "until" includes the time entered. + \units hh:mm + N58 , \field Value Until Time 58 + A62 , \field Time 59 + \note "until" includes the time entered. + \units hh:mm + N59 , \field Value Until Time 59 + A63 , \field Time 60 + \note "until" includes the time entered. + \units hh:mm + N60 , \field Value Until Time 60 + A64 , \field Time 61 + \note "until" includes the time entered. + \units hh:mm + N61 , \field Value Until Time 61 + A65 , \field Time 62 + \note "until" includes the time entered. + \units hh:mm + N62 , \field Value Until Time 62 + A66 , \field Time 63 + \note "until" includes the time entered. + \units hh:mm + N63 , \field Value Until Time 63 + A67 , \field Time 64 + \note "until" includes the time entered. + \units hh:mm + N64 , \field Value Until Time 64 + A68 , \field Time 65 + \note "until" includes the time entered. + \units hh:mm + N65 , \field Value Until Time 65 + A69 , \field Time 66 + \note "until" includes the time entered. + \units hh:mm + N66 , \field Value Until Time 66 + A70 , \field Time 67 + \note "until" includes the time entered. + \units hh:mm + N67 , \field Value Until Time 67 + A71 , \field Time 68 + \note "until" includes the time entered. + \units hh:mm + N68 , \field Value Until Time 68 + A72 , \field Time 69 + \note "until" includes the time entered. + \units hh:mm + N69 , \field Value Until Time 69 + A73 , \field Time 70 + \note "until" includes the time entered. + \units hh:mm + N70 , \field Value Until Time 70 + A74 , \field Time 71 + \note "until" includes the time entered. + \units hh:mm + N71 , \field Value Until Time 71 + A75 , \field Time 72 + \note "until" includes the time entered. + \units hh:mm + N72 , \field Value Until Time 72 + A76 , \field Time 73 + \note "until" includes the time entered. + \units hh:mm + N73 , \field Value Until Time 73 + A77 , \field Time 74 + \note "until" includes the time entered. + \units hh:mm + N74 , \field Value Until Time 74 + A78 , \field Time 75 + \note "until" includes the time entered. + \units hh:mm + N75 , \field Value Until Time 75 + A79 , \field Time 76 + \note "until" includes the time entered. + \units hh:mm + N76 , \field Value Until Time 76 + A80 , \field Time 77 + \note "until" includes the time entered. + \units hh:mm + N77 , \field Value Until Time 77 + A81 , \field Time 78 + \note "until" includes the time entered. + \units hh:mm + N78 , \field Value Until Time 78 + A82 , \field Time 79 + \note "until" includes the time entered. + \units hh:mm + N79 , \field Value Until Time 79 + A83 , \field Time 80 + \note "until" includes the time entered. + \units hh:mm + N80 , \field Value Until Time 80 + A84 , \field Time 81 + \note "until" includes the time entered. + \units hh:mm + N81 , \field Value Until Time 81 + A85 , \field Time 82 + \note "until" includes the time entered. + \units hh:mm + N82 , \field Value Until Time 82 + A86 , \field Time 83 + \note "until" includes the time entered. + \units hh:mm + N83 , \field Value Until Time 83 + A87 , \field Time 84 + \note "until" includes the time entered. + \units hh:mm + N84 , \field Value Until Time 84 + A88 , \field Time 85 + \note "until" includes the time entered. + \units hh:mm + N85 , \field Value Until Time 85 + A89 , \field Time 86 + \note "until" includes the time entered. + \units hh:mm + N86 , \field Value Until Time 86 + A90 , \field Time 87 + \note "until" includes the time entered. + \units hh:mm + N87 , \field Value Until Time 87 + A91 , \field Time 88 + \note "until" includes the time entered. + \units hh:mm + N88 , \field Value Until Time 88 + A92 , \field Time 89 + \note "until" includes the time entered. + \units hh:mm + N89 , \field Value Until Time 89 + A93 , \field Time 90 + \note "until" includes the time entered. + \units hh:mm + N90 , \field Value Until Time 90 + A94 , \field Time 91 + \note "until" includes the time entered. + \units hh:mm + N91 , \field Value Until Time 91 + A95 , \field Time 92 + \note "until" includes the time entered. + \units hh:mm + N92 , \field Value Until Time 92 + A96 , \field Time 93 + \note "until" includes the time entered. + \units hh:mm + N93 , \field Value Until Time 93 + A97 , \field Time 94 + \note "until" includes the time entered. + \units hh:mm + N94 , \field Value Until Time 94 + A98 , \field Time 95 + \note "until" includes the time entered. + \units hh:mm + N95 , \field Value Until Time 95 + A99 , \field Time 96 + \note "until" includes the time entered. + \units hh:mm + N96 , \field Value Until Time 96 + A100, \field Time 97 + \note "until" includes the time entered. + \units hh:mm + N97 , \field Value Until Time 97 + A101, \field Time 98 + \note "until" includes the time entered. + \units hh:mm + N98 , \field Value Until Time 98 + A102, \field Time 99 + \note "until" includes the time entered. + \units hh:mm + N99 , \field Value Until Time 99 + A103, \field Time 100 + \note "until" includes the time entered. + \units hh:mm + N100, \field Value Until Time 100 + A104, \field Time 101 + \note "until" includes the time entered. + \units hh:mm + N101, \field Value Until Time 101 + A105, \field Time 102 + \note "until" includes the time entered. + \units hh:mm + N102, \field Value Until Time 102 + A106, \field Time 103 + \note "until" includes the time entered. + \units hh:mm + N103, \field Value Until Time 103 + A107, \field Time 104 + \note "until" includes the time entered. + \units hh:mm + N104, \field Value Until Time 104 + A108, \field Time 105 + \note "until" includes the time entered. + \units hh:mm + N105, \field Value Until Time 105 + A109, \field Time 106 + \note "until" includes the time entered. + \units hh:mm + N106, \field Value Until Time 106 + A110, \field Time 107 + \note "until" includes the time entered. + \units hh:mm + N107, \field Value Until Time 107 + A111, \field Time 108 + \note "until" includes the time entered. + \units hh:mm + N108, \field Value Until Time 108 + A112, \field Time 109 + \note "until" includes the time entered. + \units hh:mm + N109, \field Value Until Time 109 + A113, \field Time 110 + \note "until" includes the time entered. + \units hh:mm + N110, \field Value Until Time 110 + A114, \field Time 111 + \note "until" includes the time entered. + \units hh:mm + N111, \field Value Until Time 111 + A115, \field Time 112 + \note "until" includes the time entered. + \units hh:mm + N112, \field Value Until Time 112 + A116, \field Time 113 + \note "until" includes the time entered. + \units hh:mm + N113, \field Value Until Time 113 + A117, \field Time 114 + \note "until" includes the time entered. + \units hh:mm + N114, \field Value Until Time 114 + A118, \field Time 115 + \note "until" includes the time entered. + \units hh:mm + N115, \field Value Until Time 115 + A119, \field Time 116 + \note "until" includes the time entered. + \units hh:mm + N116, \field Value Until Time 116 + A120, \field Time 117 + \note "until" includes the time entered. + \units hh:mm + N117, \field Value Until Time 117 + A121, \field Time 118 + \note "until" includes the time entered. + \units hh:mm + N118, \field Value Until Time 118 + A122, \field Time 119 + \note "until" includes the time entered. + \units hh:mm + N119, \field Value Until Time 119 + A123, \field Time 120 + \note "until" includes the time entered. + \units hh:mm + N120, \field Value Until Time 120 + A124, \field Time 121 + \note "until" includes the time entered. + \units hh:mm + N121, \field Value Until Time 121 + A125, \field Time 122 + \note "until" includes the time entered. + \units hh:mm + N122, \field Value Until Time 122 + A126, \field Time 123 + \note "until" includes the time entered. + \units hh:mm + N123, \field Value Until Time 123 + A127, \field Time 124 + \note "until" includes the time entered. + \units hh:mm + N124, \field Value Until Time 124 + A128, \field Time 125 + \note "until" includes the time entered. + \units hh:mm + N125, \field Value Until Time 125 + A129, \field Time 126 + \note "until" includes the time entered. + \units hh:mm + N126, \field Value Until Time 126 + A130, \field Time 127 + \note "until" includes the time entered. + \units hh:mm + N127, \field Value Until Time 127 + A131, \field Time 128 + \note "until" includes the time entered. + \units hh:mm + N128, \field Value Until Time 128 + A132, \field Time 129 + \note "until" includes the time entered. + \units hh:mm + N129, \field Value Until Time 129 + A133, \field Time 130 + \note "until" includes the time entered. + \units hh:mm + N130, \field Value Until Time 130 + A134, \field Time 131 + \note "until" includes the time entered. + \units hh:mm + N131, \field Value Until Time 131 + A135, \field Time 132 + \note "until" includes the time entered. + \units hh:mm + N132, \field Value Until Time 132 + A136, \field Time 133 + \note "until" includes the time entered. + \units hh:mm + N133, \field Value Until Time 133 + A137, \field Time 134 + \note "until" includes the time entered. + \units hh:mm + N134, \field Value Until Time 134 + A138, \field Time 135 + \note "until" includes the time entered. + \units hh:mm + N135, \field Value Until Time 135 + A139, \field Time 136 + \note "until" includes the time entered. + \units hh:mm + N136, \field Value Until Time 136 + A140, \field Time 137 + \note "until" includes the time entered. + \units hh:mm + N137, \field Value Until Time 137 + A141, \field Time 138 + \note "until" includes the time entered. + \units hh:mm + N138, \field Value Until Time 138 + A142, \field Time 139 + \note "until" includes the time entered. + \units hh:mm + N139, \field Value Until Time 139 + A143, \field Time 140 + \note "until" includes the time entered. + \units hh:mm + N140, \field Value Until Time 140 + A144, \field Time 141 + \note "until" includes the time entered. + \units hh:mm + N141, \field Value Until Time 141 + A145, \field Time 142 + \note "until" includes the time entered. + \units hh:mm + N142, \field Value Until Time 142 + A146, \field Time 143 + \note "until" includes the time entered. + \units hh:mm + N143, \field Value Until Time 143 + A147, \field Time 144 + \note "until" includes the time entered. + \units hh:mm + N144; \field Value Until Time 144 + +Schedule:Day:List, + \memo Schedule:Day:List will allow the user to list 24 hours worth of values, which can be sub-hourly in nature. + \min-fields 5 + \extensible:1 + A1 , \field Name + \required-field + \type alpha + \reference DayScheduleNames + A2 , \field Schedule Type Limits Name + \type object-list + \object-list ScheduleTypeLimitsNames + A3 , \field Interpolate to Timestep + \note when the interval does not match the user specified timestep a "Average" choice will average between the intervals request (to + \note timestep resolution. A "No" choice will use the interval value at the simulation timestep without regard to if it matches + \note the boundary or not. A "Linear" choice will interpolate linearly between successive values. + \type choice + \key Average + \key Linear + \key No + \default No + N1 , \field Minutes per Item + \note Must be evenly divisible into 60 + \type integer + \minimum 1 + \maximum 60 + N2, \field Value 1 + \begin-extensible + \default 0.0 + N3,N4, N5,N6,N7,N8, N9,N10,N11,N12, N13,N14,N15,N16, N17,N18,N19,N20, \note fields as indicated + N21,N22,N23,N24, N25,N26,N27,N28, N29,N30,N31,N32, N33,N34,N35,N36, N37,N38,N39,N40, \note fields as indicated + N41,N42,N43,N44, N45,N46,N47,N48, N49,N50,N51,N52, N53,N54,N55,N56, N57,N58,N59,N60, \note fields as indicated + N61,N62,N63,N64, N65,N66,N67,N68, N69,N70,N71,N72, N73,N74,N75,N76, N77,N78,N79,N80, \note fields as indicated + N81,N82,N83,N84, N85,N86,N87,N88, N89,N90,N91,N92, N93,N94,N95,N96, N97,N98,N99,N100, \note fields as indicated + + N101,N102,N103,N104, N105,N106,N107,N108, N109,N110,N111,N112, N113,N114,N115,N116, N117,N118,N119,N120, \note fields as indicated + N121,N122,N123,N124, N125,N126,N127,N128, N129,N130,N131,N132, N133,N134,N135,N136, N137,N138,N139,N140, \note fields as indicated + N141,N142,N143,N144, N145,N146,N147,N148, N149,N150,N151,N152, N153,N154,N155,N156, N157,N158,N159,N160, \note fields as indicated + N161,N162,N163,N164, N165,N166,N167,N168, N169,N170,N171,N172, N173,N174,N175,N176, N177,N178,N179,N180, \note fields as indicated + N181,N182,N183,N184, N185,N186,N187,N188, N189,N190,N191,N192, N193,N194,N195,N196, N197,N198,N199,N200, \note fields as indicated + + N201,N202,N203,N204, N205,N206,N207,N208, N209,N210,N211,N212, N213,N214,N215,N216, N217,N218,N219,N220, \note fields as indicated + N221,N222,N223,N224, N225,N226,N227,N228, N229,N230,N231,N232, N233,N234,N235,N236, N237,N238,N239,N240, \note fields as indicated + N241,N242,N243,N244, N245,N246,N247,N248, N249,N250,N251,N252, N253,N254,N255,N256, N257,N258,N259,N260, \note fields as indicated + N261,N262,N263,N264, N265,N266,N267,N268, N269,N270,N271,N272, N273,N274,N275,N276, N277,N278,N279,N280, \note fields as indicated + N281,N282,N283,N284, N285,N286,N287,N288, N289,N290,N291,N292, N293,N294,N295,N296, N297,N298,N299,N300, \note fields as indicated + + N301,N302,N303,N304, N305,N306,N307,N308, N309,N310,N311,N312, N313,N314,N315,N316, N317,N318,N319,N320, \note fields as indicated + N321,N322,N323,N324, N325,N326,N327,N328, N329,N330,N331,N332, N333,N334,N335,N336, N337,N338,N339,N340, \note fields as indicated + N341,N342,N343,N344, N345,N346,N347,N348, N349,N350,N351,N352, N353,N354,N355,N356, N357,N358,N359,N360, \note fields as indicated + N361,N362,N363,N364, N365,N366,N367,N368, N369,N370,N371,N372, N373,N374,N375,N376, N377,N378,N379,N380, \note fields as indicated + N381,N382,N383,N384, N385,N386,N387,N388, N389,N390,N391,N392, N393,N394,N395,N396, N397,N398,N399,N400, \note fields as indicated + + N401,N402,N403,N404, N405,N406,N407,N408, N409,N410,N411,N412, N413,N414,N415,N416, N417,N418,N419,N420, \note fields as indicated + N421,N422,N423,N424, N425,N426,N427,N428, N429,N430,N431,N432, N433,N434,N435,N436, N437,N438,N439,N440, \note fields as indicated + N441,N442,N443,N444, N445,N446,N447,N448, N449,N450,N451,N452, N453,N454,N455,N456, N457,N458,N459,N460, \note fields as indicated + N461,N462,N463,N464, N465,N466,N467,N468, N469,N470,N471,N472, N473,N474,N475,N476, N477,N478,N479,N480, \note fields as indicated + N481,N482,N483,N484, N485,N486,N487,N488, N489,N490,N491,N492, N493,N494,N495,N496, N497,N498,N499,N500, \note fields as indicated + + N501,N502,N503,N504, N505,N506,N507,N508, N509,N510,N511,N512, N513,N514,N515,N516, N517,N518,N519,N520, \note fields as indicated + N521,N522,N523,N524, N525,N526,N527,N528, N529,N530,N531,N532, N533,N534,N535,N536, N537,N538,N539,N540, \note fields as indicated + N541,N542,N543,N544, N545,N546,N547,N548, N549,N550,N551,N552, N553,N554,N555,N556, N557,N558,N559,N560, \note fields as indicated + N561,N562,N563,N564, N565,N566,N567,N568, N569,N570,N571,N572, N573,N574,N575,N576, N577,N578,N579,N580, \note fields as indicated + N581,N582,N583,N584, N585,N586,N587,N588, N589,N590,N591,N592, N593,N594,N595,N596, N597,N598,N599,N600, \note fields as indicated + + N601,N602,N603,N604, N605,N606,N607,N608, N609,N610,N611,N612, N613,N614,N615,N616, N617,N618,N619,N620, \note fields as indicated + N621,N622,N623,N624, N625,N626,N627,N628, N629,N630,N631,N632, N633,N634,N635,N636, N637,N638,N639,N640, \note fields as indicated + N641,N642,N643,N644, N645,N646,N647,N648, N649,N650,N651,N652, N653,N654,N655,N656, N657,N658,N659,N660, \note fields as indicated + N661,N662,N663,N664, N665,N666,N667,N668, N669,N670,N671,N672, N673,N674,N675,N676, N677,N678,N679,N680, \note fields as indicated + N681,N682,N683,N684, N685,N686,N687,N688, N689,N690,N691,N692, N693,N694,N695,N696, N697,N698,N699,N700, \note fields as indicated + + N701,N702,N703,N704, N705,N706,N707,N708, N709,N710,N711,N712, N713,N714,N715,N716, N717,N718,N719,N720, \note fields as indicated + N721,N722,N723,N724, N725,N726,N727,N728, N729,N730,N731,N732, N733,N734,N735,N736, N737,N738,N739,N740, \note fields as indicated + N741,N742,N743,N744, N745,N746,N747,N748, N749,N750,N751,N752, N753,N754,N755,N756, N757,N758,N759,N760, \note fields as indicated + N761,N762,N763,N764, N765,N766,N767,N768, N769,N770,N771,N772, N773,N774,N775,N776, N777,N778,N779,N780, \note fields as indicated + N781,N782,N783,N784, N785,N786,N787,N788, N789,N790,N791,N792, N793,N794,N795,N796, N797,N798,N799,N800, \note fields as indicated + + N801,N802,N803,N804, N805,N806,N807,N808, N809,N810,N811,N812, N813,N814,N815,N816, N817,N818,N819,N820, \note fields as indicated + N821,N822,N823,N824, N825,N826,N827,N828, N829,N830,N831,N832, N833,N834,N835,N836, N837,N838,N839,N840, \note fields as indicated + N841,N842,N843,N844, N845,N846,N847,N848, N849,N850,N851,N852, N853,N854,N855,N856, N857,N858,N859,N860, \note fields as indicated + N861,N862,N863,N864, N865,N866,N867,N868, N869,N870,N871,N872, N873,N874,N875,N876, N877,N878,N879,N880, \note fields as indicated + N881,N882,N883,N884, N885,N886,N887,N888, N889,N890,N891,N892, N893,N894,N895,N896, N897,N898,N899,N900, \note fields as indicated + + N901,N902,N903,N904, N905,N906,N907,N908, N909,N910,N911,N912, N913,N914,N915,N916, N917,N918,N919,N920, \note fields as indicated + N921,N922,N923,N924, N925,N926,N927,N928, N929,N930,N931,N932, N933,N934,N935,N936, N937,N938,N939,N940, \note fields as indicated + N941,N942,N943,N944, N945,N946,N947,N948, N949,N950,N951,N952, N953,N954,N955,N956, N957,N958,N959,N960, \note fields as indicated + N961,N962,N963,N964, N965,N966,N967,N968, N969,N970,N971,N972, N973,N974,N975,N976, N977,N978,N979,N980, \note fields as indicated + N981,N982,N983,N984, N985,N986,N987,N988, N989,N990,N991,N992, N993,N994,N995,N996, N997,N998,N999,N1000, \note fields as indicated + + N1001,N1002,N1003,N1004, N1005,N1006,N1007,N1008, N1009,N1010,N1011,N1012, N1013,N1014,N1015,N1016, N1017,N1018,N1019,N1020, \note fields as indicated + N1021,N1022,N1023,N1024, N1025,N1026,N1027,N1028, N1029,N1030,N1031,N1032, N1033,N1034,N1035,N1036, N1037,N1038,N1039,N1040, \note fields as indicated + N1041,N1042,N1043,N1044, N1045,N1046,N1047,N1048, N1049,N1050,N1051,N1052, N1053,N1054,N1055,N1056, N1057,N1058,N1059,N1060, \note fields as indicated + N1061,N1062,N1063,N1064, N1065,N1066,N1067,N1068, N1069,N1070,N1071,N1072, N1073,N1074,N1075,N1076, N1077,N1078,N1079,N1080, \note fields as indicated + N1081,N1082,N1083,N1084, N1085,N1086,N1087,N1088, N1089,N1090,N1091,N1092, N1093,N1094,N1095,N1096, N1097,N1098,N1099,N1100, \note fields as indicated + + N1101,N1102,N1103,N1104, N1105,N1106,N1107,N1108, N1109,N1110,N1111,N1112, N1113,N1114,N1115,N1116, N1117,N1118,N1119,N1120, \note fields as indicated + N1121,N1122,N1123,N1124, N1125,N1126,N1127,N1128, N1129,N1130,N1131,N1132, N1133,N1134,N1135,N1136, N1137,N1138,N1139,N1140, \note fields as indicated + N1141,N1142,N1143,N1144, N1145,N1146,N1147,N1148, N1149,N1150,N1151,N1152, N1153,N1154,N1155,N1156, N1157,N1158,N1159,N1160, \note fields as indicated + N1161,N1162,N1163,N1164, N1165,N1166,N1167,N1168, N1169,N1170,N1171,N1172, N1173,N1174,N1175,N1176, N1177,N1178,N1179,N1180, \note fields as indicated + N1181,N1182,N1183,N1184, N1185,N1186,N1187,N1188, N1189,N1190,N1191,N1192, N1193,N1194,N1195,N1196, N1197,N1198,N1199,N1200, \note fields as indicated + + N1201,N1202,N1203,N1204, N1205,N1206,N1207,N1208, N1209,N1210,N1211,N1212, N1213,N1214,N1215,N1216, N1217,N1218,N1219,N1220,\note fields as indicated + N1221,N1222,N1223,N1224, N1225,N1226,N1227,N1228, N1229,N1230,N1231,N1232, N1233,N1234,N1235,N1236, N1237,N1238,N1239,N1240,\note fields as indicated + N1241,N1242,N1243,N1244, N1245,N1246,N1247,N1248, N1249,N1250,N1251,N1252, N1253,N1254,N1255,N1256, N1257,N1258,N1259,N1260,\note fields as indicated + N1261,N1262,N1263,N1264, N1265,N1266,N1267,N1268, N1269,N1270,N1271,N1272, N1273,N1274,N1275,N1276, N1277,N1278,N1279,N1280,\note fields as indicated + N1281,N1282,N1283,N1284, N1285,N1286,N1287,N1288, N1289,N1290,N1291,N1292, N1293,N1294,N1295,N1296, N1297,N1298,N1299,N1300,\note fields as indicated + + N1301,N1302,N1303,N1304, N1305,N1306,N1307,N1308, N1309,N1310,N1311,N1312, N1313,N1314,N1315,N1316, N1317,N1318,N1319,N1320,\note fields as indicated + N1321,N1322,N1323,N1324, N1325,N1326,N1327,N1328, N1329,N1330,N1331,N1332, N1333,N1334,N1335,N1336, N1337,N1338,N1339,N1340,\note fields as indicated + N1341,N1342,N1343,N1344, N1345,N1346,N1347,N1348, N1349,N1350,N1351,N1352, N1353,N1354,N1355,N1356, N1357,N1358,N1359,N1360,\note fields as indicated + N1361,N1362,N1363,N1364, N1365,N1366,N1367,N1368, N1369,N1370,N1371,N1372, N1373,N1374,N1375,N1376, N1377,N1378,N1379,N1380,\note fields as indicated + N1381,N1382,N1383,N1384, N1385,N1386,N1387,N1388, N1389,N1390,N1391,N1392, N1393,N1394,N1395,N1396, N1397,N1398,N1399,N1400,\note fields as indicated + + N1401,N1402,N1403,N1404, N1405,N1406,N1407,N1408, N1409,N1410,N1411,N1412, N1413,N1414,N1415,N1416, N1417,N1418,N1419,N1420,\note fields as indicated + N1421,N1422,N1423,N1424, N1425,N1426,N1427,N1428, N1429,N1430,N1431,N1432, N1433,N1434,N1435,N1436, N1437,N1438,N1439,N1440,\note fields as indicated + N1441;\note fields as indicated + +Schedule:Week:Daily, + \min-fields 13 + \memo A Schedule:Week:Daily contains 12 Schedule:Day:Hourly objects, one for each day type. + A1 , \field Name + \required-field + \reference WeekScheduleNames + \type alpha + A2 , \field Sunday Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A3 , \field Monday Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A4 , \field Tuesday Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A5 , \field Wednesday Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A6 , \field Thursday Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A7 , \field Friday Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A8 , \field Saturday Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A9 , \field Holiday Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A10, \field SummerDesignDay Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A11, \field WinterDesignDay Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A12, \field CustomDay1 Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + A13; \field CustomDay2 Schedule:Day Name + \required-field + \type object-list + \object-list DayScheduleNames + +Schedule:Week:Compact, + \extensible:2 - repeat last two fields, remembering to remove ; from "inner" fields. + \memo Compact definition for Schedule:Day:List + \min-fields 3 + A1 , \field Name + \required-field + \reference WeekScheduleNames + \type alpha + A2 , \field DayType List 1 + \begin-extensible + \note "For" is an optional prefix/start of the For fields. Choices can be combined on single line + \note if separated by spaces. i.e. "Holiday Weekends" + \note Should have a space after For, if it is included. i.e. "For Alldays" + \required-field + \type choice + \key AllDays + \key AllOtherDays + \key Weekdays + \key Weekends + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + \key Holiday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + A3 , \field Schedule:Day Name 1 + \required-field + \type object-list + \object-list DayScheduleNames + A4 , \field DayType List 2 + \type choice + \key AllDays + \key AllOtherDays + \key Weekdays + \key Weekends + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + \key Holiday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + A5 , \field Schedule:Day Name 2 + \type object-list + \object-list DayScheduleNames + A6 , \field DayType List 3 + \type choice + \key AllDays + \key AllOtherDays + \key Weekdays + \key Weekends + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + \key Holiday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + A7 , \field Schedule:Day Name 3 + \type object-list + \object-list DayScheduleNames + A8 , \field DayType List 4 + \type choice + \key AllDays + \key AllOtherDays + \key Weekdays + \key Weekends + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + \key Holiday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + A9 , \field Schedule:Day Name 4 + \type object-list + \object-list DayScheduleNames + A10, \field DayType List 5 + \type choice + \key AllDays + \key AllOtherDays + \key Weekdays + \key Weekends + \key Sunday + \key Monday + \key Tuesday + \key Wednesday + \key Thursday + \key Friday + \key Saturday + \key Holiday + \key SummerDesignDay + \key WinterDesignDay + \key CustomDay1 + \key CustomDay2 + A11; \field Schedule:Day Name 5 + \type object-list + \object-list DayScheduleNames + +Schedule:Year, + \min-fields 7 + \extensible:5 + \memo A Schedule:Year contains from 1 to 52 week schedules + A1 , \field Name + \required-field + \type alpha + \reference ScheduleNames + A2 , \field Schedule Type Limits Name + \type object-list + \object-list ScheduleTypeLimitsNames + A3 , \field Schedule:Week Name 1 + \begin-extensible + \required-field + \type object-list + \object-list WeekScheduleNames + N1 , \field Start Month 1 + \required-field + \type integer + \minimum 1 + \maximum 12 + N2 , \field Start Day 1 + \required-field + \type integer + \minimum 1 + \maximum 31 + N3 , \field End Month 1 + \required-field + \type integer + \minimum 1 + \maximum 12 + N4 , \field End Day 1 + \required-field + \type integer + \minimum 1 + \maximum 31 + A4 , \field Schedule:Week Name 2 + \type object-list + \object-list WeekScheduleNames + N5 , \field Start Month 2 + \type integer + \minimum 1 + \maximum 12 + N6 , \field Start Day 2 + \type integer + \minimum 1 + \maximum 31 + N7 , \field End Month 2 + \type integer + \minimum 1 + \maximum 12 + N8 , \field End Day 2 + \type integer + \minimum 1 + \maximum 31 + A5 , \field Schedule:Week Name 3 + \type object-list + \object-list WeekScheduleNames + N9 , \field Start Month 3 + \type integer + \minimum 1 + \maximum 12 + N10, \field Start Day 3 + \type integer + \minimum 1 + \maximum 31 + N11, \field End Month 3 + \type integer + \minimum 1 + \maximum 12 + N12, \field End Day 3 + \type integer + \minimum 1 + \maximum 31 + A6 , \field Schedule:Week Name 4 + \type object-list + \object-list WeekScheduleNames + N13, \field Start Month 4 + \type integer + \minimum 1 + \maximum 12 + N14, \field Start Day 4 + \type integer + \minimum 1 + \maximum 31 + N15, \field End Month 4 + \type integer + \minimum 1 + \maximum 12 + N16, \field End Day 4 + \type integer + \minimum 1 + \maximum 31 + A7 , \field Schedule:Week Name 5 + \type object-list + \object-list WeekScheduleNames + N17, \field Start Month 5 + \type integer + \minimum 1 + \maximum 12 + N18, \field Start Day 5 + \type integer + \minimum 1 + \maximum 31 + N19, \field End Month 5 + \type integer + \minimum 1 + \maximum 12 + N20, \field End Day 5 + \type integer + \minimum 1 + \maximum 31 + A8 , \field Schedule:Week Name 6 + \type object-list + \object-list WeekScheduleNames + N21, \field Start Month 6 + \type integer + \minimum 1 + \maximum 12 + N22, \field Start Day 6 + \type integer + \minimum 1 + \maximum 31 + N23, \field End Month 6 + \type integer + \minimum 1 + \maximum 12 + N24, \field End Day 6 + \type integer + \minimum 1 + \maximum 31 + A9 , \field Schedule:Week Name 7 + \type object-list + \object-list WeekScheduleNames + N25, \field Start Month 7 + \type integer + \minimum 1 + \maximum 12 + N26, \field Start Day 7 + \type integer + \minimum 1 + \maximum 31 + N27, \field End Month 7 + \type integer + \minimum 1 + \maximum 12 + N28, \field End Day 7 + \type integer + \minimum 1 + \maximum 31 + A10, \field Schedule:Week Name 8 + \type object-list + \object-list WeekScheduleNames + N29, \field Start Month 8 + \type integer + \minimum 1 + \maximum 12 + N30, \field Start Day 8 + \type integer + \minimum 1 + \maximum 31 + N31, \field End Month 8 + \type integer + \minimum 1 + \maximum 12 + N32, \field End Day 8 + \type integer + \minimum 1 + \maximum 31 + A11, \field Schedule:Week Name 9 + \type object-list + \object-list WeekScheduleNames + N33, \field Start Month 9 + \type integer + \minimum 1 + \maximum 12 + N34, \field Start Day 9 + \type integer + \minimum 1 + \maximum 31 + N35, \field End Month 9 + \type integer + \minimum 1 + \maximum 12 + N36, \field End Day 9 + \type integer + \minimum 1 + \maximum 31 + A12, \field Schedule:Week Name 10 + \type object-list + \object-list WeekScheduleNames + N37, \field Start Month 10 + \type integer + \minimum 1 + \maximum 12 + N38, \field Start Day 10 + \type integer + \minimum 1 + \maximum 31 + N39, \field End Month 10 + \type integer + \minimum 1 + \maximum 12 + N40, \field End Day 10 + \type integer + \minimum 1 + \maximum 31 + A13, \field Schedule:Week Name 11 + \type object-list + \object-list WeekScheduleNames + N41, \field Start Month 11 + \type integer + \minimum 1 + \maximum 12 + N42, \field Start Day 11 + \type integer + \minimum 1 + \maximum 31 + N43, \field End Month 11 + \type integer + \minimum 1 + \maximum 12 + N44, \field End Day 11 + \type integer + \minimum 1 + \maximum 31 + A14, \field Schedule:Week Name 12 + \type object-list + \object-list WeekScheduleNames + N45, \field Start Month 12 + \type integer + \minimum 1 + \maximum 12 + N46, \field Start Day 12 + \type integer + \minimum 1 + \maximum 31 + N47, \field End Month 12 + \type integer + \minimum 1 + \maximum 12 + N48, \field End Day 12 + \type integer + \minimum 1 + \maximum 31 + A15, \field Schedule:Week Name 13 + \type object-list + \object-list WeekScheduleNames + N49, \field Start Month 13 + \type integer + \minimum 1 + \maximum 12 + N50, \field Start Day 13 + \type integer + \minimum 1 + \maximum 31 + N51, \field End Month 13 + \type integer + \minimum 1 + \maximum 12 + N52, \field End Day 13 + \type integer + \minimum 1 + \maximum 31 + A16, \field Schedule:Week Name 14 + \type object-list + \object-list WeekScheduleNames + N53, \field Start Month 14 + \type integer + \minimum 1 + \maximum 12 + N54, \field Start Day 14 + \type integer + \minimum 1 + \maximum 31 + N55, \field End Month 14 + \type integer + \minimum 1 + \maximum 12 + N56, \field End Day 14 + \type integer + \minimum 1 + \maximum 31 + A17, \field Schedule:Week Name 15 + \type object-list + \object-list WeekScheduleNames + N57, \field Start Month 15 + \type integer + \minimum 1 + \maximum 12 + N58, \field Start Day 15 + \type integer + \minimum 1 + \maximum 31 + N59, \field End Month 15 + \type integer + \minimum 1 + \maximum 12 + N60, \field End Day 15 + \type integer + \minimum 1 + \maximum 31 + A18, \field Schedule:Week Name 16 + \type object-list + \object-list WeekScheduleNames + N61, \field Start Month 16 + \type integer + \minimum 1 + \maximum 12 + N62, \field Start Day 16 + \type integer + \minimum 1 + \maximum 31 + N63, \field End Month 16 + \type integer + \minimum 1 + \maximum 12 + N64, \field End Day 16 + \type integer + \minimum 1 + \maximum 31 + A19, \field Schedule:Week Name 17 + \type object-list + \object-list WeekScheduleNames + N65, \field Start Month 17 + \type integer + \minimum 1 + \maximum 12 + N66, \field Start Day 17 + \type integer + \minimum 1 + \maximum 31 + N67, \field End Month 17 + \type integer + \minimum 1 + \maximum 12 + N68, \field End Day 17 + \type integer + \minimum 1 + \maximum 31 + A20, \field Schedule:Week Name 18 + \type object-list + \object-list WeekScheduleNames + N69, \field Start Month 18 + \type integer + \minimum 1 + \maximum 12 + N70, \field Start Day 18 + \type integer + \minimum 1 + \maximum 31 + N71, \field End Month 18 + \type integer + \minimum 1 + \maximum 12 + N72, \field End Day 18 + \type integer + \minimum 1 + \maximum 31 + A21, \field Schedule:Week Name 19 + \type object-list + \object-list WeekScheduleNames + N73, \field Start Month 19 + \type integer + \minimum 1 + \maximum 12 + N74, \field Start Day 19 + \type integer + \minimum 1 + \maximum 31 + N75, \field End Month 19 + \type integer + \minimum 1 + \maximum 12 + N76, \field End Day 19 + \type integer + \minimum 1 + \maximum 31 + A22, \field Schedule:Week Name 20 + \type object-list + \object-list WeekScheduleNames + N77, \field Start Month 20 + \type integer + \minimum 1 + \maximum 12 + N78, \field Start Day 20 + \type integer + \minimum 1 + \maximum 31 + N79, \field End Month 20 + \type integer + \minimum 1 + \maximum 12 + N80, \field End Day 20 + \type integer + \minimum 1 + \maximum 31 + A23, \field Schedule:Week Name 21 + \type object-list + \object-list WeekScheduleNames + N81, \field Start Month 21 + \type integer + \minimum 1 + \maximum 12 + N82, \field Start Day 21 + \type integer + \minimum 1 + \maximum 31 + N83, \field End Month 21 + \type integer + \minimum 1 + \maximum 12 + N84, \field End Day 21 + \type integer + \minimum 1 + \maximum 31 + A24, \field Schedule:Week Name 22 + \type object-list + \object-list WeekScheduleNames + N85, \field Start Month 22 + \type integer + \minimum 1 + \maximum 12 + N86, \field Start Day 22 + \type integer + \minimum 1 + \maximum 31 + N87, \field End Month 22 + \type integer + \minimum 1 + \maximum 12 + N88, \field End Day 22 + \type integer + \minimum 1 + \maximum 31 + A25, \field Schedule:Week Name 23 + \type object-list + \object-list WeekScheduleNames + N89, \field Start Month 23 + \type integer + \minimum 1 + \maximum 12 + N90, \field Start Day 23 + \type integer + \minimum 1 + \maximum 31 + N91, \field End Month 23 + \type integer + \minimum 1 + \maximum 12 + N92, \field End Day 23 + \type integer + \minimum 1 + \maximum 31 + A26, \field Schedule:Week Name 24 + \type object-list + \object-list WeekScheduleNames + N93, \field Start Month 24 + \type integer + \minimum 1 + \maximum 12 + N94, \field Start Day 24 + \type integer + \minimum 1 + \maximum 31 + N95, \field End Month 24 + \type integer + \minimum 1 + \maximum 12 + N96, \field End Day 24 + \type integer + \minimum 1 + \maximum 31 + A27, \field Schedule:Week Name 25 + \type object-list + \object-list WeekScheduleNames + N97, \field Start Month 25 + \type integer + \minimum 1 + \maximum 12 + N98, \field Start Day 25 + \type integer + \minimum 1 + \maximum 31 + N99, \field End Month 25 + \type integer + \minimum 1 + \maximum 12 + N100, \field End Day 25 + \type integer + \minimum 1 + \maximum 31 + A28, \field Schedule:Week Name 26 + \type object-list + \object-list WeekScheduleNames + N101, \field Start Month 26 + \type integer + \minimum 1 + \maximum 12 + N102, \field Start Day 26 + \type integer + \minimum 1 + \maximum 31 + N103, \field End Month 26 + \type integer + \minimum 1 + \maximum 12 + N104, \field End Day 26 + \type integer + \minimum 1 + \maximum 31 + \note Schedule:Week for Weeks 27-53 are condensed + A29,N105,N106,N107,N108, \note For Week 27 + A30,N109,N110,N111,N112, \note For Week 28 + A31,N113,N114,N115,N116, \note For Week 29 + A32,N117,N118,N119,N120, \note For Week 30 + A33,N121,N122,N123,N124, \note For Week 31 + A34,N125,N126,N127,N128, \note For Week 32 + A35,N129,N130,N131,N132, \note For Week 33 + A36,N133,N134,N135,N136, \note For Week 34 + A37,N137,N138,N139,N140, \note For Week 35 + A38,N141,N142,N143,N144, \note For Week 36 + A39,N145,N146,N147,N148, \note For Week 37 + A40,N149,N150,N151,N152, \note For Week 38 + A41,N153,N154,N155,N156, \note For Week 39 + A42,N157,N158,N159,N160, \note For Week 40 + A43,N161,N162,N163,N164, \note For Week 41 + A44,N165,N166,N167,N168, \note For Week 42 + A45,N169,N170,N171,N172, \note For Week 43 + A46,N173,N174,N175,N176, \note For Week 44 + A47,N177,N178,N179,N180, \note For Week 45 + A48,N181,N182,N183,N184, \note For Week 46 + A49,N185,N186,N187,N188, \note For Week 47 + A50,N189,N190,N191,N192, \note For Week 48 + A51,N193,N194,N195,N196, \note For Week 49 + A52,N197,N198,N199,N200, \note For Week 50 + A53,N201,N202,N203,N204, \note For Week 51 + A54,N205,N206,N207,N208, \note For Week 52 + A55,N209,N210,N211,N212; \note For Week 53 + +Schedule:Compact, + \extensible:1 - repeat last field, remembering to remove ; from "inner" fields. + \min-fields 5 + \memo Irregular object. Does not follow the usual definition for fields. Fields A3... are: + \memo Through: Date + \memo For: Applicable days (ref: Schedule:Week:Compact) + \memo Interpolate: Average/Linear/No (ref: Schedule:Day:Interval) -- optional, if not used will be "No" + \memo Until: