Dinamica EGO Docker: Run the powerful environmental modeling platform Dinamica EGO in a Docker container for simplified deployment and usage.
Welcome to the Dinamica EGO Docker repository. This repository provides a Dockerfile for building and running Dinamica EGO within a Docker container. Dinamica EGO is a sophisticated platform for environmental modeling, offering a wide range of modeling and analysis capabilities.
Please note: Dinamica EGO is copyrighted software, and its use is subject to the terms and conditions of the Dinamica EGO License Agreement. Ensure that you have the necessary permissions to use and distribute this software in accordance with the license.
The docker image provides direct access to the
DinamicaConsole
.
The entrypoint of the docker image is designed so that the docker image can be used as
a drop-in replacement for the DinamicaConsole
executable.
There are two ways to use the docker image. The first is to use the pre-built image, the second is to build the image yourself. For both, you need to have Docker installed.
TODO: Pre-built image on Docker Hub
To build the image yourself, you only need to clone this repository and run:
docker build -t dinamica-ego .
To run a script /my/folder/example.ego
from the mounted folder, run:
docker run -v /my/folder/:/model dinamica-ego example.ego
This image is based on the
mambaorg/micromamba
docker image.
Dinamica EGO can communicate with external applications, like R
, by exposing a
communication session, as explained
on the wiki.
For the R integration to work, the container includes a pre-installed version of R,
using conda
/micromamba
.
By default, the packages from the requirements.txt
are installed.
To install more dependencies, add them to the base environment manually.
As of now, the session is not exposed outside the container for further communication.
Dinamica EGO uses a temporary directory to store intermediate files.
These are stored inside the DINAMICA_EGO_7_TEMP_DIR="/tmp/dinamica_ego_7_temp"
.
If you prefer an external directory, you can mount it to the container:
docker run -v /my/temp/dir/:/tmp/dinamica_ego_7_temp dinamica-ego
The second way to use the container is to start an interactive shell session:
docker run -it --entrypoint /bin/bash -v /my/folder/:/model dinamica-ego
The environment variable DINAMICA_EGO_CLI
points to the DinamicaConsole
executable,
and APP_DIR
to the installation directory of Dinamica EGO.
For further details, take a look at the Dockerfile.
To use the image with Apptainer
you need to convert the image to a SIF image.
To respect the various caveats migrating to Apptainer,
there exists the example definition file dinamica_ego.def
.
Dinamica EGO is a powerful, free, and non-commercial platform for environmental modeling. It provides exceptional capabilities for designing models, ranging from simple static spatial models to highly complex dynamic ones. With Dinamica EGO, you can create models that involve nested iterations, multi-transitions, dynamic feedbacks, multi-region and multi-scale approaches, decision processes for bifurcating and joining execution pipelines, and a host of complex spatial algorithms for analyzing and simulating space-time phenomena.
EGO stands for Environment for Geoprocessing Objects.
Find more information about Dinamica EGO on the Dinamica EGO website.
Please be aware that the use of Dinamica EGO is subject to the terms and conditions of the Dinamica EGO License Agreement. Ensure that you have the necessary permissions and comply with the licensing terms when using this software.
- Dinamica EGO 7
- Copyright © 1998-2023 Centro de Sensoriamento Remoto / Universidade Federal de Minas Gerais - Brazil.
- All Rights Reserved.
- No warranty whatsoever is provided.
- This Dockerfile is licensed under the MIT License.
- © 2023 Carlson Büth
For more information about Dinamica EGO and its features, please visit the Dinamica EGO website.
If you have any questions or suggestions, please write an issue in this repository. For questions regarding Dinamica EGO, find the Guidebook 2.0, FAQ, and Google Group online.