Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
aaac22b
testing custom start button
MarkMelotto Sep 3, 2025
57f6cee
updated workflow for development branch
MarkMelotto Sep 3, 2025
6ab765e
testing custom launch button
MarkMelotto Sep 3, 2025
90b7464
testing custom launch button
MarkMelotto Sep 3, 2025
06503c9
testing custom launch button
MarkMelotto Sep 3, 2025
894a71b
testing custom launch button
MarkMelotto Sep 3, 2025
fc9d412
testing custom launch button
MarkMelotto Sep 3, 2025
147925c
testing custom launch button
MarkMelotto Sep 3, 2025
2bdd722
testing custom launch button
MarkMelotto Sep 3, 2025
ee7b14d
testing custom launch button
MarkMelotto Sep 3, 2025
da55e45
testing custom launch button
MarkMelotto Sep 3, 2025
d666f48
testing custom launch button
MarkMelotto Sep 3, 2025
4f02d57
testing custom launch button
MarkMelotto Sep 3, 2025
006b04f
testing custom launch button
MarkMelotto Sep 3, 2025
3ab765d
testing custom launch button
MarkMelotto Sep 3, 2025
2d9917a
delete old version
MarkMelotto Sep 4, 2025
bb3fc8e
test new gitpuller button
MarkMelotto Sep 4, 2025
20405a2
test new gitpuller button
MarkMelotto Sep 4, 2025
81cd342
refactor and gitpuller now defaults to the first run. And added the i…
MarkMelotto Sep 4, 2025
5767589
updated the branch for gitpuller
MarkMelotto Sep 8, 2025
a2b264b
it doesnt like branches
MarkMelotto Sep 8, 2025
58e3e55
added small bit of documentation
MarkMelotto Sep 8, 2025
2d59caa
added an HBV example in the github repo
MarkMelotto Sep 10, 2025
d6d507c
added an PCRGlob example in the github repo, still need to be testes,…
MarkMelotto Sep 10, 2025
a0f9521
Small improvements
MarkMelotto Sep 10, 2025
a314f03
small updates to new notebooks, the run version is not available yet …
Sep 11, 2025
a835ad3
added a workflow chart that is still in the making
MarkMelotto Sep 11, 2025
7f10654
start on definition
MarkMelotto Sep 11, 2025
9396eed
start on definition
MarkMelotto Sep 11, 2025
7e1c641
Delete book/content/Glossary/definitions.md
MarkMelotto Sep 11, 2025
766bb77
Merge remote-tracking branch 'origin/development' into development
MarkMelotto Sep 11, 2025
2422d66
start on definitions
MarkMelotto Sep 11, 2025
9821cfa
added eWC versions to the external once
MarkMelotto Sep 11, 2025
1330c92
small fix
MarkMelotto Sep 11, 2025
ea31c5a
update to the workflow tree
MarkMelotto Sep 15, 2025
2c4bfce
run hbv
MarkMelotto Sep 15, 2025
61ce200
update to workflow
MarkMelotto Sep 17, 2025
8d5a667
addition to PCRGlob and improvement on the workflow chart
MarkMelotto Sep 17, 2025
1e597c8
update to workflow
MarkMelotto Sep 18, 2025
5f8f192
added a run for pcrglob
MarkMelotto Oct 7, 2025
8702bb3
moved the mermaid chart and added more workflows
MarkMelotto Feb 16, 2026
00811f2
DA added from Jerom
MarkMelotto Feb 16, 2026
4a86412
intro update
MarkMelotto Feb 16, 2026
eb7aa66
updates first part of eWaterCycle
MarkMelotto Feb 16, 2026
29425e1
updated first model run
MarkMelotto Feb 16, 2026
c252e44
added technical details datasets
MarkMelotto Feb 16, 2026
347c67f
trying to fix mermaid map
MarkMelotto Mar 3, 2026
b16ea4d
trying to fix mermaid map
MarkMelotto Mar 3, 2026
9a3b906
trying to fix mermaid map
MarkMelotto Mar 3, 2026
f924117
trying to fix mermaid map
MarkMelotto Mar 3, 2026
edbd8fa
trying to fix mermaid map
MarkMelotto Mar 3, 2026
81a8552
trying to fix mermaid map
MarkMelotto Mar 3, 2026
42648a5
teachbooks doesnt like the graph :(
MarkMelotto Mar 3, 2026
089ffaf
Merge branch 'main' into development
MarkMelotto Mar 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions book/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ only_build_toc_files: true # Replace this with false i
html:
favicon : "figures/ewatercycle_logo.png" # Replace this with your own favicon
baseurl : "https://www.ewatercycle.org/getting-started" # Replace this with your own URL
extra_js:
- _static/custom_launch_button.js # Adds the custom launch button to the page, so this is needed plus the custom js file, that's it.

sphinx: # Options passed on to the underlying sphinx-parser
config:
Expand Down Expand Up @@ -52,5 +54,6 @@ sphinx: # Options passed on to the
- sphinx_named_colors # Allows you to use custom colors in your book https://teachbooks.io/manual/external/Sphinx-Named-Colors/README.html
- sphinx_dropdown_toggle # Adds a button to toggle all dropdowns with one click


bibtex_bibfiles:
- references.bib # Required for references
69 changes: 69 additions & 0 deletions book/_static/custom_launch_button.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
// This code is used to make the launch button on top of the webpage

window.addEventListener("DOMContentLoaded", () => {
// Create the modal HTML
const modalHTML = `
<div id="customModal" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.5); z-index:1000;">
<div style="background:white; padding:20px; max-width:400px; margin:100px auto; border-radius:8px; box-shadow:0 2px 10px rgba(0,0,0,0.3);">
<h3 style="margin-top:0;">Enter your JupyterHub URL</h3>
<input type="text" id="jupyterUrlInput" value="https://ewatercycle2526.ewatercycle-tud.src.surf-hosted.nl/jupyter" style="width:100%; padding:8px; margin-top:10px;"/>
<div style="margin-top:15px; text-align:right;">
<button id="launchBtn" style="padding:8px 12px; margin-right:10px;">Launch</button>
<button id="cancelBtn" style="padding:8px 12px;">Cancel</button>
</div>
</div>
</div>
`;
document.body.insertAdjacentHTML("beforeend", modalHTML);

// Create the custom button
const header = document.querySelector("header");
if (header) {
const customButton = document.createElement("a");
customButton.textContent = "🚀 Launch eWaterCycle JupyterHub";
customButton.className = "custom-launch-button";
customButton.style.backgroundColor = "#007ACC";
customButton.style.color = "white";
customButton.style.padding = "6px 12px";
customButton.style.marginLeft = "10px";
customButton.style.borderRadius = "4px";
customButton.style.textDecoration = "none";
customButton.style.fontWeight = "bold";
customButton.style.cursor = "pointer";

customButton.addEventListener("click", () => {
document.getElementById("customModal").style.display = "block";
});

header.appendChild(customButton);
}

// Modal button logic
const launchBtn = document.getElementById("launchBtn");
const cancelBtn = document.getElementById("cancelBtn");
const input = document.getElementById("jupyterUrlInput");
const modal = document.getElementById("customModal");

launchBtn.addEventListener("click", () => {
const baseUrl = input.value.trim();

if (baseUrl.startsWith("https://")) {
const repo = encodeURIComponent("https://github.com/eWaterCycle/getting-started");
const branch = "main";
// const notebookPath = "getting-started/book/content/first_model_run/first_run.ipynb"; // Change to your desired notebook
const notebookPath = "getting-started/book/some_content/first_model_run/first_run.ipynb"; // Change to your desired notebook

const nbgitpullerUrl = `${baseUrl}/hub/user-redirect/git-pull?repo=${repo}&branch=${branch}&urlpath=lab/tree/${notebookPath}`;
window.open(nbgitpullerUrl, "_blank");
modal.style.display = "none";
input.value = "";
} else {
alert("Please enter a valid HTTPS URL.");
}
});

cancelBtn.addEventListener("click", () => {
modal.style.display = "none";
input.value = "";
});
});
62 changes: 33 additions & 29 deletions book/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,70 +4,74 @@ root: intro.md
parts:
- caption: Getting Started With eWaterCycle
chapters:
- file: some_content/why.md
- file: content/why.md
sections:
- file: some_content/why/what.md
- file: some_content/why/sowhat.md
- file: content/why/what.md
- file: content/why/sowhat.md

- file: some_content/first_model_run.md
- file: content/first_model_run.md
sections:
- file: some_content/first_model_run/interface.ipynb
- file: some_content/first_model_run/first_run.ipynb
- file: content/first_model_run/interface.ipynb
- file: content/first_model_run/first_run.ipynb

- file: some_content/generate_forcing.md
- file: content/generate_forcing.md
sections:
- file: some_content/forcing/caravan_forcing.ipynb
- file: some_content/forcing/era5_forcing_caravan_shapefile.ipynb
- file: some_content/forcing/era5_forcing_own_shapefile.ipynb
- file: some_content/forcing/cmip_historic.ipynb
- file: some_content/forcing/cmip_future.ipynb
- file: some_content/forcing/manual_forcing.ipynb
- file: content/forcing/caravan_forcing.ipynb
- file: content/forcing/era5_forcing_caravan_shapefile.ipynb
- file: content/forcing/era5_forcing_own_shapefile.ipynb
- file: content/forcing/cmip_historic.ipynb
- file: content/forcing/cmip_future.ipynb
- file: content/forcing/manual_forcing.ipynb

- file: some_content/different_models.md
- file: content/different_models.md
sections:
- file: some_content/models/hbv.md
- file: content/models/hbv.md
sections:
- file: content/models/hbv.ipynb
- external: https://github.com/eWaterCycle/projects/blob/main/book/tutorials_examples/1_HBV_Caravan_ERA5/example_model_run_HBV.ipynb
- external: https://github.com/eWaterCycle/ewatercycle-hbv/blob/main/docs/example_model_run_HBV_camels_catchment_ERA5_forcing.ipynb
- file: some_content/models/pcr.md
- file: content/models/pcr.md
sections:
- file: content/models/pcrglobwb.md
- external: https://github.com/eWaterCycle/projects/blob/main/book/tutorials_examples/2_HBV_PCRGlobWB_ERA5/example_model_run_pcrglobwb.ipynb
- external: https://github.com/eWaterCycle/ewatercycle-pcrglobwb/blob/main/docs/Irrigation.ipynb
- file: some_content/models/wflow.md
- file: content/models/wflow.md
sections:
- external: https://github.com/eWaterCycle/ewatercycle-wflowjl/blob/main/docs/demo.ipynb
- external: https://github.com/eWaterCycle/ewatercycle-wflow/blob/main/docs/model.ipynb

- file: some_content/workflows.md
- file: content/workflows.md
sections:
- file: some_content/workflows/running_a_model.md
- file: content/workflows/running_a_model.md
sections:
- file: some_content/workflows/running_a_model/flooding.md
- file: content/workflows/running_a_model/flooding.md
sections:
- external: https://github.com/eWaterCycle/projects/blob/main/book/thesis_projects/BSc/2025_Q3_ThirzaVanEsch_CEG/Report/CHAPTER4.ipynb
- file: some_content/workflows/running_a_model/droughts.md
- file: content/workflows/running_a_model/droughts.md
sections:
- external: https://github.com/eWaterCycle/projects/blob/main/book/thesis_projects/BSc/2025_Q3_IschaHollemans_CEG/ischa/CMIP_Future_prediction.ipynb
- file: some_content/workflows/running_a_model/climate_change.md
- file: content/workflows/running_a_model/climate_change.md
# sections:
# - external: rolf stuff

- file: some_content/workflows/calibrating_models.md
- file: content/workflows/calibrating_models.md
sections:
- file: some_content/workflows/calibrating_models/calibrate_hbv.ipynb
- file: content/workflows/calibrating_models/calibrate_hbv.ipynb
- external: https://github.com/eWaterCycle/projects/blob/main/book/thesis_projects/BSc/2025_Q3_ThirzaVanEsch_CEG/Report/CHAPTER3OVER_ori.ipynb
# - external:

- file: some_content/workflows/comparisons.md
- file: content/workflows/comparisons.md
sections:
- file: some_content/workflows/comparisons/1_forcing_multiple_models.md
- file: content/workflows/comparisons/1_forcing_multiple_models.md
# sections:
# - external: https://github.com/eWaterCycle/projects/blob/main/book/tutorials_examples/2_HBV_PCRGlobWB_ERA5/example_model_run_pcrglobwb.ipynb
- file: some_content/workflows/comparisons/1_model_multiple_forcings.ipynb
- file: content/workflows/comparisons/1_model_multiple_forcings.ipynb

- file: some_content/workflows/model_coupling.md
- file: content/workflows/model_coupling.md

- file: some_content/workflows/DA.md
- file: content/workflows/DA.md

- file: content/glossary/definitions.md
- file: content/glossary/workflow_chart.md
- file: references.md
- file: credits.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ PCRGlobWB has many different outputs:
* [Parameter set](https://ewatercycle.readthedocs.io/en/latest/system_setup.html#prepare-other-parameter-sets)
* cloneMap
* We have the needed data stored, you just need to give it your region.

* .ini file with the settings, a standard.ini file will be provided.
A [GitHub page](https://github.com/UU-Hydro/PCR-GLOBWB_input_example) on the inputs for PCRGlobWB 2.0.

## Wflow
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ Below you will find a short overview of the content of this part.

## Interface

**First** you need to get familiar with the interface of eWaterCycle.
The eWaterCycle interface is a Jupyter Hub environment, which means you can run Jupyter notebooks in your browser.
And the heavy computations are done at a super computer, so you do not need a powerful computer to run the models.
And the heavy computations are done at a cloud/super computer, so you do not need a powerful computer to run the models.
This super computer is hosted by SURF, the Dutch national supercomputer provider.
So the jupyter hub sends the requests to the super computer, which runs the models and sends the results back to your browser.

Expand All @@ -21,6 +22,7 @@ You also need basic knowledge of Python to be able to use eWaterCycle.

## Running an HBV Model

We will start with running a lumped bucket hydrological model: HBV with eWaterCycle.
Here we will pick a catchment and run an HBV model with forcing data.
To show you how eWaterCycle works in practice.
This is a simple example, but it will give you an idea of how to use eWaterCycle.
Loading