IHCantabria / NEOPRENE

Neyman-Scott Process Rainfall Emulator library
GNU General Public License v3.0
13 stars 6 forks source link

NEOPRENE: Neyman-Scott Process Rainfall Emulator

DOI

The NEOPRENE library implements a rectangular pulses model for rainfall emulation based on the Neyman-Scott process. The emulator may be used to generate multi-site synthetic rainfall time series that reproduce observed statistics at different temporal aggregations. It has been designed with rainfall dissaggregation and extreme rainfall analysis in mind.

The description of the Neyman-Scott Process -or Space-time Neyman-Scott Rectangular Pulses Model- can be found in the doc folder.

A paper describing and testing the library has been published in the scientific journal Geoscientific Model Development. The paper can be cited as:

Other papers by the authors where -previous incarnations of- the NEOPRENE library has been used and the mathematical model has been described are:

Test the library

If you are curious about how the library works or what it can do, I invite you to go to the Releases section of this webpage (on the right-hand side of the page) and download the executable file NEOPRENE-Setup for your operative system. This executable file will check if Jupyterlab Desktop is installed in your computer. If it is not, it will download the installation program for you to install Jupyterlab. After Jupyterlab is installed, NEOPRENE-Setup will launch the example notebooks for you. Then you can test the library and check its functionality in action.

Contents

Directory Contents
NSRP Python code to calibrate the NSRPM (Neyman-Scott Rectangular Pulse Model) and simulate single-site synthetic rainfall series.
STNSRP Python code for calibrate the STNSRPM (Space-Time Neyman-Scott Rectangular Pulse Model) and simulate multi-site synthetic rainfall series.
doc Description of the model.
notebooks Jupyter notebooks with examples on how to calibrate, simulate and validate a Neyman-Scott model using the library. Examples on how to perform a daily-to-hourly rainfall disaggregation using the synthetic series are also included.

Requirements

Scripts and (jupyter) notebooks are provided in Python to ensure reproducibility and reusability of the results. The simplest way to match all these requirements is by using a dedicated conda environment, which can be easily installed by issuing:

conda create -n NEOPRENE pip jupyter
conda activate NEOPRENE
pip install NEOPRENE

Examples of use

Examples of use of the NEOPRENE library are available in the form of jupyter notebooks. To run the examples follow the following steps:

  1. Download the folder notebooks from the github repository, or navigate to the folder should you have cloned the repo.
  2. Open jupyter notebook of Jupyter Lab (type jupyter notebook or jupyter lab in the terminal)
  3. Open one of the tests available in the notebooks folder with jupyter notebook (e.g. NSRP_test.ipynb, STNSRP_test.ipynb)

Errata and problem reporting

To report an issue with the library, please fill a GitHub issue.

Contributors

The original version of the library was developed by:

License

Copyright 2021 Instituto de Hidráulica Ambiental "IHCantabria". Universidad de Cantabria.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.