
⚫⚪⚪⚪⚪ 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
- 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 libraryshinyresults
. - 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

⚫⚫⚫⚫⚪ 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

⚫⚫⚫⚫⚪ Input data preparation (MADRaT) Advanced
- Introduction to the MADRaT framework
- magclass object functionality
- MADRaT-based input data preprocessing
- Portable Unaggregated Collections (PUCs) in MADRaT