Skip to main content

External tools for City Energy Analyst, mainly containing C++ components e.g. DAYSIM and CRAX

Project description

CEA External Tools Build Configuration

This directory contains the CMake configuration for building external tools required by the City Energy Analyst (CEA).

Structure

The build system has been modularized into separate configuration files:

  • CMakeLists.txt - Main build configuration file
  • DaysimConfig.cmake - DAYSIM-specific configuration and build logic
  • CraxConfig.cmake - CRAX-specific configuration and build logic

Components

DAYSIM

Daylighting simulation tool that provides various radiation calculation utilities.

Executables built:

  • ds_illum - Illuminance calculation
  • epw2wea - Weather file conversion
  • gen_dc - Daylight coefficient generation
  • oconv - Octree conversion
  • radfiles2daysim - Radiance file conversion
  • rtrace_dc - Ray tracing for daylight coefficients

CRAX

City Radiation Accelerator for fast urban radiation simulations.

Executables built:

  • radiation - Main radiation calculation engine
  • mesh-generation - 3D mesh generation utility

Build Options

You can control which components to build using CMake options:

# Build both components (default)
cmake -DBUILD_DAYSIM=ON -DBUILD_CRAX=ON ..

# Build only DAYSIM
cmake -DBUILD_DAYSIM=ON -DBUILD_CRAX=OFF ..

# Build only CRAX  
cmake -DBUILD_DAYSIM=OFF -DBUILD_CRAX=ON ..

CRAX-specific Options

CRAX has additional configuration options for Python wheel builds:

  • CRAX_USE_DYNAMIC_ARROW (default: ON) - Enable dynamic Arrow linking to save space in wheels
  • CRAX_USE_AUTOMATED_DEPENDENCIES (default: ON) - Use automated dependency fetching

Source Configuration

Both tools support local source directories or automatic fetching from GitHub:

DAYSIM

  • DAYSIM_SOURCE_DIR - Path to local DAYSIM source (default: ./daysim)
  • DAYSIM_GIT_REPOSITORY - Git repository URL (default: https://github.com/reyery/Daysim.git)
  • DAYSIM_GIT_TAG - Git tag/branch to use

CRAX

  • CRAX_SOURCE_DIR - Path to local CRAX source (default: ./crax)
  • CRAX_GIT_REPOSITORY - Git repository URL (default: https://github.com/wanglittlerain/CityRadiation-Accelerator-CRAX-V1.0.git)
  • CRAX_GIT_TAG - Git tag/branch to use

Installation

The built executables are installed to the CEA resources directory:

  • DAYSIM tools: cea/resources/radiation/bin
  • CRAX tools: cea/resources/radiation/bin

Build Targets

The build system includes a custom target cea_all that builds all required CEA components:

# Configure build
cmake -B build -S .

# Build all CEA targets (recommended)
cmake --build build --target cea_all

# Or build all targets
cmake --build build

# Install to CEA resources
cmake --install build

Compiler Warnings

The build system automatically suppresses common warnings for cleaner output:

  • GNU/Clang: Suppresses missing prototypes, unused variables, sign comparison, and deprecated declarations
  • MSVC: Suppresses warning C4127 to prevent build failures on Windows

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cea_external_tools-0.1.0.tar.gz (53.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cea_external_tools-0.1.0-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

cea_external_tools-0.1.0-cp312-cp312-manylinux_2_39_x86_64.whl (28.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

cea_external_tools-0.1.0-cp312-cp312-macosx_15_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

cea_external_tools-0.1.0-cp312-cp312-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

Details for the file cea_external_tools-0.1.0.tar.gz.

File metadata

  • Download URL: cea_external_tools-0.1.0.tar.gz
  • Upload date:
  • Size: 53.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cea_external_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4b77ff73568dbe50295659fae66733ec95defd8482215f4af4c5bf092719de4e
MD5 ded16d1a5593b63e81a20bff05a5e965
BLAKE2b-256 84173320f17b23768633ede033baf8e9f5419fcb1dfec95e694102ed7ceae22e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.1.0.tar.gz:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cea_external_tools-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for cea_external_tools-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 18dad9efc40468cf7330be6920fcdb5f1f97f04829733fd7545e90d15638c78f
MD5 a47cf40f8b6951d087dbe5de82d06bfa
BLAKE2b-256 a3982f258b3493e755b78d4bbecdd95b65ae827b8b712bffad04837ed1f9a6c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cea_external_tools-0.1.0-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for cea_external_tools-0.1.0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 12b3e79b7446932a473539dd34b3e265673264ee86d6a4e453ac0a208b55c03b
MD5 f70cf03535df6f0ebe0dd86c563202b2
BLAKE2b-256 a99fdf4323aed0b985a7705f55f8d34deae53b9df92c48c8ad053e72dd88e786

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.1.0-cp312-cp312-manylinux_2_39_x86_64.whl:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cea_external_tools-0.1.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for cea_external_tools-0.1.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c06d3fa8861701a593c60f79c695d5a1d908383c7957ed5b651a6727923ccb0d
MD5 dbe931cf5957af53036413676eccd36e
BLAKE2b-256 58c1094439398e1985338aae3112a46d15da6c01b735b5ecd7727975dd5eb6a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.1.0-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cea_external_tools-0.1.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cea_external_tools-0.1.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c4c4f68e6c7fec0ea4915a7e267f291c8a478950c092aef39087d59c4efc065a
MD5 d911d1d24740a218fd4c244c3e401e7e
BLAKE2b-256 126a51364ad55f74b042b88cbe222e7a1898b073284452fd37ac17a60904c127

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.1.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page