Programming Language and Database
ENERGY 2100 and Julia Language
ENERGY 2100 was created using the Julia programming language. Julia has the advantage of being easy to use like high-level languages (like Python or R) and the high performance and speed of compiled languages (like C or Fortran). See Installation Guide for instructions on installing Julia.
|
|
🛈 Note: ENERGY 2100 uses a static version of Julia, which is assigned in the Manifest.toml file. Locking the exact Julia version ensures reproducibility and helps manage compatibility of Julia dependencies. Users will be warned if they are running a different version. The ENERGY 2100 directory makes up a Julia project defined by both a Project.toml and a Manifest.toml file that work together to manage dependencies and ensure reproducibility. These files are automatically generated and updated when Julia package is activated. The Project.toml defines the project's top-level dependencies, and the Manifest.toml provides a record of the state of the packages in the environment, consisting of a version-locked description of project dependencies. For more information on Project.toml and Manifest.toml, see Julia Documentation. |
HDF5 Database
ENERGY 2100's variables and data are stored, organized, and accessed from a built-in HDF5 database. The HDF5 database was chosen due to its capability of fast I/O processing and storage.
To facilitate debugging, ENERGY 2100 saves and zips instances of the HDF5 model database at various steps during model execution. The database that is active during model execution, named database.hdf5,is located in the \2020Model folder.