Network Analysis and Data Integration (NADI) System

Welcome to the NADI (Network Analysis and Data Integration) system documentation.

NADI is group of software packages that facilitate network analysis and do data analysis on data related to network/nodes.

The main component of the NADI is the Domain Specific Language (DSL) called Nadi Task System. The custom syntax and data types used in the task system can help researchers run river based analysis easily and intuitively compared to other general purpose programming languages. A prerequisite to that is the network detection, NADI comes with a GIS tool to help with large networks while smaller networks can be manually entered in the system. The figure below shows a typical workflow while using NADI System.

Why use NADI?

  1. Custom syntax and data types for river network analysis
  2. Integration with GIS files
  3. Extensible through language agnostic executable plugins, and high performace Rust plugins
  4. Automatic detection of upstream/downstream relationships and validation for large networks
  5. Also available as Python plugin for custom analysis using the python ecosystem (can feed it back to NADI Task system through plugins)

For more details on how to use NADI System, and some example research problems solved using NADI, refer to the User Guide.

NADI System Components:

ToolDescription
NADI GISGeographic Information (GIS) Tool for Network Detection
NADI Task SystemDomain Specific Programming Language
NADI PluginsPlugins that provide the functions in Task System
NADI libraryRust and Python library to use in your programs
NADI CLICommand Line Interface to run NADI Tasks
NADI IDEIntegrated Development Environment to write/ run NADI Tasks