-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfaq.qmd
More file actions
30 lines (16 loc) · 2.75 KB
/
faq.qmd
File metadata and controls
30 lines (16 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
---
title: "Frequently Asked Questions"
---
## Can I use these hydrologic simulation tool for my project?
Some of the software is open source and covered by licenses of type BSD-3 and reusable by anyone, provided copyright and authorship is respected.
At the time of writing (Jan 2023) much of the C++ code core to the stack is not yet open source, and cannot be used by third parties without prior discussions and agreement. In principle, access for non-commercial and in particular educational and research purposes are encouraged and you should contact the person(s) listed in the [home page](index.qmd) to request access.
Software components that are agnostic to the scientific domain itself are all open sourced: build scripts, python and R packaging, software interoperability between R, Python, C++, etc.
## Does it run fast?
A short answer is: **Yes**. The choice of C++ for the core engine was made, notably, to foster computational efficiency. Researchers over the years confirm very satisfactory runtime performances, including when compared to several other hydrologic toolsets.
A longer answer would still be **yes**, even if there are nuances depending on the hardware, the size of the model and simulation length.
### Wall time
A model set up for the South Esk catchment (Tasmania, Australia) comprises **42 subareas and 42 routing links**. One simulation run over 1920 time steps completes in **~0.1 seconds** on a single core (Intel Core i7-10875H CPU @ 2.30GHz).
This figure can be used as a starting point to estimate what a calibration procedure would take to complete. Let's say you have a calibration procedure that requires 10,000 iterations of the model. On a single core, this would take around **16 minutes**. If you run multithreaded on a machine with 4 cores, the same calibration procedure would take around **4 minutes**, but assuming some multithreading overhead (see next section), it may take around **6 minutes** in practice.
### Scalability with parallelism
SWIFT2 is designed to use multithreading where feasible, notably for lengthy model calibrations. Measurements done for the paper [SWIFT2: High performance software for short-medium term ensemble streamflow forecasting research and operations](https://www.mssanz.org.au/modsim2015/L15/perraud.pdf){.external target="_blank"} show a good capability to scale up with multiple threads.
