cbueth / dinamica-ego-docker

Containerized Dinamica EGO for simplified deployment and usage.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Version Build Lint Open Issue License

Dinamica EGO Docker

Dinamica EGO Docker: Run the powerful environmental modeling platform Dinamica EGO in a Docker container for simplified deployment and usage.

Introduction

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.

Getting Started

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.

External Communication

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.

Temporary Directory

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

Detailed Usage

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.

Apptainer

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.

About Dinamica EGO

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.

Licensing

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.

Copyright

  • 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.

Additional Information

For more information about Dinamica EGO and its features, please visit the Dinamica EGO website.

Support and Contact

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.

About

Containerized Dinamica EGO for simplified deployment and usage.

License:MIT License


Languages

Language:Dockerfile 100.0%