View on GitHub

Nodus

Transportation network modeling software designed for multimodal and intermodal freight transport

Nodus 9.1 DOI

Nodus 9.1 is a work in progress: it is already usable but has not yet been released.

Nodus is transportation network modeling software designed specifically for multimodal and intermodal freight transport. It is developed at the Center for Operations Research and Econometrics (CORE) of the Université catholique de Louvain (UCLouvain, Belgium). The software is developed and maintained primarily by Prof. Bart Jourquin.

Visit the GitHub Pages website for documentation, and download the Nodus installer and source code from GitHub.

Introduction

Nodus (screenshots) implements the “Virtual Networks” methodology developed at UCLouvain. This approach is an alternative to the traditional four-step model for multimodal and intermodal transport flows over networks: it combines the modal-choice and assignment phases into a single step.

This methodology has been used in numerous policy-oriented studies of large-scale multimodal freight transport networks, such as:

Numerous scientific articles describe research conducted using Nodus. Most of these papers, along with contributions to conferences and seminars, can be found on ResearchGate.

Key features

See also the documentation and the demo project.

Installation and use

Download the Nodus installer. Nodus requires Java 11 or later (a full JRE or JDK, not a headless installation). Depending on your system, double-click Nodus9-install.jar or run it from a terminal:

java -jar Nodus9-install.jar

Once installed, launch Nodus using:

The software provides an integrated graphical user interface. Complete reference and user guides are not available, but the API is fully documented with Javadoc. A basic user guide and a documented sample Nodus project are available in the demo directory.

JDK performance: Nodus can require substantial computing resources, especially for assignments. Experience shows that the choice of JDK can have a significant impact on computation times. On average, GraalVM completes assignments 25% faster than a standard OpenJDK virtual machine.

Note for macOS users: macOS Catalina and later enforce additional security controls through Gatekeeper. macOS may warn that Nodus9-install.jar is from an unidentified developer. A simple workaround is to run the installer from a terminal (java -jar Nodus9-install.jar). To use Nodus projects stored in protected folders, such as the Desktop, grant Full Disk Access to the /bin/sh shell in macOS (add an entry under Preferences > Security & Privacy > Privacy > Full Disk Access).

Nodus selects default memory limits at launch. For larger projects or custom JVM settings, see memory allocation in the advanced guide.

Building from source

You need a Java Development Kit (JDK) version 11 or later and a full Apache Ant 1.10.6+ installation, including ant-junitlauncher.jar in Ant’s lib directory. Set JAVA_HOME to your JDK and make sure ant is on your system’s PATH.

Download or clone the Nodus source code, open a terminal in the project root, and run:

ant Installer

This compiles the application and runs the full test suite first. A compilation error, test failure or test execution error aborts the build. If the tests pass, Ant generates the API Javadoc and packages the installer JAR file.

To compile and package only the main nodus9.jar, run:

ant Jar

This is useful for source changes that do not affect the external libraries. To run the tests separately, use ant Test.

You can also import Nodus as an Eclipse project.

Advanced use and development

The advanced guide covers memory and JVM options, public NodusC.java settings for Groovy scripts, assignment timing diagnostics, testing and developer tools.

Release history

See the changelog for a detailed build history.

Uninstalling

The software does not modify the system registry on any supported operating system (macOS, Linux or Windows). To uninstall it, delete the installation directory.

You can also delete the small .nodus9.properties file in your home directory. The empty .nodus9.properties.lock file used to coordinate simultaneous starts can also be deleted after all Nodus instances have closed. On first launch, Nodus 9 copies .nodus8.properties if the new file does not yet exist. The old file is left unchanged; remove it too if you no longer need your Nodus 8 preferences.

License

You can redistribute Nodus and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The NODUS name and logo are trademarks of UCLouvain and are not covered by the GPL. Their use is governed by the Trademark Policy.

How to cite Nodus

Jourquin, Bart. (2026) Nodus, the Transportation Network Modeling Software Designed for Multimodal and Intermodal Freight Transport. https://nodus.uclouvain.be. DOI 10.5281/zenodo.21336779.