Merge branch 'release/v1.0.1'

This commit is contained in:
unknown 2020-06-23 11:27:22 -04:00
commit b49367d62a
101 changed files with 624009 additions and 1 deletions

108
.gitignore vendored Normal file
View File

@ -0,0 +1,108 @@
.DS_Store
.idea/
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
# Translations
*.mo
*.pot
# Django stuff:
*.log
# Sphinx documentation
docs/_build/
# PyBuilder
target/
\.idea/
\.ipynb_checkpoints/
data/
energy-table\.xlsx
main-test\.py
# EnergyPlus
*.audit
*.bnd
*.eio
*.end
*.err
*.mdd
*.mtd
*.rdd
*.shd
*.sql
*.htm
*.dbg
*.eso
*.mtr
# vscode stuff
.vscode/
# archetypal stuff
cache/
notebooks/
_build/
tests/\.temp/
*.lp
\.DS_Store
tests/input_data/schedules/eprun/
trnsidf.exe
docs/reference/

53
.travis.yml Normal file
View File

@ -0,0 +1,53 @@
language: python
env:
global:
- TRANSLATER_INTEGRATION=True ENERGYPLUS_VERSION=9.2.0 ENERGYPLUS_SHA=921312fa1d
ENERGYPLUS_INSTALL_VERSION=9-2-0 MINICONDA_VERSION=latest
addons:
apt:
packages:
- wine
- libgfortran3
jobs:
include:
- name: Python 3.8 on Xenial Linux
python: 3.8 # this works for Linux but is ignored on macOS or Windows
script: py.test --cov=translater --verbose tests/
after_success:
- coverage report -m
- coveralls
- name: Python 3.8 on macOS
os: osx
osx_image: xcode11.2
language: objective-c
script: py.test --cov=translater --verbose tests/
- name: "Python 3.8 on Windows"
os: windows # Windows 10.0.17134 N/A Build 17134
language: shell # 'language: python' is an error on Travis CI Windows
script: py.test --cov=translater --verbose tests/
- stage: deploy
script: echo "Deploying to PyPi and GitHub releases ..."
deploy:
- provider: pypi
user: louisleroy5
password:
secure: q9/Zn6gDGvqNgteVI9XINg7R76uSsZDDDRjCNv9HR3660EdaHyS6lVCZwMSSR6DgWE623R8HfLaEbc8Y1r+jluzy59nOuYVB8n6MfBweWHT9Pts22RKzH7MPz2HNct+C0PwM2CRLJjq1fXql6qtWq8DiGYk7B9rk+Z3C+wamOj8IOFfq6uQC61LQWDKv4nD1feDisdFdR3JAzx23HlutgyQxltPjltYz3v1elQFQPRm3ggISSntkz3LDsw9dHiQeqgsiEU6sMCCQpqa+IGGOIqppazx+kh2+muOF+VQTvMx5MHdx1YubPK0+RStIRrkp8j7hA7LHFxFRWnRIiRDHWXAJGanrYL3ss62tZJj3PPQ+DT52HVhLPswN6eoof1ahD5SBQBQrnZdtxSMgzEfegtZMGLCrO7cllRjV6jCuS28FMQWMxwdO3qTDcp8c9Cf9lIdL4seMrFAneVtmcCpW0XfnprTW9Req33PePo7h0bSSvBhgZv2kkiAy6g5MndOmi+Msavz9sPTyo7zySEx3k7e+0+GMWmJYg5+rB4xWpvbIFntZeN5M4CfG9QDX3cz0GZ5znxc8hurbqsNq9mH95fPorZ8UDjXTyw7LawluiQA1Pvi6sZ7tXzC/lSr1VM7udX3TH7QEVOsAevf0ZbkDRAN8NOs6ywbQ+EmHZXekNnc=
on:
distributions: sdist bdist_wheel
repo: louisleroy5/translater
branch: master
tags: true
before_install:
- source install_energyplus.sh
- wget https://raw.githubusercontent.com/trichter/conda4travis/latest/conda4travis.sh -O conda4travis.sh
- source conda4travis.sh
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
- conda info -a
- conda env update -q -n test-env python=$TRAVIS_PYTHON_VERSION -f environment.yml
- conda activate test-env
- python --version
install:
# - pip install --upgrade pip
- pip install --upgrade setuptools
- pip install .[dev]

