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

Add WEIS file readers and writers #2188

Merged
merged 45 commits into from
May 21, 2024

Conversation

cortadocodes
Copy link
Contributor

@cortadocodes cortadocodes commented May 7, 2024

Feature

This pull request copies the WEIS readers and writers for OpenFAST into the OpenFAST repo itself and makes them available via an openfast_io python package. The idea is for these readers and writers to be updated directly inline with OpenFAST development so they stay up to date and can be found and used by more people more easily.

To avoid any breaking changes, I've copied over the python modules without any refactoring. Although I would have liked to add some unit tests, it's not in the scope of my work currently and I've been assured they work by users of OpenFAST. I've copied over the integration test from WEIS without running it or modifying it (apart from to update the paths to the test files).

Impacted areas of the software

  • A new python package openfast_io is added under the top-level directory openfast_python

OpenFAST maintainers to-dos

PyPI

  • If one doesn't exist, create an NREL or OpenFAST PyPI account so the openfast_io python package can be installed with pip
  • Set up a trusted publisher to securely upload the python package to PyPI

pyproject.toml

  • Check if the contributors I've added to pyproject.toml are correct (I checked the commits for the aeroelasticse directory in WEIS to get the list I've included, but if you keep it in the repo root, you might want to add some more people)
  • Once the PyPI repository is set up:
    • Rename the package in pyproject.toml to openfast_io
    • Update the version to 3.5.4

Other

  • Check I've included all the necessary files from the directory in WEIS and nothing that doesn't need to come across
  • Check if you're happy with the README I've added to the python package
  • Do we need to attribute WEIS or the WEIS repository in a formal way or include their license in the python package?
  • There are a few references to WEIS in the following files. I'm not sure whether I should change them or not:
    • FAST_writer.py
    • IEC_CoeherentGusts.py
    • create_output_vars.py

@cortadocodes cortadocodes changed the base branch from main to rc-3.5.4 May 7, 2024 11:25
@cortadocodes cortadocodes changed the title Add weis readers and writers Add WEIS file readers and writers May 7, 2024
@cortadocodes
Copy link
Contributor Author

cortadocodes commented May 14, 2024

@andrew-platt @mayankchetan @deslaughter it would be really useful for me right now to have the readers/writers available as an openfast python package - do you have any objections to me making a PyPI project and publishing a beta version of the readers? I'd transfer ownership over to you guys when this is all wrapped up

@cortadocodes
Copy link
Contributor Author

@mayankchetan I've done the following:

  • Added rosco as an optional dependency
  • Moved pyproject.toml into the openfast_python directory so the python package installs properly
  • Updated the readme and added a section to the installation docs
  • Temporarily renamed the python package to octue-openfast so I can use it in my project until NREL's PyPI package is up and running
  • Updated the PR description above

@mayankchetan
Copy link
Contributor

Thank you @cortadocodes, look good to me!

@andrew-platt
Copy link
Collaborator

@andrew-platt @mayankchetan @deslaughter it would be really useful for me right now to have the readers/writers available as an openfast python package - do you have any objections to me making a PyPI project and publishing a beta version of the readers? I'd transfer ownership over to you guys when this is all wrapped up

@cortadocodes, This sounds like a reasonable plan. Thansk!

@andrew-platt andrew-platt self-requested a review May 21, 2024 15:30
@andrew-platt andrew-platt self-assigned this May 21, 2024
@andrew-platt andrew-platt added this to the v4.0.0 milestone May 21, 2024
@andrew-platt andrew-platt added the Type: IO Readers/Writers Input file readers and writers label May 21, 2024
@andrew-platt andrew-platt removed this from the v4.0.0 milestone May 21, 2024
@andrew-platt
Copy link
Collaborator

Since there were lots of files added, then removed in the process of this PR, I suggest we do a squash merge to reduce the total storage required on the OpenFAST repository.

@mayankchetan
Copy link
Contributor

mayankchetan commented May 21, 2024

PR to Octue repo: octue#6

  • WEIS references in code replaced with OpenFAST_IO
  • Apache-2.0 License added pyproject.toml

…ters

Removing Weis references in code + adding license
@andrew-platt andrew-platt merged commit 397d1b9 into OpenFAST:rc-3.5.4 May 21, 2024
114 checks passed
Copy link
Collaborator

@andrew-platt andrew-platt 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 doing this!

@cortadocodes
Copy link
Contributor Author

Hi guys, do you know when 3.5.4 might be released? I'm about to wrap up the project I'm using the new openfast_io python package in and it would be great to use the official version!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement Type: IO Readers/Writers Input file readers and writers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants