- Preface
- Acknowledgements
- 1. Why NADI?
- 2. Who this book is for
- 3. How to use this book
- 4. How to Cite
- Nadi System Setup
- 5. Introduction
- 6. Installation
- Network Detection
- 7. Nadi GIS
- 8. Example
- Network Analysis
- 9. Core Concepts
❱
- 9.1. Node
- 9.2. Network
- 9.3. Attributes
- 9.4. String Template
- 9.5. Task
- 9.6. Node Function
- 9.7. Network Function
- 9.8. Further Reading
- 10. Learn by Examples
❱
- 10.1. Attributes
- 10.2. Control Flow
- 10.3. Connections
- 10.4. Counting Nodes
- 10.5. Cumulative Sum
- 10.6. Import Export Files
- 10.7. String Templates
- 11. Nadi Extension Capabilities
- 12. List of All Functions
- Plugin Developer Guide
- 13. Executable Plugins
- 14. Compiled Plugins
❱
- 14.1. Internal Plugins
- 14.2. External Plugins
- 14.3. Functions
❱
- 14.3.1. Environment Functions
- 14.3.2. Node Functions
- 14.3.3. Network Functions
- User Reference
- 15. Example Usage
❱
- 15.1. Making Tables
- 15.2. Generating Reports
- 15.3. Analysing Timeseries
❱
- 15.3.1. Looking at Data Gaps
- 15.3.2. Visualizing Data Gaps
- 16. Internal Plugins
❱
- 16.1. Attributes
- 16.2. Command
- 16.3. Connections
- 16.4. Core
- 16.5. Debug
- 16.6. Logic
- 16.7. Regex
- 16.8. Render
- 16.9. Series
- 16.10. Table
- 16.11. Timeseries
- 16.12. Visuals
- 17. External Plugins
❱
- 17.1. Dams
- 17.2. Data Fill
- 17.3. Errors
- 17.4. Fancy Print
- 17.5. Gnuplot
- 17.6. Graphics
- 17.7. Graphviz
- 17.8. HTML
- 17.9. GIS
- 17.10. Print Node
- 17.11. Streamflow
- Developer Reference
- 18. Data Structure
❱
- 18.1. Node
- 18.2. Network
- 18.3. Timeseries
- 18.4. String Templates
- 18.5. Tables
- 18.6. File Templates
- 18.7. Tasks
- 18.8. Node Functions
- 18.9. Network Functions
- Developer Notes and Future Direction
- 19. Developer Notes
❱
- 19.1. Motivation
- 19.2. Why Rust?
19.3. Plugin System Experiments
❱
19.3.1. First Prototype: cdylib
19.3.2. Second Prototype: abi_stable
- 19.4. Writing this Book
20. Future Ideas to Implement
❱
- 20.1. Optimization Algorithms
- 20.2. Interactive Plots