Giter Site home page Giter Site logo

projectesl's Introduction

projectESL

projectESL is a python repository for analyzing extreme sea levels from various sources and using the resulting extreme value distributions to project frequency amplification factors due to projected sea-level change. The repository can do (stationary) extreme value analysis of high-frequency tide gauge data from the GESLA2 and 3 databases and from hydrodynamic model output (GTSM). It also supports ingestion of predefined extreme value distribution parameters or return curves from a number of previous studies, varying in spatial coverage. The user has the option to combine the information on extreme sea levels with mean sea-level projections to compute amplification factors or their timing.

Instructions

First, configure projectESL by changing the configuration file config.yml. Make sure that the paths to the files required for the configured settings point to the right directories and that the required data has been downloaded and prepared correctly beforehand (see the tables below for further instructions). Then, run projectESL by executing run.py. This will first process the extreme value data, and depending on the configured settings, then combine extreme value distributions with the provided sea-level projections to compute projections of extreme sea levels due to future sea-level change. For the last step, a dask distributed cluster is started to process different locations in parallel and hande out-of-memory data.

Options & required data

To run projectESL, an input xarray file holding the latitude and longitude coordinates of the desired input locations must always be specified (under input_locations in config.yml). If configuring the program to project amplification factors and/or their timing in addition to producing extreme sea-level distributions, this input file also needs to contain sea-level projections. As projectESL was designed to be compatible with the FACTS framework (https://github.com/radical-collaboration/facts), the input dataset is expected to be formatted according to the format of FACTS regional sea-level projections output. A helper function generate_sites_input.py is provided to help prepare the input file.

projectESL allows the user to derive extreme sea-level distributions from various data sources. The following table details these options and the data required for them:

Input option Required data
gesla2 Available from https://gesla787883612.wordpress.com/gesla2/
gesla3 Available from https://gesla787883612.wordpress.com/downloads/
gtsm_dmax Available from https://cds.climate.copernicus.eu/cdsapp#!/dataset/sis-water-level-change-timeseries-cmip6?tab=overview
vousdoukas2018 input/Vousdoukas2018_Historical_ERA-INTERIM_wl.nc (based on surge only)
virezci2020 input/Kirezci2020_gpd.csv
hermans2023 input/Hermans2023_gesla3_gpd_daily_max_potATS_Solari.nc
coast-rp Full dataset from Dullaart et al. (2021), available upon request of authors

The user has the option to use constant reference frequencies for the computation of amplification factors, to use estimated flood protection standards based on historical cost-benefit modeling, or to use custom flood protection standards:

Input option Required data
diva Available upon request from Daniel Lincke
flopros Available from https://zenodo.org/records/3475120
custom custom data, for example input/flopros_estimates_at_coastrp_locations.nc

After obtaining the relevant data, the user needs to set the paths to these data in config.yml.

Dependencies

  • numpy
  • pandas
  • xarray
  • dask
  • zarr
  • netcdf4
  • scipy
  • tqdm
  • yaml
  • geopandas (if using 'diva' or 'flopros' as reference return frequencies)
  • matplotlib (only for visualization)
  • cartopy (only for visualization)
  • cmocean (only for visualization)

projectesl's People

Contributors

timh37 avatar

Watchers

 avatar

Forkers

victor-malagon

projectesl's Issues

MHHW not computed when using GTSM daily maxima as ESL data

When settingesl_data: "gtsm_dmax" in config.yml, MHHW is not computed from the data, and below_gpd_threshold: "mhhw" will be ignored. Computation of MHHW and storage in esl_statistics should therefore be added to the relevant function in esl_analysis.py.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.