6
MANIFEST.in Normal file
View 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 translater/ressources/*
include requirements.txt
include requirements-dev.txt

View File

@ -1 +1,24 @@
translater
[![Build Status](https://travis-ci.com/louisleroy5/transalter.svg?branch=develop)](https://travis-ci.com/samuelduchesne/archetypal)
[![Coverage Status](https://coveralls.io/repos/github/samuelduchesne/archetypal/badge.svg)](https://coveralls.io/github/samuelduchesne/archetypal)
[![Documentation Status](https://readthedocs.org/projects/archetypal/badge/?version=latest)](https://archetypal.readthedocs.io/en/latest/?badge=latest)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
# Translater
**python for converting building simulation archetypes**
Convert IDF file (EnergyPlus) to BUI file (TRNBuild)
## Overview
** Translater** 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

97
docker/Dockerfile Normal file
View 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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

24
docker/trnsidf/readme.1st Normal file
View 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

Binary file not shown.

27
environment.yml Normal file
View 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
View 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
View 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
View 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

2
setup.cfg Normal file
View File

@ -0,0 +1,2 @@
[metadata]
description-file = README.md

76
setup.py Normal file
View 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 = """
translater 1.0+ 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="translater",
version=find_version("translater", "__init__.py"),
packages=["translater"],
package_data={
"translater": [
"translater/ressources/originBUISketchUp.idf",
"translater/ressources/W74-lib.dat",
"translater/ressources/NewFileTemplate.d18",
]
},
include_package_data=True,
url="https://github.com/louisleroy5/translater",
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]
translater=translater.cli:cli
""",
)

0
tests/__init__.py Normal file
View File

103
tests/conftest.py Normal file
View File

@ -0,0 +1,103 @@
import glob
import os
import shutil
import sys
import pytest
import translater 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

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

View 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

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

View 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_

File diff suppressed because it is too large Load Diff

Binary file not shown.

View 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

View 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_

View 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

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

View 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}

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

Binary file not shown.

299
tests/test_cli.py Normal file
View File

@ -0,0 +1,299 @@
import os
import pytest
from click.testing import CliRunner
from path import Path
from translater import settings, copy_file, log, load_idf
from translater.cli import cli
from tests.test_trnsys import get_platform
class TestCli:
"""Defines tests for usage of the translater 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",
"translater/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",
"translater/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
View File

@ -0,0 +1,148 @@
import os
import translater as tr
import pandas as pd
import pytest
from path import Path
from translater 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 translater 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 translater 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 translater 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
View File

@ -0,0 +1,259 @@
import os
import random
import subprocess
import translater 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 translater.settings
from translater 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",
[translater.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 translater 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 translater 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 translater 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 translater 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 translater 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 translater 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 translater 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
View File

@ -0,0 +1,161 @@
import os
import pytest
from translater 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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
Metadata-Version: 2.1
Name: translater
Version: 1.0.0
Summary: Convert IDF file (EnergyPlus) to BUI file (TRNBuild)
Home-page: https://github.com/louisleroy5/translater
Author: Louis Leroy
Author-email: louis.leroy@polymtl.ca
License: Polytechnique Montréal
Description:
# Translater
**python for converting building simulation archetypes**
Convert IDF file (EnergyPlus) to BUI file (TRNBuild)
## Overview
** Translater** 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

View File

@ -0,0 +1,29 @@
MANIFEST.in
README.md
requirements-dev.txt
requirements.txt
setup.cfg
setup.py
translater/__init__.py
translater/cli.py
translater/energydataframe.py
translater/energyseries.py
translater/idfclass.py
translater/plot.py
translater/reportdata.py
translater/schedule.py
translater/settings.py
translater/simple_glazing.py
translater/tabulardata.py
translater/trnsys.py
translater/umi_template.py
translater/utils.py
translater.egg-info/PKG-INFO
translater.egg-info/SOURCES.txt
translater.egg-info/dependency_links.txt
translater.egg-info/entry_points.txt
translater.egg-info/requires.txt
translater.egg-info/top_level.txt
translater/ressources/NewFileTemplate.d18
translater/ressources/W74-lib.dat
translater/ressources/originBUISketchUp.idf

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,4 @@
[console_scripts]
translater= translater.cli:cli

View 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

View File

@ -0,0 +1 @@
translater

25
translater/__init__.py Normal file
View File

@ -0,0 +1,25 @@
################################################################################
# Module: __init__.py
# Description: translater: Convert IDF file (EnergyPlus) to BUI file (TRNBuild)
# License: -
# Web: https://github.com/louisleroy5/translater
################################################################################
# Version of the package
__version__ = "1.0.1"
# warn if a newer version of translater is available
from outdated import warn_if_outdated
from .utils import warn_if_not_compatible
# warn_if_outdated("translater", __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 *

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

374
translater/cli.py Normal file
View File

@ -0,0 +1,374 @@
################################################################################
# Module: cli.py
# Description: Implements translater functions as Command Line Interfaces
# License: MIT, see full license in LICENSE.txt
# Web: https://github.com/louisleroy5/translater
################################################################################
import os
import time
from collections import defaultdict
from typing import Any, Union
from path import Path
import click
from tabulate import tabulate
from translater 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 "
"translater 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,
):
"""translater: Retrieve, construct, simulate, convert and analyse building
simulation templates
Visit translater.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
)
)

View File

@ -0,0 +1,237 @@
import matplotlib.pyplot as plt
from pandas import DataFrame, Series, DatetimeIndex
from translater import EnergySeries, settings
from translater.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

File diff suppressed because it is too large Load Diff

2556
translater/idfclass.py Normal file

File diff suppressed because it is too large Load Diff

447
translater/reportdata.py Normal file
View 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 translater 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)

View 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

File diff suppressed because it is too large Load Diff

View 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

File diff suppressed because it is too large Load Diff

175
translater/settings.py Normal file
View 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/louisleroy5/translater
################################################################################
import logging as lg
import pint
from path import Path
# locations to save data, logs, images, and cache
import translater
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 = "translater"
log_filename = "translater"
# 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 = translater.__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 translater
ep_version = "9-2-0"

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