Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start script 'healthy landscapes paper' and output script for automatic submission of SEALS runs #721

Merged
merged 13 commits into from
Sep 20, 2024

Conversation

pvjeetze
Copy link
Contributor

@pvjeetze pvjeetze commented Sep 18, 2024

🐦 Description of this PR 🐦

  • Added start script for 'healthy landscapes paper'
  • Added script for automatic submission of SEALS allocation runs
  • .nc files are no longer exported by default after disaggregation of MAgPIE outputs
  • updated magpie4 dependency to 2.12.0 to adjust lowpass filter based on sm_fix_SSP2 in emisCO2
  • This PR should go into the next release 4.8.2 @pascal-sauer

🔧 Checklist for PR creator 🔧

  • Label pull request from the label list.

    • Low risk: Simple bugfixes (missing files, updated documentation, typos) or changes in start or output scripts
    • Medium risk: Uncritical changes in the model core (e.g. moderate modifications in non-default realizations)
    • High risk: Critical changes in model core or default settings (e.g. changing a model default or adjusting a core mechanic in the model)
  • Self-review own code

    • No hard coded numbers and cluster/country/region names.
    • The new code doesn't contain declared but unused parameters or variables.
    • magpie4 R library has been updated accordingly and backwards compatible where necessary.
    • scenario_config.csv has been updated accordingly (important if default.cfg has been updated)
  • Document changes

    • Add changes to CHANGELOG.md
    • Where relevant, put In-code documentation comments
    • Properly address updates in interfaces in the module documentations
    • run goxygen::goxygen() and verify the modified code is properly documented
  • Perform test runs

    • Low risk:
      • Run a compilation check via Rscript start.R --> "compilation check"
    • Medium risk:
      • Run test runs via Rscript start.R --> "test runs"
      • Check logs for errors/warnings
    • High risk:
      • Run test runs via Rscript start.R --> "test runs"
      • Check logs for errors/warnings
      • Default run from the PR target branch for comparison
      • Provide relevant comparison plots (land-use, emissions, food prices, land-use intensity,...)

📉 Performance changes 📈

  • Current develop branch default : ** mins
  • This PR's default : ** mins

🚨 Checklist for reviewer 🚨

  • PR is labeled correctly
  • Code changes look reasonable
    • No hard coded numbers and cluster/country/region names.
    • No unnecessary increase in module interfaces
    • model behavior/performance is satisfactory.
  • Changes are properly documented
    • CHANGELOG is updated correctly
    • Updates in interfaces have been properly addressed in the module documentations
    • In-code documentation looks appropriate
  • content review done (at least 1)
  • RSE review done (at least 1)

@pvjeetze pvjeetze changed the base branch from master to develop September 18, 2024 14:10
@pvjeetze pvjeetze added the Low risk Low risk label Sep 18, 2024
@pvjeetze pvjeetze mentioned this pull request Sep 18, 2024
6 tasks
Copy link
Contributor

@flohump flohump left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks for these improvements.

Copy link
Contributor

@weindl weindl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you!

@@ -737,7 +737,7 @@ cfg$gms$s29_snv_scenario_target <- 2050 # def = 2050
# * plausible options: "secdforest, forestry, past, other",
# * "secdforest, other",
# * "secdforest, past, other" etc.
cfg$gms$land_snv <- "secdforest, forestry, past, other" #def = "secdforest, forestry, past, other"
cfg$gms$land_snv <- "secdforest, other" #def = "secdforest, other"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add to the changelog that the default setting for the SVN policy has changed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the changelog. Thanks for spotting this

Copy link
Contributor

@pascal-sauer pascal-sauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, just need to deal with the paths to your personal folders

config/projects/scenario_config_year_fix.csv Show resolved Hide resolved
scripts/output/extra/runSEALSallocation.R Outdated Show resolved Hide resolved

### Path to miniforge installation
# For instructions on how to install miniforge see https://github.com/conda-forge/miniforge
miniforgePath <- "/home/vjeetze/miniforge3/bin/activate"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Paths into home directories are not ideal, I get permission denied, and even if you give permission this only works as long as your home folder exists.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do you want this script to be used by others, should they install miniforge themselves (into their home folder) and then modify the script here? Or can we setup a shared miniforge path in /p/projects/rd3mod maybe?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This goes back to the whole discussion whether miniforge should be available to all (e.g. via the piam module or else). At the moment I could only install it into my home directory. This may be fine for the time being and if any users want to use the script they can install it in their home directory and change the path.

I don't expect this script to be used by anyone besides me at the moment. I want this to be part of the release in the current form mainly for reasons of documentation for a paper. However, the script is also fully functional, if the user settings are modified based on user specific installations of miniforge and SEALS.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've adapted the script based on our bilateral discussion. Please have a look whether you are fine with these changes.

scripts/output/extra/runSEALSallocation.R Show resolved Hide resolved
scripts/output/extra/runSEALSallocation.R Outdated Show resolved Hide resolved
scripts/output/extra/runSEALSallocation.R Outdated Show resolved Hide resolved
@pascal-sauer pascal-sauer merged commit 2929204 into magpiemodel:develop Sep 20, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Low risk Low risk
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants