pypsa-meets-earth / pypsa-earth-sec

GNU General Public License v3.0
18 stars 16 forks source link

Prepare the MERGE #312

Open davide-f opened 1 month ago

davide-f commented 1 month ago

Copying from https://github.com/pypsa-meets-earth/pypsa-earth-sec/pull/308

Changes proposed in this Pull Request

This PR should clean the scripts, enhance the readability and overall architecture of the model preparing for a future model merge with the power sector model. All open PRs should be reviewed and merged before this one.

Subtasks

This PR consists of sevaral tasks

finozzifa commented 1 month ago

Use a single config file --> https://github.com/pypsa-meets-earth/pypsa-earth-sec/pull/313

finozzifa commented 1 month ago

Hi @davide-f, what is it meant exactly with Prepare the snakefile, align with PyPSA-Earth Thanks : )

davide-f commented 1 month ago

Macrotopics

Usability

Procedure

  1. config files
  2. snakefile modularity
  3. styling convention of python (snakemake params and scenario runs)
  4. structure of the repo
    • we keep 1 script folder only
    • do we want the networks folder?
  5. how to make sure to satisfy usability?
    • make sure that the commands for both CIs work the same
  6. need to revise the documentation folder accordingly

COMMUNICATE TO THE COMMUNITY:

Past experience

In -eur there have been misalignment between the repos to be fixed. A lot of brute force.

First, the two packages have been merged (brute force) and then let's see. Most snakefile rules were diverging, thus lot of rearrangement, done during the merge-> the snakefile has been modularized into multiple .smk files. The config: large merge issue: append entries first and then consolidated. Done lots of brute force. [3 intense days] Not much preparation

Suggestion: make sure that the two git repositories are on the same state: use the latest version.

Concrete steps

  1. config files
  2. snakefile modularity: secondary priority
  3. styling convention of python:
    • drop deprecations
    • update to linopy?
    • snakemake params [not necessary but maybe nice to have]
    • scenario runs [third priority]
  4. structure of the repo
    • we keep 1 script folder only
    • do we want the networks folder? -> ask to the community
  5. how to make sure to satisfy usability?
    • make sure that the commands for both CIs work the same
  6. need to revise the documentation folder accordingly

Timeline

2-4 weeks preparation weekly update during the -sec model 4-8 weeks target for merge success

ekatef commented 1 month ago

In part of linopy integration: we have a PR opened in pypsa-eath. No problem to keep it opened to after merge. But also happy to support integration of it into pypsa-earth-sec before merge.