Metadata-Version: 2.4
Name: batem
Version: 0.7.7
Summary: A meta-package including core, heatpump, tespy, reno, sites and ecommunity
Author-email: Stephane Ploix <stephane.ploix@grenoble-inp.fr>
License-Expression: MIT
Project-URL: Homepage, https://gricad-gitlab.univ-grenoble-alpes.fr/batem/batem_all
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ipython
Requires-Dist: ipywidgets
Requires-Dist: nbformat
Requires-Dist: ipykernel
Requires-Dist: joblib
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: openpyxl
Requires-Dist: pandas
Requires-Dist: plotly
Requires-Dist: prettytable
Requires-Dist: PyExcelerate
Requires-Dist: importlib-metadata
Requires-Dist: pymor
Requires-Dist: pytz
Requires-Dist: requests
Requires-Dist: SALib
Requires-Dist: hplib
Requires-Dist: scipy
Requires-Dist: SQLAlchemy
Requires-Dist: tzlocal
Requires-Dist: tomlkit
Requires-Dist: timezonefinder>=8.0
Requires-Dist: windrose
Requires-Dist: kaleido
Requires-Dist: ipympl
Requires-Dist: weasyprint
Requires-Dist: CoolProp
Requires-Dist: snakeviz
Requires-Dist: tespy
Requires-Dist: scikit-learn
Requires-Dist: pvlib
Requires-Dist: pyvista[jupyter]
Requires-Dist: trame
Requires-Dist: trame-vtk
Requires-Dist: trame-plotly
Requires-Dist: geopy
Requires-Dist: contourpy
Requires-Dist: z3-solver
Requires-Dist: cmd2
Requires-Dist: jupyterlab
Requires-Dist: psychrochart; python_version < "3.14"
Provides-Extra: pdf
Requires-Dist: pypandoc; extra == "pdf"
Requires-Dist: xhtml2pdf; extra == "pdf"
Provides-Extra: psychro
Requires-Dist: psychrochart; extra == "psychro"
Provides-Extra: report
Requires-Dist: pypandoc; extra == "report"
Requires-Dist: xhtml2pdf; extra == "report"
Requires-Dist: psychrochart; extra == "report"
Dynamic: license-file

# BATEM

BATEM is a dynamic building energy simulator and teaching toolkit. It models wall inertia, air renewal, body metabolism, solar gains through glazing and opaque façades, HVAC, comfort, and PV.

The interactive entry point is **`baterm`** (the BATEM terminal). You do **not** need VS Code, MyBinder, or a special IDE setup to follow the course or run simulations.

## Install and start

```bash
pip install batem
baterm
# or: python -m batem.baterm
```

Requires **Python ≥ 3.12**. Inside the shell, use `help`, `help baterm`, and `manual` for the full user guide.

Project files (`.context`, `.building`, `.pv`, …) resolve under `./data` by default. Tab completion lists that folder.

## Lectures

Lecture PDFs ship with the package (`batem/lectures/slidesXX_*.pdf`). From `baterm`:

```text
lectures              # list available slides
lectures 1            # open slides01_*.pdf in your system PDF viewer
lectures 15           # open slides15_*.pdf
```

## Workshops (Jupyter notebooks)

Workshops are `workshopXX_*.ipynb` notebooks. `baterm` starts JupyterLab for you:

```text
workshops list        # list notebooks
workshops 1           # open workshop01_sun.ipynb
workshops 15          # open workshop15_design.ipynb
workshops stop        # stop the JupyterLab server started by baterm
```

JupyterLab runs in the background; `baterm` stays usable. The login URL and token are printed in the terminal. Notebooks can `import batem` without extra path setup.

Suggested order for each topic:

1. Open the lecture: `lectures N`
2. Open the workshop: `workshops N`
3. Answer questions in a **separate** document (Word, PDF, text, …) with clear references to section/question numbers
4. Upload that document to the course platform when required

## Running a building simulation

Everything runs inside `baterm` (GUIs and plots open in separate windows; closing them does not exit the shell).

```text
context load mysite          # or: context new
building load myhouse        # or: building new
building 3d                  # optional geometry check
building simulate            # annual hourly run (--quick = first 7 days)
building results             # HVAC + comfort
building plot                # pick time series
building vars                # list building variables
export annual_run            # Excel hand-off → annual_run.xlsx
```

Useful next steps:

```text
building edit                # Tk form (Lock/Tune for optimize)
building optimize            # comfort-first tune of Tune fields
building variation --quick   # parametric sweeps
pv load roof                 # photovoltaic plant
pv simulate
building plot                # also offers PV:power_W after pv simulate
enercost                     # electricity bill (needs building + pv simulate)
```

Help in the shell: `help building`, `help pv`, `help naming`, `manual`.

Longer reference: [`batem/doc/Baterm_User_Manual.md`](batem/doc/Baterm_User_Manual.md) · quick sheet: [`batem/doc/QUICK_REFERENCE.md`](batem/doc/QUICK_REFERENCE.md).

## Working with workshop notebooks

Notebooks opened by `workshops` use JupyterLab in the browser.

- **Text cells** — edit, then Shift+Enter to render
- **Code cells** — Run / Shift+Enter to execute
- **Restart & run all** — re-run the whole notebook when needed

Interactive Plotly figures:

- Double-click a legend item to isolate a series
- Drag to zoom; use Autoscale to reset
- Hover for point values

## Evaluation

You are evaluated on answers to the questions and exercises in the workshops.

Put answers in a **separate** document and reference question numbers clearly, for example:

*Section I., Question 1: (your answer)*

Then upload that document to the course platform.
