CoMOLA

CoMOLA is a python tool for optimal spatial allocation of land uses. The tool creates optimal land-use maps for up to four objectives. It takes into account constraints and can be coupled with external models to evaluate different objectives (e.g. ecosystem services/biodiversity models)

177
mentions
4
contributors

Cite this software

What CoMOLA can do for you

About

CoMOLA (Constrained Multi-objective Optimization of Land use Allocation) is a free Python tool to optimize the allocation of land use for multiple objectives. It builds upon the open source "inspyred" Python library and includes functions for reading, encoding and writing land use maps as well as genome generation and repair mutation algorithms for considering constraints during the optimization procedure. It runs on Windows and Linux and allows for the integration of any model whose prediction (e.g. a value for an ecosystem service) is based on a land use raster map. In its basic form, CoMOLA can be used immediately by inputting a raster map representing the status-quo land use, ready-to-run models written in R including their input data, and (optional) information on constraints. As constraints, the tool can consider (1) transition rules defining which type of land use can be converted into which other type and (2) minimum and maximum area proportions of each land use type within the study area. All relevant settings, such as paths to input data and models as well as optimization-specific parameters (e.g. population size, crossover and mutation rates) and settings related to constraint-handling and raster map-analysis are managed in one single control file (Fig. 1).

Fig. 1: CoMOLA in a nutshell.
Fig. 1: CoMOLA framework.

Fields of application

Fields of application have been e.g. the spatial allocation of agricultural land uses such as different types of cropland and grassland maximizing yield, biodiversity and minimizing nutrient leaching, the optimal allocation of riparian reforestation efforts along rivers, exploring optimal strategies to retain water and nutrients in agricultural catchments. Other potential fields of application can be nature conservation, climate adaptation, restoration, urban planning, renewable energies or even other contexts outside of environmental research where spatial allocation of certain measures/uses are required.

Teaching

CoMOLA has been used for teaching spatial multi-objective optimization at universities. For these purposes, a Docker container is available (instructions can be found in the GitHub repository).

Requirements

Installation

CoMOLA was developed and tested for Python 3.9 and above.

  • Required Python packages
    • matplotlib

Furthermore R has to be installed to run external models.

Input

CoMOLA requires different types of spatial and non-spatial input data (e.g. land-use map, patch-ID map, transition rules). For details, check the GitHub repository.

Output

Once CoMOLA has been started, a log file is generated in the output folder documenting the process of optimization.

A successful run of CoMOLA will provide the following outputs:

  • fitness values for the best solutions
  • ascii maps for the best solutions
  • the genome and fitness values of all individuals tested in the optimization

An R-script is provided in the GitHub repository to extract, evaluate and plot the best solutions (see Fig. 2).
Example plot:

Fig. 2: Example plot of optimization output.
Fig. 2: Example plot of optimization output.

Keywords
Programming languages
  • Python 95%
  • R 5%
License
</>Source code
Packages
github.com
codebase.helmholtz.cloud

Participating organisations

Helmholtz Centre for Environmental Research (UFZ)

Reference papers

Mentions

Contributors

MS
Michael Strauch
Developer
Helmholtz Centre for Environmental Research
CP
Carola Pätzold
Developer
MV
Martin Volk
Helmholtz Centre for Environmental Research
AK
Andrea Kaim
Helmholtz Centre for Environmental Research

Helmholtz Program-oriented Funding IV

Research Field
Research Program
PoF Topic
2 Earth and Environment
2.1 The Changing Earth - Sustaining our Future
2.1.5 Landscapes of the Future: Securing Terrestrial Ecosystems and Freshwater Ressources
  • 2 Earth and Environment
    • 2.1 The Changing Earth - Sustaining our Future
      • 2.1.5 Landscapes of the Future: Securing Terrestrial Ecosystems and Freshwater Ressources