Git & the GitHub repository ⚫⚪⚪⚪⚪ Beginner

  • Fork and update MAgPIE from/with upstream repository.

  • Understand the basic workflow including pull requests and branches.

  • Have heard some very basic git commands and know where to find more help.

GAMS code, modules & realizations ⚫⚫⚪⚪⚪ Beginner

  • Navigate through the GAMS code of MAgPIE

  • Understand the structure of modules and realizations

  • Understand naming rules and conventions

Model documentation (goxygen) ⚫⚫⚪⚪⚪ Beginner

  • Explaination of in-code documentation

  • goxygen installation guide (for documentation compilation)

  • Properly reading MAgPIE documentation

  • Updating model documentation

Managing renv ⚫⚫⚫⚪⚪ Advanced

  • Understand what renv is, how it works and why and how MAgPIE uses it.

  • Update and restore renvs via piamenv functions.

  • Get an overview of renv functions to get more control.

Starting a MAgPIE run ⚫⚪⚪⚪⚪ Beginner

  • starting MAgPIE with default settings

  • understanding the stages of model execution

  • initial troubleshooting steps in case of an error

  • cancelling a MAgPIE run

Update model settings ⚫⚫⚪⚪⚪ Beginner

  • Understand MAgPIE configuration

  • Update settings in default.cfg

  • Run the model with updated configuration.

Creating a start script ⚫⚫⚫⚪⚪ Advanced

  • Understand MAgPIE starting scripts

  • Create custom starting scripts

Regional output analysis ⚫⚫⚫⚪⚪ Advanced

  • Use model-internal R-scripts for output analysis.

  • Know where to find the automated validation PDF and how it is structured.

  • Use the evaluation tool appResultsLocal of the library shinyresults.

  • Use the magpie4 package for output analysis.

  • Analyse outputs with the gdx package.

Spatial output analysis ⚫⚫⚫⚪⚪ Advanced

  • Know where to find spatially explicit output data (NetCDF & magclass-format)

  • Data visualisation with the Panoply NetCDF Data Viewer

  • Learn how to make animated time series with output data

  • Use the luplot package for spatial visualisation of magclass objects in R

  • Transform magclass-object to a SpatRaster-object of the terra package

Creating a new realization ⚫⚫⚫⚫⚪ Advanced

  • Changing the MAgPIE GAMS code

  • adding In-Code documentation

  • adding a new module realization

  • integrate new realization

Git pull requests - feeding back ⚫⚫⚫⚪⚪ Advanced

  • MAgPIE policy for updates of the main repository

  • Procedure to create a MAgPIE pull request

Input data repositories & Patches ⚫⚫⚫⚫⚪ Advanced

  • Create a local input data repository.

  • Package a patch file.

  • Include a patch in the model configuration

Data processing with magclass ⚫⚫⚫⚪⚪ Advanced

  • Introduction to the magclass data class

  • magclass object functionality

  • data manipulation with magclass objects

Input data preparation (MADRaT) ⚫⚫⚫⚫⚪ Advanced

  • Introduction to the MADRaT framework

  • magclass object functionality

  • MADRaT-based input data preprocessing

  • Portable Unaggregated Collections (PUCs) in MADRaT