SUEWS that speaks Python
SuPy requires 64-bit python
3.7+ and can be installed with pip
in command line prompt:
python3 -m pip install supy --upgrade
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:
Please check out more SuPy tutorials here!
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.
- Get both the source code of SUEWS and SuPy
the development version of SuPy.
# get the source code of SUEWS and SuPy
git clone [email protected]:UMEP-dev/SUEWS.git
git clone [email protected]:UMEP-dev/SuPy.git
- Set up the conda environment
conda env create -f SuPy/env.yml
conda activate supy
- Install the dev version of SuPy
cd ../../SuPy
pip install -e src
- 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.
- 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.