Skip to content

jesieleo/teslakit

 
 

Repository files navigation

TESLA-kit Coastal risk assessment

Teslakit is a Python3 collection of libraries for numerical and statistical calculations and methodologies for handling global climate data.

The stochastic climate emulator proposed is built on the recognition that coastal conditions are the result of meteorological forcing, and that synoptic-scale meteorology is in turn a consequence of large-scale quasi-steady atmospheric and oceanic patterns (e.g., Anderson et al. 2019)

Main contents

teslakit modules:

  • alr AutoRegressive Logistic Model customized wrapper

  • climate_emulator DWTs-Waves Extremes Statistical Emulator (GEV, Gumbel, Weibull)

  • estela SLP ESTELA Predictor module

  • extremes Extremes Statistics library

  • intradaily Intradaily Hydrographs library

  • kma KMeans Classification library

  • mda MaxDiss Classification library

  • mjo Madden-Julian Oscilation data functions

  • pca Customized Principal Component Analysis library

  • rbf Radial Basis Function library

  • statistical statistical multipurpose module: KDE, GeneralizedPareto, Empirical Kernels for copula fit and simulation

  • storms storms and tropical cyclones library

  • tides tides functions library

  • waves waves functions library

  • plotting set of modules for teslakit data and output plotting

  • database custom database developed to ease the multiple files required for a teslakit site

databases:

Project Map

picture

Documentation

Anderson, D., Rueda, A., Cagigal, L., Antolinez, J. A. A., Mendez, F. J., & Ruggiero, P. (2019). Time‐varying emulator for short and long‐term analysis of coastal flood hazard potential. Journal of Geophysical Research: Oceans, 124. https://doi.org/10.1029/2019JC015312

Anderson, D., Ruggiero, P., Mendez, F. J., Rueda, A., Antolinez, J. A., Cagigal, L., Storlazzi, C., Barnard, P., & Marra, J. (2018). TIME-VARYING EMULATOR FOR SHORT- AND LONG-TERM ANALYSIS OF COASTAL FLOODING (TESLA-FLOOD). Coastal Engineering Proceedings, 1(36), currents.4. https://doi.org/10.9753/icce.v36.currents.4

Rueda, Hegermiller, Antolinez, Camus, Vitousek, Ruggiero, Barnard, Erikson, Tomas, Mendez (2017): Multi-scale climate emulator of multimodal wave spectra: MUSCLE-spectra, J. Geophy. Res. Oceans, vol. 122, pp 1400-1415.

Serafin, Ruggiero (2014): Simulating extreme total water levels using a time-dependent, extreme value approach. J. Geophys. Res. Oceans, vol. 119, pp. 6305-6329.

Install


Source code is currently privately hosted on GitLab at: https://gitlab.com/geoocean/bluemath/bluemath-projects/teslakit/tree/master

A public "push" mirror can be located on GitHub at: https://github.com/teslakit/teslakit/tree/master

Installing from sources

Navigate to the base root of teslakit

Using a Python virtual environment is recommended

# install virtualenv package 
python3 -m pip install virtualenv

# create a new virtual environment for teslakit installation
python3 -m virtualenv venv

# now activate the virtual environment
source venv/bin/activate

Now install teslakit requirements

pip install -r requirements/requirements.txt

Then install teslakit

python setup.py install

Installing SWAN numerical model

teslakit/numerical_models/swan/ is a custom developed python toolbox used to wrap SWAN numerical model

SWAN numerical model has to be compiled for serial execution and stored at teslakit swan binary resources folder

First download and compile SWAN serial executable

  # you may need to install a fortran compiler
  sudo apt install gfortran

  # download and unpack
  wget http://swanmodel.sourceforge.net/download/zip/swan4131.tar.gz
  tar -zxvf swan4131.tar.gz

  # compile numerical model
  cd swan4131/
  make config
  make ser

Now manually move executable file to resources/swan_bin/ and change file name to "swan_ser.exe"

Alternatively, set swan executable file using our swan python module

  # Launch a python interpreter
  $ python

  Python 3.6.9 (default, Apr 18 2020, 01:56:04) 
  [GCC 8.4.0] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  
  >>> from teslakit.numerical_models import swan
  >>> swan.set_swan_binary_file('swan.exe')

Installing optional modules

Basemap module is used in some Teslakit figures.

It is not needed to run any calculation and installing it is optional

Follow Basemap installation instructions at https://github.com/matplotlib/basemap

pip install git+https://github.com/matplotlib/basemap.git

Handling a Teslakit Project


Jupyter notebook files can be found at notebooks

launch jupyter notebook

jupyter notebook

Current development test site notebooks can be found at ROI

Also, test site needed input files can be downloaded from OneDrive

(Input data adquisition is currently not integrated in teslakit)

Once ROI data is downloaded and unpacked, a input data check can be done at: 00_Set_Database.ipynb

Contributors

Nicolás Ripoll Cabarga ([email protected])
Ana Cristina Rueda Zamora ([email protected])
Laura Cagigal Gil ([email protected])
Alba Cid Carrera ([email protected])
Alba Ricondo Cueva ([email protected])
Sara Ortega Van Vloten ([email protected])
Israel Rubio Llarena ([email protected])
Fernando Mendez Incera ([email protected])

Thanks also to

License

This project is licensed under the MIT License - see the license file for details

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.5%
  • Python 0.5%