Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 9 additions & 21 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -191,11 +191,11 @@ set(ENERGYPLUS_VERSION_MINOR 2)
set(ENERGYPLUS_VERSION_PATCH 0)
set(ENERGYPLUS_VERSION "${ENERGYPLUS_VERSION_MAJOR}.${ENERGYPLUS_VERSION_MINOR}.${ENERGYPLUS_VERSION_PATCH}")
# Build SHA is not required to have a value, but if it does OpenStudio will require this build.
set(ENERGYPLUS_BUILD_SHA "56f3a890b4")
set(ENERGYPLUS_BUILD_SHA "c249759bad")

# ENERGYPLUS_RELEASE_NAME is used to locate the E+ download
# from the github releases
set(ENERGYPLUS_RELEASE_NAME "v22.2.0-IOFreeze")
set(ENERGYPLUS_RELEASE_NAME "v22.2.0")

# Radiance
set(RADIANCE_VERSION "5.0.a.12")
Expand Down Expand Up @@ -579,10 +579,10 @@ endif()
if(UNIX)
if(APPLE)
if (ARCH MATCHES "arm64")
set(ENERGYPLUS_EXPECTED_HASH 1faddd434694d18712147048444cb92c)
set(ENERGYPLUS_EXPECTED_HASH 48af06ee5b4b0393444e6e57f4adadd5)
set(ENERGYPLUS_PLATFORM "Darwin-macOS12.1-arm64")
else()
set(ENERGYPLUS_EXPECTED_HASH e89e54a74b4b0e7dcb1f79c263421c40)
set(ENERGYPLUS_EXPECTED_HASH 92a76c5d60cf91536bdeacbe780d135a)
set(ENERGYPLUS_PLATFORM "Darwin-macOS10.15-x86_64")
endif()
elseif(LSB_RELEASE_ID_SHORT MATCHES "CentOS")
Expand All @@ -591,9 +591,9 @@ if(UNIX)
set(ENERGYPLUS_PLATFORM "Centos7-x86_64")
else()
if(LSB_RELEASE_VERSION_SHORT MATCHES "20.04")
set(ENERGYPLUS_EXPECTED_HASH d8c01ad25d9d17dac7153a2c0bb19b16)
set(ENERGYPLUS_EXPECTED_HASH f8a45aa0a01523b5f904d5c2ae8302f8)
else() # 18.04
set(ENERGYPLUS_EXPECTED_HASH 5980f1d8521d161930eff63a737e7dc9)
set(ENERGYPLUS_EXPECTED_HASH 58b8397f55c2a1ede7ed08c5892e62ed)
endif()
set(ENERGYPLUS_PLATFORM "Linux${ENERGYPLUS_SYSTEM_VERSION}-x86_64")
endif()
Expand Down Expand Up @@ -625,11 +625,11 @@ elseif(WIN32)
if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64 bit
set(ENERGYPLUS_PATH "EnergyPlus-${ENERGYPLUS_VERSION}-${ENERGYPLUS_BUILD_SHA}-Windows-x86_64")
set(ENERGYPLUS_ARCH 64)
set(ENERGYPLUS_EXPECTED_HASH 3b46559fffbb23cb523ed87b2119e06f)
set(ENERGYPLUS_EXPECTED_HASH c6d296be45420d6e497f33727f044676)
else()
set(ENERGYPLUS_PATH "EnergyPlus-${ENERGYPLUS_VERSION}-${ENERGYPLUS_BUILD_SHA}-Windows-i386")
set(ENERGYPLUS_ARCH 32)
set(ENERGYPLUS_EXPECTED_HASH 9ba4f821474420463182aff06c5ad86e)
set(ENERGYPLUS_EXPECTED_HASH 68108677fceb17bd58be1c9c7a68f418)
endif()
if(EXISTS "${PROJECT_BINARY_DIR}/${ENERGYPLUS_PATH}.zip")
file(MD5 "${PROJECT_BINARY_DIR}/${ENERGYPLUS_PATH}.zip" ENERGYPLUS_HASH)
Expand Down Expand Up @@ -1310,16 +1310,7 @@ install(DIRECTORY "${ENERGYPLUS_DIR}/python_standard_lib" DESTINATION ./EnergyPl
install(DIRECTORY "${ENERGYPLUS_DIR}/pyenergyplus" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)

if(APPLE)
install(PROGRAMS "${ENERGYPLUS_DIR}/libgfortran.5.dylib" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
if (ARCH MATCHES arm64)
install(PROGRAMS "${ENERGYPLUS_DIR}/libgcc_s.1.1.dylib" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
install(PROGRAMS "${ENERGYPLUS_DIR}/libintl.8.dylib" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
# TODO: quadmath / intl?
else()
install(PROGRAMS "${ENERGYPLUS_DIR}/libquadmath.0.dylib" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
install(PROGRAMS "${ENERGYPLUS_DIR}/libgcc_s.1.dylib" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
install(PROGRAMS "${ENERGYPLUS_DIR}/libintl.8.dylib" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
endif()
install(PROGRAMS "${ENERGYPLUS_DIR}/libintl.8.dylib" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
#install(PROGRAMS "${ENERGYPLUS_DIR}/Python" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
file(GLOB ENERGYPLUS_PYTHON_LIBS "${ENERGYPLUS_DIR}/libpython*")
foreach(python_lib IN LISTS ENERGYPLUS_PYTHON_LIBS)
Expand Down Expand Up @@ -1357,9 +1348,6 @@ elseif(UNIX)
foreach(python_lib IN LISTS ENERGYPLUS_PYTHON_LIBS)
install(PROGRAMS "${python_lib}" DESTINATION ./EnergyPlus/ COMPONENT EnergyPlus)
endforeach()
else()
#install(PROGRAMS "${ENERGYPLUS_PATH}/libgfortran.5.dylib" DESTINATION ./EnergyPlus/)
#install(PROGRAMS "${ENERGYPLUS_PATH}/libquadmath.0.dylib" DESTINATION ./EnergyPlus/)
endif()

if(WIN32)
Expand Down
56 changes: 30 additions & 26 deletions src/measure/OSRunner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -528,36 +528,40 @@ namespace measure {
stepValues.emplace_back(user_argument.name(), user_argument.defaultValueAsBool());
}
} else if (typeValue == OSArgumentType::Double) {
auto value = user_argument.hasValue() ? user_argument.valueAsDouble() : user_argument.defaultValueAsDouble();
if (script_argument.hasDomain()) {
// Validate it's in the domain
auto domain = script_argument.domainAsDouble();
auto& low = domain.front();
auto& high = domain.back();
if (value < low || value > high) {
registerError(fmt::format("{} User argument '{}' has a value '{}' that is not in the domain [{}, {}].",
user_argument.type().valueName(), script_argument.name(), value, low, high));
result = false;
if (user_argument.hasValue() || user_argument.hasDefaultValue()) {
auto value = user_argument.hasValue() ? user_argument.valueAsDouble() : user_argument.defaultValueAsDouble();
if (script_argument.hasDomain()) {
// Validate it's in the domain
auto domain = script_argument.domainAsDouble();
auto& low = domain.front();
auto& high = domain.back();
if (value < low || value > high) {
registerError(fmt::format("{} User argument '{}' has a value '{}' that is not in the domain [{}, {}].",
user_argument.type().valueName(), script_argument.name(), value, low, high));
result = false;
}
}
if (result) {
stepValues.emplace_back(user_argument.name(), value);
}
}
if (result) {
stepValues.emplace_back(user_argument.name(), value);
}
} else if (typeValue == OSArgumentType::Integer) {
auto value = user_argument.hasValue() ? user_argument.valueAsInteger() : user_argument.defaultValueAsInteger();
if (script_argument.hasDomain()) {
// Validate it's in the domain
auto domain = script_argument.domainAsInteger();
auto& low = domain.front();
auto& high = domain.back();
if (value < low || value > high) {
registerError(fmt::format("{} User argument '{}' has a value '{}' that is not in the domain [{}, {}].",
user_argument.type().valueName(), script_argument.name(), value, low, high));
result = false;
if (user_argument.hasValue() || user_argument.hasDefaultValue()) {
auto value = user_argument.hasValue() ? user_argument.valueAsInteger() : user_argument.defaultValueAsInteger();
if (script_argument.hasDomain()) {
// Validate it's in the domain
auto domain = script_argument.domainAsInteger();
auto& low = domain.front();
auto& high = domain.back();
if (value < low || value > high) {
registerError(fmt::format("{} User argument '{}' has a value '{}' that is not in the domain [{}, {}].",
user_argument.type().valueName(), script_argument.name(), value, low, high));
result = false;
}
}
if (result) {
stepValues.emplace_back(user_argument.name(), value);
}
}
if (result) {
stepValues.emplace_back(user_argument.name(), value);
}
} else if ((typeValue == OSArgumentType::String) || (typeValue == OSArgumentType::Choice) || (typeValue == OSArgumentType::Path)) {
if (user_argument.hasValue()) {
Expand Down