Skip to content
Maggie Sullivan edited this page Apr 21, 2023 · 15 revisions

What is Alfalfa?

Alfalfa is an open source web application forged in the melting pot of Building Energy Modeling (BEM), Building Controls, and Software Engineering domain expertise.​ Alfalfa transforms a Building Energy Models (BEMs) into virtual buildings by providing industry standard building control interfaces for interacting with models as they run.​ From a software engineering perspective, Alfalfa leverages widely adopted open source products and is architected according to best practices for a robust, modular, and scalable architecture.

The main goals of Alfalfa include the following:

  1. Provide an industry-standard API for co-simulation through which an OpenStudio/EnergyPlus, Spawn, or Modelica model can be interacted with. Alfalfa supports upload of osw, fmu, or zip (a zipped-up version of the OpenStudio workflow directory structure) files.
  2. Support large-scale parallel building simulation using commodity cloud computing resources such as AWS.
  3. Provide a RESTful interface for uploading, starting, and stopping simulation(s), as well as a simple user interface for these tasks.

Why use Alfalfa?

Consolidation:

Alfalfa handles all the details for running energy models with a variety of engines, including IO to the running model. These implementation details are obscure, time consuming, and error prone when tackled on a project-by-project basis. ​Similarly, Alfalfa handles the details of implementing industry standard control interfaces. The modular architecture allows you to pick and choose the right engine and interface for your application.

Need something new? Consider contributing to the project instead of re-inventing to stand something up end-to-end for your application.

Abstraction:

For project workflows that leverage Alfalfa, the entire model, including modeling engine, can be swapped out without affecting other components in the workflow. Replacing an OpenStudio model with a Modelica-generated FMU is as simple as uploading a different file.


Model Configuration

Openstudio

Tutorials

Guides

Reference

Modelica

Guides

Alfalfa Interaction

Tutorials

Guides

Reference

Explanation

Alfalfa Development

Guides

General

Reference

Explanation

Clone this wiki locally