Release Notes
Changelog
All major changes are listed here.
Unreleased
New features
New methods
.save
and.load
added topywasp.wasp.TopographyMap
to save and load the topography map to/from a ZipFile Archieve.
Improvements
For typical usage
get_site_effects
is 2-6 times fasterFor typical usage
rastermap_to_vectormap
is 15-30 times fasterFor typical usage
vectormap_to_rastermap
is 15-30 times fasterFor typical usage
vectormap_to_waspformat
is 2-20 times fasterFor typical usage
waspformat_to_vectormap
is 2-80 times fasterFor typical usage
TopographyMap
is >1000 times faster
Deprecations
WaspVectorMap will be deprecated
Support for custom root CA certificates
In case of running
pywasp
under a proxy or another similar network setup, the filepath to a root CA certificate can be set onpywasp
so it can connect to the licensing server.
0.6.0 (2023-11-30)
Dependency updates
Following SPEC 0 this release supports python 3.10-3.12 and numpy 1.22-1.26. Due to build issues with numpy 1.26, neither it nor python 3.12 are supported on Windows.
Windkit =0.7.0 is required
PyWake is now pinned to version 2.5.0 (commit 36da70b2335321e435194d277511c17d8f012571).
New features
Support for WAsP CFD results
New function
pywasp.wasp.topography.get_site_effects_cfd
interpolates the speedups and turnings from awindkit
CFD volumexarray.Dataset
.pywasp.wasp
functionsgeneralize
,downscale
,generalize_and_downscale
now have an extracfd_volume
argument, which can be used to pass in WAsP CFD results that will be used for the site effects.
Breaking changes
pw.wasp.wind_farm_flow_map
now requires awk.WindTurbines
object, not separate wtg and locations arguments.pw.wasp.wind_farm_flow_map
requires the new argumentoutput_locs
, which should be a “cuboid”xr.Dataset
, which is where the flow map will be calculated.output_locs
should be covered by the predicted wind climate object.
Changes
Interpolation errors have been eliminated during the downscale step when using
pywasp.wasp.generalize_and_downscale
, by including the output heights in the generalize step.Update ERA5 mesoclimate netCDF file according to latest revision of Using Observed and Modelled Heat Fluxes for Improved Extrapolation of Wind Distributions.
gross_aep
andpotential_aep
can now accept awk.WindTurbines
object to thewtg
argument. This allows for different WTGs to be used for different turbine locations.Added
interp_method
argument topw.wasp.get_climate
, “nearest” is used by default
Improvements
Reduction of approximately 50% for calculations of wake-affected AEP.
Bug Fixes
PyWAsP on windows now can use the license.windenergy.dtu.dk licensing server.
Interpolation of
mean_dgdz
andmean_dgdz_dir
are now carried out by interpolating the vector components, when a method other than"nearest"
is used.
Deprecations
Deprecated options “PARK2_onshore_with_blockage” and “PARK2_offshore_with_blockage” in
pw.wasp.wind_farm_flow_map
andpw.wasp.potential_aep
. Use, custom PyWake wind_farm_models to build complex models instead.
0.5.2 (2023-06-21)
Changes
Dependency updates: Python 3.8 & numpy 1.21 no longer supported following NEP 29. Windkit 0.6.3 is now required to support the
regulation_type
variable forwtg
objects.pywasp.wasp.TopographyMap.get_rou_rose
now allows to add displacements to the orographic grid, using the newelev_rose
argument. Ifelev_rose
is None, a dummy elevation rose is created.pywasp.wasp.interpolate_gwc
now returns an interpolated generalized wind climate dataset with height coordinates.
Setting
download_prompt=False
anddownload_global_nc_files
in the pywasp.cfg file, will not prevent any text from showing when importing PyWAsP. Previously it would print a message about how to get the files on each import. If you need the files, you will be prompted to download at that time. See the User Configuration Documentation to see all options of the config file.
Improvements
Update netCDF file with CFSR baroclinicity information. The data is the same but the data variable names are updated. It does not affect the behavior.
pywasp.wasp.interpolate_gwc
will issue a warning if it is used with datasets with geographical coordinates for “nearest” and “natural” methods.
Bug Fixes
pywasp.io.rastermap_to_vectormap
will only raises errors related with the parameterdz
when the raster map type iselevation
.pywasp.wasp.aep.gross_aep
incorrectly assumed most wind turbines were stall regulated. This means that when using theinterpolation=True
option, that incorrect air density corrections were applied. This has been fixed by an update in WindKit that requires thecontrol_system
variable to be defined on a wind turbine generator. This value is now used to apply the correct air density correction to the power curves.
0.5.1 (2023-04-19)
New Features
pywasp.wasp.get_climate_by_config
takes apywasp.wasp.Config
object and returns anxarray.Dataset
meso climate object compatible with the profile model set in the config.
Changes
pywasp.wasp.get_climate
argumentsstab_source
andbaro_source
now both allow forNone
to be set. This creates a dataset with 0-valued fields for the given source.
Improvements
Update netCDF file with CFSR baroclinicity information to version 3. The data is the same, but the data variable names are updated. This does not affect the behavior.
Bug Fixes
Fixed license check error for new version of DTU License server
Corrected import of
combine_bwcs
inpywasp.wasp.cross_predict
.pywasp.wasp.interpolate_gwc
now returns an interpolated generalized wind climate dataset with height coordinates. This makes it more robust to different spatial structures of generalized wind climates and output_locs, when used for downscaling.
Deprecations
getpar
andsetpar
methods ofpywasp.wasp.config.Config
objects are deprecated. Use square brackets instead.