forked from dynamicslab/pysindy
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request dynamicslab#71 from neuralhydrology/staging
Rework docs, add issue templates, fix minor bugs
- Loading branch information
Showing
17 changed files
with
417 additions
and
262 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
--- | ||
name: Bug report | ||
about: Create a report to help us improve | ||
title: "[BUG] Title describing the bug" | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
**Describe the bug** | ||
A clear and concise description of what the bug is. | ||
|
||
**To Reproduce** | ||
Steps to reproduce the behavior. E.g. which data did you use, what were the commands that you executed, did you modify the code, etc. | ||
|
||
**Expected behavior** | ||
A clear and concise description of what you expected to happen. | ||
|
||
**Description of the dataset** | ||
Provide details on the dataset that you use. Is it e.g. an out-of-the-box CAMELS dataset, or did you create your own csv/netCDF files. In that case, providing a data sample might be beneficial. | ||
|
||
**Logs & Screenshots** | ||
Please provide the full stack trace if any exception occured. If applicable, add screenshots to help explain your problem. | ||
|
||
**Desktop & Environment (please complete the following information):** | ||
- OS: [e.g. Linux, Windows, iOS] | ||
- The git commit if you cloned the repo, or the version number in `neuralhydrology/__about__.py`) | ||
- The Python version and a list of installed Python packages. If you use conda, you can create this list via `conda env export`. | ||
|
||
**Additional context** | ||
Add any other context about the problem here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
name: Feature request | ||
about: Suggest an idea for this project | ||
title: "[REQUEST] Title describing the feature request" | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
**Is your feature request related to a problem? Please describe.** | ||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] | ||
|
||
**Describe the solution you'd like** | ||
A clear and concise description of what you want to happen. | ||
|
||
**Describe alternatives you've considered** | ||
A clear and concise description of any alternative solutions or features you've considered. | ||
|
||
**Additional context** | ||
Add any other context or screenshots about the feature request here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"path": "../../../examples/00-Data-Prerequisites/prerequisites.ipynb" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# Data Prerequisites \n", | ||
"\n", | ||
"All of our tutorials in which you train and evaluate a model use the [CAMELS US](https://ral.ucar.edu/solutions/products/camels) data set, either in its original form or with some extensions. \n", | ||
"In this notebook, we will guide you through the process of downloading all essential data set pieces and explain how NeuralHydrology expects the folder structure of the CAMELS US dataset so that you will be able to run all of the tutorials.\n", | ||
"\n", | ||
"## CAMELS US meteorological time series and streamflow data\n", | ||
"\n", | ||
"The meteorological time series serve in most of our tutorials as model inputs, while the streamflow time series are the target values. You can download both from the [NCAR Homepage](https://ral.ucar.edu/solutions/products/camels). Click on \"\tCAMELS time series meteorology, observed flow, meta data (.zip)\" under \"CAMELS hydrometeorological time series\" or use [this](https://ral.ucar.edu/sites/default/files/public/product-tool/camels-catchment-attributes-and-meteorology-for-large-sample-studies-dataset-downloads/basin_timeseries_v1p2_metForcing_obsFlow.zip) direct link. The downloaded zip file, called `basin_timeseries_v1p2_metForcing_obsFlow.zip` contains two folders: `basin_dataset_public` (empty, 0 bytes) and `basin_dataset_public_v1p2` (not empty, 14.9 GB). Extract the second one (basin_dataset_public_v1p2) to any place you like and probably rename it something more meaningful, like `CAMELS_US`. This folder is referred to as the root directory of the CAMELS US dataset. Among others, it should contain the following subdirectories:\n", | ||
"\n", | ||
"```\n", | ||
"CAMELS_US/ # originally named basin_dataset_public_v1p2\n", | ||
"- basin_mean_forcings/ # contains the meteorological time series data \n", | ||
"- usgs_streamflow/ # contains the streamflow data\n", | ||
"- ...\n", | ||
"```\n", | ||
"\n", | ||
"**NOTE**: In the default configs of our tutorials, we assume that the data is stored in `neuralhydrology/data/CAMELS_US`. If you stored the data elsewhere, either create a symbolic link to this location or change the `data_dir` argument in the `.yml` configs of the corresponding tutorials to point to your local CAMELS US root directory.\n", | ||
"\n", | ||
"\n", | ||
"## Hourly forcing and streamflow data for CAMELS US basins\n", | ||
"\n", | ||
"(required for Tutorial 04 - Multi-Timescale Prediction)\n", | ||
"\n", | ||
"To be able to run this example yourself, you will need to download the [hourly NLDAS forcings and the hourly streamflow data](https://doi.org/10.5281/zenodo.4072700). Within the CAMELS US root directory, place the `nldas_hourly` and `usgs-streamflow` folders into a directory called `hourly` (`/path/to/CAMELS_US/hourly/{nldas_hourly,usgs-streamflow}`).\n", | ||
"Alternatively, you can place the hourly netCDF file (`usgs-streamflow-nldas_hourly.nc`) from [Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.4072700) inside the `hourly/` folder instead of the NLDAS and streamflow csv files. Loading from netCDF will be faster than from the csv files. In case of the first option (downloading the two folders), the CAMELS US folder structure from above would extend to:\n", | ||
"\n", | ||
"```\n", | ||
"CAMELS_US/ # originally named basin_dataset_public_v1p2\n", | ||
"- basin_mean_forcings/ # contains the meteorological time series data \n", | ||
"- usgs_streamflow/ # contains the streamflow data\n", | ||
"- hourly/ # newly created folder to store the hourly forcing and streamflow data\n", | ||
" - nldas_hourly/ # NLDAS hourly forcing data\n", | ||
" - usgs-streamflow/ # hourly streamflow data\n", | ||
"- ...\n", | ||
"```\n", | ||
"\n", | ||
"In case you downloaded the `usgs-streamflow-nldas_hourly.nc` it should like this:\n", | ||
"\n", | ||
"```\n", | ||
"CAMELS_US/ # originally named basin_dataset_public_v1p2\n", | ||
"- basin_mean_forcings/ # contains the meteorological time series data \n", | ||
"- usgs_streamflow/ # contains the streamflow data\n", | ||
"- hourly/ # newly created folder to store the hourly forcing and streamflow data\n", | ||
" - usgs-streamflow-nldas_hourly.nc # netCDF file containing hourly forcing and streamflow data\n", | ||
"- ...\n", | ||
"```\n", | ||
"\n", | ||
"## CAMELS US catchment attributes\n", | ||
"\n", | ||
"(required for Tutorial 06 - How-to Finetuning)\n", | ||
"\n", | ||
"When training a deep learning model, such as an LSTM, on data from more than one basin it is recommended to also use static catchment attributes as model inputs, alongside the meteorological forcings (see e.g. [this paper](https://hess.copernicus.org/articles/23/5089/2019/)). In tutorial 06, we use the static catchment attributes from the CAMELS US dataset that can be downloaded one the [same homeage](https://ral.ucar.edu/solutions/products/camels), a bit further down. Search for the section called \"CAMELS catchment attributes\". Here, download the only listed zip file \"CAMELS Attributes (.zip)\" or use [this](https://ral.ucar.edu/sites/default/files/public/product-tool/camels-catchment-attributes-and-meteorology-for-large-sample-studies-dataset-downloads/camels_attributes_v2.0.zip) direct link. The downloaded archive contains a folder called `camels_attributes_v2.0`. Extract this folder into the CAMELS US root directory (at the same level of `basin_mean_forcings` and `usgs_streamflow`). So your folder structure should at least look like this:\n", | ||
"\n", | ||
"```\n", | ||
"CAMELS_US/ # originally named basin_dataset_public_v1p2\n", | ||
"- basin_mean_forcings/ # contains the meteorological time series data \n", | ||
"- usgs_streamflow/ # contains the streamflow data\n", | ||
"- camels_attributes_v2.0/ # extracted catchment attributes\n", | ||
"- ...\n", | ||
"```\n" | ||
] | ||
} | ||
], | ||
"metadata": { | ||
"language_info": { | ||
"name": "python" | ||
}, | ||
"orig_nbformat": 4 | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 2 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.