UMEP-dev / SuPy

SUEWS that speaks Python
https://supy.readthedocs.io/
GNU General Public License v3.0
13 stars 7 forks source link
land-surface-model urban-climate-model

SuPy

This project is merged into SUEWS.


Python Version Support Status Latest Version Status Downloads Launch Binder

Documentation Status DOI

SUEWS that speaks Python

Installation

SuPy requires 64-bit python 3.7+ and can be installed with pip in command line prompt:

python3 -m pip install supy --upgrade

Quick Demo

Once installed, supy can be quickly started to get SUEWS simulations done:

import supy as sp
import matplotlib.pyplot as plt

#load sample data
df_state_init, df_forcing = sp.load_SampleData()
grid = df_state_init.index[0]

#run supy/SUEWS simulation
df_output, df_state_end = sp.run_supy(df_forcing, df_state_init)

#plot results and save figure
res_plot = df_output.SUEWS.loc[grid, ['QN', 'QF', 'QS', 'QE', 'QH']]
ax=res_plot.loc['2012 6 4':'2012 6 6'].resample('30T').mean().plot()
plt.show()
ax.figure.savefig('sample_plot.png')

The above code will produce a plot of surface energy balance components as follows:

sample plot

Tutorial

Please check out more SuPy tutorials here!

Installation of the development version of SuPy

The development version supy includes both the supy wrapper and its kernel supy-driver - the calculation kernel written in Fortran.

All below is supposed to be in a directory named supy-dev - which however you can change.

  1. Get both the source code of SUEWS and SuPy

the development version of SuPy.

# get the source code of SUEWS and SuPy
git clone --recurse-submodules git@github.com:UMEP-dev/SUEWS.git

git clone git@github.com:UMEP-dev/SuPy.git
  1. Set up the conda environment
conda env create -f SuPy/env.yml
conda activate supy
  1. Install the dev version of SuPy

pip install -e SuPy/src
  1. Compile the kernel supy-driver
cd SUEWS/supy-driver
make dev

Here you can check if supy-driver is installed correctly:

pip show supy-driver

note the location field in the output, which should point to the local supy-driver directory.

Note: after installing the development version of supy-driver, you might get the warning about incompatibility, which you can ignore and carry on. However, in case of any issue, please report it here.

  1. Check the version info of installed supy
pip show supy

note the location field in the output, which should point to the local supy directory.