NREL / flasc

A rich floris-driven suite for SCADA analysis
https://nrel.github.io/flasc/
BSD 3-Clause "New" or "Revised" License
32 stars 18 forks source link

Add wind up example using `FlascDataFrame` #210

Closed aclerc closed 2 months ago

aclerc commented 2 months ago

Feature or improvement description Add a simple example of a wind-up uplift and uncertainty calculation The filtered and northed flasc dataframe is converted to wind-up format using a new FlascDataFrame method It is probably best to merge PR #199 before merging this PR because I branched from misi9170:feature/flasc-df

Related issue, if one exists

195

Test results, if applicable I have added test_convert_to_windup_format() which passes for me locally

misi9170 commented 2 months ago

@aclerc I've merged back the flasc-dataframe target branch and resolved conflicts. Tests pass, and I checked that the examples_smarteole/09_wake_steering_uplift_analysis.ipynb notebook still runs and appears to produce the expected outputs.

EDIT: perhaps not---I just ran the notebook again and get an error OptionError: No such keys(s): 'future.no_silent_downcasting' coming from the results_per_test_ref_df = run_wind_up_analysis(assessment_inputs) line. @aclerc, have you seen this before? It may be a problem with my conda environment, I'll try a few things.

This remerging may need to happen one more time if we get #211 , which adds some core components to the FlascDataFrame, goes in before this PR, but I again should be able to handle that.

aclerc commented 2 months ago

Hi @misi9170 regarding OptionError: No such keys(s): 'future.no_silent_downcasting' I think that is related to the pandas option set on this line https://github.com/resgroup/wind-up/blob/eee1c07be49e17d344feaa4aa0f4af8e14ff4648/wind_up/plots/scada_funcs_plots.py#L220. I think upgrading your pandas version will fix that for you. If this continues to be troublesome feel free to raise an issue on the wind-up repo.

misi9170 commented 2 months ago

Thanks @aclerc, that fixed it. I was using pandas 2.0.2 when I was having the problem, and upgrading to the current 2.2.2 solved the problem (I also had to upgrade pyarrow for compatibility with pandas 2.2.2). pandas 2.0.2 actually satisfies the current FLASC pandas requirement (pandas~=2.0), so I'll probably bump the requirement up to pandas~=2.2.

Confirming now that the notebook produces the expected 0.6%, -0.2%, 1.4% result.