WindIO support in FLORIS#1175
Conversation
|
Hi @lejeunemax , Thanks for the pull request! To get started with it, I have pulled down your fork, made the necessary formatting changes, and resolved some conflicts with the develop branch. Then I went to push up those changes, and my permissions were denied. At first, I thought this was just because the permissions on the PR weren't allowing maintainers to commit, but I see that permissions are indeed enabled. Digging a bit further, I think the issue here may be that your fork of FLORIS is forked from rafmudaf/FLORIS, rather than NatLabRockies/FLORIS, which has broken the permission chain (see also here). To allow me to make commits, I think there are a couple of options:
Of these, I think the first is a better and more stable option, but it requires a bit of reconfiguring on your end. If you'd rather go for the second, you can always remove permissions from your fork once this PR is merged (but, presumably, the same thing will happen if you open another PR to NatLabRockies/FLORIS in future) Sorry for the headache! |
|
Moving this discussion to #1191 |
WindIO support in FLORIS
This PR introduces support for WindIO in FLORIS.
It enables running FLORIS wake simulations directly from WindIO-compliant input files, while keeping WindIO as an optional dependency.
Summary of changes
The
fmodelnow includes three new methods:from_windioReads a WindIO YAML farm file and runs a wake model simulation based on its contents.
set_wind_data_from_windioUpdates the wind farm geometry and turbine data based on a specified WindIO wind farm file.
set_farm_from_windioUpdates wind data based on a specified WindIO wind resource file.
Currently supported wind resource formats include:
WindIO parsing and field tracking
WindIO input files are read using the modified dictionary class
read_windio/utils/TrackedDict.This class tracks which WindIO fields are accessed during parsing and emits a warning when keys from the WindIO input are not used. This mechanism helps:
Dependency management
WindIO is imported at runtime and therefore remains an optional dependency of FLORIS.
Users who do not rely on WindIO workflows are not affected.
Impacted areas of the software
Most changes are contained within the
read_windiodirectory and are therefore largely orthogonal to other ongoing or future developments.To comply with the WindIO output standard, a new
keep_inertial_frameoption was added to the initialization ofFlowFieldPlanarGrid.This option allows the FLORIS flow field to be computed on a fixed inertial grid, rather than in a frame aligned with the main wind direction, which is required for compatibility with WindIO outputs.
Optional TODOs
blockage_model,axial_induction_model,rotor_averaging)