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