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

Xarray conversion - Project Tracking Card #260

Open
akeeste opened this issue Aug 15, 2023 · 2 comments
Open

Xarray conversion - Project Tracking Card #260

akeeste opened this issue Aug 15, 2023 · 2 comments
Assignees

Comments

@akeeste
Copy link
Contributor

akeeste commented Aug 15, 2023

In the near future, MHKiT will begin transitioning from using pandas as its base to xarray. The development team made this decision for several reasons:

  • It is much easier to have functionality in xarray and convert xarray to pandas, than convert pandas to xarray. xarray and pandas can both still be used as function input/output
  • User requests @ryancoe @cmichelenstrofer
  • Increases interoperability with ME Data Pipeline @jmcvey3 and Capytaine @cmichelenstrofer

The below comment is a Project Tracking Card (i.e. roadmap) that records the reasoning for this change and further details the intended steps to complete this process. There is no hard timeline for each step yet, but we're hoping to make significant progress over FY24.

If @ryancoe @cmichelenstrofer @jmcvey3 or others have modules that you would like prioritized, please let us know!

Closing #78 in favor of tracking things here.

@akeeste akeeste mentioned this issue Aug 15, 2023
@akeeste
Copy link
Contributor Author

akeeste commented Aug 15, 2023

Project Tracking Card

Conversion to Xarray

Target

MHKiT fully supports xarray as its default, base dependency throughout the software package. Functions optionally accept pandas input/output with a new flag, but internal MHKiT functionality uses xarray.

User Story

"As a ___, I want ___, so that ___"
As a user, I want new version of xarray, so that MHKiT keeps up to date with other software I use
As a user, I want xarray support, so that I can more easily couple MHKiT with other software
As a developer, I want an xarray base, because it is easier to convert xarray to pandas than pandas to xarray
As a developer, I want an xarray base, to consolidate and standardize the base dependency of MHKiT

Card

  • 1. MHKiT uses a mix of xarray and pandas. The vast majority of functionality is based on pandas and can optionally input/output xarray
  • 2. Update developer expectations and processes so that new functionality is based on xarray.
  • 3. Prioritize modules for xarray conversion based on scale and user needs.
  • 4. 33% of modules' internal functionality is based on xarray
  • 5. 66% of modules' internal functionality is based on xarray
  • 6. 100% of modules' internal functionality is based on xarray
  • 7. MHKiT fully allows for xarray input/output, but function IO defaults are largely unchanged. Functions retain their previous IO standard for pandas/xarray. Begin converting flags from denoting optional xarray to denoting optional pandas.
  • 8. MHKiT release with depreciation warnings when pandas is used as an input without the pandas flag.
  • 9. At the "Target" status listed above

@akeeste akeeste self-assigned this Nov 13, 2023
@akeeste
Copy link
Contributor Author

akeeste commented Apr 17, 2024

Low priority TODO: WEC-Sim data can be better read using xarray and specifying the DOF as a new dimension instead of tacking it onto variable names

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

No branches or pull requests

1 participant