modex-flexmex / oemof-flexmex

oemof-flexmex is an oemof model built for model comparison within the Modex project FlexMex.
https://oemof-flexmex.readthedocs.io
MIT License
0 stars 0 forks source link

Directory structure not easy to grasp #21

Closed unndreay closed 3 years ago

unndreay commented 4 years ago

I wonder if the structure is compulsory for us. Otherwise, I propose to switch from the existing structure of the scheme

{experiment name}/00#_{processing step}/{UseCase name}

to the following

usecases/{UseCase name}/00#_{processing step}

Why?

Additionally, consider:

This leads us to the following structure:

[usecases]
    - [FlexMex_1_1]
        - [001_preprocessed]
    - [002_optimization]
    - [003_postprocessed]
    - infer.py
    - preprocessing.py
    - optimization.py
    - postprocessing.py
    - runall.py
    - [FlexMex_1_2]
        - [001_preprocessed]
        - ...
    ...
    - [FlexMex_2_1]
    - [FlexMex_2_2]
    ...

[meta-data]                (see #96)
    - mapping-input-scalars.yaml
    - mapping-input-timeseries.yaml
    - mapping-output-scalars.yaml
    - mapping-output-timeseries.yaml
    - [output_template]    ('004_results_template' before)
        - Scalars.csv
        - (dir structure for the timeseries)

[data]                     ('001_data_raw' before)
    - [In]
    - [Out]

[comparison]     ('004_comparison' before)
    - compare_scalars.py
    - join_results.py

[oemoflex]
    - oemof-tabular-settings.yml

EDIT 2020/10/16: New names for some dirs. Comparison moved. #96 added. EDIT 2020/11/16: Move oemoflex-tabular-settings.yml.

jnnr commented 4 years ago

Thanks for these ideas. If a restructuring helps getting an overview, we should do it. Let us however first finish the remaining use cases and make the ideas here more precise before we change something.

unndreay commented 4 years ago

With one script file per use case, the 'usecases' dir hierarchy becomes even easier:

[usecases]
    - [FlexMex_1_1]
        - [001_preprocessed]
    - [002_optimization]
    - [003_postprocessed]
    - [FlexMex_1_2]
        - [001_preprocessed]
        - ...
    ...
    - [FlexMex_2_1]
    - [FlexMex_2_2]
    ...
    - FlexMex_1_1.py
    - FlexMex_1_2.py
    ...
    - FlexMex_2_1.py
    - FlexMex_2_2.py

To delete a run result, we just have to simply delete one [FlexMex_x_y] dir, without touching the script files. The same is true for keeping a copy of a run. We just have to rename one folder and it won't be touched again by later runs.

jnnr commented 3 years ago

We included the thoughts discussed here in #122, therefore we close this issue.