Skip to content
Snippets Groups Projects
user avatar
dave authored
hawcstab2: induction output file number of columns depends on the version of HAWCStab2. Assume 38, but fallback to 34
be9eef87
History

Introduction

The Wind Energy Toolbox (or wetb, pronounce as wee-tee-bee) is a collection of Python scripts that facilitate working with (potentially a lot) of HAWC2, HAWCStab2, FAST or other text input based simulation tools.

Note that this toolbox is very much a WIP (work in progress). For example, some of the functions in the prepost module have a similar functions in Hawc2io. These different implementations will be merged in due time.

Python 3

This module currently only works under Python 3. If you are working in Python 2, this could be a good moment to consider switching. If you are bound to Python 2 due to critical 3th party dependencies you are encouraged to cast your vote for Python 2 compatibility in issue 1.

Switching to Python 3 is in general a very good idea especially since Python 3.5 was released. Some even dare to say it is like eating your vegetables.

You can automatically convert your code from Python 2 to 3 using the 2to3 utility which is included in Python 2.7 by default. You can also write code that is compatible with both 2 and 3 at the same time (you can find additional resources in issue 1).

Dependencies

numpy scipy pandas matplotlib pytables pyscaffold

Installation

python setup.py

Tests

Only a small part of the code is covered by unittests currently. More tests are forthcoming.

Contents of WindEnergyToolbox, wetb


hawc2

  • Hawc2io: Read binary, ascii and flex result files
  • sel_file: Read/write *.sel (sensor list) files
  • htc_file: Read/write/manipulate htc files
  • ae_file: Read AE (aerodynamic blade layout) files
  • pc_file: Read PC (profile coefficient) files
  • shear_file: Create user defined shear file
  • at_time_file: Read at output_at_time files
  • log_file: Read and interpret log files
  • ascii2bin: Compress HAWC2 ascii result files to binary

gtsdf

General Time Series Data Format, a binary hdf5 data format for storing time series data.

  • gtsdf: read/write/append gtsdf files
  • unix_time: convert between datetime and unix time (seconds since 1/1/1970)

fatigue_tools

  • fatigue: Rainflow counting, cycle matrix and equivalent loads
  • bearing_damage: Calculate a comparable measure of bearing damage

wind

  • shear: Calculate and fit wind shear

dlc

Module for working with "Design load cases" (Code independent)

  • high_level Class for working with the highlevel dlc excell sheet

prepost

Module for creating an arbitrary number of HAWC2 simulations, and optionally corresponding execution scripts for a PBS Torque cluster (Linux), simple bash (Linux), or Windows batch scripts. A post-processing module is also included that calculates statistical parameters, performs rainflow counting for fatigue load calculations, and create load envelopes.

fast

Tools for working with NREL's FAST code (An aeroelastic computer-aided engineering (CAE) tool for horizontal axis wind turbines)

  • fast_io: Read binary and ascii result files

utils

Other functions

  • geometry: Different kind of geometry conversion functions
  • process_exec: Run system command in subprocess
  • timing: Decorators for evaluating execution time of functions
  • caching: Decorators to create cached (calculate once) functions and properties