Recent Releases of foxes
foxes - v1.8.0
- Applications:
- New command line tool
era52foxes, reducing and localizing ERA5 data files to FieldData-ready NetCDF files
- New command line tool
- Inputs:
- New ambient states class
LatLonFieldData, for NetCDF input on regular latitude/longitude grids
- New ambient states class
- Output:
- New output classes:
WindFarmsEvalandClusterEval, for simple computation of turbine aggregated results - The
FarmLayoutOutputcan now also color bywind_farmandclusterfields. - Refactoring and generalizing
FarmResultsEval
- New output classes:
- Models:
- Refactored air density and yaw misalignment corrections for all turbine types
- Re-implemented
CpCtFileandCpCtFromTwo, now no longer mapping toPCtFile - Variable change:
FV.CAPnow refers to capacity and no longer to capacity factor, i.e., it now represents the maximally available power in the power unit specified by the turbine type. The capacity factor is now referred to asFV.CAPF. Both can be computed byFarmResultsEval,WindFarmsEvalandClusterEval.
- Tests:
- New tests for turbine models and turbine types
- Bugs:
- Bugs fixed with air density correction of power curves
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.8.0
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 6 days ago
foxes -
- Algorithms:
- All algorithms now accept a parameter
max_wake_length_km, reducing the number of target points in wake calculations. Note that this replaces the correcponding parameter in some of the wake frames, likeDynamicWakesorStreamlines2D.
- All algorithms now accept a parameter
- Inputs:
- Additionally to the
wind_farm_nameparameter, turbines now also accept acluster_name. Both can be accessed byfarm.wind_farm_namesandfarm.cluster_names, respectively (note there is alsofarm.get_wind_farm_mappingandfarm.get_cluster_mapping). - The farm layout function
add_from_csvnow optionally reads the wind farm and cluster names from corresponding columns.
- Additionally to the
- Outputs:
- The
FarmLayoutOutputclass now also writes wind farm names and cluster names to columns via functionwrite_csv. The new functionget_dataframereturns the same data instead.
- The
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.7.6
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] about 2 months ago
foxes -
- Bug fixes:
- Memory leak fixed, causing cases with many chunk to pile up memory for pool engines
- Bug fixed with
PopulationStatesin combination withSingleStateFieldstates
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.7.5
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 2 months ago
foxes -
- Applications:
- New command line application
wrf2foxes, converting data files from WRF-NEWA NetCDF format into a regular UTM based grid that is readable by theFieldDatastates class. The subsequent foxes run might then be faster than using theNEWAStatesclass.
- New command line application
- Inputs:
- New ambient states
SingleStateField, for heterogeneous data without state dimension, e.g. the mean field output offoxes_create_mean_dataset
- New ambient states
- Models:
- Removing
pre_rotorflag. The position before or after the rotor model is now automatically determined based on the overlap of model output variables and the newly introduced input variables of the selected rotor model. - New turbine model
YawControllerfor sequential runs, simulating basic yaw manoeuvres that follow window averages of ambient wind direction
- Removing
- Examples:
- New example
sequential_yawcontroller, demonstrating the newYawControllermodel
- New example
- Bug fixes:
- Fix for bug with states averaging in
PointCalculator
- Fix for bug with states averaging in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.7.4
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 2 months ago
foxes -
- Bug fixes:
- Bug fixed in
iconDream2foxeswith verbosity during file processing step
- Bug fixed in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.7.3
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 4 months ago
foxes -
- Inputs:
- New states
ICONStatesfor heterogeneous flows that are based on data from DWD's ICON software - New states
TurbinePointCloud, modelling ambient data at turbine locations
- New states
- Utils:
- New function
download_filethat manages the download of files from an URL, picking up incomplete downloads at restart
- New function
- Applications:
- New command line application
foxes_create_mean_dataset, takes mean over the time dimension of NetCDF data, translating to wind components first - New command line application
iconDream2foxes, downloading hourly DWD-ICON-DREAM data and converting it into NetCDF files that are suitable for running with foxes asICONStates. - New command line application
eww2foxes, downloading EuroWindWakes data for the
usage withfoxes.input.farm_layout.add_from_eww
- New command line application
- Examples:
- New example
icon_dreamthat demonstrates the usage ofICONStatesandadd_from_eww
- New example
- Notebooks:
- New notebook
icon_dream.ipynb, demonstrating the usage ofICONStatesandadd_from_eww - New notebook
turbine_data.ipynb, demonstrating how to simulate (state, turbine)-type ambient inflow data usingTurbinePointCloudstates
- New notebook
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.7.2
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 4 months ago
foxes -
- Bug fixes
- Fixes for bugs with foxes-opt
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.7.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 5 months ago
foxes - v1.7.0
- Documentation:
- The docu has moved to a new location: https://fraunhoferiwes.github.io/foxes/index.html
- Python version:
- Removing support for Python 3.14, will be re-added at a later stage
- Engines:
- All engines are now required to be used though a with block. If
algo.calc_farm()oralgo.calc_points()are called outside such a block, the DefaultEngine will be created temporarily and the with block will be added in the background.
- All engines are now required to be used though a with block. If
- Models:
- Improving the
Streamlines2Dwake frame, now substantially faster and lighter on memory
- Improving the
- Input:
- Aligning the
windioinput with WIFA conventions forturbine_results.ncoutput writing, now (turbine, time)
- Aligning the
- Output:
- Image generating outputs like
FlowPlots2Dnow separate plot data computation from figure generation. This reasoning is thatmatplotlib.pyplotis not thread-safe, and now all data can first be computed in parallel before using it for graphics after exiting the engine context.
- Image generating outputs like
- Utils:
- New function
eval_dict_values, which recursively parses string dictionary values like e.g.np.arange(100)to data, applied inDict.eval()
- New function
- Bug fixes:
- Fixed a bug with the
Sequentialalgorithm in combination withOnePointFlowStates
- Fixed a bug with the
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.7.0
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 5 months ago
foxes -
- Engines:
- Reworked engine implementations, in particular pool engines. This concerns progress display and a smoother balance between submissions and post-processing chunk results.
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.6.2
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 7 months ago
foxes -
- Input:
- All NetCDF based states now have improved performance in speed an memory, thanks to reworking the treatment of states during spatial interpolation
- Engines:
- Engines can now optionally write flow animations of individual chunks to file during calculations. This is triggered by the new
write_chunk_aniparameter of thecalc_farmandcalc_pointsfunctions.
- Engines can now optionally write flow animations of individual chunks to file during calculations. This is triggered by the new
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.6.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 7 months ago
foxes - v1.6
- Python version:
- Adding support for Python 3.14
- Core:
- Wind farms now support turbine locations in terms of longitude, lattitude. They will automatically be translated into
a uniquely fixed UTM zone, stored in the global config object. - Turbines now carry an optional property
wind_farm_name, intended for cases which model multiple wind farms. TheWindFarmclass offers a propertywind_farm_namesand a functionget_wind_farm_mapping(), returning a mapping from wind farm names to turbine indices. This is for example used by layout plots with the choiceannotate=3, which results in printing wind farm names instead of turbine indices.
- Wind farms now support turbine locations in terms of longitude, lattitude. They will automatically be translated into
- Algorithms:
- New optional dict-type parameter
write_ncforalgo.calc_farm()andalgo.calc_points(), allowing the parallel writing of results into multiple files without ever constructing the complete dataset in memory. If writing results to file is the only intention of the run, this is the recommended approach. - Introducing new parameter
population_paramstoDownwindalgorithm, for setting up a vectorized parameter study. This is based on a set of values for selected variables, which are then evaluated for each state. This is realized via the algorithm specific states classPopulationStatesand turbine model classPopulationModel. - Reworking the
Iterativealgorithm, such that it now computes only non-converged states in each iteration. In general, this leads to a substantial speed-up. - Introducing new boolean parameter
clear_memtoalgo.calc_farm(), clearing memory after initiating the calculation. This is intended to be used when there is only one single call of that function, or any of the used models.
- New optional dict-type parameter
- Engines:
- Now all engines have
submitandawait_resultfunctions (which are trivial for serial engines), also usable by the user from theengineobject, e.g. for parallel plotting during post-processing. - Adding support for parallel results writing via
write_ncparameter, optionally without ever creating the full dataset in memory. Independent of writing, the futures of individual chunks are now computed directly when needed, no longer in advance. - Engines have a new boolean parameter
progress_bar, and if set to False, they print the progress to terminal instead. This is recommended for runs on clusters. - Dropping
XArrayEngine, since no longer compatible
- Now all engines have
- Inputs:
- New farm layout input
from_eww, reading wind farm input in EuroWindWakes format - New farm layout input
from_wrf, reading a folder that contains wind farm input data in a format readable by WRF - New states
NEWAStates, directly reading NEWA-WRF data files into foxes
- New farm layout input
- Models:
- Addition of
IEA37Gaussianwake model to the model book, requiring slight generalization of theBastankhah2014wake model class. - Adding default parameter wake models to the model book, following the papers:
Bastankhah2014,TurbOPark.
- Addition of
- Utils:
- Improved
write_ncutility, now better data compression through the usage of appropriate encoding
- Improved
- Examples:
- New example
parameter_study, demonstrating the setup of a parameter study
- New example
- Bug fixes:
- Fix for max x selection in
FieldDataNC, thanks @qzheng75 - Fix for
Sequentialalgorithm with non-updated chunk store data - Fix for
TurbOParkwake model in the context ofwindioinput files - Fix for bug with writing time stamps to NetCDF in
write_nc
- Fix for max x selection in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.6
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 7 months ago
foxes - v1.5.2
- Models:
- New farm controller
OpFlagController, switching off turbines based on state-time dependent boolean input data - Wake blockage model
SelfSimilar: Promotingalphaandbetato constructor arguments
- New farm controller
- Tests:
- New test
test_set_farm_vars, checking if correct turbine ordering is maintained
- New test
- Notebooks:
- New notebook
operating_flag.ipynb, demonstrating the usage of theOpFlagControllerclass
- New notebook
- Bug fixes:
- Bug fixed with negative beta in sqrt for some wake models, Madsen axial induction and high ct values
- Bug fixed with wake model
bastankhah16to set default value beta to 0.077 (was 0.07)
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.5.2
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 9 months ago
foxes -
- Now all examples are making use of an engine via the
withcontext, as it should be done in scripts - Bug fixes:
- Bug fixed that caused a reset in the
dyn_wakeswake frame when callingcalc_points - Bug fixed with
write_ncutility, concerning string type coordinate arrays
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.5.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 11 months ago
foxes - v1.5
- Dependencies:
- Introducing minimal package versions of dependencies to pyproject.toml
- Inputs:
- New abstract states class
DatasetStates, serving as a common base for NetCDF type input data - Renamed
FieldDataNCasFieldData, now with improved data handling - New states class
PointCloudData, interpolating data with irregular point cloud support - New states class
WeibullField, representing Weibull sector data on a regular grid - New states class
WeibullPointCloud, representing Weibull sector data with irregular point cloud support - New farm layout input function
add_from_arrays, for directly adding turbines through one dimensional data lists or arrays - Advancing
windioto version 2.0
- New abstract states class
- Models:
- New turbine type
CalculatorType, for direct infusion of farm data at a turbine through a user function - New rotor model
DirectMDataInfusion, piping stored model data directly into turbines - Generalizing the
Calculatorturbine model, now additionally passingalgo, mdata, fdatato the user function
- New turbine type
- Examples:
- New example
point_cloud, demonstrating the useage of thePointCloudambient states class - New example
weibull_grid, demonstrating the useage of theWeibullFieldambient states class - New example
weibull_cloud, demonstrating the useage of theWeibullPointCloudambient states class - New example
direct_mdata_infusion, demonstrating how to infuse states data dirctly into rotor data without interpolation
- New example
- Bug fixes:
- Bug fixed with turbine model
SetFarmVarsthat mixed up the turbine ordering - Bug fixed with turbine models that are marked as
pre_rotorthat mixed up the turbine ordering
- Bug fixed with turbine model
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.5
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 11 months ago
foxes - v1.4
- Core:
- This version introduces
WakeDeflectionmodels. This replaces and generalizes theYawedWakeswake frame, such that now any choice of wake frame can be combined with yawed wakes, for example streamlines or dynamic wakes. The wake deflection model is selected through the parameterwake_deflectionor the algorithm and then applies to all wakes. - Wake models, wake deflections or wake superpositions can now induce a horizontal rotation of the waked wind vector. This is realized by inhternally switching from a
(WS, WD)description to aUVvector, and vice-versa at the end of calculations. - A new abstract class
WindVectorWakeSuperpositionwas instroduced for the purpose of handlingUVwind wake effects.
- This version introduces
- Inputs:
- New states
WeibullSectors, reading and interpreting spatially homogeneous Weibull scale and shape parameters for wind direction sectors, from csv or nc files
- New states
- Models:
- New wake deflection model
Bastankhah2016Deflection, replacing the previousYawedWakeswake frame. Notice that this model does not modify the wind speed deficit or the wind direction in the wake, it only changes the wake path. Meant to be used together with theBastankhah2016wake model. - New wake deflection model
JimenezDeflection, which bends the wake and optionally also rotates the waked wind vector along the path. If that option is chosen, this model requires a vector type superposition of the wind deficit. - New wake deflection model
NoDeflection, which switches off wake bending and should be used if no yaw misalignment occurs in the simulation (default). - New wake superposition model
WindVectorLinear, realizing linear vector type wind vector superposition.
- New wake deflection model
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.4
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] 12 months ago
foxes -
- Core:
- The statistical weights of the states are now no longer required to be known a-priori, but they are computed at target points during the states calculation. So in principle, weights can now depend on the evaluation point, as it is required by the new
WRGStates, see below.
- The statistical weights of the states are now no longer required to be known a-priori, but they are computed at target points during the states calculation. So in principle, weights can now depend on the evaluation point, as it is required by the new
- Input:
- Introducing
WRGStates, reading and running Wind Resource Grid (WRG) data files which describe Weibull factors on a regular horizontal grid.
- Introducing
- Examples:
- New example
quickstart, demonstrating foxes in a minimal script
- New example
- Bug fixes:
- Bug fixed with
xarray.Datasetinput instead of file forFieldDataNCstates
- Bug fixed with
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.3
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
- Models:
- Fix for bug in
VortexSheetturbine induction wake model. Thanks @MellBeli
- Fix for bug in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.2.5
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
- Config:
- Fix for bug with
nc_enginefor Python 3.8
- Fix for bug with
- Utils:
- New util
ReaderWRG, reading WRG files. Thanks @HassanKassem
- New util
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.2.4
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
- Dependencies:
- Switching
windIOsupport to fork at https://github.com/EUFLOW/windIO - Removing dependency
netcdf4, since this orh5netcdfare now a dynamic choice, called when NetCDF files are being used
- Switching
- Config:
- Now three directories are defined:
work_dir,input_dir,output_dir. If not defined, falling back towork_dir, defaulting to cwd.
- Now three directories are defined:
- Inputs:
- Removing
SliceDataNC, since nowFieldDataNCcan handle data without height dependency - Enhancing
FieldDataNCfor more efficient parallel loading of large data, replacingpre_loadflag with load mode optionspreload,lazy,fly - Enhancing
windioinputs for output generation
- Removing
- Outputs:
- New output
SlicesDatawhich combines slices fromSliceDatainto a single NetCDF file, resulting in full 3d field output (or 4d, with time/states dimension)
- New output
- Models:
- New point model
Ustar2TI, estimates TI from friction velocity
- New point model
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.2.3
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
- Developments required by
foxes_optv0.3, related to running also wind farm optimizations by yaml parameter files
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.2.2
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
- Dependencies:
- Removing dependency on
windrosepackage
- Removing dependency on
- Outputs:
- Output
FarmResultsEval: Renaming contraction rulemeanintoweights. Introducing new rulemean_no_weights. - New Output
WindRoseBinPlot, for example showing variable mean values for wind rose bins - Re-implementation of
WindRosePlot, no longer needs thewindrosepackage
- Output
- Inputs:
- Generalizing
ScanWSstates toScanStates, for arbitrary tensor products of variable lists - States
FieldDataNCnow also accepts fields without heights, signature (state, x, y) and (state, y, x)
- Generalizing
- Bug fixes:
- Fixing some examples that were computing the turbine efficiency incorrectly
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.2.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
- Command line applications:
- New command line application:
foxes_yaml, runs foxes by interpreting ayamlinput parameter file (no script neccessary) - New command line application:
foxes_windio, runs foxes by interpreting a windioyamlinput parameter file (no script neccessary)
- New command line application:
- Config:
- Introducing a dictionary-like configuration object
foxes.config, setting default data types, the directory choices, etc.
- Introducing a dictionary-like configuration object
- Inputs:
- New input package
foxes.input.yaml, realizing the run via yaml parameter files. This is not followingwindio, but a foxes specific structure. - Reworked
windioinput package, now atfoxes.input.yaml.windioand based onfoxes.input.yaml
- New input package
- Outputs:
- Introducing the idea of a default output directory, accessible via
foxes.config.out_dir. The file writing output classes now refer to this, or a output specific output directory that is given as an argument to the constructor of the output class.
- Introducing the idea of a default output directory, accessible via
- Examples:
- New example
yaml_input, demonstrating the command line applicationfoxes_yamland the new yaml parameter file
- New example
- Bug fixes:
- Fix for
TurbOParkIXwake model: Nowkis trulyk, such that onlyambkaorkachoices fromWakeKcorrespond to multiplication withAMB_TIorTI, respectively.
- Fix for
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.2
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
- Dependencies:
- Removing optional dependencies
io. The installation advice will be printed when trying to use thefoxes.input.windiosub package. The reason is that for now this depends on a personal fork by kilojoules, and the inclusion of such dependencies is not supported by PyPi.
- Removing optional dependencies
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.1.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes - v1.1.0.2
- Python versions:
- Adding support for Python3.13
- Engines:
- Default number of processes is now os.cpu_count(), or os.process_cpu_count() for python3.13
- New engine:
RayEngine(short nameray), runs parallel computations based on the Ray package
- Inputs:
- New states
SliceDataNC, much likeFieldDataNCbut without height dependency
- New states
- Models:
- New turbine type
TBLFile: Reads power, ct, D, H, P_rated from a *.tbl file - Turbine induction models
SelfSimilar,SelfSimilar2020,Rathmann,VortexSheetnow optionally accept any wind speed superposition model, i.e., they are no longer based on hard-coded linear superposition
- New turbine type
- Bug fixes:
- Bug fixed in
WSProduct, causing zero wind speed at regions not touched by wakes - Bugs fixes in
FarmLayoutOutput, concerning the writing of the layout csv file
- Bug fixed in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
This major version introduces the concept of Engines which handle the chunking and parallelization of all foxes calculations. The default choice now prefers the concurrent.futures package and provides a significant speedup compared to previous versions. See the documentation for more details and all engine choices. The Engines replace the Runners of previous versions.
- Engines
- New engine
ThreadsEngine(shortthreads): Sends chunks to threads, based onconcurrent.futures - New engine
ProcessEngine(shortprocess): Sends chunks to processes, based onconcurrent.futures - New engine
MultiprocessEngine(shortmultiprocess): Sends chunks to a multiprocessing pool - New engine
XArrayEngine(shortxarray): Runs parallelization via xarray.apply_ufunc - New engine
DaskEngine(shortdask): Submits chunk calculation functions todask - New engine
LocalClusterEngine(shortlocal_cluster): Creates a virtual cluster on the local machine - New engine
MPIEngine(shortmpi): Parallel computation viampi4py, also multi-node - New engine
SlurmClusterEngine(shortslurm_cluster): Submits jobs to a SLURM system - New engine
NumpyEngine(shortnumpy): Runs a loop over chunks - New engine
SingleChunkEngine(shortsingle): Runs single-chunk calculations - New engine
DefaultEngine(shortdefault): Switches betweensingleandprocess, depending on the case size
- New engine
- Inputs:
- New states
OnePointFlowStates,OnePointFlowTimeseries,OnePointFlowMultiHeightTimeseries,OnePointFlowMultiHeightNCTimeseries: Generating horizontally inhomogeneous inflow from horizontally homogeneous input data - New farm layout option:
add_ring, adding a ring of turbines
- New states
- Models:
- Wake frame
Timelinesnow also accept spatially uniform multi-height states - New wake frame
DynamicWakes: Dynamic wakes for any kind of timeseries states, compatible with chunking - New turbine type
FromLookupTable, computes power and thrust coefficient from a lookup table
- Wake frame
- Outputs:
- New sub package
seq_plugins, in case more of these will be added in the future - New sequential plugin
SeqWakeDebugPlugin, adding wake centres and velocity vectors to flow animations, for debugging
- New sub package
- Examples:
- New example:
dyn_wakes, similar totimelinesbut with dynamic wakes andOnePointFlowTimeseriesinflow
- New example:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.0
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] over 1 year ago
foxes -
- Removing
plotly_helpers.pyfromutils - Updating dependencies
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.8.2
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes -
- Updated requirements.txt
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.8.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - v0.8
Starting with this version, the previous foxes.opt sub-package is is now its own package at github, pypi and conda-forge: foxes-opt, with its own documentation.
If you are planning to run wind farm optimizations, install it via
pip install foxes[opt]
or
pip install foxes-opt
or
conda install foxes-opt -c conda-forge
Compared to older versions, replace foxes.opt by foxes_opt in all your scripts - then everything should just run as before.
If you are not running any optimizations, just don't do any of the above and enjoy the lighter version with less dependencies.
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.8
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.25
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.24
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.23
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.22
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.21
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.20
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.19
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.18
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.17
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.16
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.15
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.14
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.13
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.12
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.11
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.10
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.9
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.8
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.7
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.6
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.5
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.4
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.4.3
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - v0.7.4
- Input:
- Adding output options to
windio
- Adding output options to
- Output:
- New output
StateTurbineTable, exporting state-turbine data to NetCDF
- New output
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.7.4
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - v0.7.3.1
- Dependencies:
- Restriction to
numpy<2due to an incompatibility of dependecyautograd
- Restriction to
- Core:
- New model type
GroundModel, which manages the call of the partial wakes models in case of farm calculations and wake models in case of point calculations
- New model type
- Inputs:
- New height dependent states:
MultiHeightNCStatesandMultiHeightNCTimeseries, same asMultiHeightStatesandMultiHeightTimeseries, but starting from a netCDF file orxarray.Datasetinput
- New height dependent states:
- Models:
- New wake model helper class
WakeK, handling thek,ka,kbchoices for all wake models - New ground model
NoGround, plain call of the partial wakes and wakes models - New ground models
WakeMirrorandGroundMirror, replacing the equivalent former wake models. Realizing wake reflection at horizontal planes. - New induction model
VortexSheet, which is a radial implementation of the centreline deficit model in Medici 2012 https://doi.org/10.1002/we.451
- New wake model helper class
- Utils:
- New utility
WakeKFactoryclass, enabling the choice of eitherkorka, kbdirectly from the wake model names in the model book.
- New utility
- Inputs:
- Work on
windio, but unfinished on their side when it comes to analysis requests
- Work on
- Examples:
- Example
multi_height: Now based onMultiHeightNCTimeseries
- Example
- Bug fixes:
- Fox for bug with wake mirrors and partial wakes
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.7.3.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] almost 2 years ago
foxes - v0.7.2
- Bug fixes:
- Fix for bug with
Factorythat confused templatesA_B<..>type withB<..>type templates
- Fix for bug with
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.7.2
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] about 2 years ago
foxes - v0.7.1
- Models:
- Improved
ModelBook, adding some smartness thanks to model factories. Parameters are parsed from model name strings that follow given patterns. E.g.,Jensen_<superposition>_k<k>represents allJensenWakemodels with any superposition model choice and and choice of k, andJensen_linear_k0075would be an accepted name choice by the user. - New wind speed superpositions
WSLinearLocal,WSQuadraticLocal,WSPowLocal,WSMaxLocal: Adding dimensionless wind deficits, and then evaluating the overall effect for the ambient results at evaluation points (no scaling with rotor effective data)
- Improved
- Utils:
- New utility
Factory, creating class instances from selections of allowed parameter choises - New utility
FDict, a dictionary that supports factories
- New utility
- Bug fixes:
- Bug fixed with
TurbOParkIX, that prevented it from running
- Bug fixed with
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.7.1
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] about 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.0.6
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] about 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.0.5
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] about 2 years ago
foxes - https://github.com/FraunhoferIWES/foxes/releases/tag/v0.7.0.4-trigger
Renewable Energy - Wind Energy
- Python
Published by github-actions[bot] about 2 years ago
foxes -
testing new pypi workflow
Renewable Energy - Wind Energy
- Python
Published by SchmJo about 2 years ago
foxes - v0.7
- Python versions:
- Now supporting Python 3.12
- Documentation:
- New page
Models, summarizing and explaining the foxes model choices.
- New page
- Core:
- Speed-up in comparison with version 0.6.x, by internally handling all turbine data in downwind order, and then translating it back to farm order once computations are complete.
- Internally, all point evaluation data is now translated into so called "target" data, where each target is understood as being composed of a certain number of target points. During wake computations, these are the points per rotor (as defined by partial wakes models). For computations at user given points, the points are interpreted as targets with a single target point each. Final point output data is then given to the user again with point index coodinates, i.e., in the same format as in previous versions.
- New data classes:
MData,FData,TData, all derived from the foxesDataclass. These specialize model, farm and target data, respectively, during model calculations.
- Algorithms:
- All algorithm constructors now take
farm, states, wake_modelsas the first three arguments. If no model book is given, the defaultModelBook()will be used. - Partial wakes are now chosen either
- by a dictionary, which maps wake model names to model choices (or default choices, if not found),
- or by a list, where the mapping to the wake models is in order of appearance,
- or by a string, in which case all models are either mapped to the given model, or, if that fails with
TypeError, to their defaults, - or by
None, which means all models are mapped to the default choice.
- All algorithm constructors now take
- Partial wakes:
- New
PartialSegregatedabstract model, from which thePartialGridmodel is derived. Segregated models now average background results and wake deltas separatly, and then add the results. Notice that with the choice ofRotorPointspartial wakes, the mathematically correct average over a discretized rotor is calculated. This is more accurate, but it may be slower than some models (e.g. forPartialAxiWakemodels) or not applicable for some rotor choices (e.g. theLevelRotor, where a wake average makes no sense).
- New
- Outputs:
- New output
RotorPointPlot, creating rotor point plots.
- New output
- Notebooks:
- New notebook
rotor_models.ipynb, visualizing rotor points. - New notebook
partial_wakes.ipynb, verifying partial wakes models.
- New notebook
- Bug fixes:
- Various fixes here and there.
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.7
Renewable Energy - Wind Energy
- Python
Published by SchmJo about 2 years ago
foxes - v0.6.2
- Models:
- New partial wakes model:
PartialCentre, evaluating wake deltas at the rotor centre point only
- New partial wakes model:
- Inputs:
- New farm layout input:
add_random, adds turbines at random positions, respecting a minimal distance - New states creation:
random_timseries_data, creates uniform random timeseries data
- New farm layout input:
- Utils:
- New function
random_xy_square, generates random xy positions with minimal distance
- New function
- Examples:
- New example:
random_timeseries, computes a random farm in a random timeseries. Both sizes are defined by user input
- New example:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.6.2
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.6.1
- Input:
- New ambient states:
TabStates, single tab-file input
- New ambient states:
- Data
- New static data:
winds100.tab, an example tab file
- New static data:
- Examples:
- New example:
tab_file, demonstrating the usage of theTabStates
- New example:
- Bug fixes:
- Bug fixed for
RankineHalfBodyturbine induction model that produced wrong results for wind directions unequal 270 degrees
- Bug fixed for
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.6.1
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.6
- Dependencies:
- Replacing dependency on
plotlyby dependency onwindrose, since the latter is lighter
- Replacing dependency on
- Core:
- This version introduces
AxialInductionModelclasses, computing the axial induction factora(ct)
- This version introduces
- Wake models:
- Reformulating
betain terms of induction inBastankhah2014andCrespoHernandez - New default:
Bastankhah2014,Bastankhah2016,TurbOParkandTurbOParkIXnow with default axial induction modelMadsen - New induction wake models:
Rathmann,SelfSimilarandSelfSimilar2020, for blockage modelling - Introducing
WakeMirrorwrapper around wake models, modelling wake reflection from ground or horizontal plane via virtual mirrored turbines
- Reformulating
- Wake frames:
- Renaming
StreamlinestoStreamlines2D, no changes in model book names
- Renaming
- Axial induction models:
- New induction model:
BetzAxialInduction, the classica = 0.5(1 - sqrt(1-ct))relation. In the model book this is calledBetz. - New induction model:
MadsenAxialInduction, a third-order polynomial approximation ofa(ct). In the model book this is calledMadsen.
- New induction model:
- Output:
- Improved:
FlowPlots2Dnow includes an option for indicating the rotor disk by a colored line - Improved:
RosePlotOutputno longer depends onplotly, but on the new utilityTabWindroseAxes
- Improved:
- Utils:
- New:
TabWindroseAxes, a derivative ofwindrose.WindroseAxesfor input data that is based on bins with weights (and not timeseries)
- New:
- Notebooks:
- New:
blockage_comparison.ipynb, comparing four turbine induction models
- New:
- Bug fixes:
- Fix for bug in
Streamlines2Dwhen used in combination withWakeMirror
- Fix for bug in
- Tests:
- Fresh
flappyv0.6.2 test data for all Bastankhah and CrespoHernandez wakes, also without thesbetalimitation
- Fresh
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.6
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.5.2.1
- Bug fixes:
- Bugs fixed that messed up the colorbar and the title in animations
- Notebooks:
- Improved animations in
timelines.ipynbandsequential.ipynb
- Improved animations in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.5.2.1
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.5.2
- Algorithms:
- Improved
Downwind: Now optional arguments that allow calculation of subsets in calc_farm and calc_points, e.g. a selection of states
- Improved
- Output:
- New output:
PointCalculator, a wrapper for the calc_points function of the algorithm - New output:
SliceData, creating arrays, DataFrames or Datasets from 2D slices - Improved
FlowPlots2D: Completely refactored, data based onSliceData. New option for creating figures for subsets of states only.
- New output:
- Vertical profiles:
- Now optional support for
ustarinput data instead of reference data
- Now optional support for
- Turbine types:
- Fix for
Cp-based models with interpolation within sparse input data
- Fix for
- Wake models:
- Renaming:
BastankhahWakeclass now calledBastankhah2014. Models in the model book are also renamed fromBastankhahtoBastankhah2014 - Renaming:
PorteAgelWakeclass now calledBastankhah2016. Models in the model book are also renamed fromPorteAgeltoBastankhah2016 - Renaming:
RHBclass now calledRankineHalfBody - Fix:
RankineHalfBodyno longer shows a jump at the rotor disc, but a small region of constant deficit instead - New default values:
Bastankhah2014now has default valuesbeta_factor=0.2(previously 0.25). Models with the previous value are available in the model book asBastankhah025etc.
- Renaming:
- Wake superpositions:
- Restructured: Now simplified classes for WS or TI superposition only (less general but simpler), e.g.
WSLinearorTIQuadratic, etc. Also in the model book the models are now calledws_linearorti_quadratic, etc.
- Restructured: Now simplified classes for WS or TI superposition only (less general but simpler), e.g.
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.5.2
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.5.1
- Dependencies:
- The
windiopackage is now an optional dependency, to be installed by hand if needed. This is due to windio being not available at conda-forge
- The
- Notebooks:
- New notebook:
sequential.ipynb, creating an animation showing state-by-state wake propagation
- New notebook:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.5.1
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.5
- Dependencies:
- Dropping support for Python 3.7, due to
netcdf4dependency
- Dropping support for Python 3.7, due to
- Core:
- Simplified model initialization/finalization. Removing the
keep_modelsidea, instead all models are now kept in the algorithm's idata memory until finalization. Adding a new model now mostly requires that thesub_modelsand theload_datafunctions are overloaded, if applicable. Theinitializeandfinalizeonly need to be addressed explicitly in non-standard cases.
- Simplified model initialization/finalization. Removing the
- Algorithms:
- New algorithm:
Sequential, step wise evaluation of states for simulation environments that do not support chunking - Improved:
Iterativenow supports under-relaxation of parameters
- New algorithm:
- Output:
- New sub package:
output.flow_plots_2dis now a package instead of a module
- New sub package:
- Models:
- This version introduces induction models for modelling blockage effects.
- New induction model:
RHB, the classic Rankine-half-body model.
- Examples:
- New example:
sequential, demonstrating the usage of the sequential algorithm - New example:
induction_RHB, showing the Rankine-half-body model for blockage
- New example:
- Notebooks:
- New notebook:
blockage.ipynb, demonstrating how to apply the RHB induction model to a wind farm
- New notebook:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.5
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.4.5
- Models:
- New rotor model:
LevelRotor, calculates the REWS from different height levels - New turbine type:
WsTI2PCtFromTwo, reads turbulence-dependent ct- and power curves
- New rotor model:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.4.5
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.4.4.2-test
Testing publishing to pypi via pypi.yml
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.4.4-test
Testing publication workflow pypi.yml
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.4.3.1-test
Testing publication workflow pypi.yml
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.4.3
- Output:
- Improved:
RosePlotOutputandStatesRosePlotOutputnow optionally return the binned data
- Improved:
- Models:
- New vertical profile:
DataProfile, data based profile from file or pandas DataFrame - Improved ti superposition: Now supporting n-th power superposition
- Improved wake model
TurbOParkIX: New option for consideration of all wakes in ti integral
- New vertical profile:
- Bug fixes:
- Fixed bug with
windioinput that resulted in wrong wind rose weights - Fixed bug with
FlowPlots2Dwith value bounds in contour plots
- Fixed bug with
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.4.3
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 2 years ago
foxes - v0.4.2
- Bug fixes:
- Fix of bug that slowed down
TurbOParkIXby considering all TI wakes instead of only source turbine wake during integration - Fix of bug that prevented plotly wind roses to be shown in the documentation
- Fix in docu that excluded the algorithm models from the API
- Fix of bug that slowed down
- Output:
- New:
Animator, creates animations based on generators that yield lists of artists
- New:
- Examples:
- Improved:
timelinesnow includes turbine REWS signal in animations
- Improved:
- Notebooks:
- Improved:
timelines.ipynbnow includes turbine REWS signal in animations
- Improved:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.4.2
Renewable Energy - Wind Energy
- Python
Published by SchmJo almost 3 years ago
foxes - v0.4.1
- Algorithms:
- Improved:
Iterativenow iterates through outer loop instead of within chunk
- Improved:
- Models:
- New wake frame:
Timelines, propagates wakes for spatially uniform time series
- New wake frame:
- Tests:
- New test:
consistency/iterative, checks if iterative algorithm gives same result
- New test:
- Examples:
- New example:
timelines, demonstrates the usage of theTimelineswake frame - Improved: All examples were update for the correct usage of the
DaskRunner
- New example:
- Notebooks:
- New notebook:
timelines.ipynb, showing how to use theTimelineswake frame in a notebook
- New notebook:
- Data:
- New states data
timeseries_100.csv.gz, a short timeseries with timestep 1 min, varying wind direction only
- New states data
- Output:
- Improved:
FlowPlots2Dnow has the optional argumentrunner, for computing plots with the chosen parallelization settings
- Improved:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.4.1
Renewable Energy - Wind Energy
- Python
Published by SchmJo almost 3 years ago
foxes - v0.4.0
- Models:
- Improved: New option to specify wake growth variable name, such that multiple
kTImodels could be used, resulting in differentk's for different wake models - New turbine model:
LookupTable, interpolates data based on a multi-dimensional lookup table
- Improved: New option to specify wake growth variable name, such that multiple
- Utils:
- Improved
DaskRunner: Now supports clusters that run the Slurm queueing system
- Improved
- Examples:
- New:
timeseries_slurm, shows how to run foxes on a HPC with Slurm queueing system
- New:
- Optimization:
- Improved:
foxes.optis now able to optimize for flow variables (at selected points in space) in addition to turbine variables
- Improved:
- Documentation:
- Improved API docu, now based on
python-apigen
- Improved API docu, now based on
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.4.0
Renewable Energy - Wind Energy
- Python
Published by SchmJo about 3 years ago
foxes - v0.3.5-alpha
- General:
- Moving identifier-type entries from
foxes.variablestofoxes.constants
- Moving identifier-type entries from
- Models:
- New wake superposition model
ProductSuperposition, computing factorized wake deltas - New turbine model:
RotorCentreCalc, calculates data at rotor centre, irrespective of rotor model
- New wake superposition model
- Bug fixes:
- Bug fixed that caused problems when restarting the
SectorManagementturbine model, e.g. for flow plots
- Bug fixed that caused problems when restarting the
- Documentation:
- Completely new style, fixing issues with incomplete API entries
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.3.5
Renewable Energy - Wind Energy
- Python
Published by SchmJo about 3 years ago
foxes - v0.3.4-alpha-doi
Triggering DOI generation by zenodo
Renewable Energy - Wind Energy
- Python
Published by SchmJo about 3 years ago
foxes - v0.3.4-alpha
- Installation:
foxesnow supports Python 3.11
- Input:
- New layout input option:
add_from_df, adding turbines from a pandas DataFrame - New interface to windIO case yaml files
- New layout input option:
- Turbine types:
- New turbine type
CpCtFile, reads CP and CT data from file or pandas DataFrame - New turbine type
CpCtFromTwo, reads CP and CT data from two files or pandas DataFrames - Improved: Turbine types now calculate
P_nominalas maximum, if not explicitely given
- New turbine type
- Constants:
- Introducing
P_UNITS, used in turbine types and output evaluation
- Introducing
- States:
- Bug fixed in
FieldDataNCwith loading multiple files
- Bug fixed in
- Core:
- Improved
DataCalcModel: Now cleaner treatment of runs withprogress_bar=False. Also now slimmer fordistributedscheduler
- Improved
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.3.4
Renewable Energy - Wind Energy
- Python
Published by SchmJo about 3 years ago
foxes - v0.3.3-alpha
- Utils:
- Now
geopandas_helperscan handle interior areas
- Now
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.3.3
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.3.2-alpha
- Bug fixes:
- Fix for bug in
FarmResultsEvalthat affected time range calculations under Windows - Bug fixes for
FarmResultsEvalwith time series data
- Fix for bug in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.3.2
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.3.1-alpha
- Input states:
- Improved:
FieldDataNCnow supports states subset selection
- Improved:
- Wake frames:
- Improved:
Streamlinesnow with maximal length option
- Improved:
- Turbine models:
- New:
Calculator, simple variable calculation via user function
- New:
- Opt:
- Now two abstract problems in core:
FarmOptProblemandFarmVarsProblem, the latter invokes theSetFarmVarsturbine model - New opt problem:
RegularLayoutOptProblem, searches for a regular grid layout - New opt problem:
GeomRegGrids, finds regular grid layout by purely geometrical means (no wind farm calculation) - New opt problem:
GeomLayout, turbine positioning based on xy variables, also purely geometrical - New opt problem:
GeomLayoutGridded, a purely geometrical optimization on a gridded background
- Now two abstract problems in core:
- Examples:
- New in
foxes.opt: Examplelayout_regular_grid, demonstrates regular grid layout optimization - New in
foxes.opt: Examplegeom_reggrids, purely geometrical regular layout optimization
- New in
- Utils:
- New functions for shape file handling:
read_shp,shp2csv,read_shp_polygons
- New functions for shape file handling:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.3.1
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.3.0-alpha
- Core:
- Models now with simplified structure, reduces memory load during calculations
- Algorithms:
- New:
Iterative, iterative wind farm calculation until convergence has been reached
- New:
- Input:
- Improved:
FieldDataNCnow accepts xarray Dataset or file pattern str as input - New:
ShearedProfile, Vertical WS profile can be determined with shear exponent
- Improved:
- Output:
- Improved:
FlowPlots2Dreplacing horizontal/vertical --> xy, xz, yz, more intuitive
- Improved:
- Wake models:
- New:
TurbOParkIX, integrates wake corrected TI along centreline for wake width sigma.
- New:
- Wake frames:
- Improved: All yawed wake frames now also support centreline data integration
- Notebooks:
- New:
overview.ipynb, summarizes the setup steps
- New:
- Bug fixes:
- Fix for bug in
TurbOParkwake model: Brackets in Eq. (4) were wrong - Fix for bug with long streamlines
- Fix for bug in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.3.0
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.2.6-alpha
- Output:
- Improved:
FarmResultsEvalcan now handle NaN data in Einstein sums - Improved:
ResultsWritercan now also write turbine names
- Improved:
- Turbine models:
- New:
TableFactors, multiplies variables with data from a two dimensional table - New:
YAW2YAWM, calculates yaw deltas from absolute yaw and wind direction - New
YAWM2YAW, calculates absolute yaw from yaw deltas and wind direction - Generalized:
kTI, now includes optional offsetkb
- New:
- Turbine types:
- Changed: Now yaw correction of
PandCTswitched on by default
- Changed: Now yaw correction of
- Point models:
- New:
TKE2TI, calculates turbulence intensity from TKE
- New:
- Wake models:
- New:
PorteAgel, calculates wakes based on the Bastankhah PorteAgel 2016 wake model
- New:
- Wake frames:
- New:
YawedWake, bends wakes in yawed conditions
- New:
- Wake superposition models:
- Improved:
LinearSuperposition, now includes options for lower/higher limits of total wake deltas
- Improved:
- Examples:
- New:
compare_wakes, compares wake models along horizontal lines - New:
yawed_wake, demonstrates wake bending by yawing a rotor
- New:
- Notebooks:
- New:
yawed_wake.ipynb, demonstrates wake bending by yawing a rotor - Bug fixes:
- Fix for bug with
ExtendedStates, now it is actually working - Fix for bug with wake width in
CrespoHernandezTIWake - Fix for bug with YAW and WD when using the
YAWM2YAWturbine model - Fix for bug in
TurbOParkwake model, double counting constant offset in sigma
- Fix for bug with
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.2.6
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.2.5-alpha
- Core:
- New:
ExtendedStates, allows for adding point data models to states
- New:
- Input:
- Improved:
FieldDataNC, now with support for spatially uniform variables
- Improved:
- Turbine types:
- New:
WsRho2PCtTwoFiles, air density dependent power and ct curves
- New:
- Turbine models:
- New:
SectorManagement, sets variables by range rules on other variables
- New:
- Point models:
- New:
SetUniformData, set uniform variables (optionally state dependent)
- New:
- Examples:
- New:
sector_management, demonstrates how to model wind sector management
- New:
- Notebooks:
- New:
sector_man.ipynb, demonstrates how to model wind sector management - New:
data.ipynb, lists and shows the static data
- New:
- Bug fixes:
- Fix for bug with option
col_modelsin farm layout from csv
- Fix for bug with option
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.2.5
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.2.4-alpha
- Bug fixes
- Hotfix for bug in
TurbineTypeCurvesoutput
- Hotfix for bug in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.2.4)
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.2.3-alpha
- Input states
- Improved:
SingleStateStatesnow supports profiles
- Improved:
- Turbine models
- New model
PowerMask: Derates or boosts a turbine
- New model
- Examples
- New:
power_mask, demonstrates derating and boost
- New:
- Utils
- New:
cubic_roots, solves a cubic equation
- New:
- Output
- New:
StateTurbineMap, creates heat maps for state-turbine data - New:
TurbineTypeCurves, creates power and thrust curve plots - Improved:
FarmLayoutOutputnow supports scatter color by variable
- New:
- Documentation
- Adding forgotten
foxes.optto API
- Adding forgotten
- Notebooks:
- Now including results as colored layout plots
- New notebook:
wind_rose.ipynb, demonstrating how to calculate wind roses - New notebook:
power_mask.ipynb, showing derating and boost via a power mask
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.2.3
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.2.2-alpha
- Bug fixes
- Bug fixed in
MultiHeightStatesfor wind veer cases
- Bug fixed in
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.2.2
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.2.1-alpha
- Input:
- New input:
MultiHeightStatesandMultiHeightTimeseries, for input data at several height levels, e.g. WRF results at one point
- New input:
- Output:
- New output:
FarmResultsEval, calculates sum, mean, min, max over states or turbines for the whole wind farm - New output:
ResultsWriter, writes farm results or pandas data to csv file - Renaming:
AmbientRosePlotOutputis now calledStatesRosePlotOutput
- New output:
- Notebooks:
- New notebook:
multi_height.ipynb, demonstrating the usage of multi-height wind input data
- New notebook:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.2.1
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.2.0-alpha
- Core
- Introducing the concept of runners
- Opt
- New sub package:
foxes.opt, install bypip install foxes[opt]. This introduces the capability to run wind farm optimizations. As examples layout optimization for simple cases are given, see below.
- New sub package:
- Models
- New turbine model:
Thrust2Ct, calculates ct from thrust values - New turbine type:
NullType, a turbine type with only rotor diameter and hub height data - Renamed
PCtSingleFilesintoPCtTwoFiles
- New turbine model:
- Output
- New output:
WindRoseOutput, providing a plotly figure that shows a rose-type histogram - New output:
AmbientWindRoseOutput, providing rose-type plotly figures of ambient data (no wake calculation involved)
- New output:
- Algorithms
- Improved
Downwind: Now with option for ambient runs (no wakes)
- Improved
- Utils
- New utility:
show_plotly_fig, opens a window that shows a plotly figure (instead of browser) - New runners:
DefaultRunner,DaskRunner. The latter features parallel runs via dask
- New utility:
- Examples
- Introducing two sub-folders of examples:
foxesandfoxes.opt - New example:
wind_rose, calculation of wind rose states data - New example:
layout_single_state, wind farm layout optimization for a single wind state - New example:
layout_wind_rose, wind farm layout optimization for wind rose states
- Introducing two sub-folders of examples:
- Notebooks
- New notebook:
layout_opt.ipynb, demonstrating a simple layout optimization case
- New notebook:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.2.0
Renewable Energy - Wind Energy
- Python
Published by SchmJo over 3 years ago
foxes - v0.1.4-alpha
- Fixes
- Static data: Adding missing data
wind_rotation.ncto manifest
- Static data: Adding missing data
- Models
- New wake model added:
TurbOParkWakefrom Orsted - New turbine type added:
PCtSingleFiles, reads power and thrust curves from two separate files
- New wake model added:
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.1.4
Renewable Energy - Wind Energy
- Python
Published by SchmJo almost 4 years ago
foxes - v0.1.2-alpha
- Adding support for Python 3.9, 3.10
Renewable Energy - Wind Energy
- Python
Published by SchmJo almost 4 years ago
foxes - v0.1.1-alpha
- New code style, created by black
- Small fixes, discovered by flake8
- Tests now via pytest instead of unittest
- Introducing github workflow for automatic testing
Renewable Energy - Wind Energy
- Python
Published by SchmJo almost 4 years ago
foxes - v0.1.0-alpha
This is the initial release of foxes - ready for testing.
So far not many models have been transferred from the Fraunhofer IWES in-house predecessor flappy, they will be added in the following versions. Also optimization is not yet included. We are just getting started here!
Enjoy - we are awaiting comments and issues, thanks for testing.
Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.1.0
Renewable Energy - Wind Energy
- Python
Published by SchmJo almost 4 years ago