Installation
GENOA is a Python-based program integrating with the box models SSH-aerosol and GECKO-A, both written in Fortran and primarily developed for Linux systems.
This guide provides step-by-step instructions for setting up GENOA v3 alongside its coupled box models:
Clone the repository¶
Clone the GENOA v3 repository to your local machine. For example:
Install with Docker¶
We provide a Docker-based setup for GENOA v3. Docker needs to be installed on your system prior to following these steps.
Build the Docker Image¶
Navigate to the downloaded repository and build a Docker image named genoa-im using the provided Dockerfile:
Run the Docker Container¶
Create and start a Docker container using the built image. Mount local directories for input and output as needed. For example:
This command creates a Docker container named
genoa-run and mounts the local data/ folder to /tmp/ within the container for file exchange. You then have access to the GENOA v3 environment within the container.
For detailed Docker options and volume mappings, refer to the Docker documentation.
Manual installation (Tested on Linux only)¶
Manual installation is possible but recommended only for Linux systems.
Install dependencies¶
-
Install required Python packages: Ensure Python 3.8+ is installed. Then, use
pipto install the required Python packages:attrsnumpyopenbabelmatplotlibgraphvizcairosvgnetCDF4
You can use the requirements.txt file provided in the repository to install all the required dependencies in one step:
-
Important installation notes:
- Open Babel:
To install the Open Babel library successfully with
pip, you may first need to install the system-level Open Babel libraries using a package manager. For example:
- UManSysProp:
The
umansyspropPython module, required by GENOA, cannot currently be installed viapip. It is distributed with the repository (vendor/UManSysProp_public-1.04-genoa), so no additional installation is necessary.
- Open Babel:
To install the Open Babel library successfully with
-
Install genoa package:
- Navigate to the cloned
genoa/directory and install the GENOA package using the following command:
If successful, you can now run GENOA v3 with the commandgenoain your terminal with your configuration file. For example:
You can also run GENOA v3 using Python's-moption from thegenoa/directory:
- Navigate to the cloned
-
Verify installation:
- After installing the dependencies, test the libraries in a Python interface to ensure they are working correctly. For example:
- After installing the dependencies, test the libraries in a Python interface to ensure they are working correctly. For example:
-
Test cases are provided for GENOA main functionalities (
See Test Cases for details.test_cases/). You can run them to verify the installation. For example:
Install dependencies for coupled box models¶
Follow the model-specific instructions to set up the dependencies for box models:
- GECKO-A Box Model v1.0: Refer to the GECKO-A GitHub repository for setup details.
- SSH-Aerosol v2.0: Refer to the SSH-aerosol maunal for setup details.
Please ensure the standalone version of the box model you intend to use is properly installed and tested before installing GENOA v3.
Additional notes¶
- All modified external models distributed with the repository are included in the
vendor/directory. - If using macOS or Windows without Docker, consider setting up a Linux virtual machine for compatibility.
- If you encounter any issues during installation, please report them on our GitHub Issues page or contact zhizhaow@ucr.edu.