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

Reorganize file structure #160

Closed
wants to merge 10 commits into from
Closed

Conversation

camirmas
Copy link
Collaborator

@camirmas camirmas commented Aug 10, 2023

Changes

CI Updates

This update makes CI builds consistent with the install instructions for developers. It also allows us to set up Mac builds, which are disabled for now (see #154).

Structural Changes

This is essentially a small chunk of the work happening in dev/refactor. It creates a new folder structure that has the following high-level structure:

- examples
- hopp
  - add_custom_modules
  - simulation
    - financial
    - layout
    - resource
    - sites
    - technologies
      - dispatch
      - hydrogen
      - pySSC_daotk
      - battery.py
      - clustering.py
      - csp_plant.py
      - detailed_pv_plant.py
      - grid.py
      - power_source.py
      - pv_plant.py
      - tower_plant.py
      - trough_plant.py
      - wind_plant.py
    - hybrid_simulation.py
    - reopt.py
    - utility_rate.py
  - utils
    - keys
    - log
- resource_files 
- tests
  - analysis
  - hopp
- tools
...

This is part of a proposed strategy to make small, manageable PRs into develop (now branch-protected) based on the refactor work, which will allow us to stay up-to-date with master, keep the test suite stable, and review the software design in reasonable chunks. dev/refactor in its current state has diverged greatly from master (see compare, which is so large that GitHub can't display the file changes), and even if we are able to make the CI stable again (current builds fail for an unknown reason), the PR to master will be so large that it will be very difficult to review.

The proposed process is iterative:

  1. cherry-pick a single feature or refactor from dev/refactor
  2. ensure proper test coverage and stable CI runs
  3. PR into develop

For example, the PR after this would pull the HOPP interface changes and yaml input structure, and the PR after that would pull new hydrogen features introduced in Green Steel, etc. in smaller chunks

@camirmas
Copy link
Collaborator Author

camirmas commented Aug 10, 2023

Build passing here. Tests will not pass on forked PRs due to NREL_API_KEY security (see #152 for more info)

@camirmas camirmas requested review from dguittet and bayc August 11, 2023 17:36
@camirmas camirmas self-assigned this Aug 11, 2023
@camirmas
Copy link
Collaborator Author

Closing this for the moment. Tests are running on #153 so I'm going to see if we can get them fixed and then merged back into dev/refactor

@camirmas camirmas closed this Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant