JAMS logo

A pure-Java, open-source framework for building and applying modular environmental simulation models.

Download JAMS View on GitHub Documentation & Wiki

Modular by design

Models are assembled from reusable simulation components, wired together in an XML model definition — by hand or visually in the JUICE model editor. The framework handles the simulation life cycle, spatial and temporal iteration and parallel execution.

From data to insight

Explore model output with the JADE data explorer, visualize spatial results on a 3D globe, and calibrate and analyze your models with the OPTAS optimization and sensitivity tools.

Proven in practice

JAMS provides the process components behind the J2000 model family and has been used worldwide for simulating hydrological, nutrient transport and erosion processes.

Getting started

The quickest way is the ready-to-run bundle from the latest release — unpack, run juice.sh/juice.bat, done (Java 17+ required). Building from source is just as easy:

git clone https://github.com/jamsframework/jams.git
cd jams
./mvnw install -pl jams-starter -am
cd jams-bin && ./juice.sh

Building only requires a JDK 17+ (Maven and all third-party dependencies are included); running the bundle only needs a Java runtime, version 17 or newer. On macOS, use Java 24 or newer if you hit a rare accessibility-related crash (a JDK bug fixed in Java 24).

Building the model libraries

git clone https://github.com/jamsframework/jamsmodels.git
cd jamsmodels
# drop jams-api-*.jar / jams-main-*.jar (from the JAMS build above, or
# from a release bundle's lib/ folder) into jams-libs/, then:
./install-jams-libs.sh            # or install-jams-libs.bat on Windows
./mvnw package                    # build all models
./mvnw package -pl J2K_base -am   # build a single model, e.g. J2K_base

The built model jars are collected in the components/ directory of the jamsmodels checkout — add that directory to the libs property of JAMS (settings dialog in JUICE) and the models are ready to use.