mirror of
https://github.com/louisleroy5/trnslator.git
synced 2024-12-22 23:55:56 -05:00
Add all files
This commit is contained in:
parent
2d296c3399
commit
9d929393e5
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
.DS_Store
|
||||
|
||||
.idea/
|
6
MANIFEST.in
Normal file
6
MANIFEST.in
Normal file
@ -0,0 +1,6 @@
|
||||
# package_data is a low-down, dirty lie. It is only used when building binary packages (python setup.py bdist ...) but
|
||||
# not when building source packages (python setup.py sdist ...)
|
||||
|
||||
include translator/ressources/*
|
||||
include requirements.txt
|
||||
include requirements-dev.txt
|
97
docker/Dockerfile
Normal file
97
docker/Dockerfile
Normal file
@ -0,0 +1,97 @@
|
||||
########################################################################
|
||||
# archetypal Dockerfile
|
||||
# License: MIT, see full license in LICENSE.txt
|
||||
# Web: https://github.com/samuelduchesne/archetypal
|
||||
#
|
||||
# Build an image from the dockerfile:
|
||||
# >>> cd ./docker
|
||||
# >>> docker build -t samuelduchese/archetypal .
|
||||
#
|
||||
# Push the built image to hub so others can pull/run it:
|
||||
# >>> docker tag samuelduchesne/archetypal samuelduchesne/archetypal:latest
|
||||
# >>> docker login
|
||||
# >>> docker push samuelduchesne/archetypal
|
||||
#
|
||||
# Run bash in this container and export final conda environment to a yml file:
|
||||
# >>> docker run --rm -it -u 0 --name archetypal -v "$PWD":/home/archetypal/wip samuelduchesne/archetypal /bin/bash
|
||||
# >>> conda env export -n base > /home/archetypal/wip/environment.yml
|
||||
#
|
||||
# Run jupyter lab in this container:
|
||||
# On Linux/MacOs
|
||||
# >>> docker run --rm -it -p 8888:8888 -v "$PWD":/home/archetypal/wip samuelduchesne/archetypal
|
||||
# On Windows (With PowerShell, use ${PWD})
|
||||
# >>> docker run --rm -it -p 8888:8888 -v %cd%:/home/archetypal/wip samuelduchesne/archetypal
|
||||
#
|
||||
# Stop/delete all local docker containers/images:
|
||||
# >>> docker stop $(docker ps -aq)
|
||||
# >>> docker rm $(docker ps -aq)
|
||||
# >>> docker rmi $(docker images -q)
|
||||
########################################################################
|
||||
|
||||
FROM scottyhardy/docker-wine:latest
|
||||
|
||||
LABEL maintainer="Samuel Letellier-Duchesne <samuel.letellier-duchesne@polymtl.ca>"
|
||||
LABEL url="https://github.com/samuelduchesne/archetypal"
|
||||
LABEL description="archetypal: Retrieve, construct, simulate, and analyse building archetypes"
|
||||
|
||||
# Get git related dependecies
|
||||
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
|
||||
ENV PATH /opt/conda/bin:$PATH
|
||||
|
||||
RUN apt-get update --fix-missing && \
|
||||
apt-get install -y wget bzip2 ca-certificates curl git libxml2-dev && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-4.5.11-Linux-x86_64.sh -O ~/miniconda.sh && \
|
||||
/bin/bash ~/miniconda.sh -b -p /opt/conda && \
|
||||
rm ~/miniconda.sh && \
|
||||
/opt/conda/bin/conda clean -tipsy && \
|
||||
ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
|
||||
echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
|
||||
echo "conda activate base" >> ~/.bashrc
|
||||
|
||||
ENV TINI_VERSION v0.16.1
|
||||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini
|
||||
RUN chmod +x /usr/bin/tini
|
||||
|
||||
# Add EnergyPlus
|
||||
ENV ENERGYPLUS_VERSION=8.9.0
|
||||
ENV ENERGYPLUS_SHA=40101eaafd
|
||||
ENV ENERGYPLUS_INSTALL_VERSION=8-9-0
|
||||
ENV PLATFORM=Linux
|
||||
ENV EXT=sh
|
||||
ENV ENERGYPLUS_DOWNLOAD_BASE_URL=https://github.com/NREL/EnergyPlus/releases/download/v$ENERGYPLUS_VERSION
|
||||
ENV ENERGYPLUS_DOWNLOAD_FILENAME=EnergyPlus-$ENERGYPLUS_VERSION-$ENERGYPLUS_SHA-$PLATFORM-x86_64
|
||||
ENV ENERGYPLUS_DOWNLOAD_URL=$ENERGYPLUS_DOWNLOAD_BASE_URL/$ENERGYPLUS_DOWNLOAD_FILENAME.$EXT
|
||||
RUN curl -SLO $ENERGYPLUS_DOWNLOAD_URL && \
|
||||
chmod +x $ENERGYPLUS_DOWNLOAD_FILENAME.$EXT && \
|
||||
echo "y\r" | ./$ENERGYPLUS_DOWNLOAD_FILENAME.$EXT && \
|
||||
rm $ENERGYPLUS_DOWNLOAD_FILENAME.$EXT
|
||||
|
||||
# Add trnsidf
|
||||
COPY ./trnsidf /app/trnsidf
|
||||
|
||||
# configure conda and install packages in one RUN to keep image tidy
|
||||
RUN git clone --branch=feature/umi --verbose https://github.com/samuelduchesne/archetypal.git && \
|
||||
cd archetypal && \
|
||||
conda update -n base conda && \
|
||||
conda config --append channels conda-forge && \
|
||||
conda env update -n archetypal -f environment.yml --prune && \
|
||||
conda install -n archetypal --file requirements-dev.txt && \
|
||||
conda install --strict-channel-priority --update-all --force-reinstall --yes jupyterlab python-igraph && \
|
||||
conda clean --yes --all && \
|
||||
conda info --all && \
|
||||
conda list && \
|
||||
echo "source activate archetypal" > ~/.bashrc && \
|
||||
python setup.py install
|
||||
ENV PATH /opt/conda/envs/archetypal/bin:$PATH
|
||||
|
||||
# launch notebook in the local working directory that we mount
|
||||
WORKDIR /home/archetypal/wip
|
||||
ENTRYPOINT ["/usr/bin/entrypoint"]
|
||||
# set default command to launch when container is run
|
||||
CMD ["jupyter", "lab", "--ip='0.0.0.0'", "--port=8888", "--no-browser", "--allow-root", "--NotebookApp.token=''", "--NotebookApp.password=''"]
|
||||
|
||||
# to test, import archetypal and print its version
|
||||
RUN ipython -c "import archetypal; print(archetypal.__version__)"
|
1151
docker/trnsidf/Building.idf
Normal file
1151
docker/trnsidf/Building.idf
Normal file
File diff suppressed because it is too large
Load Diff
1234
docker/trnsidf/NewFileTemplate.d18
Normal file
1234
docker/trnsidf/NewFileTemplate.d18
Normal file
File diff suppressed because it is too large
Load Diff
24
docker/trnsidf/readme.1st
Normal file
24
docker/trnsidf/readme.1st
Normal file
@ -0,0 +1,24 @@
|
||||
***********************************************************
|
||||
* TRNsIDF.EXE - translater from IDF created by Trnsys3d to B18
|
||||
***********************************************************
|
||||
This program sorts and renumbers the IDF file and writes
|
||||
a B18 file based on the geometric information of the IDF file and
|
||||
the template B17 file. In addition, an template DCK file can be generated.
|
||||
|
||||
|
||||
CALL:
|
||||
|
||||
TRNSIDF.EXE %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
%1 absolute path\filename.idf
|
||||
%2 absoluter path\NewFileTemplate.d18
|
||||
%3 /dck create a template DCK
|
||||
%4 /nonum (optional: no renumeration of surfaces)
|
||||
%5 /N (optional: BatchJob Modus)
|
||||
%6 /geo_floor=0.6 (optional: generates GEOSURF values for distributing direct solar radiation where 60 % is directed to the floor, the rest to walls/windows)
|
||||
%7 /refarea (optional: floor reference area of airnodes is updated)
|
||||
%8 /volume (optional: volume of airnodes is updated)
|
||||
%9 /capacitance (optional: capacitance of airnodes is updated)
|
||||
|
||||
Note: if no path is defined, the directory of TRNSIDF.EXE is asumed.
|
||||
|
||||
|
BIN
docker/trnsidf/trnsidf.exe
Normal file
BIN
docker/trnsidf/trnsidf.exe
Normal file
Binary file not shown.
27
environment.yml
Normal file
27
environment.yml
Normal file
@ -0,0 +1,27 @@
|
||||
name: translator
|
||||
channels:
|
||||
- defaults
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- shapely
|
||||
- networkx
|
||||
- six
|
||||
- matplotlib>=2.1
|
||||
- requests>=2.18
|
||||
- pycountry
|
||||
- scikit-learn
|
||||
- scipy
|
||||
- pandas>=0.24
|
||||
- numpy>=1.17
|
||||
- tqdm
|
||||
- tabulate
|
||||
- path.py
|
||||
- pyomo
|
||||
- pint
|
||||
- click
|
||||
- outdated
|
||||
- pip
|
||||
- pip:
|
||||
- tsam
|
||||
- eppy
|
||||
- geomeppy
|
89
install_energyplus.sh
Normal file
89
install_energyplus.sh
Normal file
@ -0,0 +1,89 @@
|
||||
# Check if EnergyPlus env variables exist already. If not use these defaults
|
||||
if [[ -z "${ENERGYPLUS_VERSION}" ]]; then
|
||||
ENERGYPLUS_VERSION=9.2.0
|
||||
fi
|
||||
if [[ -z "${ENERGYPLUS_SHA}" ]]; then
|
||||
ENERGYPLUS_SHA=921312fa1d
|
||||
fi
|
||||
if [[ -z "${ENERGYPLUS_INSTALL_VERSION}" ]]; then
|
||||
ENERGYPLUS_INSTALL_VERSION=9-2-0
|
||||
fi
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
EXT=dmg
|
||||
PLATFORM=Darwin
|
||||
fi
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
EXT="sh"
|
||||
PLATFORM=Linux
|
||||
fi
|
||||
if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
|
||||
EXT=zip
|
||||
PLATFORM=Windows
|
||||
fi
|
||||
# Download EnergyPlus executable
|
||||
ENERGYPLUS_DOWNLOAD_BASE_URL=https://github.com/NREL/EnergyPlus/releases/download/v$ENERGYPLUS_VERSION
|
||||
ENERGYPLUS_DOWNLOAD_FILENAME=EnergyPlus-$ENERGYPLUS_VERSION-$ENERGYPLUS_SHA-$PLATFORM-x86_64
|
||||
ENERGYPLUS_DOWNLOAD_URL=$ENERGYPLUS_DOWNLOAD_BASE_URL/$ENERGYPLUS_DOWNLOAD_FILENAME.$EXT
|
||||
echo "$ENERGYPLUS_DOWNLOAD_URL"
|
||||
curl -SL -C - "$ENERGYPLUS_DOWNLOAD_URL" -o "$ENERGYPLUS_DOWNLOAD_FILENAME".$EXT
|
||||
|
||||
# Extra downloads
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
ATTCHBASE=97
|
||||
ATTCHNUM=8230
|
||||
fi
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
ATTCHBASE=98
|
||||
ATTCHNUM=8232
|
||||
fi
|
||||
if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
|
||||
ATTCHBASE=86
|
||||
ATTCHNUM=8231
|
||||
fi
|
||||
EXTRAS_DOWNLOAD_URL=http://energyplus.helpserve.com/Knowledgebase/Article/GetAttachment/$ATTCHBASE/$ATTCHNUM
|
||||
curl -SL -C - $EXTRAS_DOWNLOAD_URL -o $ATTCHNUM.zip
|
||||
|
||||
# Install EnergyPlus and Extra Downloads
|
||||
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
||||
sudo chmod +x "$ENERGYPLUS_DOWNLOAD_FILENAME".$EXT
|
||||
printf "y\r" | sudo ./"$ENERGYPLUS_DOWNLOAD_FILENAME".$EXT
|
||||
sudo tar zxvf $ATTCHNUM.zip -C /usr/local/EnergyPlus-"$ENERGYPLUS_INSTALL_VERSION"/PreProcess/IDFVersionUpdater
|
||||
sudo chmod -R a+rwx /usr/local/EnergyPlus-"$ENERGYPLUS_INSTALL_VERSION"/PreProcess/IDFVersionUpdater
|
||||
sudo chmod -R a+rwx /usr/local/EnergyPlus-"$ENERGYPLUS_INSTALL_VERSION"/ExampleFiles
|
||||
# cleanup
|
||||
sudo rm "$ENERGYPLUS_DOWNLOAD_FILENAME".$EXT
|
||||
sudo rm $ATTCHNUM.zip
|
||||
fi
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
# getting custom install script https://github.com/NREL/EnergyPlus/pull/7615
|
||||
curl -SL -C - https://raw.githubusercontent.com/jmarrec/EnergyPlus/40afb275f66201db5305f54df6c070d0b0cb4fc3/cmake/qtifw/install_script.qs -o install_script.qs
|
||||
sudo hdiutil attach "$ENERGYPLUS_DOWNLOAD_FILENAME".$EXT
|
||||
sudo /Volumes/"$ENERGYPLUS_DOWNLOAD_FILENAME"/"$ENERGYPLUS_DOWNLOAD_FILENAME".app/Contents/MacOS/"$ENERGYPLUS_DOWNLOAD_FILENAME" --verbose --script install_script.qs
|
||||
sudo tar zxvf $ATTCHNUM.zip -C /Applications/EnergyPlus-"$ENERGYPLUS_INSTALL_VERSION"/PreProcess
|
||||
sudo chmod -R a+rwx /Applications/EnergyPlus-"$ENERGYPLUS_INSTALL_VERSION"/PreProcess/IDFVersionUpdater
|
||||
sudo chmod -R a+rwx /Applications/EnergyPlus-"$ENERGYPLUS_INSTALL_VERSION"/ExampleFiles
|
||||
# cleanup
|
||||
sudo rm install_script.qs
|
||||
sudo rm "$ENERGYPLUS_DOWNLOAD_FILENAME".$EXT
|
||||
sudo rm $ATTCHNUM.zip
|
||||
fi
|
||||
if [ "$TRAVIS_OS_NAME" == "windows" ]; then
|
||||
# On windows, we are simply extracting the zip file to c:\\
|
||||
echo "Extracting and Copying files to... C:\\"
|
||||
powershell Expand-Archive -Path $ENERGYPLUS_DOWNLOAD_FILENAME.$EXT -DestinationPath C:\\
|
||||
powershell Rename-Item -Path c:\\$ENERGYPLUS_DOWNLOAD_FILENAME -NewName EnergyPlusV"$ENERGYPLUS_INSTALL_VERSION"
|
||||
# extract extra downloads to destination
|
||||
DEST=C:\\EnergyPlusV"$ENERGYPLUS_INSTALL_VERSION"\\PreProcess\\IDFVersionUpdater
|
||||
echo "Extracting and Copying files to... $DEST"
|
||||
powershell Expand-Archive -Path $ATTCHNUM.zip -DestinationPath "$DEST" -Force
|
||||
# cleanup
|
||||
rm -v $ENERGYPLUS_DOWNLOAD_FILENAME.$EXT
|
||||
rm -v $ATTCHNUM.zip
|
||||
IDD=C:\\EnergyPlusV"$ENERGYPLUS_INSTALL_VERSION"\\Energy+.idd
|
||||
if [ -f "$IDD" ]; then
|
||||
echo "$IDD" exists
|
||||
else
|
||||
echo "$IDD" does not exist;
|
||||
travis_terminate 1;
|
||||
fi
|
||||
fi
|
10
requirements-dev.txt
Normal file
10
requirements-dev.txt
Normal file
@ -0,0 +1,10 @@
|
||||
coverage
|
||||
coveralls
|
||||
pytest
|
||||
pytest-cov
|
||||
scikit-learn
|
||||
scipy
|
||||
sphinx
|
||||
sphinx_rtd_theme
|
||||
recommonmark
|
||||
sphinx-click
|
20
requirements.txt
Normal file
20
requirements.txt
Normal file
@ -0,0 +1,20 @@
|
||||
networkx
|
||||
shapely
|
||||
geomeppy
|
||||
matplotlib>=2.1
|
||||
six
|
||||
eppy
|
||||
requests>=2.18
|
||||
pycountry
|
||||
scikit-learn
|
||||
scipy
|
||||
pandas>=0.24
|
||||
pyomo
|
||||
numpy>=1.17
|
||||
tqdm
|
||||
tabulate
|
||||
path
|
||||
tsam
|
||||
pint
|
||||
click
|
||||
outdated
|
76
setup.py
Normal file
76
setup.py
Normal file
@ -0,0 +1,76 @@
|
||||
# To use a consistent encoding
|
||||
import codecs
|
||||
import re
|
||||
import sys
|
||||
import os
|
||||
from os import path
|
||||
|
||||
# Always prefer setuptools over distutils
|
||||
from setuptools import setup
|
||||
|
||||
here = os.getcwd()
|
||||
|
||||
# This check is here if the user does not have a new enough pip to recognize
|
||||
# the minimum Python requirement in the metadata.
|
||||
if sys.version_info < (3, 6):
|
||||
error = """
|
||||
translator 1.1+ does not support Python 2.x, 3.0, 3.1, 3.2, or 3.3.
|
||||
Python 3.6 and above is required. This may be due to an out of date pip.
|
||||
Make sure you have pip >= 9.0.1.
|
||||
"""
|
||||
sys.exit(error)
|
||||
|
||||
|
||||
def read(*parts):
|
||||
with codecs.open(path.join(here, *parts), "r") as fp:
|
||||
return fp.read()
|
||||
|
||||
|
||||
def find_version(*file_paths):
|
||||
version_file = read(*file_paths)
|
||||
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M)
|
||||
if version_match:
|
||||
return version_match.group(1)
|
||||
raise RuntimeError("Unable to find version string.")
|
||||
|
||||
|
||||
# Get the long description from the README file
|
||||
with codecs.open(path.join(here, "README.md"), encoding="utf-8") as f:
|
||||
long_description = f.read()
|
||||
|
||||
with open(path.join(here, "requirements.txt")) as f:
|
||||
requirements_lines = f.readlines()
|
||||
install_requires = [r.strip() for r in requirements_lines]
|
||||
|
||||
with open(path.join(here, "requirements-dev.txt")) as f:
|
||||
requirements_lines = f.readlines()
|
||||
dev_requires = [r.strip() for r in requirements_lines]
|
||||
|
||||
setup(
|
||||
name="translator",
|
||||
version=find_version("translator", "__init__.py"),
|
||||
packages=["translator"],
|
||||
package_data={
|
||||
"translator": [
|
||||
"translator/ressources/originBUISketchUp.idf",
|
||||
"translator/ressources/W74-lib.dat",
|
||||
"translator/ressources/NewFileTemplate.d18",
|
||||
]
|
||||
},
|
||||
include_package_data=True,
|
||||
url="https://github.com/louisleroy5/translator",
|
||||
license="-",
|
||||
author="Louis Leroy",
|
||||
author_email="louis.leroy@polymtl.ca",
|
||||
description="Convert IDF file (EnergyPlus) to BUI file (TRNBuild)",
|
||||
long_description=long_description,
|
||||
keywords="Building archetypes",
|
||||
python_requires=">=3.6",
|
||||
install_requires=install_requires,
|
||||
extras_require={"dev": dev_requires},
|
||||
test_suite="tests",
|
||||
entry_points="""
|
||||
[console_scripts]
|
||||
translator=translator.cli:cli
|
||||
""",
|
||||
)
|
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
BIN
tests/__pycache__/__init__.cpython-36.pyc
Normal file
BIN
tests/__pycache__/__init__.cpython-36.pyc
Normal file
Binary file not shown.
BIN
tests/__pycache__/conftest.cpython-36.pyc
Normal file
BIN
tests/__pycache__/conftest.cpython-36.pyc
Normal file
Binary file not shown.
103
tests/conftest.py
Normal file
103
tests/conftest.py
Normal file
@ -0,0 +1,103 @@
|
||||
import glob
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
import translator as tr
|
||||
|
||||
|
||||
# Parametrization of the fixture scratch_then_cache. The following array
|
||||
# tells pytest to use True than False for all tests that use this fixture.
|
||||
# This is very usefull to test the behavior of methods that use cached data
|
||||
# or not.
|
||||
do = [True, False]
|
||||
|
||||
|
||||
@pytest.fixture(params=do, ids=["from_scratch", "from_cache"], scope="function")
|
||||
def scratch_then_cache(request):
|
||||
"""# remove the tests/temp folder if it already exists so we
|
||||
start fresh with tests"""
|
||||
# request is a special parameter known to pytest. It passes whatever is in
|
||||
# params=do. Ids are there to give the test a human readable name.
|
||||
dirs = [tr.settings.data_folder, tr.settings.cache_folder, tr.settings.imgs_folder]
|
||||
if request.param:
|
||||
for dir in dirs:
|
||||
if os.path.exists(dir):
|
||||
try:
|
||||
shutil.rmtree(dir)
|
||||
finally:
|
||||
assert not os.path.exists(dir)
|
||||
|
||||
|
||||
samples_ = ["regular", "umi_samples"] # ['problematic', 'regular',
|
||||
|
||||
|
||||
# 'umi_samples']
|
||||
|
||||
|
||||
@pytest.fixture(params=samples_, ids=samples_, scope="session")
|
||||
def idf_source(request):
|
||||
return glob.glob("tests/input_data/{}/*.idf".format(request.param))
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def config():
|
||||
tr.config(
|
||||
data_folder="tests/.temp/data",
|
||||
logs_folder="tests/.temp/logs",
|
||||
imgs_folder="tests/.temp/imgs",
|
||||
cache_folder="tests/.temp/cache",
|
||||
use_cache=True,
|
||||
log_file=True,
|
||||
log_console=True,
|
||||
umitemplate="tests/input_data/umi_samples/BostonTemplateLibrary_2.json",
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture(scope="class")
|
||||
def clean_config(config):
|
||||
"""calls config fixture and clears default folders"""
|
||||
|
||||
dirs = [tr.settings.data_folder, tr.settings.cache_folder, tr.settings.imgs_folder]
|
||||
for dir in dirs:
|
||||
if os.path.exists(dir):
|
||||
try:
|
||||
shutil.rmtree(dir)
|
||||
finally:
|
||||
assert not os.path.exists(dir)
|
||||
|
||||
|
||||
# List fixtures that are located outiside of conftest.py so that they can be
|
||||
# used in other tests
|
||||
|
||||
ALL = set("darwin linux win32".split())
|
||||
|
||||
|
||||
def pytest_runtest_setup(item):
|
||||
supported_platforms = ALL.intersection(mark.name for mark in item.iter_markers())
|
||||
plat = sys.platform
|
||||
if supported_platforms and plat not in supported_platforms:
|
||||
pytest.skip("cannot run on platform %s" % (plat))
|
||||
|
||||
|
||||
# dynamically define files to be ignored
|
||||
collect_ignore = ["test_core.py"]
|
||||
|
||||
|
||||
def get_platform():
|
||||
"""Returns the MacOS release number as tuple of ints"""
|
||||
import platform
|
||||
|
||||
release, versioninfo, machine = platform.mac_ver()
|
||||
release_split = release.split(".")
|
||||
return tuple(map(safe_int_cast, release_split))
|
||||
|
||||
|
||||
def safe_int_cast(val, default=0):
|
||||
"""Safely casts a value to an int"""
|
||||
try:
|
||||
return int(val)
|
||||
except (ValueError, TypeError):
|
||||
return default
|
8768
tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw
Executable file
8768
tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw
Executable file
File diff suppressed because it is too large
Load Diff
8768
tests/input_data/CAN_QC_Montreal-McTavish.716120_CWEC2016.epw
Executable file
8768
tests/input_data/CAN_QC_Montreal-McTavish.716120_CWEC2016.epw
Executable file
File diff suppressed because it is too large
Load Diff
8768
tests/input_data/USA_NY_Buffalo.Niagara.Intl.AP.725280_TMY3.epw
Normal file
8768
tests/input_data/USA_NY_Buffalo.Niagara.Intl.AP.725280_TMY3.epw
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2071
tests/input_data/problematic/nat_ventilation_SAMPLE0.idf
Normal file
2071
tests/input_data/problematic/nat_ventilation_SAMPLE0.idf
Normal file
File diff suppressed because it is too large
Load Diff
8761
tests/input_data/schedules/output_EP.csv
Normal file
8761
tests/input_data/schedules/output_EP.csv
Normal file
File diff suppressed because it is too large
Load Diff
381
tests/input_data/schedules/schedules.idf
Normal file
381
tests/input_data/schedules/schedules.idf
Normal file
@ -0,0 +1,381 @@
|
||||
!-Generator IDFEditor 1.50
|
||||
!-Option SortedOrder
|
||||
!-NOTE: All comments with '!-' are ignored by the IDFEditor and are generated automatically.
|
||||
!- Use '!' comments if they need to be retained when using the IDFEditor.
|
||||
!- =========== ALL OBJECTS IN CLASS: VERSION ===========
|
||||
|
||||
Version,9.2;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SIZINGPERIOD:DESIGNDAY ===========
|
||||
|
||||
SizingPeriod:DesignDay,
|
||||
Montreal Int'l Ann Clg .4% Condns DB=>MWB, !- Name
|
||||
7, !- Month
|
||||
21, !- Day of Month
|
||||
SummerDesignDay, !- Day Type
|
||||
30.0, !- Maximum Dry-Bulb Temperature {C}
|
||||
9.3, !- Daily Dry-Bulb Temperature Range {deltaC}
|
||||
DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type
|
||||
, !- Dry-Bulb Temperature Range Modifier Day Schedule Name
|
||||
Wetbulb, !- Humidity Condition Type
|
||||
22.1, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C}
|
||||
, !- Humidity Condition Day Schedule Name
|
||||
, !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir}
|
||||
, !- Enthalpy at Maximum Dry-Bulb {J/kg}
|
||||
, !- Daily Wet-Bulb Temperature Range {deltaC}
|
||||
100893.0, !- Barometric Pressure {Pa}
|
||||
4.9, !- Wind Speed {m/s}
|
||||
220.0, !- Wind Direction {deg}
|
||||
No, !- Rain Indicator
|
||||
No, !- Snow Indicator
|
||||
No, !- Daylight Saving Time Indicator
|
||||
ASHRAETau, !- Solar Model Indicator
|
||||
, !- Beam Solar Day Schedule Name
|
||||
, !- Diffuse Solar Day Schedule Name
|
||||
0.465, !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless}
|
||||
1.966; !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless}
|
||||
|
||||
SizingPeriod:DesignDay,
|
||||
Montreal Int'l Ann Htg 99.6% Condns DB, !- Name
|
||||
1, !- Month
|
||||
21, !- Day of Month
|
||||
WinterDesignDay, !- Day Type
|
||||
-23.7, !- Maximum Dry-Bulb Temperature {C}
|
||||
0.0, !- Daily Dry-Bulb Temperature Range {deltaC}
|
||||
DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type
|
||||
, !- Dry-Bulb Temperature Range Modifier Day Schedule Name
|
||||
Wetbulb, !- Humidity Condition Type
|
||||
-23.7, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C}
|
||||
, !- Humidity Condition Day Schedule Name
|
||||
, !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir}
|
||||
, !- Enthalpy at Maximum Dry-Bulb {J/kg}
|
||||
, !- Daily Wet-Bulb Temperature Range {deltaC}
|
||||
100893.0, !- Barometric Pressure {Pa}
|
||||
3.9, !- Wind Speed {m/s}
|
||||
260.0, !- Wind Direction {deg}
|
||||
No, !- Rain Indicator
|
||||
No, !- Snow Indicator
|
||||
No, !- Daylight Saving Time Indicator
|
||||
ASHRAEClearSky, !- Solar Model Indicator
|
||||
, !- Beam Solar Day Schedule Name
|
||||
, !- Diffuse Solar Day Schedule Name
|
||||
, !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless}
|
||||
, !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless}
|
||||
0.0; !- Sky Clearness
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: RUNPERIOD ===========
|
||||
|
||||
RunPeriod,
|
||||
RUNPERIOD 1, !- Name
|
||||
1, !- Begin Month
|
||||
1, !- Begin Day of Month
|
||||
, !- Begin Year
|
||||
12, !- End Month
|
||||
31, !- End Day of Month
|
||||
, !- End Year
|
||||
Tuesday, !- Day of Week for Start Day
|
||||
Yes, !- Use Weather File Holidays and Special Days
|
||||
Yes, !- Use Weather File Daylight Saving Period
|
||||
No, !- Apply Weekend Holiday Rule
|
||||
Yes, !- Use Weather File Rain Indicators
|
||||
Yes, !- Use Weather File Snow Indicators
|
||||
; !- Treat Weather as Actual
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: RUNPERIODCONTROL:SPECIALDAYS ===========
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
President's Day, !- Name
|
||||
3rd Monday in February, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Thanksgiving, !- Name
|
||||
4th Thursday in November,!- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Halloween, !- Name
|
||||
10/31, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Vacation, !- Name
|
||||
5/1, !- Start Date
|
||||
14, !- Duration {days}
|
||||
CustomDay1; !- Special Day Type
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULETYPELIMITS ===========
|
||||
! Not limited
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Any Number; !- Name
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Fraction, !- Name
|
||||
0.0, !- Lower Limit Value
|
||||
1.0, !- Upper Limit Value
|
||||
CONTINUOUS; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Temperature, !- Name
|
||||
-60, !- Lower Limit Value
|
||||
200, !- Upper Limit Value
|
||||
CONTINUOUS; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Control Type, !- Name
|
||||
0, !- Lower Limit Value
|
||||
4, !- Upper Limit Value
|
||||
DISCRETE; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
On/Off, !- Name
|
||||
0, !- Lower Limit Value
|
||||
1, !- Upper Limit Value
|
||||
DISCRETE; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
On/Off, !- Name
|
||||
0, !- Lower Limit Value
|
||||
1, !- Upper Limit Value
|
||||
DISCRETE, !- Numeric Type
|
||||
Availability; !- Unit Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Percent, !- Name
|
||||
0, !- Lower Limit Value
|
||||
, !- Upper Limit Value
|
||||
Continuous, !- Numeric Type
|
||||
Percent; !- Unit Type
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:DAY:HOURLY ===========
|
||||
|
||||
Schedule:Day:Hourly,
|
||||
Day On Peak, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
0., !- Hour 1
|
||||
0., !- Hour 2
|
||||
0., !- Hour 3
|
||||
0., !- Hour 4
|
||||
0., !- Hour 5
|
||||
0., !- Hour 6
|
||||
0., !- Hour 7
|
||||
0., !- Hour 8
|
||||
0., !- Hour 9
|
||||
1., !- Hour 10
|
||||
1., !- Hour 11
|
||||
1., !- Hour 12
|
||||
1., !- Hour 13
|
||||
1., !- Hour 14
|
||||
1., !- Hour 15
|
||||
1., !- Hour 16
|
||||
1., !- Hour 17
|
||||
1., !- Hour 18
|
||||
0., !- Hour 19
|
||||
0., !- Hour 20
|
||||
0., !- Hour 21
|
||||
0., !- Hour 22
|
||||
0., !- Hour 23
|
||||
0.; !- Hour 24
|
||||
|
||||
Schedule:Day:Hourly,
|
||||
Day Off Peak, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
0., !- Hour 1
|
||||
0., !- Hour 2
|
||||
0., !- Hour 3
|
||||
0., !- Hour 4
|
||||
0., !- Hour 5
|
||||
0., !- Hour 6
|
||||
0., !- Hour 7
|
||||
0., !- Hour 8
|
||||
0., !- Hour 9
|
||||
0, !- Hour 10
|
||||
0, !- Hour 11
|
||||
0, !- Hour 12
|
||||
0, !- Hour 13
|
||||
0, !- Hour 14
|
||||
1, !- Hour 15
|
||||
1., !- Hour 16
|
||||
1., !- Hour 17
|
||||
1., !- Hour 18
|
||||
0., !- Hour 19
|
||||
0., !- Hour 20
|
||||
0., !- Hour 21
|
||||
0., !- Hour 22
|
||||
0., !- Hour 23
|
||||
0.; !- Hour 24
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:DAY:INTERVAL ===========
|
||||
|
||||
Schedule:Day:Interval,
|
||||
dd winter rel humidity, !- Name
|
||||
Percent, !- Schedule Type Limits Name
|
||||
No, !- Interpolate to Timestep
|
||||
until: 24:00, !- Time 1
|
||||
74; !- Value Until Time 1
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:DAY:LIST ===========
|
||||
|
||||
Schedule:Day:List,
|
||||
Myschedule, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
No, !- Interpolate to Timestep
|
||||
30, !- Minutes per Item
|
||||
0.0, !- Value 1
|
||||
0.5, !- <none>
|
||||
0, !- <none>
|
||||
0, !- <none>
|
||||
0, !- <none>
|
||||
0; !- <none>
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:WEEK:DAILY ===========
|
||||
|
||||
Schedule:Week:Daily,
|
||||
Week on Peak Daily, !- Name
|
||||
Day On Peak, !- Sunday Schedule:Day Name
|
||||
Day On Peak, !- Monday Schedule:Day Name
|
||||
Day On Peak, !- Tuesday Schedule:Day Name
|
||||
Day On Peak, !- Wednesday Schedule:Day Name
|
||||
Day On Peak, !- Thursday Schedule:Day Name
|
||||
Day On Peak, !- Friday Schedule:Day Name
|
||||
Day On Peak, !- Saturday Schedule:Day Name
|
||||
Day On Peak, !- Holiday Schedule:Day Name
|
||||
Day On Peak, !- SummerDesignDay Schedule:Day Name
|
||||
Day On Peak, !- WinterDesignDay Schedule:Day Name
|
||||
Day On Peak, !- CustomDay1 Schedule:Day Name
|
||||
Day On Peak; !- CustomDay2 Schedule:Day Name
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:WEEK:COMPACT ===========
|
||||
|
||||
Schedule:Week:Compact,
|
||||
Week on Peak, !- Name
|
||||
WeekDays, !- DayType List 1
|
||||
Day On Peak, !- Schedule:Day Name 1
|
||||
AllOtherDays, !- DayType List 2
|
||||
Day Off Peak; !- Schedule:Day Name 2
|
||||
|
||||
Schedule:Week:Compact,
|
||||
FanAndCoilAllOffWeekSched, !- Name
|
||||
WeekDays, !- DayType List 1
|
||||
Day On Peak, !- Schedule:Day Name 1
|
||||
AllOtherDays, !- DayType List 2
|
||||
Day Off Peak; !- Schedule:Day Name 2
|
||||
|
||||
Schedule:Week:Compact,
|
||||
FanAndCoilSummerWeekSched, !- Name
|
||||
WeekDays, !- DayType List 1
|
||||
Day On Peak, !- Schedule:Day Name 1
|
||||
AllOtherDays, !- DayType List 2
|
||||
Day Off Peak; !- Schedule:Day Name 2
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:YEAR ===========
|
||||
|
||||
Schedule:Year,
|
||||
On Peak, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Week on Peak Daily, !- Schedule:Week Name 1
|
||||
1, !- Start Month 1
|
||||
1, !- Start Day 1
|
||||
12, !- End Month 1
|
||||
31; !- End Day 1
|
||||
|
||||
Schedule:Year,
|
||||
CoolingCoilAvailSched, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
FanAndCoilAllOffWeekSched, !- Schedule:Week Name 1
|
||||
1, !- Start Month 1
|
||||
1, !- Start Day 1
|
||||
3, !- End Month 1
|
||||
31, !- End Day 1
|
||||
FanAndCoilSummerWeekSched, !- Schedule:Week Name 2
|
||||
4, !- Start Month 2
|
||||
1, !- Start Day 2
|
||||
9, !- End Month 2
|
||||
30, !- End Day 2
|
||||
FanAndCoilAllOffWeekSched, !- Schedule:Week Name 3
|
||||
10, !- Start Month 3
|
||||
1, !- Start Day 3
|
||||
12, !- End Month 3
|
||||
31; !- End Day 3
|
||||
|
||||
Schedule:Year,
|
||||
On Peak 2, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Week on Peak Daily, !- Schedule:Week Name 1
|
||||
1, !- Start Month 1
|
||||
1, !- Start Day 1
|
||||
12, !- End Month 1
|
||||
31; !- End Day 1
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:COMPACT ===========
|
||||
|
||||
Schedule:Compact,
|
||||
POFF, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 4/30, !- Field 1
|
||||
For: AllDays, !- Field 2
|
||||
Until: 24:00,1.0, !- Field 3
|
||||
Through: 12/31, !- Field 5
|
||||
For: Weekdays, !- Field 6
|
||||
Until: 7:00,.1, !- Field 7
|
||||
Until: 17:00,1.0, !- Field 9
|
||||
Until: 24:00,.1, !- Field 11
|
||||
For: Weekends, !- Field 13
|
||||
Until: 24:00,.1, !- Field 14
|
||||
For: AllOtherDays, !- Field 16
|
||||
Until: 24:00,.1; !- Field 17
|
||||
|
||||
! Schedule Continuous
|
||||
|
||||
Schedule:Compact,
|
||||
Continuous, !- Name
|
||||
on/off, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: AllDays, !- Field 2
|
||||
Until: 24:00,1.0; !- Field 3
|
||||
|
||||
! Schedule Daytime Ventilation
|
||||
|
||||
Schedule:Compact,
|
||||
Daytime Ventilation, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays SummerDesignDay, !- Field 2
|
||||
Until: 08:00,0.0, !- Field 3
|
||||
Until: 18:00,1.0, !- Field 5
|
||||
Until: 24:00,0.0, !- Field 7
|
||||
For: Weekends WinterDesignDay, !- Field 9
|
||||
Until: 10:00,0.0, !- Field 10
|
||||
Until: 16:00,1.0, !- Field 12
|
||||
Until: 24:00,0.0, !- Field 14
|
||||
For: Holidays AllOtherDays, !- Field 16
|
||||
Until: 24:00,0.0; !- Field 17
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:CONSTANT ===========
|
||||
|
||||
Schedule:Constant,AlwaysOn,On/Off,1.0;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:FILE ===========
|
||||
|
||||
Schedule:File,
|
||||
elecTDVfromCZ06res, !- Name
|
||||
Any Number, !- Schedule Type Limits Name
|
||||
TDV_2008_kBtu_CTZ06.csv, !- File Name
|
||||
2, !- Column Number
|
||||
4; !- Rows to Skip at Top
|
||||
|
||||
Schedule:File,
|
||||
elecTDVfromCZ06com, !- Name
|
||||
Any Number, !- Schedule Type Limits Name
|
||||
TDV_2008_kBtu_CTZ06.csv, !- File Name
|
||||
1, !- Column Number
|
||||
4, !- Rows to Skip at Top
|
||||
, !- Number of Hours of Data
|
||||
, !- Column Separator
|
||||
, !- Interpolate to Timestep
|
||||
60; !- Minutes per Item
|
||||
|
1094
tests/input_data/schedules/test_multizone_EP.idf
Normal file
1094
tests/input_data/schedules/test_multizone_EP.idf
Normal file
File diff suppressed because it is too large
Load Diff
8760
tests/input_data/test_profile.csv
Normal file
8760
tests/input_data/test_profile.csv
Normal file
File diff suppressed because it is too large
Load Diff
19627
tests/input_data/trnsys/ASHRAE90.1_OfficeLarge_STD2016_Buffalo.idf
Normal file
19627
tests/input_data/trnsys/ASHRAE90.1_OfficeLarge_STD2016_Buffalo.idf
Normal file
File diff suppressed because it is too large
Load Diff
655
tests/input_data/trnsys/Building.b18
Normal file
655
tests/input_data/trnsys/Building.b18
Normal file
@ -0,0 +1,655 @@
|
||||
************************************************************************************************************************
|
||||
* TRNBuild 2.0.198
|
||||
************************************************************************************************************************
|
||||
* BUILDING DESCRIPTIONS FILE TRNSYS
|
||||
* FOR BUILDING: /Users/samuelduchesne/Dropbox/Polytechnique/Doc/software/archetypal/tests/input_data/trnsys/Building.b18
|
||||
* GET BY WORKING WITH TRNBuild 2.0 for Windows
|
||||
************************************************************************************************************************
|
||||
*
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* C o m m e n t s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*#C Originally created by TRNSIDF Version 1.74
|
||||
*#C Generated with the template 3_office_basedon_SIA2024
|
||||
*#C
|
||||
*#C Assumptions made: - electric power fraction (ELPOWERFRAC) of HEATING, COOLING and VENTILATION = 0
|
||||
*#C - electric power fraction (ELPOWERFRAC) of GAINs Devices and Lighting = 1
|
||||
*#C - daylight control strategies use ILLMODE=1 : VALUE=2 : ILLSETPOINT1=500 : ILLSETPOINT2=300 : CNTRLMODE=2 : MINPFAC=0.2 : MINLFAC=0.2
|
||||
*#C - HEATING night setback to 16°C
|
||||
*#C - COOLING switched of for non occupied periods
|
||||
*#C -
|
||||
*
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* P r o j e c t
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*+++ PROJECT
|
||||
*+++ TITLE=UNDEFINED
|
||||
*+++ DESCRIPTION=UNDEFINED
|
||||
*+++ CREATED=UNDEFINED
|
||||
*+++ ADDRESS=UNDEFINED
|
||||
*+++ CITY=UNDEFINED
|
||||
*+++ SWITCH=UNDEFINED
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* P r o p e r t i e s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
PROPERTIES
|
||||
DENSITY=1.204 : CAPACITY=1.012 : PRESSURE=101325.000 : HVAPOR=2454.0 : SIGMA=2.041e-007 : RTEMP=293.15
|
||||
*--- convective heat transfer coefficient calculation ---------------------
|
||||
KFLOORUP=7.2 : EFLOORUP=0.31 : KFLOORDOWN=3.888 : EFLOORDOWN=0.31
|
||||
KCEILUP=7.2 : ECEILUP=0.31 : KCEILDOWN=3.888 : ECEILDOWN=0.31
|
||||
KVERTICAL=5.76 : EVERTICAL=0.3
|
||||
*--- radiance parameters -------------------
|
||||
SCENE_ROTATION_ANGLE=0 : GROUND_IDS= : GROUND_REFLECTANCE=0.2 : SHADER_REFLECTANCE=0
|
||||
CALC_MODE=RAD : LATITUDE=48 : LONGITUDE=-9.2 : TIME_ZONE=-15 : SITE_ELEVATION=200
|
||||
AB=5 : AD=1000 : AS=20 : AR=300 : AA=0.1
|
||||
LR=6 : ST=0.15 : SJ=1 : LW=0.004 : DJ=0 : DS=0.2 : DR=2 : DP=512
|
||||
*--- comfort parameters -------------------
|
||||
DIAM-SENSOR=0.07 : EPS-SENSOR=0.82 : REFL-SENSOR=0.47 : ELV_AIRSPEED1=0.3 : ELV_AIRSPEED2=0.7 : ELV_AIRSPEED3=1.2
|
||||
*--- other -------------------
|
||||
FSCAL_TREGENZA=MEDIUM : SHM_MODE=0 : SURFGRID=0.2
|
||||
*--- daylight -------------------
|
||||
UDIMIN=100 : UDIMAX=2000 : DAMIN=300
|
||||
*
|
||||
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
TYPES
|
||||
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* L a y e r s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
LAYER PUTZ
|
||||
CONDUCTIVITY= 2.52 : CAPACITY= 1 : DENSITY= 1400 : PERT= 0 : PENRT= 0
|
||||
LAYER KST
|
||||
CONDUCTIVITY= 3.564 : CAPACITY= 1 : DENSITY= 1600 : PERT= 0 : PENRT= 0
|
||||
LAYER DAEMA
|
||||
CONDUCTIVITY= 0.173 : CAPACITY= 1 : DENSITY= 60 : PERT= 0 : PENRT= 0
|
||||
LAYER GIPS
|
||||
CONDUCTIVITY= 0.756 : CAPACITY= 1 : DENSITY= 900 : PERT= 0 : PENRT= 0
|
||||
LAYER HOLZ
|
||||
CONDUCTIVITY= 0.468 : CAPACITY= 2.1 : DENSITY= 600 : PERT= 0 : PENRT= 0
|
||||
LAYER BET
|
||||
CONDUCTIVITY= 7.56 : CAPACITY= 1 : DENSITY= 2200 : PERT= 0 : PENRT= 0
|
||||
LAYER TEPP
|
||||
CONDUCTIVITY= 0.288 : CAPACITY= 1.3 : DENSITY= 700 : PERT= 0 : PENRT= 0
|
||||
LAYER ESTR
|
||||
CONDUCTIVITY= 5.04 : CAPACITY= 1 : DENSITY= 2000 : PERT= 0 : PENRT= 0
|
||||
LAYER MIWO
|
||||
CONDUCTIVITY= 0.144 : CAPACITY= 1 : DENSITY= 60 : PERT= 0 : PENRT= 0
|
||||
LAYER DAEMM
|
||||
CONDUCTIVITY= 0.144 : CAPACITY= 1 : DENSITY= 60 : PERT= 0 : PENRT= 0
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* I n p u t s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
INPUTS TGROUND TBOUNDARY SHADE_CLOSE SHADE_OPEN MAX_ISHADE MAX_ESHADE
|
||||
INPUTS_DESCRIPTION
|
||||
TGROUND : °C : Ground Temperature (boundary temperature used for floors adjacent to the ground)
|
||||
TBOUNDARY : °C : Boundary Temperature (boundary temperature used for boundary floors, walls, ceilings)
|
||||
SHADE_CLOSE : kJ/hr.m^2 : threshold of total radiation on facade where shading device is activated
|
||||
SHADE_OPEN : kJ/hr.m^2 : threshold of total radiation on facade where shading device is deactivated
|
||||
MAX_ISHADE : any : max shading factor of internal shading
|
||||
MAX_ESHADE : any : max shading factor of external shading
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* S c h e d u l e s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
SCHEDULE Occ_MoFr_31office
|
||||
HOURS =0.000 7.000 8.000 9.000 10.000 12.000 13.000 14.000 15.000 16.000 17.000 18.000 24.0
|
||||
VALUES=0 0.2 0.6 1. 0.8 0.4 0.6 1. 0.8 0.6 0.2 0 0
|
||||
SCHEDULE Occ_SaSu_31office
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0 0
|
||||
SCHEDULE Dev_MoFr_31office
|
||||
HOURS =0.000 7.000 8.000 9.000 10.000 11.000 12.000 13.000 14.000 15.000 16.000 17.000 18.000 24.0
|
||||
VALUES=0.1 0.2 0.6 0.8 1. 0.8 0.4 0.6 1. 0.8 0.6 0.2 0.1 0.1
|
||||
SCHEDULE Dev_SaSu_31office
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0.1 0.1
|
||||
SCHEDULE Opr_MoFr_31office
|
||||
HOURS =0.000 7.000 18.000 24.0
|
||||
VALUES=0 1. 0 0
|
||||
SCHEDULE Opr_SaSu_31office
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0 0
|
||||
SCHEDULE Occ_MoFr_32office
|
||||
HOURS =0.000 7.000 8.000 9.000 10.000 12.000 13.000 14.000 15.000 16.000 17.000 18.000 24.0
|
||||
VALUES=0 0.2 0.6 1. 0.8 0.4 0.6 1. 0.8 0.6 0.2 0 0
|
||||
SCHEDULE Occ_SaSu_32office
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0 0
|
||||
SCHEDULE Dev_MoFr_32office
|
||||
HOURS =0.000 7.000 8.000 9.000 10.000 11.000 12.000 13.000 14.000 15.000 16.000 17.000 18.000 24.0
|
||||
VALUES=0.1 0.2 0.6 1. 1. 0.8 0.4 0.6 1. 0.8 0.6 0.2 0.1 0.1
|
||||
SCHEDULE Dev_SaSu_32office
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0.1 0.1
|
||||
SCHEDULE Opr_MoFr_32office
|
||||
HOURS =0.000 7.000 18.000 24.0
|
||||
VALUES=0 1. 0 0
|
||||
SCHEDULE Opr_SaSu_32office
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0 0
|
||||
SCHEDULE Occ_MoFr_33meeting
|
||||
HOURS =0.000 9.000 10.000 11.000 12.000 14.000 15.000 16.000 17.000 24.0
|
||||
VALUES=0 0.6 1. 0.4 0 0.6 1. 0.4 0 0
|
||||
SCHEDULE Occ_SaSu_33meeting
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0 0
|
||||
SCHEDULE Dev_MoFr_33meeting
|
||||
HOURS =0.000 9.000 10.000 11.000 12.000 14.000 15.000 16.000 17.000 24.0
|
||||
VALUES=0.1 0.6 1. 0.4 0.1 0.6 1. 0.4 0.1 0.1
|
||||
SCHEDULE Dev_SaSu_33meeting
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0.1 0.1
|
||||
SCHEDULE Opr_MoFr_33meeting
|
||||
HOURS =0.000 7.000 18.000 24.0
|
||||
VALUES=0 1. 0 0
|
||||
SCHEDULE Opr_SaSu_33meeting
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0 0
|
||||
SCHEDULE Occ_MoFr_34Reception
|
||||
HOURS =0.000 7.000 8.000 9.000 10.000 12.000 13.000 14.000 15.000 16.000 17.000 18.000 24.0
|
||||
VALUES=0 0.2 0.6 1. 0.8 0.4 0.6 1. 0.8 0.6 0.2 0 0
|
||||
SCHEDULE Occ_SaSu_34Reception
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0 0
|
||||
SCHEDULE Dev_MoFr_34Reception
|
||||
HOURS =0.000 7.000 8.000 9.000 10.000 11.000 12.000 13.000 14.000 15.000 16.000 17.000 18.000 24.0
|
||||
VALUES=0.1 0.2 0.6 0.8 1. 0.8 0.4 0.6 1. 0.8 0.6 0.2 0.1 0.1
|
||||
SCHEDULE Dev_SaSu_34Reception
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0.1 0.1
|
||||
SCHEDULE Opr_MoFr_34reception
|
||||
HOURS =0.000 7.000 18.000 24.0
|
||||
VALUES=0 1. 0 0
|
||||
SCHEDULE Opr_SaSu_34reception
|
||||
HOURS =0.000 24.0
|
||||
VALUES=0 0
|
||||
SCHEDULE Occ_Weekly_31office
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Occ_MoFr_31office Occ_MoFr_31office Occ_MoFr_31office Occ_MoFr_31office Occ_MoFr_31office Occ_SaSu_31office Occ_SaSu_31office
|
||||
SCHEDULE Dev_Weekly_31office
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Dev_MoFr_31office Dev_MoFr_31office Dev_MoFr_31office Dev_MoFr_31office Dev_MoFr_31office Dev_SaSu_31office Dev_SaSu_31office
|
||||
SCHEDULE Opr_Weekly_31office
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Opr_MoFr_31office Opr_MoFr_31office Opr_MoFr_31office Opr_MoFr_31office Opr_MoFr_31office Opr_SaSu_31office Opr_SaSu_31office
|
||||
SCHEDULE Occ_Weekly_32office
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Occ_MoFr_32office Occ_MoFr_32office Occ_MoFr_32office Occ_MoFr_32office Occ_MoFr_32office Occ_SaSu_32office Occ_SaSu_32office
|
||||
SCHEDULE Dev_Weekly_32office
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Dev_MoFr_32office Dev_MoFr_32office Dev_MoFr_32office Dev_MoFr_32office Dev_MoFr_32office Dev_SaSu_32office Dev_SaSu_32office
|
||||
SCHEDULE Opr_Weekly_32office
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Opr_MoFr_32office Opr_MoFr_32office Opr_MoFr_32office Opr_MoFr_32office Opr_MoFr_32office Opr_SaSu_32office Opr_SaSu_32office
|
||||
SCHEDULE Occ_Weekly_33meeting
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Occ_MoFr_33meeting Occ_MoFr_33meeting Occ_MoFr_33meeting Occ_MoFr_33meeting Occ_MoFr_33meeting Occ_SaSu_33meeting Occ_SaSu_33meeting
|
||||
SCHEDULE Dev_Weekly_33meeting
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Dev_MoFr_33meeting Dev_MoFr_33meeting Dev_MoFr_33meeting Dev_MoFr_33meeting Dev_MoFr_33meeting Dev_SaSu_33meeting Dev_SaSu_33meeting
|
||||
SCHEDULE Opr_Weekly_33meeting
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Opr_MoFr_33meeting Opr_MoFr_33meeting Opr_MoFr_33meeting Opr_MoFr_33meeting Opr_MoFr_33meeting Opr_SaSu_33meeting Opr_SaSu_33meeting
|
||||
SCHEDULE Occ_Weekly_34reception
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Occ_MoFr_34Reception Occ_MoFr_34Reception Occ_MoFr_34Reception Occ_MoFr_34Reception Occ_MoFr_34Reception Occ_SaSu_34Reception Occ_SaSu_34Reception
|
||||
SCHEDULE Dev_Weekly_34reception
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Dev_MoFr_34Reception Dev_MoFr_34Reception Dev_MoFr_34Reception Dev_MoFr_34Reception Dev_MoFr_34Reception Dev_SaSu_34Reception Dev_SaSu_34Reception
|
||||
SCHEDULE Opr_Weekly_34reception
|
||||
DAYS=1 2 3 4 5 6 7
|
||||
HOURLY=Opr_MoFr_34reception Opr_MoFr_34reception Opr_MoFr_34reception Opr_MoFr_34reception Opr_MoFr_34reception Opr_SaSu_34reception Opr_SaSu_34reception
|
||||
SCHEDULE Occ_Annual_31office
|
||||
HOURS =0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES=0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8
|
||||
SCHEDULE Occ_Annual_32office
|
||||
HOURS =0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES=0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8
|
||||
SCHEDULE Occ_Annual_33meeting
|
||||
HOURS =0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES=0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8
|
||||
SCHEDULE Occ_Annual_34reception
|
||||
HOURS =0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES=0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* C O N S T R U C T I O N (Wall, Floor, Ceiling,..)
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
CONSTRUCTION BND_WALL
|
||||
LAYERS = PUTZ KST DAEMA GIPS
|
||||
THICKNESS= 0.015 0.175 0.173 0.013
|
||||
ABS-FRONT= 0.4 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
CONSTRUCTION EXT_WALL
|
||||
LAYERS = PUTZ KST DAEMA HOLZ
|
||||
THICKNESS= 0.015 0.175 0.167 0.02
|
||||
ABS-FRONT= 0.4 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
CONSTRUCTION EXT_ROOF
|
||||
LAYERS = PUTZ BET DAEMM HOLZ
|
||||
THICKNESS= 0.015 0.16 0.305 0.02
|
||||
ABS-FRONT= 0.1 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
CONSTRUCTION EXT_FLOOR
|
||||
LAYERS = TEPP ESTR MIWO BET DAEMA
|
||||
THICKNESS= 0.005 0.05 0.03 0.16 0.162
|
||||
ABS-FRONT= 0.8 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
CONSTRUCTION BND_CEILING
|
||||
LAYERS = PUTZ BET DAEMA HOLZ
|
||||
THICKNESS= 0.015 0.16 0.3 0.03
|
||||
ABS-FRONT= 0.1 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
CONSTRUCTION BND_FLOOR
|
||||
LAYERS = TEPP ESTR MIWO BET DAEMA GIPS
|
||||
THICKNESS= 0.005 0.05 0.03 0.16 0.133 0.013
|
||||
ABS-FRONT= 0.8 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
CONSTRUCTION GROUND_FLOOR
|
||||
LAYERS = TEPP ESTR DAEMM BET
|
||||
THICKNESS= 0.005 0.05 0.121 0.2
|
||||
ABS-FRONT= 0.8 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 0.001
|
||||
CONSTRUCTION ADJ_WALL
|
||||
LAYERS = GIPS MIWO GIPS
|
||||
THICKNESS= 0.013 0.1 0.013
|
||||
ABS-FRONT= 0.4 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 11
|
||||
CONSTRUCTION ADJ_CEILING
|
||||
LAYERS = PUTZ BET MIWO ESTR TEPP
|
||||
THICKNESS= 0.015 0.16 0.03 0.05 0.005
|
||||
ABS-FRONT= 0.1 : ABS-BACK= 0.5
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 11
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* W i n d o w s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
WINDOW EXT_WINDOW1
|
||||
WINID=201 : HINSIDE=11 : HOUTSIDE=64 : SLOPE=-999 : SPACID=4 : WWID=0.77 : WHEIG=1.08 : FFRAME=0.15 : UFRAME=8.17 : ABSFRAME=0.6 : RISHADE=0 : RESHADE=0 : REFLISHADE=0.5 : REFLOSHADE=0.5 : CCISHADE=0.5 : EPSFRAME=0.9 : EPSISHADE=0.9 : ITSHADECLOSE=648 : ITSHADEOPEN=576 : FLOWTOAIRNODE=1 : PERT=0 : PENRT=0 : RADMATERIAL=undefined : RADMATERIAL_SHD1=undefined
|
||||
WINDOW EXT_WINDOW2
|
||||
WINID=201 : HINSIDE=11 : HOUTSIDE=64 : SLOPE=-999 : SPACID=4 : WWID=0.77 : WHEIG=1.08 : FFRAME=0.15 : UFRAME=8.17 : ABSFRAME=0.6 : RISHADE=0 : RESHADE=0 : REFLISHADE=0.5 : REFLOSHADE=0.5 : CCISHADE=0.5 : EPSFRAME=0.9 : EPSISHADE=0.9 : ITSHADECLOSE=648 : ITSHADEOPEN=576 : FLOWTOAIRNODE=1 : PERT=0 : PENRT=0 : RADMATERIAL=undefined : RADMATERIAL_SHD1=undefined
|
||||
WINDOW ADJ_WINDOW1
|
||||
WINID=201 : HINSIDE=11 : HOUTSIDE=64 : SLOPE=-999 : SPACID=4 : WWID=0.77 : WHEIG=1.08 : FFRAME=0.15 : UFRAME=8.17 : ABSFRAME=0.6 : RISHADE=0 : RESHADE=0 : REFLISHADE=0.5 : REFLOSHADE=0.5 : CCISHADE=0.5 : EPSFRAME=0.9 : EPSISHADE=0.9 : ITSHADECLOSE=648 : ITSHADEOPEN=576 : FLOWTOAIRNODE=1 : PERT=0 : PENRT=0 : RADMATERIAL=undefined : RADMATERIAL_SHD1=undefined
|
||||
WINDOW ADJ_WINDOW2
|
||||
WINID=201 : HINSIDE=11 : HOUTSIDE=64 : SLOPE=-999 : SPACID=4 : WWID=0.77 : WHEIG=1.08 : FFRAME=0.15 : UFRAME=8.17 : ABSFRAME=0.6 : RISHADE=0 : RESHADE=0 : REFLISHADE=0.5 : REFLOSHADE=0.5 : CCISHADE=0.5 : EPSFRAME=0.9 : EPSISHADE=0.9 : ITSHADECLOSE=648 : ITSHADEOPEN=576 : FLOWTOAIRNODE=1 : PERT=0 : PENRT=0 : RADMATERIAL=undefined : RADMATERIAL_SHD1=undefined
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* G a i n s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
GAIN Occ_31office
|
||||
CONVECTIVE=9 : RADIATIVE=9 : HUMIDITY=0.0055 : ELPOWERFRAC=0 : AREA_RELATED : CATEGORY=PEOPLE
|
||||
GAIN Occ_32office
|
||||
CONVECTIVE=12.6 : RADIATIVE=12.6 : HUMIDITY=0.008 : ELPOWERFRAC=0 : AREA_RELATED : CATEGORY=PEOPLE
|
||||
GAIN Occ_33meeting
|
||||
CONVECTIVE=41.94 : RADIATIVE=41.94 : HUMIDITY=0.0265 : ELPOWERFRAC=0 : AREA_RELATED : CATEGORY=PEOPLE
|
||||
GAIN Occ_34reception
|
||||
CONVECTIVE=10.44 : RADIATIVE=10.44 : HUMIDITY=0.0065 : ELPOWERFRAC=0 : AREA_RELATED : CATEGORY=PEOPLE
|
||||
GAIN Dev_31office
|
||||
CONVECTIVE=20.16 : RADIATIVE=5.04 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=EQUIPMENT
|
||||
GAIN Dev_32office
|
||||
CONVECTIVE=28.8 : RADIATIVE=7.2 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=EQUIPMENT
|
||||
GAIN Dev_33meeting
|
||||
CONVECTIVE=5.76 : RADIATIVE=1.44 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=EQUIPMENT
|
||||
GAIN Dev_34reception
|
||||
CONVECTIVE=11.52 : RADIATIVE=2.88 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=EQUIPMENT
|
||||
GAIN Ltg_31office
|
||||
CONVECTIVE=17.172 : RADIATIVE=40.068 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=LIGHTS
|
||||
GAIN Ltg_32office
|
||||
CONVECTIVE=13.5 : RADIATIVE=31.5 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=LIGHTS
|
||||
GAIN Ltg_33meeting
|
||||
CONVECTIVE=17.172 : RADIATIVE=40.068 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=LIGHTS
|
||||
GAIN Ltg_34reception
|
||||
CONVECTIVE=11.88 : RADIATIVE=27.72 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=LIGHTS
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* C o m f o r t
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* I n f i l t r a t i o n
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
INFILTRATION 31office
|
||||
AIRCHANGE=0.05
|
||||
INFILTRATION 32office
|
||||
AIRCHANGE=0.05
|
||||
INFILTRATION 33meeting
|
||||
AIRCHANGE=0.05
|
||||
INFILTRATION 34reception
|
||||
AIRCHANGE=0.05
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* V e n t i l a t i o n
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
VENTILATION 31office
|
||||
TEMPERATURE=OUTSIDE
|
||||
VAIRFLOWSPEC=SCHEDULE 2.6*Occ_Weekly_31office
|
||||
SPECFANPOWER=0
|
||||
SENSHR=0
|
||||
RELMINHUM=OUTSIDE
|
||||
RELMAXHUM=OUTSIDE
|
||||
CALCQAHU=0
|
||||
VENTILATION 32office
|
||||
TEMPERATURE=OUTSIDE
|
||||
VAIRFLOWSPEC=SCHEDULE 3.6*Occ_Weekly_32office
|
||||
SPECFANPOWER=0
|
||||
SENSHR=0
|
||||
RELMINHUM=OUTSIDE
|
||||
RELMAXHUM=OUTSIDE
|
||||
CALCQAHU=0
|
||||
VENTILATION 33meeting
|
||||
TEMPERATURE=OUTSIDE
|
||||
VAIRFLOWSPEC=SCHEDULE 12*Occ_Weekly_33meeting
|
||||
SPECFANPOWER=0
|
||||
SENSHR=0
|
||||
RELMINHUM=OUTSIDE
|
||||
RELMAXHUM=OUTSIDE
|
||||
CALCQAHU=0
|
||||
VENTILATION 34reception
|
||||
TEMPERATURE=OUTSIDE
|
||||
VAIRFLOWSPEC=SCHEDULE 2.5*Occ_Weekly_34reception
|
||||
SPECFANPOWER=0
|
||||
SENSHR=0
|
||||
RELMINHUM=OUTSIDE
|
||||
RELMAXHUM=OUTSIDE
|
||||
CALCQAHU=0
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* C o o l i n g
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
COOLING 31office
|
||||
ON= 26
|
||||
POWER=SCHEDULE 999999999*Opr_Weekly_31office
|
||||
HUMIDITY=100
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=0
|
||||
COOLING 32office
|
||||
ON= 26
|
||||
POWER=SCHEDULE 999999999*Opr_Weekly_32office
|
||||
HUMIDITY=100
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=0
|
||||
COOLING 33meeting
|
||||
ON= 26
|
||||
POWER=SCHEDULE 999999999*Opr_Weekly_33meeting
|
||||
HUMIDITY=100
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=0
|
||||
COOLING 34reception
|
||||
ON= 26
|
||||
POWER=SCHEDULE 999999999*Opr_Weekly_34reception
|
||||
HUMIDITY=100
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=0
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* H e a t i n g
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
HEATING 31office
|
||||
ON=SCHEDULE 6*Opr_Weekly_31office+15
|
||||
POWER=999999999
|
||||
HUMIDITY=0
|
||||
RRAD=0
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=0
|
||||
HEATING 32office
|
||||
ON=SCHEDULE 6*Opr_Weekly_32office+15
|
||||
POWER=999999999
|
||||
HUMIDITY=0
|
||||
RRAD=0
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=0
|
||||
HEATING 33meeting
|
||||
ON=SCHEDULE 6*Opr_Weekly_33meeting+15
|
||||
POWER=999999999
|
||||
HUMIDITY=0
|
||||
RRAD=0
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=0
|
||||
HEATING 34reception
|
||||
ON=SCHEDULE 5*Opr_Weekly_34reception+15
|
||||
POWER=999999999
|
||||
HUMIDITY=0
|
||||
RRAD=0
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=0
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* D a y l i g h t C o n t r o l
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
DCONTROL 31office
|
||||
ILLMODE=1 : VALUE=2 : ILLSETPOINT1=500 : ILLSETPOINT2=300 : CNTRLMODE=2 : MINPFAC=0.2 : MINLFAC=0.2 : GEOPOS1=0 : GEOPOS2=0 : GEOPOS3=0 : GEOPOS4=0
|
||||
DCONTROL 32office
|
||||
ILLMODE=1 : VALUE=2 : ILLSETPOINT1=500 : ILLSETPOINT2=300 : CNTRLMODE=2 : MINPFAC=0.2 : MINLFAC=0.2 : GEOPOS1=0 : GEOPOS2=0 : GEOPOS3=0 : GEOPOS4=0
|
||||
DCONTROL 33meeting
|
||||
ILLMODE=1 : VALUE=2 : ILLSETPOINT1=500 : ILLSETPOINT2=300 : CNTRLMODE=2 : MINPFAC=0.2 : MINLFAC=0.2 : GEOPOS1=0 : GEOPOS2=0 : GEOPOS3=0 : GEOPOS4=0
|
||||
DCONTROL 34reception
|
||||
ILLMODE=1 : VALUE=2 : ILLSETPOINT1=500 : ILLSETPOINT2=300 : CNTRLMODE=2 : MINPFAC=0.2 : MINLFAC=0.2 : GEOPOS1=0 : GEOPOS2=0 : GEOPOS3=0 : GEOPOS4=0
|
||||
*
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* Z o n e s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
ZONES first_floor second_floor
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* O r i e n t a t i o n s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
HEMISPHERE NORTHERN
|
||||
ORIENTATIONS H_0_0 S_0_25 S_0_90 W_90_90 N_180_25 N_180_90 E_270_90
|
||||
INTERNAL_CALCULATION H_0_0 S_0_25 S_0_90 W_90_90 N_180_25 N_180_90 E_270_90
|
||||
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
BUILDING
|
||||
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* Z o n e first_floor / A i r n o d e first_floor
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
ZONE first_floor
|
||||
RADIATIONMODE
|
||||
BEAM=STANDARD : DIFFUSE=STANDARD : LONGWAVE=STANDARD : GEOMODE = 3D_DATA : FSOLAIR=0
|
||||
DAYLIGHTMODE
|
||||
DLSHADE =-1
|
||||
AIRNODE first_floor
|
||||
WALL =EXT_WALL : SURF= 1 : AREA= 20.000 : EXTERNAL : ORI=S_0_90 : FSKY=0.50 : GEOSURF=0.062500
|
||||
WINDOW=EXT_WINDOW1 : SURF= 8 : AREA= 12.000 : EXTERNAL : ORI=S_0_90 : FSKY=0.50 : ESHADE=INPUT 1*MAX_ESHADE : SHADECNTRL=ESHADE_INTERNAL : GEOSURF=0.037500
|
||||
FLOOR =GROUND_FLOOR : SURF= 2 : AREA= 48.000 : BOUNDARY=INPUT 1*TGROUND : GEOSURF=0.600000
|
||||
WALL =EXT_WALL : SURF= 3 : AREA= 48.000 : EXTERNAL : ORI=N_180_90 : FSKY=0.50 : GEOSURF=0.150000
|
||||
WALL =EXT_WALL : SURF= 4 : AREA= 16.000 : EXTERNAL : ORI=S_0_90 : FSKY=0.50 : GEOSURF=0.050000
|
||||
CEILING=ADJ_CEILING : SURF= 5 : AREA= 48.000 : ADJACENT=second_floor : ADJ_SURF=15 : FRONT
|
||||
WALL =EXT_WALL : SURF= 6 : AREA= 16.000 : EXTERNAL : ORI=E_270_90 : FSKY=0.50 : GEOSURF=0.050000
|
||||
WALL =EXT_WALL : SURF= 7 : AREA= 16.000 : EXTERNAL : ORI=W_90_90 : FSKY=0.50 : GEOSURF=0.050000
|
||||
REGIME
|
||||
INFILTRATION=31office
|
||||
VENTILATION=31office
|
||||
GAIN=Occ_31office : SCALE= SCHEDULE 1*Occ_Weekly_31office : GEOPOS= 0 : SCALE2= SCHEDULE 1*Occ_Annual_31office : FRAC_REFAREA= 1
|
||||
GAIN=Dev_31office : SCALE= SCHEDULE 1*Dev_Weekly_31office : GEOPOS= 0 : SCALE2= SCHEDULE 1*Occ_Annual_31office : FRAC_REFAREA= 1
|
||||
GAIN=Ltg_31office : SCALE= SCHEDULE 1*Opr_Weekly_31office : GEOPOS= 0 : SCALE2= 1 : FRAC_REFAREA= 1 : DLIGHT_CTRL=31office
|
||||
HEATING=31office
|
||||
COOLING=31office
|
||||
CAPACITANCE= 230.400 : VOLUME= 192.000 : REFAREA= 48.000: TINITIAL= 20 : PHINITIAL= 50 : WCAPR= 1
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* Z o n e second_floor / A i r n o d e second_floor
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
ZONE second_floor
|
||||
RADIATIONMODE
|
||||
BEAM=STANDARD : DIFFUSE=STANDARD : LONGWAVE=STANDARD : GEOMODE = 3D_DATA : FSOLAIR=0
|
||||
DAYLIGHTMODE
|
||||
DLSHADE =-1
|
||||
AIRNODE second_floor
|
||||
WALL =EXT_WALL : SURF= 10 : AREA= 28.000 : EXTERNAL : ORI=S_0_90 : FSKY=0.50 : GEOSURF=0.084848
|
||||
WINDOW=EXT_WINDOW1 : SURF= 16 : AREA= 20.000 : EXTERNAL : ORI=S_0_90 : FSKY=0.50 : GEOSURF=0.060606
|
||||
WALL =EXT_WALL : SURF= 11 : AREA= 48.000 : EXTERNAL : ORI=N_180_90 : FSKY=0.50 : GEOSURF=0.145456
|
||||
ROOF =EXT_WALL : SURF= 12 : AREA= 26.833 : EXTERNAL : ORI=N_180_25 : FSKY=0.95
|
||||
WALL =EXT_WALL : SURF= 13 : AREA= 18.000 : EXTERNAL : ORI=W_90_90 : FSKY=0.50 : GEOSURF=0.054545
|
||||
ROOF =EXT_WALL : SURF= 14 : AREA= 26.833 : EXTERNAL : ORI=S_0_25 : FSKY=0.95
|
||||
FLOOR =ADJ_CEILING : SURF= 15 : AREA= 48.000 : ADJACENT=first_floor : ADJ_SURF=5 : BACK : GEOSURF=0.600000
|
||||
WALL =EXT_WALL : SURF= 9 : AREA= 18.000 : EXTERNAL : ORI=E_270_90 : FSKY=0.50 : GEOSURF=0.054545
|
||||
REGIME
|
||||
INFILTRATION=32office
|
||||
VENTILATION=32office
|
||||
GAIN=Occ_32office : SCALE= SCHEDULE 1*Occ_Weekly_32office : GEOPOS= 0 : SCALE2= SCHEDULE 1*Occ_Annual_32office : FRAC_REFAREA= 1
|
||||
GAIN=Dev_32office : SCALE= SCHEDULE 1*Dev_Weekly_32office : GEOPOS= 0 : SCALE2= SCHEDULE 1*Occ_Annual_32office : FRAC_REFAREA= 1
|
||||
GAIN=Ltg_32office : SCALE= SCHEDULE 1*Opr_Weekly_32office : GEOPOS= 0 : SCALE2= 1 : FRAC_REFAREA= 1 : DLIGHT_CTRL=32office
|
||||
HEATING=32office
|
||||
COOLING=32office
|
||||
CAPACITANCE= 259.200 : VOLUME= 216.000 : REFAREA= 48.000: TINITIAL= 20 : PHINITIAL= 50 : WCAPR= 1
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* O u t p u t s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
OUTPUTS
|
||||
TRANSFER : TIMEBASE=1.000
|
||||
AIRNODES = first_floor
|
||||
NTYPE = 1 : Tair - node temperature
|
||||
= 25 : Top - operative temperature
|
||||
= 30 : QHEAT - sensible heating demand of airnode (positive values)
|
||||
= 31 : QCOOL - sensible cooling demand of airnode (positive values)
|
||||
= 156 : QELEQUIP - Electric energy demand of "equipment" gains of airnode [kJ/hr]
|
||||
= 155 : QELLIGHT - Electric energy demand of "lights" gains of airnode [kJ/hr]
|
||||
AIRNODES = second_floor
|
||||
NTYPE = 1 : Tair - node temperature
|
||||
= 25 : Top - operative temperature
|
||||
= 30 : QHEAT - sensible heating demand of airnode (positive values)
|
||||
= 31 : QCOOL - sensible cooling demand of airnode (positive values)
|
||||
= 156 : QELEQUIP - Electric energy demand of "equipment" gains of airnode [kJ/hr]
|
||||
= 155 : QELLIGHT - Electric energy demand of "lights" gains of airnode [kJ/hr]
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* T R N S F L O W Multizone Airflow Network (Model COMIS 3.1)
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* E n d
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
END
|
||||
|
||||
_EXTENSION_WINPOOL_START_
|
||||
BERKELEY LAB WINDOW v7.4.6.0 DOE-2 Data File : Multi Band Calculation : generated with Trnsys18.std
|
||||
Unit System : SI
|
||||
Name : DOE-2 WINDOW LIB
|
||||
Desc : 2-WSV_#3_Ar90
|
||||
Window ID : 201
|
||||
Tilt : 90.0
|
||||
Glazings : 2
|
||||
Frame : 3 Wood 2.270
|
||||
Spacer : 2 Class2 0.068 1.550 -0.143
|
||||
Total Height: 1500.0 mm
|
||||
Total Width : 1200.0 mm
|
||||
Glass Height: 1360.3 mm
|
||||
Glass Width : 1060.3 mm
|
||||
Mullion : None
|
||||
Gap Thick Cond dCond Vis dVis Dens dDens Pr dPr
|
||||
1 Ar90/Air1 16.0 0.01712 5.410 2.062 6.300 1.711 -0.0060 0.687 -0.0001
|
||||
2 0 0 0 0 0 0 0 0 0
|
||||
3 0 0 0 0 0 0 0 0 0
|
||||
4 0 0 0 0 0 0 0 0 0
|
||||
5 0 0 0 0 0 0 0 0 0
|
||||
Angle 0 10 20 30 40 50 60 70 80 90 Hemis
|
||||
Tsol 0.504 0.507 0.499 0.489 0.475 0.449 0.392 0.284 0.130 0.000 0.418
|
||||
Abs1 0.171 0.172 0.174 0.178 0.184 0.191 0.197 0.199 0.184 0.000 0.185
|
||||
Abs2 0.094 0.095 0.103 0.108 0.109 0.112 0.121 0.125 0.086 0.000 0.109
|
||||
Abs3 0 0 0 0 0 0 0 0 0 0 0
|
||||
Abs4 0 0 0 0 0 0 0 0 0 0 0
|
||||
Abs5 0 0 0 0 0 0 0 0 0 0 0
|
||||
Abs6 0 0 0 0 0 0 0 0 0 0 0
|
||||
Rfsol 0.230 0.226 0.224 0.225 0.231 0.248 0.290 0.391 0.600 1.000 0.279
|
||||
Rbsol 0.232 0.226 0.224 0.226 0.237 0.256 0.294 0.382 0.582 0.999 0.280
|
||||
Tvis 0.717 0.721 0.711 0.697 0.678 0.641 0.559 0.405 0.186 0.000 0.596
|
||||
Rfvis 0.133 0.127 0.126 0.130 0.142 0.169 0.229 0.365 0.620 1.000 0.207
|
||||
Rbvis 0.131 0.124 0.121 0.124 0.136 0.160 0.208 0.313 0.540 0.999 0.189
|
||||
SHGC 0.620 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
|
||||
Tvis_daylight: 0.780
|
||||
|
||||
Layer ID# 7199 37003 0 0 0 0
|
||||
Tir 0.000 0.000 0 0 0 0
|
||||
Emis F 0.837 0.037 0 0 0 0
|
||||
Emis B 0.837 0.837 0 0 0 0
|
||||
Thickness(mm) 6.0 6.0 0 0 0 0
|
||||
Cond(W/m2-K )166.7 166.7 0 0 0 0
|
||||
Spectral File ip_fl_6.ipe 37003_IP_ipl None None None None
|
||||
|
||||
Overall and Center of Glass Ig U-values (W/m2-K)
|
||||
Outdoor Temperature -17.8 C 15.6 C 26.7 C 37.8 C
|
||||
Solar WdSpd hcout hrout hin
|
||||
(W/m2) (m/s) (W/m2-K)
|
||||
0 0.00 0.00 0.00 0.00 1.35 1.35 1.08 1.08 1.10 1.10 1.12 1.12
|
||||
0 6.71 0.00 0.00 0.00 1.35 1.35 1.08 1.08 1.10 1.10 1.12 1.12
|
||||
783 0.00 0.00 0.00 0.00 1.35 1.35 1.08 1.08 1.10 1.10 1.12 1.12
|
||||
783 6.71 0.00 0.00 0.00 1.35 1.35 1.08 1.08 1.10 1.10 1.12 1.12
|
||||
*** END OF LIBRARY ***
|
||||
********************************************************************************************************************************
|
||||
*WinID Description Design U-Value g-value T-sol Rf-sol T-vis_daylight Lay Width(mm)
|
||||
********************************************************************************************************************************
|
||||
201 2-WSV_#3_Ar90 6/16/6 1.12 0.59 0.504 0.230 0.780 2 28
|
||||
_EXTENSION_WINPOOL_END_
|
||||
|
||||
_EXTENSION_BuildingGeometry_START_
|
||||
vertex 1 4.000000000000 0.000000000000 4.000000000000
|
||||
vertex 2 4.000000000000 0.000000000000 0.000000000000
|
||||
vertex 3 12.000000000000 0.000000000000 0.000000000000
|
||||
vertex 4 12.000000000000 0.000000000000 4.000000000000
|
||||
vertex 5 5.000000000000 0.000000000000 3.000000000000
|
||||
vertex 6 5.000000000000 0.000000000000 1.000000000000
|
||||
vertex 7 11.000000000000 0.000000000000 1.000000000000
|
||||
vertex 8 11.000000000000 0.000000000000 3.000000000000
|
||||
vertex 9 12.000000000000 4.000000000000 0.000000000000
|
||||
vertex 10 0.000000000000 0.000000000000 0.000000000000
|
||||
vertex 11 0.000000000000 4.000000000000 0.000000000000
|
||||
vertex 12 12.000000000000 4.000000000000 4.000000000000
|
||||
vertex 13 0.000000000000 4.000000000000 4.000000000000
|
||||
vertex 14 0.000000000000 0.000000000000 4.000000000000
|
||||
vertex 15 0.000000000000 0.000000000000 8.000000000000
|
||||
vertex 16 12.000000000000 0.000000000000 8.000000000000
|
||||
vertex 17 1.000000000000 0.000000000000 7.000000000000
|
||||
vertex 18 1.000000000000 0.000000000000 5.000000000000
|
||||
vertex 19 11.000000000000 0.000000000000 5.000000000000
|
||||
vertex 20 11.000000000000 0.000000000000 7.000000000000
|
||||
vertex 21 12.000000000000 4.000000000000 8.000000000000
|
||||
vertex 22 0.000000000000 4.000000000000 8.000000000000
|
||||
vertex 23 12.000000000000 2.000000000000 9.000000000000
|
||||
vertex 24 0.000000000000 2.000000000000 9.000000000000
|
||||
|
||||
zone first_floor
|
||||
wall 1 1 2 3 4
|
||||
window 8 5 6 7 8
|
||||
floor 2 9 3 10 11
|
||||
wall 3 12 9 11 13
|
||||
wall 4 14 10 2 1
|
||||
ceiling 5 13 14 4 12
|
||||
wall 6 4 3 9 12
|
||||
wall 7 13 11 10 14
|
||||
|
||||
zone second_floor
|
||||
wall 10 15 14 4 16
|
||||
window 16 17 18 19 20
|
||||
wall 11 21 12 13 22
|
||||
roof 12 23 21 22 24
|
||||
wall 13 22 13 14 15 24
|
||||
roof 14 24 15 16 23
|
||||
floor 15 12 4 14 13
|
||||
wall 9 16 4 12 21 23
|
||||
|
||||
_EXTENSION_BuildingGeometry_END_
|
||||
|
||||
_EXTENSION_VirtualSurfaceGeometry_START_
|
||||
_EXTENSION_VirtualSurfaceGeometry_END_
|
||||
|
||||
_EXTENSION_ExternalShadingGeometry_START_
|
||||
vertex 25 4.000000000000 0.000000000000 0.000000000000
|
||||
vertex 26 4.000000000000 -4.000000000000 0.000000000000
|
||||
vertex 27 0.000000000000 -4.000000000000 0.000000000000
|
||||
vertex 28 0.000000000000 0.000000000000 0.000000000000
|
||||
vertex 29 4.000000000000 0.000000000000 4.000000000000
|
||||
vertex 30 0.000000000000 0.000000000000 4.000000000000
|
||||
vertex 31 0.000000000000 -4.000000000000 4.000000000000
|
||||
vertex 32 4.000000000000 -4.000000000000 4.000000000000
|
||||
|
||||
|
||||
shader 10001 25 26 27 28
|
||||
shader 10002 29 25 28 30
|
||||
shader 10003 30 28 27 31
|
||||
shader 10004 31 27 26 32
|
||||
shader 10005 30 31 32 29
|
||||
shader 10006 32 26 25 29
|
||||
_EXTENSION_ExternalShadingGeometry_END_
|
||||
|
||||
_EXTENSION_GeoPositionGeometry_START_
|
||||
_EXTENSION_GeoPositionGeometry_END_
|
||||
|
||||
_EXTENSION_DaylightSensorPoints_START_
|
||||
_EXTENSION_DaylightSensorPoints_END_
|
||||
|
1151
tests/input_data/trnsys/Building.idf
Normal file
1151
tests/input_data/trnsys/Building.idf
Normal file
File diff suppressed because it is too large
Load Diff
BIN
tests/input_data/trnsys/HeatPumpWaterHeater.sqlite
Normal file
BIN
tests/input_data/trnsys/HeatPumpWaterHeater.sqlite
Normal file
Binary file not shown.
280
tests/input_data/trnsys/NewFileTemplate.d18
Normal file
280
tests/input_data/trnsys/NewFileTemplate.d18
Normal file
@ -0,0 +1,280 @@
|
||||
VERSION 18
|
||||
*******************************************************************************
|
||||
*** TRNSYS input file (deck) generated by TrnsysStudio
|
||||
*** on Wednesday, June 01, 2016 at 12:28
|
||||
*** from TrnsysStudio project: C:\TRNSYS\MyProjects\Studio_Test\Studio.tpf
|
||||
***
|
||||
*** If you edit this file, use the File/Import TRNSYS Input File function in
|
||||
*** TrnsysStudio to update the project.
|
||||
***
|
||||
*** If you have problems, questions or suggestions please contact your local
|
||||
*** TRNSYS distributor or mailto:software@cstb.fr
|
||||
***
|
||||
*******************************************************************************
|
||||
|
||||
|
||||
*******************************************************************************
|
||||
*** Units
|
||||
*******************************************************************************
|
||||
|
||||
*******************************************************************************
|
||||
*** Control cards
|
||||
*******************************************************************************
|
||||
* START, STOP and STEP
|
||||
CONSTANTS 3
|
||||
START=0
|
||||
STOP=168
|
||||
STEP=1
|
||||
|
||||
SIMULATION START STOP STEP ! Start time End time Time step
|
||||
TOLERANCES 0.001 0.001 ! Integration Convergence
|
||||
LIMITS 30 30 30 ! Max iterations Max warnings Trace limit
|
||||
DFQ 1 ! TRNSYS numerical integration solver method
|
||||
WIDTH 80 ! TRNSYS output file width, number of characters
|
||||
LIST ! NOLIST statement
|
||||
! MAP statement
|
||||
SOLVER 0 1 1 ! Solver statement Minimum relaxation factor Maximum relaxation factor
|
||||
NAN_CHECK 0 ! Nan DEBUG statement
|
||||
OVERWRITE_CHECK 0 ! Overwrite DEBUG statement
|
||||
TIME_REPORT 0 ! disable time report
|
||||
EQSOLVER 0 ! EQUATION SOLVER statement
|
||||
* User defined CONSTANTS
|
||||
|
||||
|
||||
|
||||
* EQUATIONS "Wizard Settings"
|
||||
*
|
||||
EQUATIONS 11
|
||||
HEMISPHERE = @HEMISPHERE
|
||||
TURN = HEMISPHERE * $$ROTATION !Rotation angle for building used for adapting azimuth angles
|
||||
TBOUNDARY = $$T_BOUNDARY
|
||||
SHADE_CLOSE = $$SHADE_CLOSE * 3.6! Close blinds - radiation on facade in [W/m2 * 3.6]=[kJ/hr]
|
||||
SHADE_OPEN = $$SHADE_OPEN * 3.6! Open blinds - radiation on facade in [W/m2 * 3.6]=[kJ/hr]
|
||||
MAX_ISHADE = $$SHADE_FAC/100 ! Maximum opaque fraction of internal shading device
|
||||
MAX_ESHADE = $$SHADE_FAC/100 ! Maximum opaque fraction of external shading device
|
||||
h_DEPTH = $$h_DEPTH
|
||||
T_MEAN = $$T_MEAN
|
||||
T_AMPLITUDE = $$T_AMPLITUDE
|
||||
t_T_MIN = $$t_T_MIN
|
||||
|
||||
*$UNIT_NAME Wizard Settings
|
||||
*$LAYER Main
|
||||
*$POSITION 96 95
|
||||
*$UNIT_NUMBER 1
|
||||
|
||||
|
||||
* EQUATIONS "Radiation Unit Converter"
|
||||
*
|
||||
@RADIATION
|
||||
*$UNIT_NAME Radiation Unit Converter
|
||||
*$LAYER Main
|
||||
*$POSITION 405 95
|
||||
*$UNIT_NUMBER 2
|
||||
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
* Model "Weather" (Type 15)
|
||||
*
|
||||
|
||||
UNIT 15 TYPE 15 Weather
|
||||
*$UNIT_NAME Weather
|
||||
*$MODEL .\Weather Data Reading and Processing\Standard Format\Meteonorm Files (TM2)\Type15-6.tmf
|
||||
*$POSITION 253 180
|
||||
*$LAYER Weather - Data Files #
|
||||
@WEATHER
|
||||
*|? Which file contains the weather data? |1000
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
* Model "Ground Temperature" (Type 77)
|
||||
*
|
||||
|
||||
UNIT 77 TYPE 77 Type77
|
||||
*$UNIT_NAME Type77
|
||||
*$MODEL .\Physical Phenomena\Simple Ground Temperature Model\Type77.tmf
|
||||
*$POSITION 253 350
|
||||
*$LAYER Main #
|
||||
PARAMETERS 8
|
||||
1 ! 1 Number of temperature nodes
|
||||
T_MEAN ! 2 Mean surface temperature
|
||||
T_AMPLITUDE ! 3 Amplitude of surface temperature
|
||||
t_T_MIN ! 4 Time shift
|
||||
8.72 ! 5 Soil thermal conductivity
|
||||
3200.0 ! 6 Soil density
|
||||
0.84 ! 7 Soil specific heat
|
||||
h_depth ! 8 Depth at point
|
||||
*------------------------------------------------------------------------------
|
||||
* Model "Type56" (Type 56)
|
||||
*
|
||||
|
||||
UNIT 56 TYPE 56 Type56
|
||||
*$UNIT_NAME Building
|
||||
*$MODEL .\Loads and Structures\Multi-Zone Building\Type56.tmf
|
||||
*$POSITION 600 255
|
||||
*$LAYER Main #
|
||||
*$#
|
||||
PARAMETERS 3
|
||||
56 ! 1 Logical unit for building description file (*.b18, *.b17, *.bui)
|
||||
0 ! 2 Star network calculation switch
|
||||
0.50 ! 3 Weighting factor for operative temperature
|
||||
@BUILDING
|
||||
*** External files
|
||||
ASSIGN "***.b18" 56
|
||||
*|? Building description file (*.b18, *.b17, *.bui) |1000
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
@UNIT_CONVERSION
|
||||
|
||||
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
*------------------------------------------------------------------------------
|
||||
* OUTPUTS
|
||||
*------------------------------------------------------------------------------
|
||||
* Model "Solar_Plotter" (Type 65)
|
||||
*
|
||||
|
||||
UNIT 65 TYPE 65 Solar_Plotter
|
||||
*$UNIT_NAME Solar_Plotter
|
||||
*$MODEL .\Output\Online Plotter\Online Plotter Without File\Type65d.tmf
|
||||
*$POSITION 906 95
|
||||
*$LAYER Main #
|
||||
PARAMETERS 12
|
||||
10 ! 1 Nb. of left-axis variables
|
||||
10 ! 2 Nb. of right-axis variables
|
||||
0.0 ! 3 Left axis minimum
|
||||
1000.0 ! 4 Left axis maximum
|
||||
0.0 ! 5 Right axis minimum
|
||||
1000.0 ! 6 Right axis maximum
|
||||
1 ! 7 Number of plots per simulation
|
||||
12 ! 8 X-axis gridpoints
|
||||
0 ! 9 Shut off Online w/o removing
|
||||
-1 ! 10 Logical unit for output file
|
||||
0 ! 11 Output file units
|
||||
0 ! 12 Output file delimiter
|
||||
INPUTS 20
|
||||
@Solar_Plotter
|
||||
LABELS 3
|
||||
"Total Incident Solar Radition [W/m²]"
|
||||
"Beam Incident Solar Radition [W/m²]"
|
||||
"Solar_Plotter"
|
||||
|
||||
* Model "T_Plotter" (Type 65)
|
||||
*
|
||||
|
||||
UNIT 66 TYPE 65 T_Plotter
|
||||
*$UNIT_NAME T_Plotter
|
||||
*$MODEL .\Output\Online Plotter\Online Plotter Without File\Type65d.tmf
|
||||
*$POSITION 906 180
|
||||
*$LAYER Main #
|
||||
PARAMETERS 12
|
||||
10 ! 1 Nb. of left-axis variables
|
||||
10 ! 2 Nb. of right-axis variables
|
||||
-30.0 ! 3 Left axis minimum
|
||||
80.0 ! 4 Left axis maximum
|
||||
-30.0 ! 5 Right axis minimum
|
||||
80.0 ! 6 Right axis maximum
|
||||
1 ! 7 Number of plots per simulation
|
||||
12 ! 8 X-axis gridpoints
|
||||
0 ! 9 Shut off Online w/o removing
|
||||
-1 ! 10 Logical unit for output file
|
||||
0 ! 11 Output file units
|
||||
0 ! 12 Output file delimiter
|
||||
INPUTS 20
|
||||
@T_Plotter
|
||||
LABELS 3
|
||||
"Operative Temperature"
|
||||
"Air Temperature"
|
||||
"T_Plotter"
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
* Model "Q_heat_cool_Plotter" (Type 65)
|
||||
*
|
||||
|
||||
UNIT 67 TYPE 65 Q_heat_cool_Plotter
|
||||
*$UNIT_NAME Q_heat_cool_Plotter
|
||||
*$MODEL .\Output\Online Plotter\Online Plotter Without File\Type65d.tmf
|
||||
*$POSITION 906 298
|
||||
*$LAYER Main #
|
||||
PARAMETERS 12
|
||||
10 ! 1 Nb. of left-axis variables
|
||||
10 ! 2 Nb. of right-axis variables
|
||||
0.0 ! 3 Left axis minimum
|
||||
100.0 ! 4 Left axis maximum
|
||||
0.0 ! 5 Right axis minimum
|
||||
100.0 ! 6 Right axis maximum
|
||||
1 ! 7 Number of plots per simulation
|
||||
12 ! 8 X-axis gridpoints
|
||||
0 ! 9 Shut off Online w/o removing
|
||||
-1 ! 10 Logical unit for output file
|
||||
0 ! 11 Output file units
|
||||
0 ! 12 Output file delimiter
|
||||
INPUTS 20
|
||||
@Q_heat_cool_Plotter
|
||||
LABELS 3
|
||||
"Heating [W/m²]"
|
||||
"Cooling [W/m²]"
|
||||
"Q_heat_cool_Plotter"
|
||||
|
||||
|
||||
* Model "Q_heat_cool_Plotter" (Type 65)
|
||||
*
|
||||
|
||||
UNIT 68 TYPE 65 Q_el_Plotter
|
||||
*$UNIT_NAME Q_el_Plotter
|
||||
*$MODEL .\Output\Online Plotter\Online Plotter Without File\Type65d.tmf
|
||||
*$POSITION 906 404
|
||||
*$LAYER Main #
|
||||
PARAMETERS 12
|
||||
10 ! 1 Nb. of left-axis variables
|
||||
10 ! 2 Nb. of right-axis variables
|
||||
0.0 ! 3 Left axis minimum
|
||||
100.0 ! 4 Left axis maximum
|
||||
0.0 ! 5 Right axis minimum
|
||||
100.0 ! 6 Right axis maximum
|
||||
1 ! 7 Number of plots per simulation
|
||||
12 ! 8 X-axis gridpoints
|
||||
0 ! 9 Shut off Online w/o removing
|
||||
-1 ! 10 Logical unit for output file
|
||||
0 ! 11 Output file units
|
||||
0 ! 12 Output file delimiter
|
||||
INPUTS 20
|
||||
@Q_el_Plotter
|
||||
LABELS 3
|
||||
"Electricity Equipment [W/m²]"
|
||||
"Electricity Artificial Lighting [W/m²]"
|
||||
"Q_elec_Plotter"
|
||||
|
||||
|
||||
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
|
||||
END
|
||||
*!LINK_STYLE
|
||||
*!LINK 1:2
|
||||
*!CONNECTION_SET 40:20:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:116,89:385,89
|
||||
*!LINK 15:2
|
||||
*!CONNECTION_SET 40:0:0:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:276,154:325,154:325,109:385,109
|
||||
*!LINK 15:56
|
||||
*!CONNECTION_SET 40:40:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:276,194:325,194:325,249:583,249
|
||||
*!LINK 1:56
|
||||
*!CONNECTION_SET 40:40:0:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:116,109:200,109:200,269:583,269
|
||||
*!LINK 2:56
|
||||
*!CONNECTION_SET 40:40:0:0:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:425,109:500,109:500,229:583,229
|
||||
*!LINK 56:3
|
||||
*!CONNECTION_SET 40:40:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:623,269:675,269:675,345:727,345
|
||||
*!LINK 2:65
|
||||
*!CONNECTION_SET 40:20:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:32768:2:0:0:425,89:855,89:886,89
|
||||
*!LINK 15:66
|
||||
*!CONNECTION_SET 40:20:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:32768:2:0:0:276,174:858,174:886,174
|
||||
*!LINK 77:56
|
||||
*!CONNECTION_SET 40:20:20:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:271,345:603,345:603,269
|
||||
*!LINK 77:66
|
||||
*!CONNECTION_SET 40:40:40:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:32768:2:0:0:271,365:300,365:300,450:1000,450:1000,194:926,194
|
||||
*!LINK 56:66
|
||||
*!CONNECTION_SET 40:20:0:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:32768:2:0:0:623,249:825,249:825,194:886,194
|
||||
*!LINK 3:67
|
||||
*!CONNECTION_SET 40:0:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:32768:2:0:0:767,325:825,325:825,292:886,292
|
||||
*!LINK 3:68
|
||||
*!CONNECTION_SET 40:40:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:32768:2:0:0:767,365:825,365:825,398:886,398
|
||||
*!LINK_STYLE_END
|
402
tests/input_data/trnsys/T3D_simple_2_zone.b18
Normal file
402
tests/input_data/trnsys/T3D_simple_2_zone.b18
Normal file
@ -0,0 +1,402 @@
|
||||
************************************************************************************************************************
|
||||
* TRNBuild 2.0.198
|
||||
************************************************************************************************************************
|
||||
* BUILDING DESCRIPTIONS FILE TRNSYS
|
||||
* FOR BUILDING: /Users/leroylouis/Dropbox/Cours_Poly/Projet_maitrise/archetypal/T3D_simple_2_zone.b18
|
||||
* GET BY WORKING WITH TRNBuild 2.0 for Windows
|
||||
************************************************************************************************************************
|
||||
*
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* C o m m e n t s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*#C Originally created by TRNSIDF Version 1.81
|
||||
*
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* P r o j e c t
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*+++ PROJECT
|
||||
*+++ TITLE=UNDEFINED
|
||||
*+++ DESCRIPTION=UNDEFINED
|
||||
*+++ CREATED=UNDEFINED
|
||||
*+++ ADDRESS=UNDEFINED
|
||||
*+++ CITY=UNDEFINED
|
||||
*+++ SWITCH=UNDEFINED
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* P r o p e r t i e s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
PROPERTIES
|
||||
DENSITY=1.204 : CAPACITY=1.012 : PRESSURE=101325.000 : HVAPOR=2454.0 : SIGMA=2.041e-007 : RTEMP=293.15
|
||||
*--- convective heat transfer coefficient calculation ---------------------
|
||||
KFLOORUP=7.2 : EFLOORUP=0.31 : KFLOORDOWN=3.888 : EFLOORDOWN=0.31
|
||||
KCEILUP=7.2 : ECEILUP=0.31 : KCEILDOWN=3.888 : ECEILDOWN=0.31
|
||||
KVERTICAL=5.76 : EVERTICAL=0.3
|
||||
*--- radiance parameters -------------------
|
||||
SCENE_ROTATION_ANGLE=0 : GROUND_IDS= : GROUND_REFLECTANCE=0.2 : SHADER_REFLECTANCE=0
|
||||
CALC_MODE=RAD : LATITUDE=48 : LONGITUDE=-9.2 : TIME_ZONE=-15 : SITE_ELEVATION=200
|
||||
AB=5 : AD=1000 : AS=20 : AR=300 : AA=0.1
|
||||
LR=6 : ST=0.15 : SJ=1 : LW=0.004 : DJ=0 : DS=0.2 : DR=2 : DP=512
|
||||
*--- comfort parameters -------------------
|
||||
DIAM-SENSOR=0.07 : EPS-SENSOR=0.82 : REFL-SENSOR=0.47 : ELV_AIRSPEED1=0.3 : ELV_AIRSPEED2=0.7 : ELV_AIRSPEED3=1.2
|
||||
*--- other -------------------
|
||||
FSCAL_TREGENZA=MEDIUM : SHM_MODE=0 : SURFGRID=0.2
|
||||
*--- daylight -------------------
|
||||
UDIMIN=100 : UDIMAX=2000 : DAMIN=300
|
||||
*
|
||||
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
TYPES
|
||||
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* L a y e r s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
LAYER mag_000001
|
||||
RESISTANCE=0.05 : PERT= 0 : PENRT= 0
|
||||
LAYER mag_000000
|
||||
RESISTANCE=0.0417 : PERT= 0 : PENRT= 0
|
||||
LAYER mnm_000000
|
||||
RESISTANCE=0.0278 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000013
|
||||
CONDUCTIVITY=0.1555 : CAPACITY= 0.837 : DENSITY= 91.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000012
|
||||
CONDUCTIVITY=0.1764 : CAPACITY= 0.8368 : DENSITY= 265.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000009
|
||||
CONDUCTIVITY=4.7196 : CAPACITY= 0.8368 : DENSITY= 2240.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000008
|
||||
CONDUCTIVITY=1.908 : CAPACITY= 0.84 : DENSITY= 1280.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000007
|
||||
CONDUCTIVITY=0.108 : CAPACITY= 1.21 : DENSITY= 43.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000006
|
||||
CONDUCTIVITY=0.54 : CAPACITY= 1.63 : DENSITY= 608.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000005
|
||||
CONDUCTIVITY=0.576 : CAPACITY= 1.09 : DENSITY= 800.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000004
|
||||
CONDUCTIVITY=0.216 : CAPACITY= 0.59 : DENSITY= 368.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000002
|
||||
CONDUCTIVITY=6.2266 : CAPACITY= 0.837 : DENSITY= 2243.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000001
|
||||
CONDUCTIVITY=2.4905 : CAPACITY= 0.837 : DENSITY= 1858.0 : PERT= 0 : PENRT= 0
|
||||
LAYER m_000000
|
||||
CONDUCTIVITY=0.576 : CAPACITY= 0.83 : DENSITY= 784.9 : PERT= 0 : PENRT= 0
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* I n p u t s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
INPUTS TGROUND TBOUNDARY SHADE_CLOSE SHADE_OPEN MAX_ISHADE MAX_ESHADE
|
||||
INPUTS_DESCRIPTION
|
||||
TBOUNDARY : C : Boundary Temperature (boundary temperature used for boundary floors, walls, ceilings)
|
||||
SHADE_CLOSE : kJ/hr.m^2 : threshold of total radiation on facade where shading device is activated
|
||||
SHADE_OPEN : kJ/hr.m^2 : threshold of total radiation on facade where shading device is deactivated
|
||||
MAX_ISHADE : any : max shading factor of internal shading
|
||||
MAX_ESHADE : any : max shading factor of external shading
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* S c h e d u l e s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
SCHEDULE sy_000007
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0
|
||||
SCHEDULE sy_000006
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
|
||||
SCHEDULE sy_000005
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
|
||||
SCHEDULE sy_000004
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
|
||||
SCHEDULE sy_000003
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
|
||||
SCHEDULE sch_h_setpoint_z_000001
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0
|
||||
SCHEDULE sch_h_setpoint_z_000000
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0
|
||||
SCHEDULE sch_ground
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0
|
||||
SCHEDULE sch_c_setpoint_z_000001
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0
|
||||
SCHEDULE sch_c_setpoint_z_000000
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0
|
||||
SCHEDULE sc_000002
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0
|
||||
SCHEDULE sc_000001
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0 20.0
|
||||
SCHEDULE sc_000000
|
||||
HOURS= 0 744 1416 2160 2880 3624 4344 5088 5832 6552 7296 8016 8760
|
||||
VALUES= 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* C O N S T R U C T I O N (Wall, Floor, Ceiling,..)
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
CONSTRUCTION c_000012
|
||||
LAYERS = m_000005 mag_000000 m_000005
|
||||
THICKNESS= 0.019 0.0 0.019
|
||||
ABS-FRONT= 0.4 : ABS-BACK= 0.4
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
CONSTRUCTION c_000006
|
||||
LAYERS = mnm_000000 m_000009
|
||||
THICKNESS= 0.0 0.1016
|
||||
ABS-FRONT= 0.85 : ABS-BACK= 0.8
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 0.0005
|
||||
CONSTRUCTION c_000003
|
||||
LAYERS = m_000000 m_000013 m_000002 m_000001
|
||||
THICKNESS= 0.0127 0.0914 0.2033 0.0253
|
||||
ABS-FRONT= 0.92 : ABS-BACK= 0.4
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
CONSTRUCTION c_000001
|
||||
LAYERS = m_000012
|
||||
THICKNESS= 0.263
|
||||
ABS-FRONT= 0.7 : ABS-BACK= 0.7
|
||||
EPS-FRONT= 0.9 : EPS-BACK= 0.9
|
||||
HFRONT = 11 : HBACK= 64
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* W i n d o w s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
WINDOW EXT_WINDOW1
|
||||
WINID = 3416: HINSIDE = 11: HOUTSIDE = 64: SLOPE = 90.0: SPACID = 4: WWID = 0.77: WHEIG = 1.08: FFRAME = 0.15: UFRAME = 8.17: ABSFRAME = 0.6: RISHADE = 0: RESHADE = 0: REFLISHADE = 0.5: REFLOSHADE = 0.5: CCISHADE = 0.5: EPSFRAME = 0.9: EPSISHADE = 0.9: ITSHADECLOSE = INPUT 1 * SHADE_CLOSE: ITSHADEOPEN = INPUT 1 * SHADE_OPEN: FLOWTOAIRNODE = 1: PERT = 0: PENRT = 0: RADMATERIAL = undefined: RADMATERIAL_SHD1 = undefined
|
||||
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* G a i n s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
GAIN ee_000001
|
||||
CONVECTIVE=27.0 : RADIATIVE=27.0 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=EQUIPMENT
|
||||
GAIN ee_000000
|
||||
CONVECTIVE=27.0 : RADIATIVE=27.0 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=EQUIPMENT
|
||||
GAIN l_000001
|
||||
CONVECTIVE=16.2 : RADIATIVE=16.2 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=LIGHTS
|
||||
GAIN l_000000
|
||||
CONVECTIVE=16.2 : RADIATIVE=16.2 : HUMIDITY=0 : ELPOWERFRAC=1 : AREA_RELATED : CATEGORY=LIGHTS
|
||||
GAIN p_000001
|
||||
CONVECTIVE=3.78 : RADIATIVE=1.62 : HUMIDITY=0.066 : ELPOWERFRAC=0 : AREA_RELATED : CATEGORY=PEOPLE
|
||||
GAIN p_000000
|
||||
CONVECTIVE=3.78 : RADIATIVE=1.62 : HUMIDITY=0.066 : ELPOWERFRAC=0 : AREA_RELATED : CATEGORY=PEOPLE
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* C o m f o r t
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* I n f i l t r a t i o n
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* V e n t i l a t i o n
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* C o o l i n g
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* H e a t i n g
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
HEATING HEAT_z2
|
||||
ON= SCHEDULE 1*sch_h_setpoint_z_000001
|
||||
POWER=118.61999999999998
|
||||
HUMIDITY=0
|
||||
RRAD=0
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=1
|
||||
HEATING HEAT_z1
|
||||
ON= SCHEDULE 1*sch_h_setpoint_z_000000
|
||||
POWER=119.835
|
||||
HUMIDITY=0
|
||||
RRAD=0
|
||||
ELPOWERFRAC=0
|
||||
AREA_RELATED_POWER=1
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* D a y l i g h t C o n t r o l
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* Z o n e s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
ZONES z_000001 z_000000
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* O r i e n t a t i o n s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
HEMISPHERE NORTHERN
|
||||
ORIENTATIONS H_0_0 S_0_90 W_90_90 N_180_90 E_270_90
|
||||
INTERNAL_CALCULATION H_0_0 S_0_90 W_90_90 N_180_90 E_270_90
|
||||
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
BUILDING
|
||||
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* Z o n e z_000001 / A i r n o d e z_000001
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
ZONE z_000001
|
||||
RADIATIONMODE
|
||||
BEAM=STANDARD : DIFFUSE=STANDARD : LONGWAVE=STANDARD : GEOMODE = 3D_DATA : FSOLAIR=0
|
||||
DAYLIGHTMODE
|
||||
DLSHADE =-1
|
||||
AIRNODE z_000001
|
||||
WALL =c_000003 : SURF= 1 : AREA= 24.384 : EXTERNAL : ORI=S_0_90 : FSKY=0.50 : GEOSURF=0.133333
|
||||
WALL =c_000003 : SURF= 2 : AREA= 12.192 : EXTERNAL : ORI=W_90_90 : FSKY=0.50 : GEOSURF=0.066667
|
||||
WALL =c_000012 : SURF= 3 : AREA= 24.384 : ADJACENT=z_000000 : ADJ_SURF=11 : FRONT : GEOSURF=0.133333
|
||||
FLOOR =c_000006 : SURF= 4 : AREA= 50.000 : BOUNDARY=SCHEDULE 1*sch_ground : GEOSURF=0.600000
|
||||
ROOF =c_000001 : SURF= 5 : AREA= 50.000 : EXTERNAL : ORI=H_0_0 : FSKY=1.00
|
||||
WALL =c_000003 : SURF= 6 : AREA= 12.192 : EXTERNAL : ORI=E_270_90 : FSKY=0.50 : GEOSURF=0.066667
|
||||
REGIME
|
||||
CAPACITANCE= 146.304 : VOLUME= 121.920 : REFAREA= 50.000: TINITIAL= 20.0 : PHINITIAL= 50 : WCAPR= 1
|
||||
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* Z o n e z_000000 / A i r n o d e z_000000
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
ZONE z_000000
|
||||
RADIATIONMODE
|
||||
BEAM=STANDARD : DIFFUSE=STANDARD : LONGWAVE=STANDARD : GEOMODE = 3D_DATA : FSOLAIR=0
|
||||
DAYLIGHTMODE
|
||||
DLSHADE =-1
|
||||
AIRNODE z_000000
|
||||
FLOOR =c_000006 : SURF= 7 : AREA= 50.000 : BOUNDARY=SCHEDULE 1*sch_ground : GEOSURF=0.600000
|
||||
ROOF =c_000001 : SURF= 8 : AREA= 50.000 : EXTERNAL : ORI=H_0_0 : FSKY=1.00
|
||||
WALL =c_000003 : SURF= 9 : AREA= 24.384 : EXTERNAL : ORI=N_180_90 : FSKY=0.50 : GEOSURF=0.133333
|
||||
WALL =c_000003 : SURF= 10 : AREA= 9.942 : EXTERNAL : ORI=E_270_90 : FSKY=0.50 : GEOSURF=0.054364
|
||||
WINDOW=EXT_WINDOW1 : SURF= 13 : AREA= 2.250 : EXTERNAL : ORI=N_180_90 : FSKY=0.50 : GEOSURF=0.012303
|
||||
WALL =c_000012 : SURF= 11 : AREA= 24.384 : ADJACENT=z_000001 : ADJ_SURF=3 : BACK : GEOSURF=0.133333
|
||||
WALL =c_000003 : SURF= 12 : AREA= 12.192 : EXTERNAL : ORI=W_90_90 : FSKY=0.50 : GEOSURF=0.066667
|
||||
REGIME
|
||||
CAPACITANCE= 146.304 : VOLUME= 121.920 : REFAREA= 50.000: TINITIAL= 20.0 : PHINITIAL= 50 : WCAPR= 1
|
||||
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* O u t p u t s
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
OUTPUTS
|
||||
TRANSFER : TIMEBASE=1.000
|
||||
AIRNODES = z_000001
|
||||
NTYPE = 1 : Tair - node temperature
|
||||
= 25 : Top - operative temperature
|
||||
= 30 : QHEAT - sensible heating demand of airnode (positive values)
|
||||
= 31 : QCOOL - sensible cooling demand of airnode (positive values)
|
||||
= 156 : QELEQUIP - Electric energy demand of "equipment" gains of airnode [kJ/hr]
|
||||
= 155 : QELLIGHT - Electric energy demand of "lights" gains of airnode [kJ/hr]
|
||||
AIRNODES = z_000000
|
||||
NTYPE = 1 : Tair - node temperature
|
||||
= 25 : Top - operative temperature
|
||||
= 30 : QHEAT - sensible heating demand of airnode (positive values)
|
||||
= 31 : QCOOL - sensible cooling demand of airnode (positive values)
|
||||
= 156 : QELEQUIP - Electric energy demand of "equipment" gains of airnode [kJ/hr]
|
||||
= 155 : QELLIGHT - Electric energy demand of "lights" gains of airnode [kJ/hr]
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* T R N S F L O W Multizone Airflow Network (Model COMIS 3.1)
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
* E n d
|
||||
*-----------------------------------------------------------------------------------------------------------------------
|
||||
END
|
||||
|
||||
_EXTENSION_WINPOOL_START_
|
||||
BERKELEY LAB WINDOW v7.4.6.0 DOE-2 Data File : Multi Band Calculation : generated with Trnsys18.std
|
||||
Unit System : SI
|
||||
Name : DOE-2 WINDOW LIB
|
||||
Desc : GU_Solar_Neutral_70_Ar90
|
||||
Window ID : 3416
|
||||
Tilt : 90.0
|
||||
Glazings : 2
|
||||
Frame : 3 Wood 2.270
|
||||
Spacer : 2 Class2 0.068 1.550 -0.143
|
||||
Total Height: 1500.0 mm
|
||||
Total Width : 1200.0 mm
|
||||
Glass Height: 1360.3 mm
|
||||
Glass Width : 1060.3 mm
|
||||
Mullion : None
|
||||
Gap Thick Cond dCond Vis dVis Dens dDens Pr dPr
|
||||
1 Ar90/Air1 16.0 0.01712 5.410 2.062 6.300 1.711 -0.0060 0.687 -0.0001
|
||||
2 0 0 0 0 0 0 0 0 0
|
||||
3 0 0 0 0 0 0 0 0 0
|
||||
4 0 0 0 0 0 0 0 0 0
|
||||
5 0 0 0 0 0 0 0 0 0
|
||||
Angle 0 10 20 30 40 50 60 70 80 90 Hemis
|
||||
Tsol 0.607 0.607 0.602 0.596 0.587 0.563 0.505 0.384 0.191 0.000 0.522
|
||||
Abs1 0.083 0.084 0.087 0.089 0.089 0.091 0.097 0.105 0.093 0.000 0.091
|
||||
Abs2 0.056 0.057 0.057 0.059 0.061 0.062 0.062 0.056 0.043 0.000 0.058
|
||||
Abs3 0 0 0 0 0 0 0 0 0 0 0
|
||||
Abs4 0 0 0 0 0 0 0 0 0 0 0
|
||||
Abs5 0 0 0 0 0 0 0 0 0 0 0
|
||||
Abs6 0 0 0 0 0 0 0 0 0 0 0
|
||||
Rfsol 0.253 0.252 0.253 0.256 0.263 0.284 0.337 0.455 0.672 1.000 0.318
|
||||
Rbsol 0.249 0.248 0.249 0.251 0.257 0.276 0.327 0.442 0.651 1.000 0.310
|
||||
Tvis 0.618 0.618 0.614 0.609 0.600 0.578 0.522 0.401 0.206 0.000 0.536
|
||||
Rfvis 0.314 0.314 0.315 0.317 0.324 0.344 0.393 0.504 0.705 1.000 0.375
|
||||
Rbvis 0.310 0.310 0.310 0.312 0.319 0.337 0.386 0.498 0.699 1.000 0.369
|
||||
SHGC 0.640 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
|
||||
Tvis_daylight: 0.650
|
||||
|
||||
|
||||
|
||||
Layer ID# 33034 33000 0 0 0 0
|
||||
Tir 0.000 0.000 0 0 0 0
|
||||
Emis F 0.860 0.860 0 0 0 0
|
||||
Emis B 0.860 0.860 0 0 0 0
|
||||
Thickness(mm) 6.0 4.0 0 0 0 0
|
||||
Cond(W/m2-K )166.7 250.0 0 0 0 0
|
||||
Spectral File 33034_GU_Sol 33000_GU_Flo None None None None
|
||||
|
||||
Overall and Center of Glass Ig U-values (W/m2-K)
|
||||
Outdoor Temperature -17.8 C 15.6 C 26.7 C 37.8 C
|
||||
Solar WdSpd hcout hrout hin
|
||||
(W/m2) (m/s) (W/m2-K)
|
||||
0 0.00 0.00 0.00 0.00 2.58 2.58 2.72 2.72 2.82 2.82 2.90 2.90
|
||||
0 6.71 0.00 0.00 0.00 2.58 2.58 2.72 2.72 2.82 2.82 2.90 2.90
|
||||
783 0.00 0.00 0.00 0.00 2.58 2.58 2.72 2.72 2.82 2.82 2.90 2.90
|
||||
783 6.71 0.00 0.00 0.00 2.58 2.58 2.72 2.72 2.82 2.82 2.90 2.90
|
||||
|
||||
*** END OF LIBRARY ***
|
||||
********************************************************************************************************************************
|
||||
*WinID Description Design U-Value g-value T-sol Rf-sol T-vis_daylight Lay Width(mm)
|
||||
********************************************************************************************************************************
|
||||
3416 GU_Solar_Neutral_70_Ar90 6/16/4 2.65 0.65 0.607 0.253 0.65 2 26
|
||||
_EXTENSION_WINPOOL_END_
|
||||
|
||||
_EXTENSION_BuildingGeometry_START_
|
||||
vertex 1 5 215 2.4384
|
||||
vertex 2 -5 215 2.4384
|
||||
vertex 3 -5 215 0
|
||||
vertex 4 5 215 0
|
||||
vertex 5 -5 220 2.4384
|
||||
vertex 6 -5 220 0
|
||||
vertex 7 5 220 2.4384
|
||||
vertex 8 5 220 0
|
||||
vertex 9 5 225 2.4384
|
||||
vertex 10 5 225 0
|
||||
vertex 11 215.5 5 0.5
|
||||
vertex 12 215.5 5 2
|
||||
vertex 13 217 5 2
|
||||
vertex 14 217 5 0.5
|
||||
vertex 15 -5 225 2.4384
|
||||
vertex 16 -5 225 0
|
||||
|
||||
zone z_000001
|
||||
wall 1 1 2 3 4
|
||||
wall 2 2 5 6 3
|
||||
wall 3 5 7 8 6
|
||||
floor 4 8 4 3 6
|
||||
roof 5 5 2 1 7
|
||||
wall 6 7 1 4 8
|
||||
|
||||
zone z_000000
|
||||
floor 7 10 8 6 16
|
||||
roof 8 15 5 7 9
|
||||
wall 9 15 9 10 16
|
||||
wall 10 9 7 8 10
|
||||
window 13 11 12 13 14
|
||||
wall 11 7 5 6 8
|
||||
wall 12 5 15 16 6
|
||||
|
||||
_EXTENSION_BuildingGeometry_END_
|
||||
|
||||
_EXTENSION_VirtualSurfaceGeometry_START_
|
||||
_EXTENSION_VirtualSurfaceGeometry_END_
|
||||
|
||||
_EXTENSION_ExternalShadingGeometry_START_
|
||||
|
||||
|
||||
_EXTENSION_ExternalShadingGeometry_END_
|
||||
|
||||
_EXTENSION_GeoPositionGeometry_START_
|
||||
_EXTENSION_GeoPositionGeometry_END_
|
||||
|
||||
_EXTENSION_DaylightSensorPoints_START_
|
||||
_EXTENSION_DaylightSensorPoints_END_
|
||||
|
511
tests/input_data/trnsys/concrete_.idf
Normal file
511
tests/input_data/trnsys/concrete_.idf
Normal file
@ -0,0 +1,511 @@
|
||||
!-Generator IDFEditor 1.50
|
||||
!-Option SortedOrder
|
||||
!-NOTE: All comments with '!-' are ignored by the IDFEditor and are generated automatically.
|
||||
!- Use '!' comments if they need to be retained when using the IDFEditor.
|
||||
!- =========== ALL OBJECTS IN CLASS: VERSION ===========
|
||||
|
||||
Version,9.2;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SIMULATIONCONTROL ===========
|
||||
|
||||
SimulationControl,
|
||||
No, !- Do Zone Sizing Calculation
|
||||
No, !- Do System Sizing Calculation
|
||||
No, !- Do Plant Sizing Calculation
|
||||
Yes, !- Run Simulation for Sizing Periods
|
||||
Yes; !- Run Simulation for Weather File Run Periods
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: BUILDING ===========
|
||||
|
||||
Building,
|
||||
Building 1, !- Name
|
||||
, !- North Axis {deg}
|
||||
, !- Terrain
|
||||
, !- Loads Convergence Tolerance Value
|
||||
, !- Temperature Convergence Tolerance Value {deltaC}
|
||||
, !- Solar Distribution
|
||||
, !- Maximum Number of Warmup Days
|
||||
; !- Minimum Number of Warmup Days
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SHADOWCALCULATION ===========
|
||||
|
||||
ShadowCalculation,
|
||||
AverageOverDaysInFrequency, !- Calculation Method
|
||||
20, !- Calculation Frequency
|
||||
15000; !- Maximum Figures in Shadow Overlap Calculations
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SURFACECONVECTIONALGORITHM:INSIDE ===========
|
||||
|
||||
SurfaceConvectionAlgorithm:Inside,Simple;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: HEATBALANCEALGORITHM ===========
|
||||
|
||||
HeatBalanceAlgorithm,ConductionTransferFunction,200;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: TIMESTEP ===========
|
||||
|
||||
Timestep,6;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SITE:LOCATION ===========
|
||||
|
||||
Site:Location,
|
||||
Site 1, !- Name
|
||||
0, !- Latitude {deg}
|
||||
0, !- Longitude {deg}
|
||||
0, !- Time Zone {hr}
|
||||
0; !- Elevation {m}
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: RUNPERIOD ===========
|
||||
|
||||
RunPeriod,
|
||||
Run Period 1, !- Name
|
||||
1, !- Begin Month
|
||||
1, !- Begin Day of Month
|
||||
2009, !- Begin Year
|
||||
12, !- End Month
|
||||
31, !- End Day of Month
|
||||
2009, !- End Year
|
||||
Thursday, !- Day of Week for Start Day
|
||||
No, !- Use Weather File Holidays and Special Days
|
||||
No, !- Use Weather File Daylight Saving Period
|
||||
No, !- Apply Weekend Holiday Rule
|
||||
Yes, !- Use Weather File Rain Indicators
|
||||
Yes; !- Use Weather File Snow Indicators
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:CONSTANT ===========
|
||||
|
||||
Schedule:Constant,Always On Discrete,,1;
|
||||
|
||||
Schedule:Constant,Always Off Discrete,,0;
|
||||
|
||||
Schedule:Constant,Always On Continuous,,1;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: MATERIAL ===========
|
||||
|
||||
Material,
|
||||
4IN Concrete HW, !- Name
|
||||
MediumRough, !- Roughness
|
||||
0.1, !- Thickness {m}
|
||||
1.72959999999999, !- Conductivity {W/m-K}
|
||||
2242.99999999999, !- Density {kg/m3}
|
||||
836.999999999999, !- Specific Heat {J/kg-K}
|
||||
0.9, !- Thermal Absorptance
|
||||
0.65, !- Solar Absorptance
|
||||
0.65; !- Visible Absorptance
|
||||
|
||||
Material,
|
||||
Insulation, !- Name
|
||||
Smooth, !- Roughness
|
||||
0.1, !- Thickness {m}
|
||||
0.02436, !- Conductivity {W/m-K}
|
||||
1.2754, !- Density {kg/m3}
|
||||
100.5, !- Specific Heat {J/kg-K}
|
||||
0.9, !- Thermal Absorptance
|
||||
0.7, !- Solar Absorptance
|
||||
0.7; !- Visible Absorptance
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: MATERIAL:NOMASS ===========
|
||||
|
||||
Material:NoMass,
|
||||
Ins_floor, !- Name
|
||||
Smooth, !- Roughness
|
||||
72, !- Thermal Resistance {m2-K/W}
|
||||
0.9, !- Thermal Absorptance
|
||||
0.7, !- Solar Absorptance
|
||||
0.7; !- Visible Absorptance
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: CONSTRUCTION ===========
|
||||
|
||||
Construction,
|
||||
floor, !- Name
|
||||
4IN Concrete HW, !- Outside Layer
|
||||
Insulation, !- Layer 2
|
||||
4IN Concrete HW; !- Layer 3
|
||||
|
||||
Construction,
|
||||
roof, !- Name
|
||||
4IN Concrete HW, !- Outside Layer
|
||||
Insulation, !- Layer 2
|
||||
4IN Concrete HW; !- Layer 3
|
||||
|
||||
Construction,
|
||||
wall, !- Name
|
||||
4IN Concrete HW, !- Outside Layer
|
||||
Insulation, !- Layer 2
|
||||
4IN Concrete HW; !- Layer 3
|
||||
|
||||
Construction,
|
||||
ins_floor_constr, !- Name
|
||||
Ins_floor; !- Outside Layer
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: GLOBALGEOMETRYRULES ===========
|
||||
|
||||
GlobalGeometryRules,
|
||||
UpperLeftCorner, !- Starting Vertex Position
|
||||
Counterclockwise, !- Vertex Entry Direction
|
||||
Relative, !- Coordinate System
|
||||
Relative, !- Daylighting Reference Point Coordinate System
|
||||
Relative; !- Rectangular Surface Coordinate System
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: ZONE ===========
|
||||
|
||||
Zone,
|
||||
Thermal Zone 1, !- Name
|
||||
, !- Direction of Relative North {deg}
|
||||
, !- X Origin {m}
|
||||
, !- Y Origin {m}
|
||||
, !- Z Origin {m}
|
||||
, !- Type
|
||||
1; !- Multiplier
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: BUILDINGSURFACE:DETAILED ===========
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
Face 0, !- Name
|
||||
Floor, !- Surface Type
|
||||
ins_floor_constr, !- Construction Name
|
||||
Thermal Zone 1, !- Zone Name
|
||||
Ground, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
NoSun, !- Sun Exposure
|
||||
NoWind, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
, !- Number of Vertices
|
||||
-85,95,0, !- X,Y,Z ==> Vertex 1 {m}
|
||||
-85,85,0, !- X,Y,Z ==> Vertex 2 {m}
|
||||
-95,85,0, !- X,Y,Z ==> Vertex 3 {m}
|
||||
-95,95,0; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
Face 1, !- Name
|
||||
Roof, !- Surface Type
|
||||
roof, !- Construction Name
|
||||
Thermal Zone 1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
, !- Number of Vertices
|
||||
-95,95,2.4384, !- X,Y,Z ==> Vertex 1 {m}
|
||||
-95,85,2.4384, !- X,Y,Z ==> Vertex 2 {m}
|
||||
-85,85,2.4384, !- X,Y,Z ==> Vertex 3 {m}
|
||||
-85,95,2.4384; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
Face 2, !- Name
|
||||
Wall, !- Surface Type
|
||||
wall, !- Construction Name
|
||||
Thermal Zone 1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
, !- Number of Vertices
|
||||
-85,95,2.4384, !- X,Y,Z ==> Vertex 1 {m}
|
||||
-85,85,2.4384, !- X,Y,Z ==> Vertex 2 {m}
|
||||
-85,85,0, !- X,Y,Z ==> Vertex 3 {m}
|
||||
-85,95,0; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
Face 3, !- Name
|
||||
Wall, !- Surface Type
|
||||
wall, !- Construction Name
|
||||
Thermal Zone 1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
, !- Number of Vertices
|
||||
-85,85,2.4384, !- X,Y,Z ==> Vertex 1 {m}
|
||||
-95,85,2.4384, !- X,Y,Z ==> Vertex 2 {m}
|
||||
-95,85,0, !- X,Y,Z ==> Vertex 3 {m}
|
||||
-85,85,0; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
Face 4, !- Name
|
||||
Wall, !- Surface Type
|
||||
wall, !- Construction Name
|
||||
Thermal Zone 1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
, !- Number of Vertices
|
||||
-95,85,2.4384, !- X,Y,Z ==> Vertex 1 {m}
|
||||
-95,95,2.4384, !- X,Y,Z ==> Vertex 2 {m}
|
||||
-95,95,0, !- X,Y,Z ==> Vertex 3 {m}
|
||||
-95,85,0; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
Face 5, !- Name
|
||||
Wall, !- Surface Type
|
||||
wall, !- Construction Name
|
||||
Thermal Zone 1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
, !- Number of Vertices
|
||||
-95,95,2.4384, !- X,Y,Z ==> Vertex 1 {m}
|
||||
-85,95,2.4384, !- X,Y,Z ==> Vertex 2 {m}
|
||||
-85,95,0, !- X,Y,Z ==> Vertex 3 {m}
|
||||
-95,95,0; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SIZING:PARAMETERS ===========
|
||||
|
||||
Sizing:Parameters,
|
||||
1.25, !- Heating Sizing Factor
|
||||
1.15; !- Cooling Sizing Factor
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTDOORAIR:NODE ===========
|
||||
|
||||
OutdoorAir:Node,
|
||||
Model Outdoor Air Node; !- Name
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: LIFECYCLECOST:PARAMETERS ===========
|
||||
|
||||
LifeCycleCost:Parameters,
|
||||
Life Cycle Cost Parameters, !- Name
|
||||
EndOfYear, !- Discounting Convention
|
||||
ConstantDollar, !- Inflation Approach
|
||||
0.03, !- Real Discount Rate
|
||||
, !- Nominal Discount Rate
|
||||
, !- Inflation
|
||||
, !- Base Date Month
|
||||
2011, !- Base Date Year
|
||||
, !- Service Date Month
|
||||
2011, !- Service Date Year
|
||||
25, !- Length of Study Period in Years
|
||||
, !- Tax rate
|
||||
None; !- Depreciation Method
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: LIFECYCLECOST:NONRECURRINGCOST ===========
|
||||
|
||||
LifeCycleCost:NonrecurringCost,
|
||||
Default Cost, !- Name
|
||||
Construction, !- Category
|
||||
0, !- Cost
|
||||
ServicePeriod; !- Start of Costs
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: LIFECYCLECOST:USEPRICEESCALATION ===========
|
||||
|
||||
LifeCycleCost:UsePriceEscalation,
|
||||
U.S. Avg Commercial-Electricity, !- LCC Price Escalation Name
|
||||
Electricity, !- Resource
|
||||
2011, !- Escalation Start Year
|
||||
January, !- Escalation Start Month
|
||||
0.9838, !- Year 1 Escalation
|
||||
0.9730, !- Year 2 Escalation
|
||||
0.9632, !- Year 3 Escalation
|
||||
0.9611, !- Year 4 Escalation
|
||||
0.9571, !- Year 5 Escalation
|
||||
0.9553, !- Year 6 Escalation
|
||||
0.9539, !- Year 7 Escalation
|
||||
0.9521, !- Year 8 Escalation
|
||||
0.9546, !- Year 9 Escalation
|
||||
0.9550, !- <none>
|
||||
0.9553, !- <none>
|
||||
0.9564, !- <none>
|
||||
0.9575, !- <none>
|
||||
0.9596, !- <none>
|
||||
0.9618, !- <none>
|
||||
0.9614, !- <none>
|
||||
0.9618, !- <none>
|
||||
0.9618, !- <none>
|
||||
0.9593, !- <none>
|
||||
0.9589, !- <none>
|
||||
0.9607, !- <none>
|
||||
0.9625, !- <none>
|
||||
0.9650, !- <none>
|
||||
0.9708, !- <none>
|
||||
0.9751, !- <none>
|
||||
0.9762, !- <none>
|
||||
0.9766, !- <none>
|
||||
0.9766, !- <none>
|
||||
0.9769, !- <none>
|
||||
0.9773; !- <none>
|
||||
|
||||
LifeCycleCost:UsePriceEscalation,
|
||||
U.S. Avg Commercial-Distillate Oil, !- LCC Price Escalation Name
|
||||
FuelOil#1, !- Resource
|
||||
2011, !- Escalation Start Year
|
||||
January, !- Escalation Start Month
|
||||
0.9714, !- Year 1 Escalation
|
||||
0.9730, !- Year 2 Escalation
|
||||
0.9942, !- Year 3 Escalation
|
||||
1.0164, !- Year 4 Escalation
|
||||
1.0541, !- Year 5 Escalation
|
||||
1.0928, !- Year 6 Escalation
|
||||
1.1267, !- Year 7 Escalation
|
||||
1.1580, !- Year 8 Escalation
|
||||
1.1792, !- Year 9 Escalation
|
||||
1.1967, !- <none>
|
||||
1.2200, !- <none>
|
||||
1.2333, !- <none>
|
||||
1.2566, !- <none>
|
||||
1.2709, !- <none>
|
||||
1.2826, !- <none>
|
||||
1.2985, !- <none>
|
||||
1.3102, !- <none>
|
||||
1.3250, !- <none>
|
||||
1.3261, !- <none>
|
||||
1.3282, !- <none>
|
||||
1.3324, !- <none>
|
||||
1.3356, !- <none>
|
||||
1.3431, !- <none>
|
||||
1.3510, !- <none>
|
||||
1.3568, !- <none>
|
||||
1.3606, !- <none>
|
||||
1.3637, !- <none>
|
||||
1.3674, !- <none>
|
||||
1.3706, !- <none>
|
||||
1.3743; !- <none>
|
||||
|
||||
LifeCycleCost:UsePriceEscalation,
|
||||
U.S. Avg Commercial-Residual Oil, !- LCC Price Escalation Name
|
||||
FuelOil#2, !- Resource
|
||||
2011, !- Escalation Start Year
|
||||
January, !- Escalation Start Month
|
||||
0.8469, !- Year 1 Escalation
|
||||
0.8257, !- Year 2 Escalation
|
||||
0.8681, !- Year 3 Escalation
|
||||
0.8988, !- Year 4 Escalation
|
||||
0.9289, !- Year 5 Escalation
|
||||
0.9604, !- Year 6 Escalation
|
||||
0.9897, !- Year 7 Escalation
|
||||
1.0075, !- Year 8 Escalation
|
||||
1.0314, !- Year 9 Escalation
|
||||
1.0554, !- <none>
|
||||
1.0861, !- <none>
|
||||
1.1278, !- <none>
|
||||
1.1497, !- <none>
|
||||
1.1620, !- <none>
|
||||
1.1743, !- <none>
|
||||
1.1852, !- <none>
|
||||
1.1948, !- <none>
|
||||
1.2037, !- <none>
|
||||
1.2071, !- <none>
|
||||
1.2119, !- <none>
|
||||
1.2139, !- <none>
|
||||
1.2194, !- <none>
|
||||
1.2276, !- <none>
|
||||
1.2365, !- <none>
|
||||
1.2420, !- <none>
|
||||
1.2461, !- <none>
|
||||
1.2509, !- <none>
|
||||
1.2550, !- <none>
|
||||
1.2591, !- <none>
|
||||
1.2638; !- <none>
|
||||
|
||||
LifeCycleCost:UsePriceEscalation,
|
||||
U.S. Avg Commercial-Natural gas, !- LCC Price Escalation Name
|
||||
NaturalGas, !- Resource
|
||||
2011, !- Escalation Start Year
|
||||
January, !- Escalation Start Month
|
||||
0.9823, !- Year 1 Escalation
|
||||
0.9557, !- Year 2 Escalation
|
||||
0.9279, !- Year 3 Escalation
|
||||
0.9257, !- Year 4 Escalation
|
||||
0.9346, !- Year 5 Escalation
|
||||
0.9412, !- Year 6 Escalation
|
||||
0.9512, !- Year 7 Escalation
|
||||
0.9645, !- Year 8 Escalation
|
||||
0.9856, !- Year 9 Escalation
|
||||
1.0067, !- <none>
|
||||
1.0222, !- <none>
|
||||
1.0410, !- <none>
|
||||
1.0610, !- <none>
|
||||
1.0787, !- <none>
|
||||
1.0942, !- <none>
|
||||
1.1098, !- <none>
|
||||
1.1220, !- <none>
|
||||
1.1308, !- <none>
|
||||
1.1386, !- <none>
|
||||
1.1486, !- <none>
|
||||
1.1619, !- <none>
|
||||
1.1763, !- <none>
|
||||
1.1918, !- <none>
|
||||
1.2118, !- <none>
|
||||
1.2284, !- <none>
|
||||
1.2439, !- <none>
|
||||
1.2605, !- <none>
|
||||
1.2772, !- <none>
|
||||
1.2938, !- <none>
|
||||
1.3115; !- <none>
|
||||
|
||||
LifeCycleCost:UsePriceEscalation,
|
||||
U.S. Avg Commercial-Coal, !- LCC Price Escalation Name
|
||||
Coal, !- Resource
|
||||
2011, !- Escalation Start Year
|
||||
January, !- Escalation Start Month
|
||||
0.9970, !- Year 1 Escalation
|
||||
1.0089, !- Year 2 Escalation
|
||||
1.0089, !- Year 3 Escalation
|
||||
0.9941, !- Year 4 Escalation
|
||||
0.9941, !- Year 5 Escalation
|
||||
1.0000, !- Year 6 Escalation
|
||||
1.0030, !- Year 7 Escalation
|
||||
1.0059, !- Year 8 Escalation
|
||||
1.0089, !- Year 9 Escalation
|
||||
1.0119, !- <none>
|
||||
1.0148, !- <none>
|
||||
1.0178, !- <none>
|
||||
1.0208, !- <none>
|
||||
1.0267, !- <none>
|
||||
1.0297, !- <none>
|
||||
1.0356, !- <none>
|
||||
1.0415, !- <none>
|
||||
1.0534, !- <none>
|
||||
1.0564, !- <none>
|
||||
1.0593, !- <none>
|
||||
1.0653, !- <none>
|
||||
1.0712, !- <none>
|
||||
1.0742, !- <none>
|
||||
1.0801, !- <none>
|
||||
1.0831, !- <none>
|
||||
1.0831, !- <none>
|
||||
1.0861, !- <none>
|
||||
1.0890, !- <none>
|
||||
1.0920, !- <none>
|
||||
1.0950; !- <none>
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTPUT:VARIABLEDICTIONARY ===========
|
||||
|
||||
Output:VariableDictionary,IDF,Unsorted;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTPUT:TABLE:SUMMARYREPORTS ===========
|
||||
|
||||
Output:Table:SummaryReports,
|
||||
AllSummary; !- Report 1 Name
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTPUTCONTROL:TABLE:STYLE ===========
|
||||
|
||||
OutputControl:Table:Style,
|
||||
HTML; !- Column Separator
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTPUT:VARIABLE ===========
|
||||
|
||||
Output:Variable,*,Baseboard Electric Energy,Timestep;
|
||||
|
||||
Output:Variable,*,Site Outdoor Air Drybulb Temperature,Timestep;
|
||||
|
||||
Output:Variable,*,Zone Air Temperature,Timestep;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTPUT:METER ===========
|
||||
|
||||
Output:Meter,InteriorEquipment:Electricity,Timestep;
|
||||
|
||||
Output:Meter,InteriorLights:Electricity,Timestep;
|
||||
|
||||
Output:Meter,Cooling:EnergyTransfer,Timestep;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTPUT:SQLITE ===========
|
||||
|
||||
Output:SQLite,
|
||||
SimpleAndTabular; !- Option Type
|
||||
|
1370
tests/input_data/trnsys/simple_2_zone.idf
Normal file
1370
tests/input_data/trnsys/simple_2_zone.idf
Normal file
File diff suppressed because it is too large
Load Diff
1274
tests/input_data/trnsys/simple_2_zone_bat_and_infilt.idf
Normal file
1274
tests/input_data/trnsys/simple_2_zone_bat_and_infilt.idf
Normal file
File diff suppressed because it is too large
Load Diff
1286
tests/input_data/trnsys/simple_2_zone_bat_conditioning.idf
Normal file
1286
tests/input_data/trnsys/simple_2_zone_bat_conditioning.idf
Normal file
File diff suppressed because it is too large
Load Diff
1358
tests/input_data/trnsys/simple_2_zone_bat_infilt_gain.idf
Normal file
1358
tests/input_data/trnsys/simple_2_zone_bat_infilt_gain.idf
Normal file
File diff suppressed because it is too large
Load Diff
1258
tests/input_data/trnsys/simple_2_zone_bat_only.idf
Normal file
1258
tests/input_data/trnsys/simple_2_zone_bat_only.idf
Normal file
File diff suppressed because it is too large
Load Diff
1390
tests/input_data/trnsys/simple_2_zone_sched.idf
Normal file
1390
tests/input_data/trnsys/simple_2_zone_sched.idf
Normal file
File diff suppressed because it is too large
Load Diff
784
tests/input_data/trnsys/test_multizone_EP.idf
Normal file
784
tests/input_data/trnsys/test_multizone_EP.idf
Normal file
@ -0,0 +1,784 @@
|
||||
!- =========== ALL OBJECTS IN CLASS: VERSION ===========
|
||||
|
||||
Version,9.2;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: BUILDING ===========
|
||||
|
||||
Building,
|
||||
Untitled, !- Name
|
||||
0.0, !- North Axis {deg}
|
||||
City, !- Terrain
|
||||
0.04, !- Loads Convergence Tolerance Value
|
||||
0.4, !- Temperature Convergence Tolerance Value {deltaC}
|
||||
FullInteriorAndExterior, !- Solar Distribution
|
||||
25, !- Maximum Number of Warmup Days
|
||||
; !- Minimum Number of Warmup Days
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: TIMESTEP ===========
|
||||
|
||||
Timestep,4;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SIMULATIONCONTROL ===========
|
||||
|
||||
SimulationControl,
|
||||
No, !- Do Zone Sizing Calculation
|
||||
No, !- Do System Sizing Calculation
|
||||
No, !- Do Plant Sizing Calculation
|
||||
Yes, !- Run Simulation for Sizing Periods
|
||||
Yes; !- Run Simulation for Weather File Run Periods
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: LOCATION ===========
|
||||
|
||||
Site:Location,
|
||||
not used, !- Name
|
||||
0.0, !- Latitude {deg}
|
||||
0.0, !- Longitude {deg}
|
||||
0.0, !- Time Zone {hr}
|
||||
190.00; !- Elevation {m}
|
||||
|
||||
GlobalGeometryRules,
|
||||
UpperLeftCorner, !- Starting Vertex Position
|
||||
Counterclockwise, !- Vertex Entry Direction
|
||||
Relative; !- Coordinate System
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: MATERIAL ===========
|
||||
|
||||
Material,
|
||||
F08 Metal surface, !- Name
|
||||
Smooth, !- Roughness
|
||||
0.0008, !- Thickness {m}
|
||||
45.28, !- Conductivity {W/m-K}
|
||||
7824, !- Density {kg/m3}
|
||||
500; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
I01 25mm insulation board, !- Name
|
||||
MediumRough, !- Roughness
|
||||
0.0254, !- Thickness {m}
|
||||
0.03, !- Conductivity {W/m-K}
|
||||
43, !- Density {kg/m3}
|
||||
1210; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
I02 50mm insulation board, !- Name
|
||||
MediumRough, !- Roughness
|
||||
0.0508, !- Thickness {m}
|
||||
0.03, !- Conductivity {W/m-K}
|
||||
43, !- Density {kg/m3}
|
||||
1210; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
G01a 19mm gypsum board, !- Name
|
||||
MediumSmooth, !- Roughness
|
||||
0.019, !- Thickness {m}
|
||||
0.16, !- Conductivity {W/m-K}
|
||||
800, !- Density {kg/m3}
|
||||
1090; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
M11 100mm lightweight concrete, !- Name
|
||||
MediumRough, !- Roughness
|
||||
0.1016, !- Thickness {m}
|
||||
0.53, !- Conductivity {W/m-K}
|
||||
1280, !- Density {kg/m3}
|
||||
840; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
F16 Acoustic tile, !- Name
|
||||
MediumSmooth, !- Roughness
|
||||
0.0191, !- Thickness {m}
|
||||
0.06, !- Conductivity {W/m-K}
|
||||
368, !- Density {kg/m3}
|
||||
590; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
M01 100mm brick, !- Name
|
||||
MediumRough, !- Roughness
|
||||
0.1016, !- Thickness {m}
|
||||
0.89, !- Conductivity {W/m-K}
|
||||
1920, !- Density {kg/m3}
|
||||
790; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
M15 200mm heavyweight concrete, !- Name
|
||||
MediumRough, !- Roughness
|
||||
0.2032, !- Thickness {m}
|
||||
1.95, !- Conductivity {W/m-K}
|
||||
2240, !- Density {kg/m3}
|
||||
900; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
M05 200mm concrete block,!- Name
|
||||
MediumRough, !- Roughness
|
||||
0.2032, !- Thickness {m}
|
||||
1.11, !- Conductivity {W/m-K}
|
||||
800, !- Density {kg/m3}
|
||||
920; !- Specific Heat {J/kg-K}
|
||||
|
||||
Material,
|
||||
G05 25mm wood, !- Name
|
||||
MediumSmooth, !- Roughness
|
||||
0.0254, !- Thickness {m}
|
||||
0.15, !- Conductivity {W/m-K}
|
||||
608, !- Density {kg/m3}
|
||||
1630; !- Specific Heat {J/kg-K}
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: MATERIAL:AIRGAP ===========
|
||||
|
||||
Material:AirGap,
|
||||
F04 Wall air space resistance, !- Name
|
||||
0.15; !- Thermal Resistance {m2-K/W}
|
||||
|
||||
Material:AirGap,
|
||||
F05 Ceiling air space resistance, !- Name
|
||||
0.18; !- Thermal Resistance {m2-K/W}
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: WINDOWMATERIAL:GLAZING ===========
|
||||
|
||||
WindowMaterial:Glazing,
|
||||
Clear 3mm, !- Name
|
||||
SpectralAverage, !- Optical Data Type
|
||||
, !- Window Glass Spectral Data Set Name
|
||||
0.003, !- Thickness {m}
|
||||
0.837, !- Solar Transmittance at Normal Incidence
|
||||
0.075, !- Front Side Solar Reflectance at Normal Incidence
|
||||
0.075, !- Back Side Solar Reflectance at Normal Incidence
|
||||
0.898, !- Visible Transmittance at Normal Incidence
|
||||
0.081, !- Front Side Visible Reflectance at Normal Incidence
|
||||
0.081, !- Back Side Visible Reflectance at Normal Incidence
|
||||
0, !- Infrared Transmittance at Normal Incidence
|
||||
0.84, !- Front Side Infrared Hemispherical Emissivity
|
||||
0.84, !- Back Side Infrared Hemispherical Emissivity
|
||||
0.9; !- Conductivity {W/m-K}
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: WINDOWMATERIAL:GAS ===========
|
||||
|
||||
WindowMaterial:Gas,
|
||||
Air 13mm, !- Name
|
||||
Air, !- Gas Type
|
||||
0.0127; !- Thickness {m}
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: CONSTRUCTION ===========
|
||||
|
||||
Construction,
|
||||
Exterior Floor, !- Name
|
||||
I02 50mm insulation board, !- Outside Layer
|
||||
M15 200mm heavyweight concrete; !- Layer 2
|
||||
|
||||
Construction,
|
||||
Interior Floor, !- Name
|
||||
F16 Acoustic tile, !- Outside Layer
|
||||
F05 Ceiling air space resistance, !- Layer 2
|
||||
M11 100mm lightweight concrete; !- Layer 3
|
||||
|
||||
Construction,
|
||||
Exterior Wall, !- Name
|
||||
M01 100mm brick, !- Outside Layer
|
||||
M15 200mm heavyweight concrete, !- Layer 2
|
||||
I02 50mm insulation board, !- Layer 3
|
||||
F04 Wall air space resistance, !- Layer 4
|
||||
G01a 19mm gypsum board; !- Layer 5
|
||||
|
||||
Construction,
|
||||
Interior Wall, !- Name
|
||||
G01a 19mm gypsum board, !- Outside Layer
|
||||
F04 Wall air space resistance, !- Layer 2
|
||||
G01a 19mm gypsum board; !- Layer 3
|
||||
|
||||
Construction,
|
||||
Exterior Roof, !- Name
|
||||
M11 100mm lightweight concrete, !- Outside Layer
|
||||
F05 Ceiling air space resistance, !- Layer 2
|
||||
F16 Acoustic tile; !- Layer 3
|
||||
|
||||
Construction,
|
||||
Interior Ceiling, !- Name
|
||||
M11 100mm lightweight concrete, !- Outside Layer
|
||||
F05 Ceiling air space resistance, !- Layer 2
|
||||
F16 Acoustic tile; !- Layer 3
|
||||
|
||||
Construction,
|
||||
Exterior Window, !- Name
|
||||
Clear 3mm, !- Outside Layer
|
||||
Air 13mm, !- Layer 2
|
||||
Clear 3mm; !- Layer 3
|
||||
|
||||
Construction,
|
||||
Interior Window, !- Name
|
||||
Clear 3mm; !- Outside Layer
|
||||
|
||||
Construction,
|
||||
Exterior Door, !- Name
|
||||
F08 Metal surface, !- Outside Layer
|
||||
I01 25mm insulation board; !- Layer 2
|
||||
|
||||
Construction,
|
||||
Interior Door, !- Name
|
||||
G05 25mm wood; !- Outside Layer
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULETYPELIMITS ===========
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Any Number; !- Name
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Fraction, !- Name
|
||||
0.0, !- Lower Limit Value
|
||||
1.0, !- Upper Limit Value
|
||||
CONTINUOUS; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Temperature, !- Name
|
||||
-60, !- Lower Limit Value
|
||||
200, !- Upper Limit Value
|
||||
CONTINUOUS; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
On/Off, !- Name
|
||||
0, !- Lower Limit Value
|
||||
1, !- Upper Limit Value
|
||||
DISCRETE; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Control Type, !- Name
|
||||
0, !- Lower Limit Value
|
||||
4, !- Upper Limit Value
|
||||
DISCRETE; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Humidity, !- Name
|
||||
10, !- Lower Limit Value
|
||||
90, !- Upper Limit Value
|
||||
CONTINUOUS; !- Numeric Type
|
||||
|
||||
ScheduleTypeLimits,
|
||||
Number; !- Name
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: RUNPERIODCONTROL:SPECIALDAYS ===========
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
New Years Day, !- Name
|
||||
January 1, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Veterans Day, !- Name
|
||||
November 11, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Christmas, !- Name
|
||||
December 25, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Independence Day, !- Name
|
||||
July 4, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
MLK Day, !- Name
|
||||
3rd Monday in January, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Presidents Day, !- Name
|
||||
3rd Monday in February, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Memorial Day, !- Name
|
||||
Last Monday in May, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Labor Day, !- Name
|
||||
1st Monday in September, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Columbus Day, !- Name
|
||||
2nd Monday in October, !- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
RunPeriodControl:SpecialDays,
|
||||
Thanksgiving, !- Name
|
||||
4th Thursday in November,!- Start Date
|
||||
1, !- Duration {days}
|
||||
Holiday; !- Special Day Type
|
||||
|
||||
! Daylight Saving Period in US
|
||||
|
||||
RunPeriodControl:DaylightSavingTime,
|
||||
2nd Sunday in March, !- Start Date
|
||||
1st Sunday in November; !- End Date
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: SCHEDULE:COMPACT ===========
|
||||
|
||||
Schedule:Compact,
|
||||
Office Lights Schedule, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays, !- Field 2
|
||||
Until: 05:00,0.05, !- Field 3
|
||||
Until: 07:00,0.1, !- Field 5
|
||||
Until: 08:00,0.3, !- Field 7
|
||||
Until: 17:00,0.9, !- Field 9
|
||||
Until: 18:00,0.5, !- Field 11
|
||||
Until: 20:00,0.3, !- Field 13
|
||||
Until: 22:00,0.2, !- Field 15
|
||||
Until: 23:00,0.1, !- Field 17
|
||||
Until: 24:00,0.05, !- Field 19
|
||||
For: SummerDesignDay, !- Field 21
|
||||
Until: 24:00,1.0, !- Field 22
|
||||
For: Saturday, !- Field 24
|
||||
Until: 06:00,0.05, !- Field 25
|
||||
Until: 08:00,0.1, !- Field 27
|
||||
Until: 12:00,0.3, !- Field 29
|
||||
Until: 17:00,0.15, !- Field 31
|
||||
Until: 24:00,0.05, !- Field 33
|
||||
For: WinterDesignDay, !- Field 35
|
||||
Until: 24:00,0.0, !- Field 36
|
||||
For: Sunday Holidays AllOtherDays, !- Field 38
|
||||
Until: 24:00,0.05; !- Field 39
|
||||
|
||||
Schedule:Compact,
|
||||
Office Equipment Schedule, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays, !- Field 2
|
||||
Until: 08:00,0.40, !- Field 3
|
||||
Until: 12:00,0.90, !- Field 5
|
||||
Until: 13:00,0.80, !- Field 7
|
||||
Until: 17:00,0.90, !- Field 9
|
||||
Until: 18:00,0.50, !- Field 11
|
||||
Until: 24:00,0.40, !- Field 13
|
||||
For: SummerDesignDay, !- Field 15
|
||||
Until: 24:00,1.0, !- Field 16
|
||||
For: Saturday, !- Field 18
|
||||
Until: 06:00,0.30, !- Field 19
|
||||
Until: 08:00,0.4, !- Field 21
|
||||
Until: 12:00,0.5, !- Field 23
|
||||
Until: 17:00,0.35, !- Field 25
|
||||
Until: 24:00,0.30, !- Field 27
|
||||
For: WinterDesignDay, !- Field 29
|
||||
Until: 24:00,0.0, !- Field 30
|
||||
For: Sunday Holidays AllOtherDays, !- Field 32
|
||||
Until: 24:00,0.30; !- Field 33
|
||||
|
||||
Schedule:Compact,
|
||||
Office Occupancy Schedule, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays, !- Field 2
|
||||
Until: 06:00,0.0, !- Field 3
|
||||
Until: 07:00,0.1, !- Field 5
|
||||
Until: 08:00,0.2, !- Field 7
|
||||
Until: 12:00,0.95, !- Field 9
|
||||
Until: 13:00,0.5, !- Field 11
|
||||
Until: 17:00,0.95, !- Field 13
|
||||
Until: 18:00,0.3, !- Field 15
|
||||
Until: 20:00,0.1, !- Field 17
|
||||
Until: 24:00,0.05, !- Field 19
|
||||
For: SummerDesignDay, !- Field 21
|
||||
Until: 06:00,0.0, !- Field 22
|
||||
Until: 22:00,1.0, !- Field 24
|
||||
Until: 24:00,0.05, !- Field 26
|
||||
For: Saturday, !- Field 28
|
||||
Until: 06:00,0.0, !- Field 29
|
||||
Until: 08:00,0.1, !- Field 31
|
||||
Until: 12:00,0.3, !- Field 33
|
||||
Until: 17:00,0.1, !- Field 35
|
||||
Until: 19:00,0.0, !- Field 37
|
||||
Until: 24:00,0.0, !- Field 39
|
||||
For: WinterDesignDay, !- Field 41
|
||||
Until: 24:00,0.0, !- Field 42
|
||||
For: Sunday Holidays AllOtherDays, !- Field 44
|
||||
Until: 06:00,0.0, !- Field 45
|
||||
Until: 18:00,0.0, !- Field 47
|
||||
Until: 24:00,0.0; !- Field 49
|
||||
|
||||
Schedule:Compact,
|
||||
Infiltration Schedule, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays SummerDesignDay, !- Field 2
|
||||
Until: 06:00,1.0, !- Field 3
|
||||
Until: 22:00,0.0, !- Field 5
|
||||
Until: 24:00,1.0, !- Field 7
|
||||
For: Saturday WinterDesignDay, !- Field 9
|
||||
Until: 06:00,1.0, !- Field 10
|
||||
Until: 18:00,0.0, !- Field 12
|
||||
Until: 24:00,1.0, !- Field 14
|
||||
For: Sunday Holidays AllOtherDays, !- Field 16
|
||||
Until: 24:00,1.0; !- Field 17
|
||||
|
||||
Schedule:Compact,
|
||||
Infiltration Half On Schedule, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays SummerDesignDay, !- Field 2
|
||||
Until: 06:00,1.0, !- Field 3
|
||||
Until: 22:00,0.5, !- Field 5
|
||||
Until: 24:00,1.0, !- Field 7
|
||||
For: Saturday WinterDesignDay, !- Field 9
|
||||
Until: 06:00,1.0, !- Field 10
|
||||
Until: 18:00,0.5, !- Field 12
|
||||
Until: 24:00,1.0, !- Field 14
|
||||
For: Sunday Holidays AllOtherDays, !- Field 16
|
||||
Until: 24:00,1.0; !- Field 17
|
||||
|
||||
Schedule:Compact,
|
||||
Infiltration Quarter On Schedule, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays SummerDesignDay, !- Field 2
|
||||
Until: 06:00,1.0, !- Field 3
|
||||
Until: 22:00,0.25, !- Field 5
|
||||
Until: 24:00,1.0, !- Field 7
|
||||
For: Saturday WinterDesignDay, !- Field 9
|
||||
Until: 06:00,1.0, !- Field 10
|
||||
Until: 18:00,0.25, !- Field 12
|
||||
Until: 24:00,1.0, !- Field 14
|
||||
For: Sunday Holidays AllOtherDays, !- Field 16
|
||||
Until: 24:00,1.0; !- Field 17
|
||||
|
||||
Schedule:Compact,
|
||||
Hours of Operation Schedule, !- Name
|
||||
On/Off, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays SummerDesignDay, !- Field 2
|
||||
Until: 06:00,0.0, !- Field 3
|
||||
Until: 22:00,1.0, !- Field 5
|
||||
Until: 24:00,0.0, !- Field 7
|
||||
For: Saturday WinterDesignDay, !- Field 9
|
||||
Until: 06:00,0.0, !- Field 10
|
||||
Until: 18:00,1.0, !- Field 12
|
||||
Until: 24:00,0.0, !- Field 14
|
||||
For: Sunday Holidays AllOtherDays, !- Field 16
|
||||
Until: 24:00,0.0; !- Field 17
|
||||
|
||||
Schedule:Compact,
|
||||
Always On, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: AllDays, !- Field 2
|
||||
Until: 24:00,1.0; !- Field 3
|
||||
|
||||
Schedule:Compact,
|
||||
Always Off, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: AllDays, !- Field 2
|
||||
Until: 24:00,0.0; !- Field 3
|
||||
|
||||
Schedule:Compact,
|
||||
Heating Setpoint Schedule, !- Name
|
||||
Temperature, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays, !- Field 2
|
||||
Until: 05:00,15.6, !- Field 3
|
||||
Until: 19:00,21.0, !- Field 5
|
||||
Until: 24:00,15.6, !- Field 7
|
||||
For SummerDesignDay, !- Field 9
|
||||
Until: 24:00,15.6, !- Field 10
|
||||
For: Saturday, !- Field 12
|
||||
Until: 06:00,15.6, !- Field 13
|
||||
Until: 17:00,21.0, !- Field 15
|
||||
Until: 24:00,15.6, !- Field 17
|
||||
For: WinterDesignDay, !- Field 19
|
||||
Until: 24:00,21.0, !- Field 20
|
||||
For: Sunday Holidays AllOtherDays, !- Field 22
|
||||
Until: 24:00,15.6; !- Field 23
|
||||
|
||||
Schedule:Compact,
|
||||
Cooling Setpoint Schedule, !- Name
|
||||
Temperature, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: Weekdays SummerDesignDay, !- Field 2
|
||||
Until: 06:00,30.0, !- Field 3
|
||||
Until: 22:00,24.0, !- Field 5
|
||||
Until: 24:00,30.0, !- Field 7
|
||||
For: Saturday, !- Field 9
|
||||
Until: 06:00,30.0, !- Field 10
|
||||
Until: 18:00,24.0, !- Field 12
|
||||
Until: 24:00,30.0, !- Field 14
|
||||
For WinterDesignDay, !- Field 16
|
||||
Until: 24:00,30.0, !- Field 17
|
||||
For: Sunday Holidays AllOtherDays, !- Field 19
|
||||
Until: 24:00,30.0; !- Field 20
|
||||
|
||||
Schedule:Compact,
|
||||
Office Activity Schedule,!- Name
|
||||
Any Number, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: AllDays, !- Field 2
|
||||
Until: 24:00,120.; !- Field 3
|
||||
|
||||
Schedule:Compact,
|
||||
Office Work Eff. Schedule, !- Name
|
||||
Fraction, !- Schedule Type Limits Name
|
||||
Through: 12/31, !- Field 1
|
||||
For: AllDays, !- Field 2
|
||||
Until: 24:00,0.0; !- Field 3
|
||||
|
||||
Schedule:Compact,
|
||||
Office Clothing Schedule,!- Name
|
||||
Any Number, !- Schedule Type Limits Name
|
||||
Through: 04/30, !- Field 1
|
||||
For: AllDays, !- Field 2
|
||||
Until: 24:00,1.0, !- Field 3
|
||||
Through: 09/30, !- Field 5
|
||||
For: AllDays, !- Field 6
|
||||
Until: 24:00,0.5, !- Field 7
|
||||
Through: 12/31, !- Field 9
|
||||
For: AllDays, !- Field 10
|
||||
Until: 24:00,1.0; !- Field 11
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: HVACTemplate:Thermostat ===========
|
||||
|
||||
HVACTemplate:Thermostat,
|
||||
Constant Setpoint Thermostat, !- Name
|
||||
, !- Heating Setpoint Schedule Name
|
||||
20, !- Constant Heating Setpoint {C}
|
||||
, !- Cooling Setpoint Schedule Name
|
||||
25; !- Constant Cooling Setpoint {C}
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTPUT:VARIABLEDICTIONARY ===========
|
||||
|
||||
Output:VariableDictionary,IDF;
|
||||
|
||||
Zone,
|
||||
ZONE_1, !- Name
|
||||
0.0, !- Direction of Relative North {deg}
|
||||
0.0, !- X Origin {m}
|
||||
0.0, !- Y Origin {m}
|
||||
0.0, !- Z Origin {m}
|
||||
, !- Type
|
||||
1; !- Multiplier
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
502C53, !- Name
|
||||
Floor, !- Surface Type
|
||||
Exterior Floor, !- Construction Name
|
||||
ZONE_1, !- Zone Name
|
||||
Ground, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
NoSun, !- Sun Exposure
|
||||
NoWind, !- Wind Exposure
|
||||
0.0, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
2.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
2.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
0.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
0.000000000000,2.000000000000,0.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
A9B261, !- Name
|
||||
Wall, !- Surface Type
|
||||
Exterior Wall, !- Construction Name
|
||||
ZONE_1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
2.000000000000,2.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
2.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
0.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
0.000000000000,2.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
CB5D0B, !- Name
|
||||
Wall, !- Surface Type
|
||||
Exterior Wall, !- Construction Name
|
||||
ZONE_1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
0.000000000000,0.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
0.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
2.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
2.000000000000,0.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
F26B56, !- Name
|
||||
Wall, !- Surface Type
|
||||
Interior Wall, !- Construction Name
|
||||
ZONE_1, !- Zone Name
|
||||
Surface, !- Outside Boundary Condition
|
||||
BA3AB8, !- Outside Boundary Condition Object
|
||||
NoSun, !- Sun Exposure
|
||||
NoWind, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
2.000000000000,0.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
2.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
2.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
2.000000000000,2.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
704B16, !- Name
|
||||
Roof, !- Surface Type
|
||||
Exterior Roof, !- Construction Name
|
||||
ZONE_1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
0.000000000000,2.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
0.000000000000,0.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
2.000000000000,0.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
2.000000000000,2.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
4B7F67, !- Name
|
||||
Wall, !- Surface Type
|
||||
Exterior Wall, !- Construction Name
|
||||
ZONE_1, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
0.000000000000,2.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
0.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
0.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
0.000000000000,0.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
Zone,
|
||||
ZONE_2, !- Name
|
||||
0.0, !- Direction of Relative North {deg}
|
||||
2.0, !- X Origin {m}
|
||||
0.0, !- Y Origin {m}
|
||||
0.0, !- Z Origin {m}
|
||||
, !- Type
|
||||
1; !- Multiplier
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
E46863, !- Name
|
||||
Floor, !- Surface Type
|
||||
Exterior Floor, !- Construction Name
|
||||
ZONE_2, !- Zone Name
|
||||
Ground, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
NoSun, !- Sun Exposure
|
||||
NoWind, !- Wind Exposure
|
||||
0.0, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
2.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
2.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
0.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
0.000000000000,2.000000000000,0.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
E01C93, !- Name
|
||||
Wall, !- Surface Type
|
||||
Exterior Wall, !- Construction Name
|
||||
ZONE_2, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
2.000000000000,2.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
2.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
0.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
0.000000000000,2.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
9A8802, !- Name
|
||||
Roof, !- Surface Type
|
||||
Exterior Roof, !- Construction Name
|
||||
ZONE_2, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
0.000000000000,2.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
0.000000000000,0.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
2.000000000000,0.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
2.000000000000,2.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
CB147E, !- Name
|
||||
Wall, !- Surface Type
|
||||
Exterior Wall, !- Construction Name
|
||||
ZONE_2, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
0.000000000000,0.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
0.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
2.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
2.000000000000,0.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
2142B8, !- Name
|
||||
Wall, !- Surface Type
|
||||
Exterior Wall, !- Construction Name
|
||||
ZONE_2, !- Zone Name
|
||||
Outdoors, !- Outside Boundary Condition
|
||||
, !- Outside Boundary Condition Object
|
||||
SunExposed, !- Sun Exposure
|
||||
WindExposed, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
2.000000000000,0.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
2.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
2.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
2.000000000000,2.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
BuildingSurface:Detailed,
|
||||
BA3AB8, !- Name
|
||||
Wall, !- Surface Type
|
||||
Interior Wall, !- Construction Name
|
||||
ZONE_2, !- Zone Name
|
||||
Surface, !- Outside Boundary Condition
|
||||
F26B56, !- Outside Boundary Condition Object
|
||||
NoSun, !- Sun Exposure
|
||||
NoWind, !- Wind Exposure
|
||||
, !- View Factor to Ground
|
||||
4, !- Number of Vertices
|
||||
0.000000000000,2.000000000000,2.000000000000, !- X,Y,Z ==> Vertex 1 {m}
|
||||
0.000000000000,2.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 2 {m}
|
||||
0.000000000000,0.000000000000,0.000000000000, !- X,Y,Z ==> Vertex 3 {m}
|
||||
0.000000000000,0.000000000000,2.000000000000; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
||||
FenestrationSurface:Detailed,
|
||||
D1468F, !- Name
|
||||
Window, !- Surface Type
|
||||
Exterior Window, !- Construction Name
|
||||
CB5D0B, !- Building Surface Name
|
||||
, !- Outside Boundary Condition Object
|
||||
, !- View Factor to Ground
|
||||
, !- Frame and Divider Name
|
||||
, !- Multiplier
|
||||
4, !- Number of Vertices
|
||||
0.709777895370,0.000000000000,1.473204552997, !- X,Y,Z ==> Vertex 1 {m}
|
||||
0.709777895370,0.000000000000,0.653204552997, !- X,Y,Z ==> Vertex 2 {m}
|
||||
1.389777895370,0.000000000000,0.653204552997, !- X,Y,Z ==> Vertex 3 {m}
|
||||
1.389777895370,0.000000000000,1.473204552997; !- X,Y,Z ==> Vertex 4 {m}
|
||||
|
1645
tests/input_data/umi_samples/B_Off_0.idf
Normal file
1645
tests/input_data/umi_samples/B_Off_0.idf
Normal file
File diff suppressed because it is too large
Load Diff
1728
tests/input_data/umi_samples/B_Res_0_Masonry.idf
Normal file
1728
tests/input_data/umi_samples/B_Res_0_Masonry.idf
Normal file
File diff suppressed because it is too large
Load Diff
1728
tests/input_data/umi_samples/B_Res_0_WoodFrame.idf
Normal file
1728
tests/input_data/umi_samples/B_Res_0_WoodFrame.idf
Normal file
File diff suppressed because it is too large
Load Diff
1822
tests/input_data/umi_samples/B_Ret_0.idf
Normal file
1822
tests/input_data/umi_samples/B_Ret_0.idf
Normal file
File diff suppressed because it is too large
Load Diff
5645
tests/input_data/umi_samples/BostonTemplateLibrary_2.json
Executable file
5645
tests/input_data/umi_samples/BostonTemplateLibrary_2.json
Executable file
File diff suppressed because it is too large
Load Diff
2319
tests/input_data/umi_samples/climatestudio_test.idf
Normal file
2319
tests/input_data/umi_samples/climatestudio_test.idf
Normal file
File diff suppressed because it is too large
Load Diff
1780
tests/input_data/umi_samples/no_shed_ventilation_SAMPLE0.idf
Normal file
1780
tests/input_data/umi_samples/no_shed_ventilation_SAMPLE0.idf
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1926
tests/input_data/umi_samples/shed_ventilation_SAMPLE0.idf
Normal file
1926
tests/input_data/umi_samples/shed_ventilation_SAMPLE0.idf
Normal file
File diff suppressed because it is too large
Load Diff
BIN
tests/input_data/umi_samples/umi_samples.umi
Normal file
BIN
tests/input_data/umi_samples/umi_samples.umi
Normal file
Binary file not shown.
299
tests/test_cli.py
Normal file
299
tests/test_cli.py
Normal file
@ -0,0 +1,299 @@
|
||||
import os
|
||||
|
||||
import pytest
|
||||
from click.testing import CliRunner
|
||||
from path import Path
|
||||
|
||||
from translator import settings, copy_file, log, load_idf
|
||||
from translator.cli import cli
|
||||
from tests.test_trnsys import get_platform
|
||||
|
||||
|
||||
class TestCli:
|
||||
"""Defines tests for usage of the translator Command Line Interface"""
|
||||
|
||||
@pytest.fixture(
|
||||
params=[
|
||||
[
|
||||
1,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
[
|
||||
2,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"-i",
|
||||
"-t",
|
||||
"-d",
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
[
|
||||
3,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"--window_lib",
|
||||
"translator/ressources/W74-lib.dat",
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
[
|
||||
4,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"--template",
|
||||
"translator/ressources/NewFileTemplate.d18",
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
[
|
||||
5,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"--log_clear_names",
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
[
|
||||
6,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"--window",
|
||||
1.5,
|
||||
0.6,
|
||||
0.81,
|
||||
0.1,
|
||||
0.13,
|
||||
5.6,
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
[
|
||||
7,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"--ordered",
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
[
|
||||
8,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"--nonum",
|
||||
"-N",
|
||||
"--geofloor",
|
||||
0.6,
|
||||
"--refarea",
|
||||
"--volume",
|
||||
"--capacitance",
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
[
|
||||
9,
|
||||
"--use-cache",
|
||||
"--cache-folder",
|
||||
"tests/.temp/cache",
|
||||
"--data-folder",
|
||||
"tests/.temp/data",
|
||||
"--imgs-folder",
|
||||
"tests/.temp/images",
|
||||
"--logs-folder",
|
||||
"tests/.temp/logs",
|
||||
"--verbose",
|
||||
"convert",
|
||||
"--ep_version",
|
||||
"9-2-0",
|
||||
"--schedule_as_input",
|
||||
"tests/input_data/trnsys/simple_2_zone.idf",
|
||||
"tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw",
|
||||
"--trnsidf_exe",
|
||||
"docker/trnsidf/trnsidf.exe",
|
||||
],
|
||||
]
|
||||
)
|
||||
def cli_args(config, request):
|
||||
if request.param[0] == 1:
|
||||
print("Runs convert cli with EnergyPlus version 9-1-0")
|
||||
elif request.param[0] == 2:
|
||||
print(
|
||||
"Runs convert cli with EnergyPlus version 9-1-0 AND returns paths to "
|
||||
"modified IDF, T3D file and the DCK file"
|
||||
)
|
||||
elif request.param[0] == 3:
|
||||
print(
|
||||
"Runs convert cli with EnergyPlus version 9-1-0 AND a given window library"
|
||||
)
|
||||
elif request.param[0] == 4:
|
||||
print(
|
||||
"Runs convert cli with EnergyPlus version 9-1-0 AND a given d18 template"
|
||||
)
|
||||
elif request.param[0] == 5:
|
||||
print(
|
||||
"Runs convert cli with EnergyPlus version 9-1-0 AND without logging "
|
||||
"in console the equivalence between"
|
||||
" old and new names"
|
||||
)
|
||||
elif request.param[0] == 6:
|
||||
print(
|
||||
"Runs convert cli with EnergyPlus version 9-1-0 AND given window parameters "
|
||||
"(u-value, shgc, t_vis, etc.) to find in default window library"
|
||||
)
|
||||
elif request.param[0] == 7:
|
||||
print(
|
||||
"Runs convert cli with EnergyPlus version 9-1-0 AND the ordered option "
|
||||
"(sorting the idf object names)"
|
||||
)
|
||||
elif request.param[0] == 8:
|
||||
print(
|
||||
"Runs convert cli with EnergyPlus version 9-1-0 AND trnsidf.exe arguments:"
|
||||
"1) Will not renumber surfaces"
|
||||
"2) Does BatchJob Modus"
|
||||
"3) 60% of solar radiation is directed to the floor"
|
||||
"4) Updates floor reference area of airnodes"
|
||||
"5) Updates volume of airnodes"
|
||||
"6) Updates the capacitance of airnodes"
|
||||
)
|
||||
elif request.param[0] == 9:
|
||||
print(
|
||||
"Runs convert cli with EnergyPlus version 9-1-0 AND writing the "
|
||||
"schedules as SCHEDULES"
|
||||
)
|
||||
else:
|
||||
print("Runs convert cli with EnergyPlus version 9-1-0 AND other parameters")
|
||||
|
||||
yield request.param[1:]
|
||||
|
||||
@pytest.mark.skipif(
|
||||
os.environ.get("CI", "False").lower() == "true",
|
||||
reason="Skipping this test on CI environment.",
|
||||
)
|
||||
@pytest.mark.skipif(
|
||||
get_platform() > (10, 15, 0),
|
||||
reason="Skipping since wine 32bit can't run on MacOs >10.15 (Catalina)",
|
||||
)
|
||||
def test_convert(self, config, cli_args):
|
||||
"""Tests the 'reduce' method"""
|
||||
runner = CliRunner()
|
||||
args = cli_args
|
||||
result = runner.invoke(cli, args, catch_exceptions=False)
|
||||
print(result.stdout)
|
||||
assert result.exit_code == 0
|
||||
|
||||
def test_transition(self, config):
|
||||
"""Tests the transition method for the CLI"""
|
||||
file = copy_file(
|
||||
"tests/input_data/problematic/ASHRAE90.1_ApartmentHighRise_STD2016_Buffalo.idf"
|
||||
)
|
||||
runner = CliRunner()
|
||||
result = runner.invoke(cli, ["transition", file], catch_exceptions=False)
|
||||
log(result.stdout)
|
||||
assert result.exit_code == 0
|
148
tests/test_energyseries.py
Normal file
148
tests/test_energyseries.py
Normal file
@ -0,0 +1,148 @@
|
||||
import os
|
||||
|
||||
import translator as tr
|
||||
import pandas as pd
|
||||
import pytest
|
||||
|
||||
from path import Path
|
||||
|
||||
from translator import EnergySeries, get_eplus_dirs, settings
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
@pytest.fixture(
|
||||
scope="module",
|
||||
params=[
|
||||
get_eplus_dirs(settings.ep_version) / "ExampleFiles" / "5ZoneNightVent1.idf",
|
||||
get_eplus_dirs(settings.ep_version)
|
||||
/ "ExampleFiles"
|
||||
/ "BasicsFiles"
|
||||
/ "AdultEducationCenter.idf",
|
||||
],
|
||||
)
|
||||
def energy_series(config, request):
|
||||
from translator import ReportData
|
||||
|
||||
outputs = {
|
||||
"ep_object": "Output:Variable".upper(),
|
||||
"kwargs": {
|
||||
"Key_Value": "OCCUPY-1",
|
||||
"Variable_Name": "Schedule Value",
|
||||
"Reporting_Frequency": "Hourly",
|
||||
},
|
||||
}
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
sql = tr.run_eplus(
|
||||
request.param,
|
||||
weather_file=wf,
|
||||
output_report="sql_file",
|
||||
prep_outputs=[outputs],
|
||||
annual=True,
|
||||
expandobjects=True,
|
||||
)
|
||||
report = ReportData.from_sqlite(
|
||||
sql,
|
||||
table_name=("Heating:Electricity", "Heating:Gas", "Heating:DistrictHeating"),
|
||||
)
|
||||
|
||||
hl = EnergySeries.from_sqlite(
|
||||
report,
|
||||
name="Heating",
|
||||
normalize=False,
|
||||
sort_values=False,
|
||||
concurrent_sort=False,
|
||||
to_units="kWh",
|
||||
)
|
||||
|
||||
yield hl
|
||||
|
||||
|
||||
@pytest.fixture(
|
||||
params=(["Water Heater Tank Temperature", "WaterSystems:EnergyTransfer"])
|
||||
)
|
||||
def rd(request):
|
||||
from translator import ReportData
|
||||
|
||||
file = Path("tests/input_data/trnsys/HeatPumpWaterHeater.sqlite")
|
||||
|
||||
rd = ReportData.from_sqlite(file, table_name=request.param)
|
||||
assert not rd.empty
|
||||
yield rd
|
||||
|
||||
|
||||
def test_EnergySeries(rd):
|
||||
import matplotlib.pyplot as plt
|
||||
from translator import EnergySeries
|
||||
|
||||
es = EnergySeries.from_sqlite(rd)
|
||||
es.plot()
|
||||
plt.show()
|
||||
print(es)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("kind", ["polygon", "surface", "contour"])
|
||||
def test_plot_3d(energy_series, kind):
|
||||
hl = energy_series.copy()
|
||||
hl.plot3d(
|
||||
save=True,
|
||||
axis_off=False,
|
||||
kind=kind,
|
||||
cmap="Reds",
|
||||
fig_width=4,
|
||||
fig_height=4,
|
||||
edgecolors="grey",
|
||||
linewidths=0.01,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skipif(
|
||||
os.environ.get("CI", "False").lower() == "true",
|
||||
reason="Skipping this test on CI environment.",
|
||||
)
|
||||
def test_plot_2d(energy_series):
|
||||
hl = energy_series.copy()
|
||||
hl.plot2d(
|
||||
save=True,
|
||||
axis_off=False,
|
||||
cmap="Reds",
|
||||
subplots=False,
|
||||
fig_width=6,
|
||||
fig_height=2,
|
||||
edgecolors="k",
|
||||
linewidths=0.5,
|
||||
filename=hl.name + "_heatmap",
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def from_csv(config):
|
||||
file = "tests/input_data/test_profile.csv"
|
||||
df = pd.read_csv(file, index_col=[0], names=["Heat"])
|
||||
ep = tr.EnergySeries(
|
||||
df.Heat,
|
||||
units="BTU/hour",
|
||||
frequency="1H",
|
||||
to_units="kW",
|
||||
sort_values=False,
|
||||
use_timeindex=True,
|
||||
)
|
||||
# ep = ep.unit_conversion(to_units='kW')
|
||||
yield ep
|
||||
|
||||
|
||||
@pytest.mark.skipif(
|
||||
os.environ.get("CI", "False").lower() == "true",
|
||||
reason="Skipping this test on CI environment.",
|
||||
)
|
||||
def test_discretize(from_csv):
|
||||
epc = from_csv.copy()
|
||||
res = epc.discretize_tsam()
|
||||
res.plot()
|
||||
|
||||
|
||||
def test_discretize_tsam(from_csv):
|
||||
ep = from_csv.copy()
|
||||
ldc_disc = ep.discretize_tsam(noTypicalPeriods=10)
|
||||
|
||||
ldc_disc.plot2d(subplots=False)
|
259
tests/test_idf.py
Normal file
259
tests/test_idf.py
Normal file
@ -0,0 +1,259 @@
|
||||
import os
|
||||
import random
|
||||
import subprocess
|
||||
|
||||
import translator as tr
|
||||
import matplotlib as mpl
|
||||
|
||||
# use agg backend so you don't need a display on travis-ci
|
||||
import pytest
|
||||
from path import Path
|
||||
|
||||
import translator.settings
|
||||
from translator import EnergyPlusProcessError, get_eplus_dirs, settings, \
|
||||
parallel_process
|
||||
|
||||
mpl.use("Agg")
|
||||
|
||||
|
||||
# given, when, then
|
||||
# or
|
||||
# arrange, act, assert
|
||||
|
||||
|
||||
def test_small_home_data(clean_config):
|
||||
file = (
|
||||
get_eplus_dirs(settings.ep_version)
|
||||
/ "ExampleFiles"
|
||||
/ "BasicsFiles"
|
||||
/ "AdultEducationCenter.idf"
|
||||
)
|
||||
file = tr.copy_file(file)
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
return tr.run_eplus(
|
||||
file, wf, prep_outputs=True, design_day=True, expandobjects=True, verbose="q"
|
||||
)
|
||||
|
||||
|
||||
def test_necb(config):
|
||||
"""Test all necb files with design_day = True"""
|
||||
|
||||
necb_dir = Path("tests/input_data/necb")
|
||||
files = necb_dir.glob("*.idf")
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
rundict = {
|
||||
file: dict(
|
||||
eplus_file=file,
|
||||
weather_file=wf,
|
||||
expandobjects=True,
|
||||
verbose="q",
|
||||
design_day=True,
|
||||
output_report="sql",
|
||||
)
|
||||
for file in files
|
||||
}
|
||||
result = parallel_process(rundict, tr.run_eplus, use_kwargs=True)
|
||||
|
||||
assert not any(isinstance(a, Exception) for a in result.values())
|
||||
|
||||
|
||||
def test_load_idf(config):
|
||||
"""Will load an idf object"""
|
||||
|
||||
files = [
|
||||
get_eplus_dirs(settings.ep_version) / "ExampleFiles" / "5ZoneNightVent1.idf",
|
||||
get_eplus_dirs(settings.ep_version)
|
||||
/ "ExampleFiles"
|
||||
/ "BasicsFiles"
|
||||
/ "AdultEducationCenter.idf",
|
||||
]
|
||||
|
||||
obj = {os.path.basename(file): tr.load_idf(file) for file in files}
|
||||
assert isinstance(obj, dict)
|
||||
|
||||
|
||||
def test_load_old(config):
|
||||
files = [
|
||||
"tests/input_data/problematic/nat_ventilation_SAMPLE0.idf",
|
||||
get_eplus_dirs(settings.ep_version) / "ExampleFiles" / "5ZoneNightVent1.idf",
|
||||
]
|
||||
|
||||
obj = {os.path.basename(file): tr.load_idf(file) for file in files}
|
||||
|
||||
assert not any(isinstance(a, Exception) for a in obj.values())
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"ep_version",
|
||||
[translator.settings.ep_version, None],
|
||||
ids=["specific-ep-version", "no-specific-ep-version"],
|
||||
)
|
||||
def test_run_olderv(clean_config, ep_version):
|
||||
"""Will run eplus on a file that needs to be upgraded with one that does
|
||||
not"""
|
||||
tr.settings.use_cache = False
|
||||
files = [
|
||||
"tests/input_data/problematic/nat_ventilation_SAMPLE0.idf",
|
||||
get_eplus_dirs(settings.ep_version) / "ExampleFiles" / "5ZoneNightVent1.idf",
|
||||
]
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
files = tr.copy_file(files)
|
||||
rundict = {
|
||||
file: dict(
|
||||
eplus_file=file,
|
||||
weather_file=wf,
|
||||
ep_version=ep_version,
|
||||
annual=True,
|
||||
prep_outputs=True,
|
||||
expandobjects=True,
|
||||
verbose="q",
|
||||
output_report="sql",
|
||||
)
|
||||
for file in files
|
||||
}
|
||||
result = {file: tr.run_eplus(**rundict[file]) for file in files}
|
||||
|
||||
|
||||
@pytest.mark.xfail(
|
||||
raises=(subprocess.CalledProcessError, FileNotFoundError, EnergyPlusProcessError)
|
||||
)
|
||||
def test_run_olderv_problematic(clean_config):
|
||||
"""Will run eplus on a file that needs to be upgraded and that should
|
||||
fail. Will be ignored in the test suite"""
|
||||
|
||||
file = "tests/input_data/problematic/RefBldgLargeOfficeNew2004_v1.4_7.2_5A_USA_IL_CHICAGO-OHARE.idf"
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
tr.run_eplus(
|
||||
file, wf, prep_outputs=True, annual=True, expandobjects=True, verbose="q"
|
||||
)
|
||||
|
||||
|
||||
def test_run_eplus_from_idf(clean_config):
|
||||
file = get_eplus_dirs(settings.ep_version) / "ExampleFiles" / "5ZoneNightVent1.idf"
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
|
||||
idf = tr.load_idf(file, weather_file=wf)
|
||||
sql = idf.run_eplus(prep_outputs=True, output_report="sql")
|
||||
|
||||
assert sql
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"archetype, area",
|
||||
[
|
||||
("FullServiceRestaurant", 511),
|
||||
pytest.param(
|
||||
"Hospital",
|
||||
22422,
|
||||
marks=pytest.mark.xfail(reason="Difference cannot be explained"),
|
||||
),
|
||||
("LargeHotel", 11345),
|
||||
("LargeOffice", 46320),
|
||||
("MediumOffice", 4982),
|
||||
("MidriseApartment", 3135),
|
||||
("Outpatient", 3804),
|
||||
("PrimarySchool", 6871),
|
||||
("QuickServiceRestaurant", 232),
|
||||
("SecondarySchool", 19592),
|
||||
("SmallHotel", 4013),
|
||||
("SmallOffice", 511),
|
||||
pytest.param(
|
||||
"RetailStandalone",
|
||||
2319,
|
||||
marks=pytest.mark.xfail(reason="Difference cannot be explained"),
|
||||
),
|
||||
("RetailStripmall", 2090),
|
||||
pytest.param(
|
||||
"Supermarket",
|
||||
4181,
|
||||
marks=pytest.mark.skip("Supermarket " "missing from " "BTAP " "database"),
|
||||
),
|
||||
("Warehouse", 4835),
|
||||
],
|
||||
)
|
||||
def test_area(archetype, area):
|
||||
"""Test the conditioned_area property against published values
|
||||
desired values taken from https://github.com/canmet-energy/btap"""
|
||||
import numpy as np
|
||||
from translator import load_idf
|
||||
|
||||
idf_file = Path("tests/input_data/necb/").glob("*{}*.idf".format(archetype))
|
||||
idf = load_idf(next(iter(idf_file)))
|
||||
np.testing.assert_almost_equal(actual=idf.area_conditioned, desired=area, decimal=0)
|
||||
|
||||
|
||||
def test_wwr():
|
||||
from translator import load_idf
|
||||
|
||||
idf_file = Path("tests/input_data/necb/").glob(
|
||||
"*{}*.idf".format("FullServiceRestaurant")
|
||||
)
|
||||
idf = load_idf(next(iter(idf_file)))
|
||||
print(idf.name)
|
||||
print(idf.wwr(round_to=10))
|
||||
|
||||
|
||||
def test_partition_ratio():
|
||||
from translator import load_idf
|
||||
|
||||
idf_file = Path("tests/input_data/necb/").glob("*LargeOffice*.idf")
|
||||
idf = load_idf(next(iter(idf_file)))
|
||||
print(idf.partition_ratio)
|
||||
|
||||
|
||||
def test_space_cooling_profile(config):
|
||||
from translator import load_idf
|
||||
|
||||
file = (
|
||||
get_eplus_dirs(settings.ep_version)
|
||||
/ "ExampleFiles"
|
||||
/ "BasicsFiles"
|
||||
/ "AdultEducationCenter.idf"
|
||||
)
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
|
||||
idf = load_idf(file, None, weather_file=wf)
|
||||
|
||||
assert not idf.space_cooling_profile().empty
|
||||
|
||||
|
||||
def test_space_heating_profile(config):
|
||||
from translator import load_idf
|
||||
|
||||
file = "tests/input_data/necb/NECB 2011-Warehouse-NECB HDD Method-CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw.idf"
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
|
||||
idf = load_idf(file, None, weather_file=wf)
|
||||
|
||||
assert not idf.space_heating_profile().empty
|
||||
|
||||
|
||||
def test_dhw_profile(config):
|
||||
from translator import load_idf
|
||||
|
||||
file = "tests/input_data/necb/NECB 2011-Warehouse-NECB HDD Method-CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw.idf"
|
||||
wf = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
|
||||
idf = load_idf(file, None, weather_file=wf)
|
||||
|
||||
shw = idf.service_water_heating_profile()
|
||||
assert shw.sum() > 0
|
||||
print(shw.resample("M").sum())
|
||||
|
||||
|
||||
def test_old_than_change_args(clean_config):
|
||||
"""Should upgrade file only once even if run_eplus args are changed afterwards"""
|
||||
from translator import run_eplus
|
||||
|
||||
file = (
|
||||
get_eplus_dirs(settings.ep_version)
|
||||
/ "ExampleFiles"
|
||||
/ "RefBldgQuickServiceRestaurantNew2004_Chicago.idf"
|
||||
)
|
||||
epw = "tests/input_data/CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw"
|
||||
|
||||
idf = run_eplus(file, epw, prep_outputs=True, output_report="sql_file")
|
||||
|
||||
idf = run_eplus(file, epw, prep_outputs=True, output_report="sql_file")
|
||||
|
||||
idf = run_eplus(file, epw, prep_outputs=True, output_report="sql")
|
161
tests/test_schedules.py
Normal file
161
tests/test_schedules.py
Normal file
@ -0,0 +1,161 @@
|
||||
import os
|
||||
|
||||
import pytest
|
||||
|
||||
from translator import (
|
||||
Schedule,
|
||||
load_idf,
|
||||
copy_file,
|
||||
run_eplus,
|
||||
config,
|
||||
get_eplus_dirs,
|
||||
settings,
|
||||
)
|
||||
|
||||
|
||||
def test_schedules_in_necb_specific(config):
|
||||
files = [
|
||||
"tests/input_data/necb/NECB 2011-MediumOffice-NECB HDD Method-CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw.idf"
|
||||
]
|
||||
idfs = {os.path.basename(file): load_idf(file) for file in files}
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
for key in idfs:
|
||||
idf = idfs[key]
|
||||
s = Schedule(
|
||||
Name="NECB-A-Thermostat Setpoint-Heating", idf=idf, start_day_of_the_week=0
|
||||
)
|
||||
s.plot(slice=("2018/01/02", "2018/01/03"), drawstyle="steps-post")
|
||||
plt.show()
|
||||
|
||||
def test_constant_schedule():
|
||||
const = Schedule.constant_schedule()
|
||||
assert const.__class__.__name__ == "Schedule"
|
||||
|
||||
|
||||
idf_file = "tests/input_data/schedules/test_multizone_EP.idf"
|
||||
|
||||
|
||||
def schedules_idf():
|
||||
config(cache_folder="tests/.temp/cache")
|
||||
idf = load_idf(
|
||||
idf_file,
|
||||
include=[
|
||||
get_eplus_dirs(settings.ep_version)
|
||||
/ "DataSets"
|
||||
/ "TDV"
|
||||
/ "TDV_2008_kBtu_CTZ06.csv"
|
||||
],
|
||||
)
|
||||
return idf
|
||||
|
||||
|
||||
idf = schedules_idf()
|
||||
schedules = list(idf.get_all_schedules(yearly_only=True).keys())
|
||||
ids = [i.replace(" ", "_") for i in schedules]
|
||||
schedules = [
|
||||
pytest.param(
|
||||
schedule,
|
||||
marks=pytest.mark.xfail(
|
||||
reason="Can't quite capture all possibilities " "with special days"
|
||||
),
|
||||
)
|
||||
if schedule == "POFF"
|
||||
else pytest.param(schedule, marks=pytest.mark.xfail(raises=NotImplementedError))
|
||||
if schedule == "Cooling Setpoint Schedule"
|
||||
else schedule
|
||||
for schedule in schedules
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture(params=schedules, ids=ids)
|
||||
def test_schedules(request, run_schedules_idf):
|
||||
"""Create the test_data"""
|
||||
import pandas as pd
|
||||
|
||||
# read original schedule
|
||||
idf = schedules_idf()
|
||||
schName = request.param
|
||||
orig = Schedule(Name=schName, idf=idf)
|
||||
|
||||
print(
|
||||
"{name}\tType:{type}\t[{len}]\tValues:{"
|
||||
"values}".format(
|
||||
name=orig.Name,
|
||||
type=orig.schType,
|
||||
values=orig.all_values,
|
||||
len=len(orig.all_values),
|
||||
)
|
||||
)
|
||||
|
||||
# create year:week:day version
|
||||
new_eps = orig.to_year_week_day()
|
||||
new = Schedule(Name=new_eps[0].Name, idf=idf)
|
||||
|
||||
index = orig.series.index
|
||||
epv = pd.read_csv(run_schedules_idf)
|
||||
epv.columns = epv.columns.str.strip()
|
||||
epv = epv.loc[:, schName.upper() + ":Schedule Value [](Hourly)"].values
|
||||
expected = pd.Series(epv, index=index)
|
||||
|
||||
print("Year: {}".format(new_eps[0].Name))
|
||||
print("Weeks: {}".format([obj.Name for obj in new_eps[1]]))
|
||||
print("Days: {}".format([obj.Name for obj in new_eps[2]]))
|
||||
|
||||
yield orig, new, expected
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def run_schedules_idf(config):
|
||||
files = run_eplus(
|
||||
idf_file,
|
||||
weather_file="tests/input_data/CAN_PQ_Montreal.Intl.AP" ".716270_CWEC.epw",
|
||||
annual=True,
|
||||
readvars=True,
|
||||
include=[
|
||||
get_eplus_dirs(settings.ep_version)
|
||||
/ "DataSets"
|
||||
/ "TDV"
|
||||
/ "TDV_2008_kBtu_CTZ06.csv"
|
||||
],
|
||||
return_files=True,
|
||||
)
|
||||
cache_dir = files[1][0].dirname()
|
||||
csv = next(iter(cache_dir.glob("*out.csv")))
|
||||
yield csv
|
||||
|
||||
|
||||
def test_ep_versus_schedule(test_schedules):
|
||||
"""Main test. Will run the idf using EnergyPlus, retrieve the csv file,
|
||||
create the schedules and compare"""
|
||||
|
||||
orig, new, expected = test_schedules
|
||||
|
||||
# slice_ = ('2018/01/01 00:00', '2018/01/08 00:00') # first week
|
||||
# slice_ = ('2018/05/20 12:00', '2018/05/22 12:00')
|
||||
slice_ = ("2018-10-05 12:00", "2018-10-07 12:00") # Holiday
|
||||
# slice_ = ('2018/01/01 00:00', '2018/12/31 23:00') # all year
|
||||
# slice_ = ('2018/04/30 12:00', '2018/05/01 12:00') # break
|
||||
|
||||
mask = expected.values.round(3) != orig.all_values.round(3)
|
||||
|
||||
# # region Plot
|
||||
# fig, ax = plt.subplots(1, 1, figsize=(5, 4))
|
||||
# orig.plot(slice=slice_, ax=ax, legend=True, drawstyle='steps-post',
|
||||
# linestyle='dashed')
|
||||
# new.plot(slice=slice_, ax=ax, legend=True, drawstyle='steps-post',
|
||||
# linestyle='dotted')
|
||||
# expected.loc[slice_[0]:slice_[1]].plot(label='E+', legend=True, ax=ax,
|
||||
# drawstyle='steps-post',
|
||||
# linestyle='dashdot')
|
||||
# ax.set_title(orig.Name.capitalize())
|
||||
# plt.show()
|
||||
# # endregion
|
||||
|
||||
print(orig.series[mask])
|
||||
assert (
|
||||
orig.all_values.round(3)[0 : 52 * 7 * 24] == expected.round(3)[0 : 52 * 7 * 24]
|
||||
).all()
|
||||
assert (
|
||||
new.all_values.round(3)[0 : 52 * 7 * 24] == expected.round(3)[0 : 52 * 7 * 24]
|
||||
).all()
|
1339
tests/test_trnsys.py
Normal file
1339
tests/test_trnsys.py
Normal file
File diff suppressed because it is too large
Load Diff
32
translater.egg-info/PKG-INFO
Normal file
32
translater.egg-info/PKG-INFO
Normal file
@ -0,0 +1,32 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: translator
|
||||
Version: 1.3.0
|
||||
Summary: Convert IDF file (EnergyPlus) to BUI file (TRNBuild)
|
||||
Home-page: https://github.com/louisleroy5/translator
|
||||
Author: Louis Leroy
|
||||
Author-email: louis.leroy@polymtl.ca
|
||||
License: Polytechnique Montréal
|
||||
Description:
|
||||
# Translator
|
||||
|
||||
**python for converting building simulation archetypes**
|
||||
|
||||
Convert IDF file (EnergyPlus) to BUI file (TRNBuild)
|
||||
|
||||
## Overview
|
||||
|
||||
** Translator** is a Python package that helps converting building archetypes. The public feature released in this
|
||||
version is the conversion of [EnergyPlus](https://energyplus.net) IDF models to Trnsys [TrnBuild](http://www.trnsys.com/features/suite-of-tools.php.html) Models (compatible with the multizone building model). For a list of features
|
||||
currently in development see the [In development](#in-development) section.
|
||||
|
||||
## Authors
|
||||
|
||||
This work is developed by a small team of building energy simulation enthusiasts
|
||||
|
||||
- Louis Leroy, Master Student at Polytechnique Montréal (Corresponding Author)
|
||||
- Samuel Letellier-Duchesne, PhD Candidate at Polytechnique Montréal
|
||||
|
||||
Keywords: Building archetypes
|
||||
Platform: UNKNOWN
|
||||
Requires-Python: >=3.6
|
||||
Provides-Extra: dev
|
29
translater.egg-info/SOURCES.txt
Normal file
29
translater.egg-info/SOURCES.txt
Normal file
@ -0,0 +1,29 @@
|
||||
MANIFEST.in
|
||||
README.md
|
||||
requirements-dev.txt
|
||||
requirements.txt
|
||||
setup.cfg
|
||||
setup.py
|
||||
translator/__init__.py
|
||||
translator/cli.py
|
||||
translator/energydataframe.py
|
||||
translator/energyseries.py
|
||||
translator/idfclass.py
|
||||
translator/plot.py
|
||||
translator/reportdata.py
|
||||
translator/schedule.py
|
||||
translator/settings.py
|
||||
translator/simple_glazing.py
|
||||
translator/tabulardata.py
|
||||
translator/trnsys.py
|
||||
translator/umi_template.py
|
||||
translator/utils.py
|
||||
translator.egg-info/PKG-INFO
|
||||
translator.egg-info/SOURCES.txt
|
||||
translator.egg-info/dependency_links.txt
|
||||
translator.egg-info/entry_points.txt
|
||||
translator.egg-info/requires.txt
|
||||
translator.egg-info/top_level.txt
|
||||
translator/ressources/NewFileTemplate.d18
|
||||
translator/ressources/W74-lib.dat
|
||||
translator/ressources/originBUISketchUp.idf
|
1
translater.egg-info/dependency_links.txt
Normal file
1
translater.egg-info/dependency_links.txt
Normal file
@ -0,0 +1 @@
|
||||
|
4
translater.egg-info/entry_points.txt
Normal file
4
translater.egg-info/entry_points.txt
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
[console_scripts]
|
||||
translator= translator.cli:cli
|
||||
|
32
translater.egg-info/requires.txt
Normal file
32
translater.egg-info/requires.txt
Normal file
@ -0,0 +1,32 @@
|
||||
networkx
|
||||
shapely
|
||||
geomeppy
|
||||
matplotlib>=2.1
|
||||
six
|
||||
eppy
|
||||
requests>=2.18
|
||||
pycountry
|
||||
scikit-learn
|
||||
scipy
|
||||
pandas>=0.24
|
||||
pyomo
|
||||
numpy>=1.17
|
||||
tqdm
|
||||
tabulate
|
||||
path.py
|
||||
tsam
|
||||
pint
|
||||
click
|
||||
outdated
|
||||
|
||||
[dev]
|
||||
coverage
|
||||
coveralls
|
||||
pytest
|
||||
pytest-cov
|
||||
scikit-learn
|
||||
scipy
|
||||
sphinx
|
||||
sphinx_rtd_theme
|
||||
recommonmark
|
||||
sphinx-click
|
1
translater.egg-info/top_level.txt
Normal file
1
translater.egg-info/top_level.txt
Normal file
@ -0,0 +1 @@
|
||||
translator
|
25
translater/__init__.py
Normal file
25
translater/__init__.py
Normal file
@ -0,0 +1,25 @@
|
||||
################################################################################
|
||||
# Module: __init__.py
|
||||
# Description: translator: Convert IDF file (EnergyPlus) to BUI file (TRNBuild)
|
||||
# License: -
|
||||
# Web: https://github.com/louisleroy5/translator
|
||||
################################################################################
|
||||
|
||||
# Version of the package
|
||||
__version__ = "1.0.0"
|
||||
|
||||
# warn if a newer version of translator is available
|
||||
from outdated import warn_if_outdated
|
||||
from .utils import warn_if_not_compatible
|
||||
|
||||
# warn_if_outdated("translator", __version__)
|
||||
warn_if_not_compatible()
|
||||
|
||||
from .utils import *
|
||||
from .energyseries import EnergySeries
|
||||
from .energydataframe import EnergyDataFrame
|
||||
from .reportdata import ReportData
|
||||
from .idfclass import *
|
||||
from .schedule import Schedule
|
||||
from .trnsys import *
|
||||
from .cli import *
|
BIN
translater/__pycache__/__init__.cpython-36.pyc
Normal file
BIN
translater/__pycache__/__init__.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/cli.cpython-36.pyc
Normal file
BIN
translater/__pycache__/cli.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/energydataframe.cpython-36.pyc
Normal file
BIN
translater/__pycache__/energydataframe.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/energyseries.cpython-36.pyc
Normal file
BIN
translater/__pycache__/energyseries.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/idfclass.cpython-36.pyc
Normal file
BIN
translater/__pycache__/idfclass.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/reportdata.cpython-36.pyc
Normal file
BIN
translater/__pycache__/reportdata.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/schedule.cpython-36.pyc
Normal file
BIN
translater/__pycache__/schedule.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/settings.cpython-36.pyc
Normal file
BIN
translater/__pycache__/settings.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/trnsys.cpython-36.pyc
Normal file
BIN
translater/__pycache__/trnsys.cpython-36.pyc
Normal file
Binary file not shown.
BIN
translater/__pycache__/utils.cpython-36.pyc
Normal file
BIN
translater/__pycache__/utils.cpython-36.pyc
Normal file
Binary file not shown.
374
translater/cli.py
Normal file
374
translater/cli.py
Normal file
@ -0,0 +1,374 @@
|
||||
################################################################################
|
||||
# Module: cli.py
|
||||
# Description: Implements translator functions as Command Line Interfaces
|
||||
# License: MIT, see full license in LICENSE.txt
|
||||
# Web: https://github.com/samuelduchesne/translator
|
||||
################################################################################
|
||||
import os
|
||||
import time
|
||||
from collections import defaultdict
|
||||
from typing import Any, Union
|
||||
|
||||
from path import Path
|
||||
|
||||
import click
|
||||
from tabulate import tabulate
|
||||
|
||||
from translator import (
|
||||
settings,
|
||||
cd,
|
||||
load_idf,
|
||||
convert_idf_to_trnbuild,
|
||||
get_eplus_dirs,
|
||||
parallel_process,
|
||||
run_eplus,
|
||||
IDF,
|
||||
config,
|
||||
log,
|
||||
idf_version_updater,
|
||||
timeit,
|
||||
EnergyPlusProcessError,
|
||||
)
|
||||
|
||||
CONTEXT_SETTINGS = dict(help_option_names=["-h", "--help"])
|
||||
|
||||
|
||||
class CliConfig(object):
|
||||
def __init__(self):
|
||||
self.data_folder = settings.data_folder
|
||||
self.logs_folder = settings.logs_folder
|
||||
self.imgs_folder = settings.imgs_folder
|
||||
self.cache_folder = settings.cache_folder
|
||||
self.use_cache = settings.use_cache
|
||||
self.log_file = settings.log_file
|
||||
self.log_console = settings.log_console
|
||||
self.log_level = settings.log_level
|
||||
self.log_name = settings.log_name
|
||||
self.log_filename = settings.log_filename
|
||||
self.useful_idf_objects = settings.useful_idf_objects
|
||||
self.umitemplate = settings.umitemplate
|
||||
self.trnsys_default_folder = settings.trnsys_default_folder
|
||||
self.ep_version = settings.ep_version
|
||||
|
||||
|
||||
pass_config = click.make_pass_decorator(CliConfig, ensure=True)
|
||||
|
||||
|
||||
@click.group(context_settings=CONTEXT_SETTINGS)
|
||||
@click.option(
|
||||
"--data-folder",
|
||||
type=click.Path(),
|
||||
help="where to save and load data files",
|
||||
default=settings.data_folder,
|
||||
)
|
||||
@click.option(
|
||||
"--logs-folder",
|
||||
type=click.Path(),
|
||||
help="where to write the log files",
|
||||
default=settings.logs_folder,
|
||||
)
|
||||
@click.option(
|
||||
"--imgs-folder",
|
||||
type=click.Path(),
|
||||
help="where to save figures",
|
||||
default=settings.imgs_folder,
|
||||
)
|
||||
@click.option(
|
||||
"--cache-folder",
|
||||
type=click.Path(),
|
||||
help="where to save the simluation results",
|
||||
default=settings.cache_folder,
|
||||
)
|
||||
@click.option(
|
||||
"-c/-nc",
|
||||
"--use-cache/--no-cache",
|
||||
help="Use a local cache to save/retrieve many of "
|
||||
"translator outputs such as EnergyPlus simulation results",
|
||||
default=True,
|
||||
)
|
||||
@click.option(
|
||||
"-l",
|
||||
"--log-file",
|
||||
is_flag=True,
|
||||
help="save log output to a log file in logs_folder",
|
||||
default=settings.log_file,
|
||||
)
|
||||
@click.option(
|
||||
"--verbose/--noverbose",
|
||||
"-v/-nv",
|
||||
"log_console",
|
||||
default=True,
|
||||
help="print log output to the console",
|
||||
)
|
||||
@click.option(
|
||||
"--log-level",
|
||||
type=click.INT,
|
||||
help="CRITICAL=50, ERROR=40, WARNING=30, INFO=20, DEBUG=10",
|
||||
default=settings.log_level,
|
||||
)
|
||||
@click.option("--log-name", help="name of the logger", default=settings.log_name)
|
||||
@click.option(
|
||||
"--log-filename", help="name of the log file", default=settings.log_filename
|
||||
)
|
||||
@click.option(
|
||||
"--trnsys-default-folder",
|
||||
type=click.Path(),
|
||||
help="root folder of TRNSYS install",
|
||||
default=settings.trnsys_default_folder,
|
||||
)
|
||||
@click.option(
|
||||
"--ep_version",
|
||||
type=click.STRING,
|
||||
default=settings.ep_version,
|
||||
help='the EnergyPlus version to use. eg. "{}"'.format(settings.ep_version),
|
||||
)
|
||||
@pass_config
|
||||
def cli(
|
||||
cli_config,
|
||||
data_folder,
|
||||
logs_folder,
|
||||
imgs_folder,
|
||||
cache_folder,
|
||||
use_cache,
|
||||
log_file,
|
||||
log_console,
|
||||
log_level,
|
||||
log_name,
|
||||
log_filename,
|
||||
trnsys_default_folder,
|
||||
ep_version,
|
||||
):
|
||||
"""translator: Retrieve, construct, simulate, convert and analyse building
|
||||
simulation templates
|
||||
|
||||
Visit translator.readthedocs.io for the online documentation.
|
||||
"""
|
||||
cli_config.data_folder = data_folder
|
||||
cli_config.logs_folder = logs_folder
|
||||
cli_config.imgs_folder = imgs_folder
|
||||
cli_config.cache_folder = cache_folder
|
||||
cli_config.use_cache = use_cache
|
||||
cli_config.log_file = log_file
|
||||
cli_config.log_console = log_console
|
||||
cli_config.log_level = log_level
|
||||
cli_config.log_name = log_name
|
||||
cli_config.log_filename = log_filename
|
||||
cli_config.trnsys_default_folder = trnsys_default_folder
|
||||
cli_config.ep_version = ep_version
|
||||
# apply new config params
|
||||
config(**cli_config.__dict__)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.argument("idf_file", type=click.Path(exists=True))
|
||||
@click.argument("weather_file", type=click.Path(exists=True))
|
||||
@click.argument(
|
||||
"output_folder", type=click.Path(exists=True), required=False, default="."
|
||||
)
|
||||
@click.option(
|
||||
"--return_idf",
|
||||
"-i",
|
||||
is_flag=True,
|
||||
default=False,
|
||||
help="Save modified IDF file to output_folder, and return path "
|
||||
"to the file in the console",
|
||||
)
|
||||
@click.option(
|
||||
"--return_t3d",
|
||||
"-t",
|
||||
is_flag=True,
|
||||
default=False,
|
||||
help="Return T3D file path in the console",
|
||||
)
|
||||
@click.option(
|
||||
"--return_dck",
|
||||
"-d",
|
||||
is_flag=True,
|
||||
default=False,
|
||||
help="Generate dck file and save to output_folder, and return "
|
||||
"path to the file in the console",
|
||||
)
|
||||
@click.option(
|
||||
"--window_lib",
|
||||
type=click.Path(),
|
||||
default=None,
|
||||
help="Path of the window library (from Berkeley Lab)",
|
||||
)
|
||||
@click.option(
|
||||
"--trnsidf_exe",
|
||||
type=click.Path(),
|
||||
help="Path to trnsidf.exe",
|
||||
default=os.path.join(
|
||||
settings.trnsys_default_folder, r"Building\trnsIDF\trnsidf.exe"
|
||||
),
|
||||
)
|
||||
@click.option(
|
||||
"--template",
|
||||
type=click.Path(),
|
||||
default=settings.path_template_d18,
|
||||
help="Path to d18 template file",
|
||||
)
|
||||
@click.option(
|
||||
"--log_clear_names",
|
||||
is_flag=True,
|
||||
default=False,
|
||||
help='If mentioned (True), DO NOT print log of "clear_names" (equivalence between '
|
||||
"old and new names) in the console. Default (not mentioned) is False.",
|
||||
)
|
||||
@click.option(
|
||||
"--schedule_as_input",
|
||||
is_flag=True,
|
||||
default=True,
|
||||
help="If mentioned (False), writes schedules as SCHEDULES in BUI file. Be aware that "
|
||||
"this option might make crash TRNBuild. Default (not mentioned) is True, and "
|
||||
"writes the schedules as INPUTS. This option requires the user to link "
|
||||
"(in the TRNSYS Studio) the csv file containing the schedules with those INPUTS",
|
||||
)
|
||||
@click.option(
|
||||
"--ep_version",
|
||||
type=str,
|
||||
default=None,
|
||||
help="Specify the EnergyPlus version to use. Default = None",
|
||||
)
|
||||
@click.option(
|
||||
"--window",
|
||||
nargs=6,
|
||||
type=float,
|
||||
default=(2.2, 0.64, 0.8, 0.05, 0.15, 8.17),
|
||||
help="Specify window properties <u_value> <shgc> <t_vis> "
|
||||
"<tolerance> <fframe> <uframe>. Default = 2.2 0.64 0.8 0.05 0.15 8.17",
|
||||
)
|
||||
@click.option("--ordered", is_flag=True, help="sort idf object names")
|
||||
@click.option("--nonum", is_flag=True, default=False, help="Do not renumber surfaces")
|
||||
@click.option("--batchjob", "-N", is_flag=True, default=False, help="BatchJob Modus")
|
||||
@click.option(
|
||||
"--geofloor",
|
||||
type=float,
|
||||
default=0.6,
|
||||
help="Generates GEOSURF values for distributing; direct solar "
|
||||
"radiation where `geo_floor` % is directed to the floor, "
|
||||
"the rest; to walls/windows. Default = 0.6",
|
||||
)
|
||||
@click.option(
|
||||
"--refarea",
|
||||
is_flag=True,
|
||||
default=False,
|
||||
help="Updates floor reference area of airnodes",
|
||||
)
|
||||
@click.option(
|
||||
"--volume", is_flag=True, default=False, help="Updates volume of airnodes"
|
||||
)
|
||||
@click.option(
|
||||
"--capacitance", is_flag=True, default=False, help="Updates capacitance of airnodes"
|
||||
)
|
||||
def convert(
|
||||
idf_file,
|
||||
weather_file,
|
||||
output_folder,
|
||||
return_idf,
|
||||
return_t3d,
|
||||
return_dck,
|
||||
window_lib,
|
||||
trnsidf_exe,
|
||||
template,
|
||||
log_clear_names,
|
||||
schedule_as_input,
|
||||
ep_version,
|
||||
window,
|
||||
ordered,
|
||||
nonum,
|
||||
batchjob,
|
||||
geofloor,
|
||||
refarea,
|
||||
volume,
|
||||
capacitance,
|
||||
):
|
||||
"""Convert regular IDF file (EnergyPlus) to TRNBuild file (TRNSYS) The
|
||||
output folder path defaults to the working directory. Equivalent to '.'
|
||||
"""
|
||||
u_value, shgc, t_vis, tolerance, fframe, uframe = window
|
||||
window_kwds = {
|
||||
"u_value": u_value,
|
||||
"shgc": shgc,
|
||||
"t_vis": t_vis,
|
||||
"tolerance": tolerance,
|
||||
"fframe": fframe,
|
||||
"uframe": uframe,
|
||||
}
|
||||
paths = convert_idf_to_trnbuild(
|
||||
idf_file,
|
||||
weather_file,
|
||||
window_lib,
|
||||
return_idf,
|
||||
True,
|
||||
return_t3d,
|
||||
return_dck,
|
||||
output_folder,
|
||||
trnsidf_exe,
|
||||
template,
|
||||
log_clear_names=log_clear_names,
|
||||
schedule_as_input=schedule_as_input,
|
||||
ep_version=ep_version,
|
||||
**window_kwds,
|
||||
ordered=ordered,
|
||||
nonum=nonum,
|
||||
N=batchjob,
|
||||
geo_floor=geofloor,
|
||||
refarea=refarea,
|
||||
volume=volume,
|
||||
capacitance=capacitance
|
||||
)
|
||||
# Print path of output files in console
|
||||
click.echo("Here are the paths to the different output files: ")
|
||||
|
||||
for path in paths:
|
||||
if "MODIFIED" in path:
|
||||
click.echo("Path to the modified IDF file: {}".format(path))
|
||||
elif "b18" in path:
|
||||
click.echo("Path to the BUI file: {}".format(path))
|
||||
elif "dck" in path:
|
||||
click.echo("Path to the DCK file: {}".format(path))
|
||||
else:
|
||||
click.echo("Path to the T3D file: {}".format(path))
|
||||
|
||||
def _write_invalid(res):
|
||||
res = {k: v for k, v in res.items() if ~isinstance(res[k], Exception)}
|
||||
invalid_runs = {k: v for k, v in res.items() if isinstance(res[k], Exception)}
|
||||
|
||||
if invalid_runs:
|
||||
invalid = []
|
||||
for i, (k, v) in enumerate(invalid_runs.items()):
|
||||
invalid.append({"#": i, "Filename": k, "Error": invalid_runs[k]})
|
||||
filename = Path("failed_reduce.txt")
|
||||
with open(filename, "w") as failures:
|
||||
failures.writelines(tabulate(invalid, headers="keys"))
|
||||
log("Invalid runs listed in %s" % "failed_transition.txt")
|
||||
return res
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.argument("idf", nargs=-1, type=click.Path(exists=True), required=True)
|
||||
@click.option(
|
||||
"-v",
|
||||
"--version",
|
||||
"to_version",
|
||||
default=settings.ep_version,
|
||||
help="EnergyPlus version to upgrade to - e.g., '9-2-0'",
|
||||
)
|
||||
@click.option(
|
||||
"-p",
|
||||
"--parallel",
|
||||
"cores",
|
||||
default=-1,
|
||||
help="Specify number of cores to run in parallel",
|
||||
)
|
||||
def transition(idf, to_version, cores):
|
||||
"""Upgrade an IDF file to a newer version"""
|
||||
start_time = time.time()
|
||||
rundict = {file: dict(idf_file=file, to_version=to_version) for file in idf}
|
||||
parallel_process(rundict, idf_version_updater, processors=cores)
|
||||
log(
|
||||
"Successfully transitioned files to version '{}' in {:,.2f} seconds".format(
|
||||
to_version, time.time() - start_time
|
||||
)
|
||||
)
|
237
translater/energydataframe.py
Normal file
237
translater/energydataframe.py
Normal file
@ -0,0 +1,237 @@
|
||||
import matplotlib.pyplot as plt
|
||||
from pandas import DataFrame, Series, DatetimeIndex
|
||||
|
||||
from translator import EnergySeries, settings
|
||||
from translator.energyseries import plot_energyseries_map, save_and_show
|
||||
|
||||
|
||||
class EnergyDataFrame(DataFrame):
|
||||
"""An EnergyDataFrame object is a pandas.DataFrame that has energy related
|
||||
data. In addition to the standard DataFrame constructor arguments,
|
||||
EnergyDataFrame also accepts the following keyword arguments:
|
||||
|
||||
|
||||
"""
|
||||
|
||||
_metadata = [
|
||||
"profile_type",
|
||||
"base_year",
|
||||
"frequency",
|
||||
"units",
|
||||
"sort_values",
|
||||
"to_units",
|
||||
]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
from_units = kwargs.pop("units", None)
|
||||
super(EnergyDataFrame, self).__init__(*args, **kwargs)
|
||||
self.from_units = from_units
|
||||
if from_units is not None:
|
||||
self.set_unit(from_units, inplace=True)
|
||||
|
||||
def set_unit(self, from_unit, inplace):
|
||||
ureg = settings.unit_registry
|
||||
|
||||
if inplace:
|
||||
frame = self
|
||||
else:
|
||||
frame = self.copy()
|
||||
|
||||
self.from_units = ureg.parse_expression(from_unit)
|
||||
|
||||
if not inplace:
|
||||
return frame
|
||||
|
||||
def plot2d(self, **kwargs):
|
||||
return plot_energydataframe_map(self, **kwargs)
|
||||
|
||||
@property
|
||||
def _constructor(self):
|
||||
return EnergyDataFrame
|
||||
|
||||
@property
|
||||
def nseries(self):
|
||||
if self._data.ndim == 1:
|
||||
return 1
|
||||
else:
|
||||
return self._data.shape[0]
|
||||
|
||||
def __getitem__(self, key):
|
||||
"""
|
||||
return an EnergySeries or an EnergyDataFrame with propagated metadata.
|
||||
"""
|
||||
result = super(EnergyDataFrame, self).__getitem__(key)
|
||||
if isinstance(result, Series):
|
||||
result.__class__ = EnergySeries
|
||||
elif isinstance(result, DataFrame):
|
||||
result.__class__ = EnergyDataFrame
|
||||
return result.__finalize__(self)
|
||||
|
||||
def stack(self, level=-1, dropna=True):
|
||||
from pandas.core.reshape.reshape import stack, stack_multiple
|
||||
|
||||
if isinstance(level, (tuple, list)):
|
||||
result = stack_multiple(self, level, dropna=dropna)
|
||||
return result.__finalize__(self)
|
||||
else:
|
||||
result = stack(self, level, dropna=dropna)
|
||||
return result.__finalize__(self)
|
||||
|
||||
def discretize_tsam(
|
||||
self,
|
||||
resolution=None,
|
||||
noTypicalPeriods=10,
|
||||
hoursPerPeriod=24,
|
||||
clusterMethod="hierarchical",
|
||||
evalSumPeriods=False,
|
||||
sortValues=False,
|
||||
sameMean=False,
|
||||
rescaleClusterPeriods=True,
|
||||
weightDict=None,
|
||||
extremePeriodMethod="None",
|
||||
solver="glpk",
|
||||
roundOutput=None,
|
||||
addPeakMin=None,
|
||||
addPeakMax=None,
|
||||
addMeanMin=None,
|
||||
addMeanMax=None,
|
||||
):
|
||||
"""uses tsam"""
|
||||
try:
|
||||
import tsam.timeseriesaggregation as tsam
|
||||
except ImportError:
|
||||
raise ImportError("tsam is required for discretize_tsam()")
|
||||
if not isinstance(self.index, DatetimeIndex):
|
||||
raise TypeError("To use tsam, index of series must be a " "DateTimeIndex")
|
||||
timeSeries = self.copy()
|
||||
agg = tsam.TimeSeriesAggregation(
|
||||
timeSeries,
|
||||
resolution=resolution,
|
||||
noTypicalPeriods=noTypicalPeriods,
|
||||
hoursPerPeriod=hoursPerPeriod,
|
||||
clusterMethod=clusterMethod,
|
||||
evalSumPeriods=evalSumPeriods,
|
||||
sortValues=sortValues,
|
||||
sameMean=sameMean,
|
||||
rescaleClusterPeriods=rescaleClusterPeriods,
|
||||
weightDict=weightDict,
|
||||
extremePeriodMethod=extremePeriodMethod,
|
||||
solver=solver,
|
||||
roundOutput=roundOutput,
|
||||
addPeakMin=addPeakMin,
|
||||
addPeakMax=addPeakMax,
|
||||
addMeanMin=addMeanMin,
|
||||
addMeanMax=addMeanMax,
|
||||
)
|
||||
|
||||
agg.createTypicalPeriods()
|
||||
results = agg.predictOriginalData()
|
||||
results = EnergyDataFrame(results)
|
||||
results.__dict__["agg"] = agg
|
||||
return results.__finalize__(self)
|
||||
|
||||
|
||||
def plot_energydataframe_map(
|
||||
data,
|
||||
periodlength=24,
|
||||
subplots=False,
|
||||
vmin=None,
|
||||
vmax=None,
|
||||
axis_off=True,
|
||||
cmap="RdBu",
|
||||
fig_height=None,
|
||||
fig_width=6,
|
||||
show=True,
|
||||
view_angle=-60,
|
||||
save=False,
|
||||
close=False,
|
||||
dpi=300,
|
||||
file_format="png",
|
||||
color=None,
|
||||
ax=None,
|
||||
filename="untitled",
|
||||
extent="tight",
|
||||
sharex=True,
|
||||
sharey=True,
|
||||
layout=None,
|
||||
layout_type="vertical",
|
||||
**kwargs
|
||||
):
|
||||
if fig_height is None:
|
||||
fig_height = fig_width / 3
|
||||
figsize = (fig_width, fig_height)
|
||||
nseries = data.nseries
|
||||
fig, axes = _setup_subplots(
|
||||
subplots, nseries, sharex, sharey, figsize, ax, layout, layout_type
|
||||
)
|
||||
cols = data.columns
|
||||
for ax, col in zip(axes, cols):
|
||||
plot_energyseries_map(
|
||||
data[col],
|
||||
periodlength=periodlength,
|
||||
subplots=subplots,
|
||||
vmin=vmin,
|
||||
vmax=vmax,
|
||||
axis_off=axis_off,
|
||||
cmap=cmap,
|
||||
fig_height=fig_height,
|
||||
fig_width=fig_width,
|
||||
show=False,
|
||||
save=False,
|
||||
close=False,
|
||||
dpi=dpi,
|
||||
file_format=file_format,
|
||||
color=color,
|
||||
ax=ax,
|
||||
filename=filename,
|
||||
extent=extent,
|
||||
sharex=sharex,
|
||||
sharey=sharey,
|
||||
layout=layout,
|
||||
layout_type=layout_type,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
fig, axes = save_and_show(
|
||||
fig, axes, save, show, close, filename, file_format, dpi, axis_off, extent
|
||||
)
|
||||
|
||||
return fig, axes
|
||||
|
||||
|
||||
def _setup_subplots(
|
||||
subplots,
|
||||
nseries,
|
||||
sharex=False,
|
||||
sharey=False,
|
||||
figsize=None,
|
||||
ax=None,
|
||||
layout=None,
|
||||
layout_type="vertical",
|
||||
):
|
||||
"""prepares the subplots"""
|
||||
from pandas.plotting._tools import _subplots, _flatten
|
||||
|
||||
if subplots:
|
||||
fig, axes = _subplots(
|
||||
naxes=nseries,
|
||||
sharex=sharex,
|
||||
sharey=sharey,
|
||||
figsize=figsize,
|
||||
ax=ax,
|
||||
layout=layout,
|
||||
layout_type=layout_type,
|
||||
)
|
||||
else:
|
||||
if ax is None:
|
||||
fig = plt.figure(figsize=figsize)
|
||||
axes = fig.add_subplot(111)
|
||||
else:
|
||||
fig = ax.get_figure()
|
||||
if figsize is not None:
|
||||
fig.set_size_inches(figsize)
|
||||
axes = ax
|
||||
|
||||
axes = _flatten(axes)
|
||||
|
||||
return fig, axes
|
1117
translater/energyseries.py
Normal file
1117
translater/energyseries.py
Normal file
File diff suppressed because it is too large
Load Diff
2556
translater/idfclass.py
Normal file
2556
translater/idfclass.py
Normal file
File diff suppressed because it is too large
Load Diff
447
translater/reportdata.py
Normal file
447
translater/reportdata.py
Normal file
@ -0,0 +1,447 @@
|
||||
import functools
|
||||
import logging as lg
|
||||
import time
|
||||
from sqlite3 import OperationalError
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from path import Path
|
||||
|
||||
from translator import log, EnergySeries
|
||||
|
||||
|
||||
class ReportData(pd.DataFrame):
|
||||
"""This class serves as a subclass of a pandas DataFrame allowing to add
|
||||
additional functionnality"""
|
||||
|
||||
ARCHETYPE = "Archetype"
|
||||
REPORTDATAINDEX = "ReportDataIndex"
|
||||
TIMEINDEX = "TimeIndex"
|
||||
REPORTDATADICTIONARYINDEX = "ReportDataDictionaryIndex"
|
||||
VALUE = "Value"
|
||||
ISMETER = "IsMeter"
|
||||
TYPE = "Type"
|
||||
INDEXGROUP = "IndexGroup"
|
||||
TIMESTEPTYPE = "TimestepType"
|
||||
KEYVALUE = "KeyValue"
|
||||
NAME = "Name"
|
||||
REPORTINGFREQUENCY = "ReportingFrequency"
|
||||
SCHEDULENAME = "ScheduleName"
|
||||
UNITS = "Units"
|
||||
|
||||
@classmethod
|
||||
def from_sql_dict(cls, sql_dict):
|
||||
report_data = sql_dict["ReportData"]
|
||||
report_data["ReportDataDictionaryIndex"] = pd.to_numeric(
|
||||
report_data["ReportDataDictionaryIndex"]
|
||||
)
|
||||
|
||||
report_data_dict = sql_dict["ReportDataDictionary"]
|
||||
|
||||
return cls(
|
||||
report_data.reset_index().join(
|
||||
report_data_dict, on=["ReportDataDictionaryIndex"]
|
||||
)
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def from_sqlite(
|
||||
cls,
|
||||
sqlite_file,
|
||||
table_name="WaterSystems:EnergyTransfer",
|
||||
warmup_flag=0,
|
||||
environment_type=3,
|
||||
):
|
||||
"""Reads an EnergyPlus eplusout.sql file and returns a :class:`ReportData`
|
||||
which is a subclass of :class:`DataFrame`.
|
||||
|
||||
Args:
|
||||
environment_type (str): An enumeration of the environment type. (1 = Design
|
||||
Day, 2 = Design Run Period, 3 = Weather Run Period) See the various
|
||||
SizingPeriod objects and the RunPeriod object for details.
|
||||
sqlite_file (str):
|
||||
|
||||
Returns:
|
||||
(ReportData): The ReportData object.
|
||||
"""
|
||||
if not isinstance(sqlite_file, str):
|
||||
raise TypeError("Please provide a str, not a {}".format(type(sqlite_file)))
|
||||
file = Path(sqlite_file)
|
||||
if not file.exists():
|
||||
raise FileNotFoundError("Could not find sql file {}".format(file.relpath()))
|
||||
|
||||
import sqlite3
|
||||
|
||||
# create database connection with sqlite3
|
||||
with sqlite3.connect(sqlite_file) as conn:
|
||||
# empty dict to hold all DataFrames
|
||||
all_tables = {}
|
||||
# Iterate over all tables in the report_tables list
|
||||
sql_query = f"""
|
||||
SELECT rd.ReportDataIndex,
|
||||
rd.TimeIndex,
|
||||
rd.ReportDataDictionaryIndex,
|
||||
red.ReportExtendedDataIndex,
|
||||
t.Month,
|
||||
t.Day,
|
||||
t.Hour,
|
||||
t.Minute,
|
||||
t.Dst,
|
||||
t.Interval,
|
||||
t.IntervalType,
|
||||
t.SimulationDays,
|
||||
t.DayType,
|
||||
t.EnvironmentPeriodIndex,
|
||||
t.WarmupFlag,
|
||||
p.EnvironmentType,
|
||||
rd.Value,
|
||||
rdd.IsMeter,
|
||||
rdd.Type,
|
||||
rdd.IndexGroup,
|
||||
rdd.TimestepType,
|
||||
rdd.KeyValue,
|
||||
rdd.Name,
|
||||
rdd.ReportingFrequency,
|
||||
rdd.ScheduleName,
|
||||
rdd.Units
|
||||
FROM ReportData As rd
|
||||
INNER JOIN ReportDataDictionary As rdd ON rd.ReportDataDictionaryIndex = rdd.ReportDataDictionaryIndex
|
||||
LEFT OUTER JOIN ReportExtendedData As red ON rd.ReportDataIndex = red.ReportDataIndex
|
||||
INNER JOIN Time As t ON rd.TimeIndex = t.TimeIndex
|
||||
JOIN EnvironmentPeriods as p ON t.EnvironmentPeriodIndex = p.EnvironmentPeriodIndex
|
||||
WHERE (IFNULL(t.WarmupFlag, 0) = @warmup_flag);
|
||||
"""
|
||||
params = {"warmup_flag": warmup_flag}
|
||||
if table_name:
|
||||
conditions, table_name = cls.multiple_conditions(
|
||||
"table_name", table_name, "Name"
|
||||
)
|
||||
sql_query = sql_query.replace(";", """ AND (%s);""" % conditions)
|
||||
params.update(table_name)
|
||||
if environment_type:
|
||||
conditions, env_name = cls.multiple_conditions(
|
||||
"env_name", environment_type, "EnvironmentType"
|
||||
)
|
||||
sql_query = sql_query.replace(";", """ AND (%s);""" % conditions)
|
||||
params.update(env_name)
|
||||
df = cls.execute(conn, sql_query, params)
|
||||
return cls(df)
|
||||
|
||||
@classmethod
|
||||
def multiple_conditions(cls, basename, cond_names, var_name):
|
||||
if not isinstance(cond_names, (list, tuple)):
|
||||
cond_names = [cond_names]
|
||||
cond_names = set(cond_names)
|
||||
cond_names = {
|
||||
"%s_%s" % (basename, i): name for i, name in enumerate(cond_names)
|
||||
}
|
||||
conditions = " OR ".join(
|
||||
["%s = @%s" % (var_name, cond_name) for cond_name in cond_names]
|
||||
)
|
||||
return conditions, cond_names
|
||||
|
||||
@staticmethod
|
||||
def execute(conn, sql_query, params):
|
||||
try:
|
||||
# Try regular str read, could fail if wrong encoding
|
||||
conn.text_factory = str
|
||||
df = pd.read_sql_query(sql_query, conn, params=params, coerce_float=True)
|
||||
except OperationalError as e:
|
||||
# Wring encoding found, the load bytes and decode object
|
||||
# columns only
|
||||
raise e
|
||||
return df
|
||||
|
||||
@property
|
||||
def _constructor(self):
|
||||
return ReportData
|
||||
|
||||
@property
|
||||
def schedules(self):
|
||||
return self.sorted_values(key_value="Schedule Value")
|
||||
|
||||
@property
|
||||
def df(self):
|
||||
"""Returns the DataFrame of the ReportData"""
|
||||
return pd.DataFrame(self)
|
||||
|
||||
def heating_load(
|
||||
self, normalize=False, sort=False, ascending=False, concurrent_sort=False
|
||||
):
|
||||
"""Returns the aggragated 'Heating:Electricity', 'Heating:Gas' and
|
||||
'Heating:DistrictHeating' of each archetype
|
||||
|
||||
Args:
|
||||
normalize (bool): if True, returns a normalize Series.
|
||||
Normalization is done with respect to each Archetype
|
||||
sort (bool): if True, sorts the values. Usefull when a load
|
||||
duration curve is needed.
|
||||
ascending (bool): if True, sorts value in ascending order. If a
|
||||
Load Duration Curve is needed, use ascending=False.
|
||||
|
||||
Returns:
|
||||
EnergySeries: the Value series of the Heating Load with a Archetype,
|
||||
TimeIndex as MultiIndex.
|
||||
"""
|
||||
hl = self.filter_report_data(
|
||||
name=("Heating:Electricity", "Heating:Gas", "Heating:DistrictHeating")
|
||||
)
|
||||
freq = list(set(hl.ReportingFrequency))
|
||||
units = list(set(hl.Units))
|
||||
freq_map = dict(Hourly="H", Daily="D", Monthly="M")
|
||||
if len(units) > 1:
|
||||
raise MixedUnitsError()
|
||||
|
||||
hl = hl.groupby(["Archetype", "TimeIndex"]).Value.sum()
|
||||
log("Returned Heating Load in units of {}".format(str(units)), lg.DEBUG)
|
||||
return EnergySeries(
|
||||
hl,
|
||||
frequency=freq_map[freq[0]],
|
||||
units=units[0],
|
||||
normalize=normalize,
|
||||
sort_values=sort,
|
||||
ascending=ascending,
|
||||
to_units="kWh",
|
||||
concurrent_sort=concurrent_sort,
|
||||
)
|
||||
|
||||
def filter_report_data(
|
||||
self,
|
||||
archetype=None,
|
||||
reportdataindex=None,
|
||||
timeindex=None,
|
||||
reportdatadictionaryindex=None,
|
||||
value=None,
|
||||
ismeter=None,
|
||||
type=None,
|
||||
indexgroup=None,
|
||||
timesteptype=None,
|
||||
keyvalue=None,
|
||||
name=None,
|
||||
reportingfrequency=None,
|
||||
schedulename=None,
|
||||
units=None,
|
||||
inplace=False,
|
||||
):
|
||||
"""filter RaportData using specific keywords. Each keywords can be a
|
||||
tuple of strings (str1, str2, str3) which will return the logical_or
|
||||
on the specific column.
|
||||
|
||||
Args:
|
||||
archetype (str or tuple):
|
||||
reportdataindex (str or tuple):
|
||||
timeindex (str or tuple):
|
||||
reportdatadictionaryindex (str or tuple):
|
||||
value (str or tuple):
|
||||
ismeter (str or tuple):
|
||||
type (str or tuple):
|
||||
indexgroup (str or tuple):
|
||||
timesteptype (str or tuple):
|
||||
keyvalue (str or tuple):
|
||||
name (str or tuple):
|
||||
reportingfrequency (str or tuple):
|
||||
schedulename (str or tuple):
|
||||
units (str or tuple):
|
||||
inplace (str or tuple):
|
||||
|
||||
Returns:
|
||||
pandas.DataFrame
|
||||
"""
|
||||
start_time = time.time()
|
||||
c_n = []
|
||||
|
||||
if archetype:
|
||||
c_1 = (
|
||||
conjunction(
|
||||
*[self[self.ARCHETYPE] == archetype for archetype in archetype],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(archetype, tuple)
|
||||
else self[self.ARCHETYPE] == archetype
|
||||
)
|
||||
c_n.append(c_1)
|
||||
if reportdataindex:
|
||||
c_2 = (
|
||||
conjunction(
|
||||
*[
|
||||
self[self.REPORTDATAINDEX] == reportdataindex
|
||||
for reportdataindex in reportdataindex
|
||||
],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(reportdataindex, tuple)
|
||||
else self[self.REPORTDATAINDEX] == reportdataindex
|
||||
)
|
||||
c_n.append(c_2)
|
||||
if timeindex:
|
||||
c_3 = (
|
||||
conjunction(
|
||||
*[self[self.TIMEINDEX] == timeindex for timeindex in timeindex],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(timeindex, tuple)
|
||||
else self[self.TIMEINDEX] == timeindex
|
||||
)
|
||||
c_n.append(c_3)
|
||||
if reportdatadictionaryindex:
|
||||
c_4 = (
|
||||
conjunction(
|
||||
*[
|
||||
self[self.REPORTDATADICTIONARYINDEX]
|
||||
== reportdatadictionaryindex
|
||||
for reportdatadictionaryindex in reportdatadictionaryindex
|
||||
],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(reportdatadictionaryindex, tuple)
|
||||
else self[self.REPORTDATADICTIONARYINDEX] == reportdatadictionaryindex
|
||||
)
|
||||
c_n.append(c_4)
|
||||
if value:
|
||||
c_5 = (
|
||||
conjunction(
|
||||
*[self[self.VALUE] == value for value in value],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(value, tuple)
|
||||
else self[self.VALUE] == value
|
||||
)
|
||||
c_n.append(c_5)
|
||||
if ismeter:
|
||||
c_6 = (
|
||||
conjunction(
|
||||
*[self[self.ISMETER] == ismeter for ismeter in ismeter],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(ismeter, tuple)
|
||||
else self[self.ISMETER] == ismeter
|
||||
)
|
||||
c_n.append(c_6)
|
||||
if type:
|
||||
c_7 = (
|
||||
conjunction(
|
||||
*[self[self.TYPE] == type for type in type], logical=np.logical_or
|
||||
)
|
||||
if isinstance(type, tuple)
|
||||
else self[self.TYPE] == type
|
||||
)
|
||||
c_n.append(c_7)
|
||||
if indexgroup:
|
||||
c_8 = (
|
||||
conjunction(
|
||||
*[self[self.INDEXGROUP] == indexgroup for indexgroup in indexgroup],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(indexgroup, tuple)
|
||||
else self[self.INDEXGROUP] == indexgroup
|
||||
)
|
||||
c_n.append(c_8)
|
||||
if timesteptype:
|
||||
c_9 = (
|
||||
conjunction(
|
||||
*[
|
||||
self[self.TIMESTEPTYPE] == timesteptype
|
||||
for timesteptype in timesteptype
|
||||
],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(timesteptype, tuple)
|
||||
else self[self.TIMESTEPTYPE] == timesteptype
|
||||
)
|
||||
c_n.append(c_9)
|
||||
if keyvalue:
|
||||
c_10 = (
|
||||
conjunction(
|
||||
*[self[self.KEYVALUE] == keyvalue for keyvalue in keyvalue],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(keyvalue, tuple)
|
||||
else self[self.KEYVALUE] == keyvalue
|
||||
)
|
||||
c_n.append(c_10)
|
||||
if name:
|
||||
c_11 = (
|
||||
conjunction(
|
||||
*[self[self.NAME] == name for name in name], logical=np.logical_or
|
||||
)
|
||||
if isinstance(name, tuple)
|
||||
else self[self.NAME] == name
|
||||
)
|
||||
c_n.append(c_11)
|
||||
if reportingfrequency:
|
||||
c_12 = (
|
||||
conjunction(
|
||||
*[
|
||||
self[self.REPORTINGFREQUENCY] == reportingfrequency
|
||||
for reportingfrequency in reportingfrequency
|
||||
],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(reportingfrequency, tuple)
|
||||
else self[self.REPORTINGFREQUENCY] == reportingfrequency
|
||||
)
|
||||
c_n.append(c_12)
|
||||
if schedulename:
|
||||
c_13 = (
|
||||
conjunction(
|
||||
*[
|
||||
self[self.SCHEDULENAME] == schedulename
|
||||
for schedulename in schedulename
|
||||
],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(schedulename, tuple)
|
||||
else self[self.SCHEDULENAME] == schedulename
|
||||
)
|
||||
c_n.append(c_13)
|
||||
if units:
|
||||
c_14 = (
|
||||
conjunction(
|
||||
*[self[self.UNITS] == units for units in units],
|
||||
logical=np.logical_or,
|
||||
)
|
||||
if isinstance(units, tuple)
|
||||
else self[self.UNITS] == units
|
||||
)
|
||||
c_n.append(c_14)
|
||||
|
||||
filtered_df = self.loc[conjunction(*c_n, logical=np.logical_and)]
|
||||
log("filtered ReportData in {:,.2f} seconds".format(time.time() - start_time))
|
||||
if inplace:
|
||||
return filtered_df._update_inplace(filtered_df)
|
||||
else:
|
||||
return filtered_df.__finalize__(self)
|
||||
|
||||
def sorted_values(self, key_value=None, name=None, by="TimeIndex", ascending=True):
|
||||
"""Returns sorted values by filtering key_value and name
|
||||
|
||||
Args:
|
||||
self: The ReporatData DataFrame
|
||||
key_value (str): key_value column filter
|
||||
name (str): name column filter
|
||||
by (str): sorting by this column name
|
||||
ascending (bool):
|
||||
|
||||
Returns:
|
||||
ReportData
|
||||
"""
|
||||
if key_value and name:
|
||||
return (
|
||||
self.filter_report_data(name=name, keyvalue=key_value)
|
||||
.sort_values(by=by, ascending=ascending)
|
||||
.reset_index(drop=True)
|
||||
.rename_axis("TimeStep")
|
||||
.set_index(["Archetype"], append=True)
|
||||
.swaplevel(i=-2, j=-1, axis=0)
|
||||
)
|
||||
else:
|
||||
return self.sort_values(by=by, inplace=False)
|
||||
|
||||
|
||||
def conjunction(*conditions, logical=np.logical_and):
|
||||
"""Applies a logical function on n conditons"""
|
||||
return functools.reduce(logical, conditions)
|
||||
|
||||
|
||||
def or_conjunction(*conditions):
|
||||
return functools.reduce(np.logical_or, conditions)
|
280
translater/ressources/NewFileTemplate.d18
Normal file
280
translater/ressources/NewFileTemplate.d18
Normal file
@ -0,0 +1,280 @@
|
||||
VERSION 18
|
||||
*******************************************************************************
|
||||
*** TRNSYS input file (deck) generated by TrnsysStudio
|
||||
*** on Wednesday, June 01, 2016 at 12:28
|
||||
*** from TrnsysStudio project: C:\TRNSYS\MyProjects\Studio_Test\Studio.tpf
|
||||
***
|
||||
*** If you edit this file, use the File/Import TRNSYS Input File function in
|
||||
*** TrnsysStudio to update the project.
|
||||
***
|
||||
*** If you have problems, questions or suggestions please contact your local
|
||||
*** TRNSYS distributor or mailto:software@cstb.fr
|
||||
***
|
||||
*******************************************************************************
|
||||
|
||||
|
||||
*******************************************************************************
|
||||
*** Units
|
||||
*******************************************************************************
|
||||
|
||||
*******************************************************************************
|
||||
*** Control cards
|
||||
*******************************************************************************
|
||||
* START, STOP and STEP
|
||||
CONSTANTS 3
|
||||
START=0
|
||||
STOP=168
|
||||
STEP=1
|
||||
|
||||
SIMULATION START STOP STEP ! Start time End time Time step
|
||||
TOLERANCES 0.001 0.001 ! Integration Convergence
|
||||
LIMITS 30 30 30 ! Max iterations Max warnings Trace limit
|
||||
DFQ 1 ! TRNSYS numerical integration solver method
|
||||
WIDTH 80 ! TRNSYS output file width, number of characters
|
||||
LIST ! NOLIST statement
|
||||
! MAP statement
|
||||
SOLVER 0 1 1 ! Solver statement Minimum relaxation factor Maximum relaxation factor
|
||||
NAN_CHECK 0 ! Nan DEBUG statement
|
||||
OVERWRITE_CHECK 0 ! Overwrite DEBUG statement
|
||||
TIME_REPORT 0 ! disable time report
|
||||
EQSOLVER 0 ! EQUATION SOLVER statement
|
||||
* User defined CONSTANTS
|
||||
|
||||
|
||||
|
||||
* EQUATIONS "Wizard Settings"
|
||||
*
|
||||
EQUATIONS 11
|
||||
HEMISPHERE = @HEMISPHERE
|
||||
TURN = HEMISPHERE * $$ROTATION !Rotation angle for building used for adapting azimuth angles
|
||||
TBOUNDARY = $$T_BOUNDARY
|
||||
SHADE_CLOSE = $$SHADE_CLOSE * 3.6! Close blinds - radiation on facade in [W/m2 * 3.6]=[kJ/hr]
|
||||
SHADE_OPEN = $$SHADE_OPEN * 3.6! Open blinds - radiation on facade in [W/m2 * 3.6]=[kJ/hr]
|
||||
MAX_ISHADE = $$SHADE_FAC/100 ! Maximum opaque fraction of internal shading device
|
||||
MAX_ESHADE = $$SHADE_FAC/100 ! Maximum opaque fraction of external shading device
|
||||
h_DEPTH = $$h_DEPTH
|
||||
T_MEAN = $$T_MEAN
|
||||
T_AMPLITUDE = $$T_AMPLITUDE
|
||||
t_T_MIN = $$t_T_MIN
|
||||
|
||||
*$UNIT_NAME Wizard Settings
|
||||
*$LAYER Main
|
||||
*$POSITION 96 95
|
||||
*$UNIT_NUMBER 1
|
||||
|
||||
|
||||
* EQUATIONS "Radiation Unit Converter"
|
||||
*
|
||||
@RADIATION
|
||||
*$UNIT_NAME Radiation Unit Converter
|
||||
*$LAYER Main
|
||||
*$POSITION 405 95
|
||||
*$UNIT_NUMBER 2
|
||||
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
* Model "Weather" (Type 15)
|
||||
*
|
||||
|
||||
UNIT 15 TYPE 15 Weather
|
||||
*$UNIT_NAME Weather
|
||||
*$MODEL .\Weather Data Reading and Processing\Standard Format\Meteonorm Files (TM2)\Type15-6.tmf
|
||||
*$POSITION 253 180
|
||||
*$LAYER Weather - Data Files #
|
||||
@WEATHER
|
||||
*|? Which file contains the weather data? |1000
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
* Model "Ground Temperature" (Type 77)
|
||||
*
|
||||
|
||||
UNIT 77 TYPE 77 Type77
|
||||
*$UNIT_NAME Type77
|
||||
*$MODEL .\Physical Phenomena\Simple Ground Temperature Model\Type77.tmf
|
||||
*$POSITION 253 350
|
||||
*$LAYER Main #
|
||||
PARAMETERS 8
|
||||
1 ! 1 Number of temperature nodes
|
||||
T_MEAN ! 2 Mean surface temperature
|
||||
T_AMPLITUDE ! 3 Amplitude of surface temperature
|
||||
t_T_MIN ! 4 Time shift
|
||||
8.72 ! 5 Soil thermal conductivity
|
||||
3200.0 ! 6 Soil density
|
||||
0.84 ! 7 Soil specific heat
|
||||
h_depth ! 8 Depth at point
|
||||
*------------------------------------------------------------------------------
|
||||
* Model "Type56" (Type 56)
|
||||
*
|
||||
|
||||
UNIT 56 TYPE 56 Type56
|
||||
*$UNIT_NAME Building
|
||||
*$MODEL .\Loads and Structures\Multi-Zone Building\Type56.tmf
|
||||
*$POSITION 600 255
|
||||
*$LAYER Main #
|
||||
*$#
|
||||
PARAMETERS 3
|
||||
56 ! 1 Logical unit for building description file (*.b18, *.b17, *.bui)
|
||||
0 ! 2 Star network calculation switch
|
||||
0.50 ! 3 Weighting factor for operative temperature
|
||||
@BUILDING
|
||||
*** External files
|
||||
ASSIGN "***.b18" 56
|
||||
*|? Building description file (*.b18, *.b17, *.bui) |1000
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
@UNIT_CONVERSION
|
||||
|
||||
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
*------------------------------------------------------------------------------
|
||||
* OUTPUTS
|
||||
*------------------------------------------------------------------------------
|
||||
* Model "Solar_Plotter" (Type 65)
|
||||
*
|
||||
|
||||
UNIT 65 TYPE 65 Solar_Plotter
|
||||
*$UNIT_NAME Solar_Plotter
|
||||
*$MODEL .\Output\Online Plotter\Online Plotter Without File\Type65d.tmf
|
||||
*$POSITION 906 95
|
||||
*$LAYER Main #
|
||||
PARAMETERS 12
|
||||
10 ! 1 Nb. of left-axis variables
|
||||
10 ! 2 Nb. of right-axis variables
|
||||
0.0 ! 3 Left axis minimum
|
||||
1000.0 ! 4 Left axis maximum
|
||||
0.0 ! 5 Right axis minimum
|
||||
1000.0 ! 6 Right axis maximum
|
||||
1 ! 7 Number of plots per simulation
|
||||
12 ! 8 X-axis gridpoints
|
||||
0 ! 9 Shut off Online w/o removing
|
||||
-1 ! 10 Logical unit for output file
|
||||
0 ! 11 Output file units
|
||||
0 ! 12 Output file delimiter
|
||||
INPUTS 20
|
||||
@Solar_Plotter
|
||||
LABELS 3
|
||||
"Total Incident Solar Radition [W/m²]"
|
||||
"Beam Incident Solar Radition [W/m²]"
|
||||
"Solar_Plotter"
|
||||
|
||||
* Model "T_Plotter" (Type 65)
|
||||
*
|
||||
|
||||
UNIT 66 TYPE 65 T_Plotter
|
||||
*$UNIT_NAME T_Plotter
|
||||
*$MODEL .\Output\Online Plotter\Online Plotter Without File\Type65d.tmf
|
||||
*$POSITION 906 180
|
||||
*$LAYER Main #
|
||||
PARAMETERS 12
|
||||
10 ! 1 Nb. of left-axis variables
|
||||
10 ! 2 Nb. of right-axis variables
|
||||
-30.0 ! 3 Left axis minimum
|
||||
80.0 ! 4 Left axis maximum
|
||||
-30.0 ! 5 Right axis minimum
|
||||
80.0 ! 6 Right axis maximum
|
||||
1 ! 7 Number of plots per simulation
|
||||
12 ! 8 X-axis gridpoints
|
||||
0 ! 9 Shut off Online w/o removing
|
||||
-1 ! 10 Logical unit for output file
|
||||
0 ! 11 Output file units
|
||||
0 ! 12 Output file delimiter
|
||||
INPUTS 20
|
||||
@T_Plotter
|
||||
LABELS 3
|
||||
"Operative Temperature"
|
||||
"Air Temperature"
|
||||
"T_Plotter"
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
* Model "Q_heat_cool_Plotter" (Type 65)
|
||||
*
|
||||
|
||||
UNIT 67 TYPE 65 Q_heat_cool_Plotter
|
||||
*$UNIT_NAME Q_heat_cool_Plotter
|
||||
*$MODEL .\Output\Online Plotter\Online Plotter Without File\Type65d.tmf
|
||||
*$POSITION 906 298
|
||||
*$LAYER Main #
|
||||
PARAMETERS 12
|
||||
10 ! 1 Nb. of left-axis variables
|
||||
10 ! 2 Nb. of right-axis variables
|
||||
0.0 ! 3 Left axis minimum
|
||||
100.0 ! 4 Left axis maximum
|
||||
0.0 ! 5 Right axis minimum
|
||||
100.0 ! 6 Right axis maximum
|
||||
1 ! 7 Number of plots per simulation
|
||||
12 ! 8 X-axis gridpoints
|
||||
0 ! 9 Shut off Online w/o removing
|
||||
-1 ! 10 Logical unit for output file
|
||||
0 ! 11 Output file units
|
||||
0 ! 12 Output file delimiter
|
||||
INPUTS 20
|
||||
@Q_heat_cool_Plotter
|
||||
LABELS 3
|
||||
"Heating [W/m²]"
|
||||
"Cooling [W/m²]"
|
||||
"Q_heat_cool_Plotter"
|
||||
|
||||
|
||||
* Model "Q_heat_cool_Plotter" (Type 65)
|
||||
*
|
||||
|
||||
UNIT 68 TYPE 65 Q_el_Plotter
|
||||
*$UNIT_NAME Q_el_Plotter
|
||||
*$MODEL .\Output\Online Plotter\Online Plotter Without File\Type65d.tmf
|
||||
*$POSITION 906 404
|
||||
*$LAYER Main #
|
||||
PARAMETERS 12
|
||||
10 ! 1 Nb. of left-axis variables
|
||||
10 ! 2 Nb. of right-axis variables
|
||||
0.0 ! 3 Left axis minimum
|
||||
100.0 ! 4 Left axis maximum
|
||||
0.0 ! 5 Right axis minimum
|
||||
100.0 ! 6 Right axis maximum
|
||||
1 ! 7 Number of plots per simulation
|
||||
12 ! 8 X-axis gridpoints
|
||||
0 ! 9 Shut off Online w/o removing
|
||||
-1 ! 10 Logical unit for output file
|
||||
0 ! 11 Output file units
|
||||
0 ! 12 Output file delimiter
|
||||
INPUTS 20
|
||||
@Q_el_Plotter
|
||||
LABELS 3
|
||||
"Electricity Equipment [W/m²]"
|
||||
"Electricity Artificial Lighting [W/m²]"
|
||||
"Q_elec_Plotter"
|
||||
|
||||
|
||||
|
||||
*------------------------------------------------------------------------------
|
||||
|
||||
|
||||
END
|
||||
*!LINK_STYLE
|
||||
*!LINK 1:2
|
||||
*!CONNECTION_SET 40:20:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:116,89:385,89
|
||||
*!LINK 15:2
|
||||
*!CONNECTION_SET 40:0:0:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:276,154:325,154:325,109:385,109
|
||||
*!LINK 15:56
|
||||
*!CONNECTION_SET 40:40:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:276,194:325,194:325,249:583,249
|
||||
*!LINK 1:56
|
||||
*!CONNECTION_SET 40:40:0:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:116,109:200,109:200,269:583,269
|
||||
*!LINK 2:56
|
||||
*!CONNECTION_SET 40:40:0:0:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:425,109:500,109:500,229:583,229
|
||||
*!LINK 56:3
|
||||
*!CONNECTION_SET 40:40:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:623,269:675,269:675,345:727,345
|
||||
*!LINK 2:65
|
||||
*!CONNECTION_SET 40:20:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:32768:2:0:0:425,89:855,89:886,89
|
||||
*!LINK 15:66
|
||||
*!CONNECTION_SET 40:20:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:32768:2:0:0:276,174:858,174:886,174
|
||||
*!LINK 77:56
|
||||
*!CONNECTION_SET 40:20:20:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60:0:0:0:0:271,345:603,345:603,269
|
||||
*!LINK 77:66
|
||||
*!CONNECTION_SET 40:40:40:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:32768:2:0:0:271,365:300,365:300,450:1000,450:1000,194:926,194
|
||||
*!LINK 56:66
|
||||
*!CONNECTION_SET 40:20:0:40:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:32768:2:0:0:623,249:825,249:825,194:886,194
|
||||
*!LINK 3:67
|
||||
*!CONNECTION_SET 40:0:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:32768:2:0:0:767,325:825,325:825,292:886,292
|
||||
*!LINK 3:68
|
||||
*!CONNECTION_SET 40:40:0:20:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20:32768:2:0:0:767,365:825,365:825,398:886,398
|
||||
*!LINK_STYLE_END
|
13861
translater/ressources/W74-lib.dat
Normal file
13861
translater/ressources/W74-lib.dat
Normal file
File diff suppressed because it is too large
Load Diff
191
translater/ressources/originBUISketchUp.idf
Normal file
191
translater/ressources/originBUISketchUp.idf
Normal file
@ -0,0 +1,191 @@
|
||||
!- =========== BUI-Template for TRNSYS 18 ==========
|
||||
!-T18_Template_Start
|
||||
!-*********************************************************************************
|
||||
!-* TRNBuild 2.0.266
|
||||
!-*********************************************************************************
|
||||
!-* BUILDING DESCRIPTIONS FILE TRNSYS
|
||||
!-* FOR BUILDING:
|
||||
!-* GET BY WORKING WITH TRNBuild 1.0 for Windows
|
||||
!-*********************************************************************************
|
||||
!-*
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* C o m m e n t s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* P r o j e c t
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*+++ PROJECT
|
||||
!-*+++ TITLE=UNDEFINED
|
||||
!-*+++ DESCRIPTION=UNDEFINED
|
||||
!-*+++ CREATED=UNDEFINED
|
||||
!-*+++ ADDRESS=UNDEFINED
|
||||
!-*+++ CITY=UNDEFINED
|
||||
!-*+++ SWITCH=UNDEFINED
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* P r o p e r t i e s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-PROPERTIES
|
||||
!- DENSITY=1.204 : CAPACITY=1.012 : PRESSURE=101325.000 : HVAPOR=2454.0 : SIGMA=2.041e-007 : RTEMP=293.15
|
||||
!-*--- convective heat transfer coefficient calculation ---------------------
|
||||
!- KFLOORUP=7.2 : EFLOORUP=0.31 : KFLOORDOWN=3.888 : EFLOORDOWN=0.31
|
||||
!- KCEILUP=7.2 : ECEILUP=0.31 : KCEILDOWN=3.888 : ECEILDOWN=0.31
|
||||
!- KVERTICAL=5.76 : EVERTICAL=0.3
|
||||
!-*--- radiance parameters -------------------
|
||||
!- SCENE_ROTATION_ANGLE=0 : GROUND_IDS= : GROUND_REFLECTANCE=0.2 : SHADER_REFLECTANCE=0
|
||||
!- CALC_MODE=RAD : LATITUDE=48 : LONGITUDE=-9.2 : TIME_ZONE=-15 : SITE_ELEVATION=200
|
||||
!- AB=5 : AD=1000 : AS=20 : AR=300 : AA=0.1
|
||||
!- LR=6 : ST=0.15 : SJ=1 : LW=0.004 : DJ=0 : DS=0.2 : DR=2 : DP=512
|
||||
!-*--- comfort parameters -------------------
|
||||
!- DIAM-SENSOR=0.07 : EPS-SENSOR=0.82 : REFL-SENSOR=0.47 : ELV_AIRSPEED1=0.3 : ELV_AIRSPEED2=0.7 : ELV_AIRSPEED3=1.2
|
||||
!-*--- other -------------------
|
||||
!- FSCAL_TREGENZA=MEDIUM : SHM_MODE=0 : SURFGRID=0.2
|
||||
!-*--- daylight -------------------
|
||||
!- UDIMIN=100 : UDIMAX=2000 : DAMIN=300
|
||||
!-*
|
||||
!-*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
!-TYPES
|
||||
!-*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
!-*
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* L a y e r s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* I n p u t s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-INPUTS TGROUND TBOUNDARY SHADE_CLOSE SHADE_OPEN MAX_ISHADE MAX_ESHADE
|
||||
!-INPUTS_DESCRIPTION
|
||||
!- TBOUNDARY : C : Boundary Temperature (boundary temperature used for boundary floors, walls, ceilings)
|
||||
!- SHADE_CLOSE : kJ/hr.m^2 : threshold of total radiation on facade where shading device is activated
|
||||
!- SHADE_OPEN : kJ/hr.m^2 : threshold of total radiation on facade where shading device is deactivated
|
||||
!- MAX_ISHADE : any : max shading factor of internal shading
|
||||
!- MAX_ESHADE : any : max shading factor of external shading
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* S c h e d u l e s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* C O N S T R U C T I O N (Wall, Floor, Ceiling,..)
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* W i n d o w s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* G a i n s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* C o m f o r t
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* I n f i l t r a t i o n
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* V e n t i l a t i o n
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* C o o l i n g
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* H e a t i n g
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* D a y l i g h t C o n t r o l
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-*
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* Z o n e s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-ZONES
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* O r i e n t a t i o n s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-HEMISPHERE NORTHERN
|
||||
!-ORIENTATIONS H_0_0
|
||||
!-INTERNAL_CALCULATION H_0_0
|
||||
!-*
|
||||
!-*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
!-BUILDING
|
||||
!-*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* O u t p u t s
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-OUTPUTS
|
||||
!- TRANSFER : TIMEBASE=1.000
|
||||
!- DEFAULT
|
||||
!-*
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-* E n d
|
||||
!-*--------------------------------------------------------------------------------
|
||||
!-END
|
||||
!-
|
||||
!-_EXTENSION_WINPOOL_START_
|
||||
!-*** END OF LIBRARY ***
|
||||
!-********************************************************************************************************************************
|
||||
!-*WinID Description Design U-Value g-value T-sol Rf-sol T-vis_daylight Lay Width(mm)
|
||||
!-********************************************************************************************************************************
|
||||
!-_EXTENSION_WINPOOL_END_
|
||||
!-
|
||||
!-_EXTENSION_BuildingGeometry_START_
|
||||
!-
|
||||
!-_EXTENSION_BuildingGeometry_END_
|
||||
!-
|
||||
!-
|
||||
!-_EXTENSION_VirtualSurfaceGeometry_START_
|
||||
!-_EXTENSION_VirtualSurfaceGeometry_END_
|
||||
!-
|
||||
!-
|
||||
!-_EXTENSION_ExternalShadingGeometry_START_
|
||||
!-
|
||||
!-_EXTENSION_ExternalShadingGeometry_END_
|
||||
!-
|
||||
!-
|
||||
!-_EXTENSION_GeoPositionGeometry_START_
|
||||
!-_EXTENSION_GeoPositionGeometry_END_
|
||||
!-
|
||||
!-
|
||||
!-_EXTENSION_DaylightSensorPoints_START_
|
||||
!-_EXTENSION_DaylightSensorPoints_END_
|
||||
!-
|
||||
!-T18_Template_Stop
|
||||
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: VERSION ===========
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: BUILDING ===========
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: LOCATION ===========
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: CONSTRUCTION ===========
|
||||
Construction,
|
||||
EXT_WINDOW1; !- Name
|
||||
!- =========== ALL OBJECTS IN CLASS: SurfaceProperty:OtherSideCoefficients ===========
|
||||
SurfaceProperty:OtherSideCoefficients,
|
||||
BOUNDARY=IDENTICAL;
|
||||
SurfaceProperty:OtherSideCoefficients,
|
||||
BOUNDARY=INPUT 1*TBOUNDARY;
|
||||
SurfaceProperty:OtherSideCoefficients,
|
||||
BOUNDARY=INPUT 1*TBOUNDARY_2;
|
||||
SurfaceProperty:OtherSideCoefficients,
|
||||
BOUNDARY=INPUT 1*TBOUNDARY_3;
|
||||
SurfaceProperty:OtherSideCoefficients,
|
||||
BOUNDARY=INPUT 1*TGROUND;
|
||||
SurfaceProperty:OtherSideCoefficients,
|
||||
BOUNDARY=20;
|
||||
SurfaceProperty:OtherSideCoefficients,
|
||||
BOUNDARY=15;
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: WindowProperty:ShadingControl ===========
|
||||
WindowProperty:ShadingControl,
|
||||
ESHADE=0; ISHADE=0 !- Name
|
||||
WindowProperty:ShadingControl,
|
||||
ESHADE=INPUT 1*MAX_ESHADE : SHADECNTRL=ESHADE_INTERNAL; !- Name
|
||||
WindowProperty:ShadingControl,
|
||||
ISHADE=INPUT 1*MAX_ISHADE : SHADECNTRL=ISHADE_INTERNAL; !- Name
|
||||
|
||||
!- =========== ALL OBJECTS IN CLASS: ZONE_TYPE ===========
|
||||
|
||||
ZoneType,
|
||||
00_NOT_SELECTED; !- Name
|
||||
!- =========== ALL OBJECTS IN CLASS: OUTPUT:VARIABLEDICTIONARY ===========
|
||||
|
||||
Output:VariableDictionary,IDF;
|
1379
translater/schedule.py
Normal file
1379
translater/schedule.py
Normal file
File diff suppressed because it is too large
Load Diff
175
translater/settings.py
Normal file
175
translater/settings.py
Normal file
@ -0,0 +1,175 @@
|
||||
################################################################################
|
||||
# Module: settings.py
|
||||
# Description: Various settings used across the package
|
||||
# License: MIT, see full license in LICENSE.txt
|
||||
# Web: https://github.com/samuelduchesne/translator
|
||||
################################################################################
|
||||
|
||||
import logging as lg
|
||||
|
||||
import pint
|
||||
from path import Path
|
||||
|
||||
# locations to save data, logs, images, and cache
|
||||
import translator
|
||||
|
||||
data_folder = Path("data")
|
||||
logs_folder = Path("logs")
|
||||
imgs_folder = Path("images")
|
||||
cache_folder = Path("cache")
|
||||
umitemplate = Path("data/BostonTemplateLibrary.json")
|
||||
|
||||
# cache server responses
|
||||
use_cache = False
|
||||
|
||||
# write log to file and/or to console
|
||||
log_file = False
|
||||
log_console = False
|
||||
log_notebook = False
|
||||
log_level = lg.INFO
|
||||
log_name = "translator"
|
||||
log_filename = "translator"
|
||||
|
||||
# usual idfobjects
|
||||
useful_idf_objects = [
|
||||
"WINDOWMATERIAL:GAS",
|
||||
"WINDOWMATERIAL:GLAZING",
|
||||
"WINDOWMATERIAL:SIMPLEGLAZINGSYSTEM",
|
||||
"MATERIAL",
|
||||
"MATERIAL:NOMASS",
|
||||
"CONSTRUCTION",
|
||||
"BUILDINGSURFACE:DETAILED",
|
||||
"FENESTRATIONSURFACE:DETAILED",
|
||||
"SCHEDULE:DAY:INTERVAL",
|
||||
"SCHEDULE:WEEK:DAILY",
|
||||
"SCHEDULE:YEAR",
|
||||
]
|
||||
|
||||
# List of Available SQLite Tables
|
||||
# Ref: https://bigladdersoftware.com/epx/docs/8-3/output-details-and-examples
|
||||
# /eplusout.sql.html#schedules-table
|
||||
|
||||
available_sqlite_tables = dict(
|
||||
ComponentSizes={"PrimaryKey": ["ComponentSizesIndex"], "ParseDates": []},
|
||||
ConstructionLayers={"PrimaryKey": ["ConstructionIndex"], "ParseDates": []},
|
||||
Constructions={"PrimaryKey": ["ConstructionIndex"], "ParseDates": []},
|
||||
Materials={"PrimaryKey": ["MaterialIndex"], "ParseDates": []},
|
||||
NominalBaseboardHeaters={
|
||||
"PrimaryKey": ["NominalBaseboardHeaterIndex"],
|
||||
"ParseDates": [],
|
||||
},
|
||||
NominalElectricEquipment={
|
||||
"PrimaryKey": ["NominalElectricEquipmentIndex"],
|
||||
"ParseDates": [],
|
||||
},
|
||||
NominalGasEquipment={"PrimaryKey": ["NominalGasEquipmentIndex"], "ParseDates": []},
|
||||
NominalHotWaterEquipment={
|
||||
"PrimaryKey": ["NominalHotWaterEquipmentIndex"],
|
||||
"ParseDates": [],
|
||||
},
|
||||
NominalInfiltration={"PrimaryKey": ["NominalInfiltrationIndex"], "ParseDates": []},
|
||||
NominalLighting={"PrimaryKey": ["NominalLightingIndex"], "ParseDates": []},
|
||||
NominalOtherEquipment={
|
||||
"PrimaryKey": ["NominalOtherEquipmentIndex"],
|
||||
"ParseDates": [],
|
||||
},
|
||||
NominalPeople={"PrimaryKey": ["NominalPeopleIndex"], "ParseDates": []},
|
||||
NominalSteamEquipment={
|
||||
"PrimaryKey": ["NominalSteamEquipmentIndex"],
|
||||
"ParseDates": [],
|
||||
},
|
||||
NominalVentilation={"PrimaryKey": ["NominalVentilationIndex"], "ParseDates": []},
|
||||
ReportData={"PrimaryKey": ["ReportDataIndex"], "ParseDates": []},
|
||||
ReportDataDictionary={
|
||||
"PrimaryKey": ["ReportDataDictionaryIndex"],
|
||||
"ParseDates": [],
|
||||
},
|
||||
ReportExtendedData={"PrimaryKey": ["ReportExtendedDataIndex"], "ParseDates": []},
|
||||
RoomAirModels={"PrimaryKey": ["ZoneIndex"], "ParseDates": []},
|
||||
Schedules={"PrimaryKey": ["ScheduleIndex"], "ParseDates": []},
|
||||
Surfaces={"PrimaryKey": ["SurfaceIndex"], "ParseDates": []},
|
||||
SystemSizes={
|
||||
"PrimaryKey": ["SystemSizesIndex"],
|
||||
"ParseDates": {"PeakHrMin": "%m/%d %H:%M:%S"},
|
||||
},
|
||||
Time={"PrimaryKey": ["TimeIndex"], "ParseDates": []},
|
||||
ZoneGroups={"PrimaryKey": ["ZoneGroupIndex"], "ParseDates": []},
|
||||
Zones={"PrimaryKey": ["ZoneIndex"], "ParseDates": []},
|
||||
ZoneLists={"PrimaryKey": ["ZoneListIndex"], "ParseDates": []},
|
||||
ZoneSizes={"PrimaryKey": ["ZoneSizesIndex"], "ParseDates": []},
|
||||
ZoneInfoZoneLists={"PrimaryKey": ["ZoneListIndex"], "ParseDates": []},
|
||||
Simulations={
|
||||
"PrimaryKey": ["SimulationIndex"],
|
||||
"ParseDates": {"TimeStamp": {"format": "YMD=%Y.%m.%d %H:%M"}},
|
||||
},
|
||||
EnvironmentPeriods={"PrimaryKey": ["EnvironmentPeriodIndex"], "ParseDates": []},
|
||||
TabularData={"PrimaryKey": ["TabularDataIndex"], "ParseDates": []},
|
||||
Strings={"PrimaryKey": ["StringIndex"], "ParseDates": []},
|
||||
StringTypes={"PrimaryKey": ["StringTypeIndex"], "ParseDates": []},
|
||||
TabularDataWithStrings={"PrimaryKey": ["TabularDataIndex"], "ParseDates": []},
|
||||
Errors={"PrimaryKey": ["ErrorIndex"], "ParseDates": []},
|
||||
)
|
||||
|
||||
# common_umi_objects
|
||||
common_umi_objects = []
|
||||
|
||||
# default crs for when creating plots and querying databases
|
||||
default_crs = {"init": "epsg:4326"}
|
||||
|
||||
# unique schedule number as list
|
||||
unique_schedules = []
|
||||
|
||||
# TRNSYS default location
|
||||
trnsys_default_folder = Path(r"C:\TRNSYS18")
|
||||
|
||||
# region read template - use io.BytesIO(settings.template) in code
|
||||
import pkg_resources
|
||||
|
||||
resource_package = translator.__name__ # Could be any module/package name
|
||||
|
||||
# originBUISketchUp.idf template
|
||||
resource_path = "/".join(("ressources", "originBUISketchUp.idf"))
|
||||
# Do not use os.path.join()
|
||||
template_BUI = pkg_resources.resource_string(resource_package, resource_path)
|
||||
|
||||
# window library ('W74-lib.dat') template
|
||||
resource_path = "/".join(("ressources", "W74-lib.dat"))
|
||||
# Do not use os.path.join()
|
||||
template_winLib = pkg_resources.resource_string(resource_package, resource_path)
|
||||
|
||||
# NewFileTemplate.d18 ('W74-lib.dat') template
|
||||
resource_path = "/".join(("ressources", "NewFileTemplate.d18"))
|
||||
# Do not use os.path.join()
|
||||
path_template_d18 = pkg_resources.resource_filename(resource_package, resource_path)
|
||||
# endregion
|
||||
|
||||
# Units
|
||||
|
||||
unit_registry = pint.UnitRegistry()
|
||||
|
||||
|
||||
class ZoneWeight(object):
|
||||
"""Zone weights for Umi Templates"""
|
||||
|
||||
weight_attr = {0: "area", 1: "volume"}
|
||||
|
||||
def __init__(self, n=0):
|
||||
self._weight_attr = self.weight_attr[n]
|
||||
|
||||
def __str__(self):
|
||||
return self.get_weight_attr()
|
||||
|
||||
def get_weight_attr(self):
|
||||
return self._weight_attr
|
||||
|
||||
def set_weigth_attr(self, weight):
|
||||
if weight not in self.weight_attr.values():
|
||||
i = len(self.weight_attr) + 1
|
||||
self.weight_attr[i] = weight
|
||||
self._weight_attr = weight
|
||||
|
||||
|
||||
zone_weight = ZoneWeight(n=0)
|
||||
|
||||
# Latest version of EnergyPlus compatible with translator
|
||||
ep_version = "9-2-0"
|
2835
translater/trnsys.py
Normal file
2835
translater/trnsys.py
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user