Skip to main content
TACT (Turbulence Adjustment Comparison Tool) is a Python package for correcting remote sensing device (RSD) turbulence intensity measurements to match traditional cup anemometer standards. TACT corrects RSD measurements through site-specific empirical regression against reference cup anemometer data. By training on concurrent measurement campaigns, TACT produces adjusted turbulence data suitable for:
  • Turbine load calculations using standard design equations
  • DNV RP-0661 compliant site assessments
  • IEC-standard power performance testing

Key Features

  • Baseline - No adjustment (reference comparison)
  • SS-SF - Site-Specific Simple + Filter (recommended)
  • SSWS - Site-Specific Wind Speed
  • SSWSStd - Site-Specific Wind Speed + Standard Deviation
Built-in DNV RP-0661 validation with MRBE/RRMSE metrics and acceptance criteria visualization
Publication-ready plots with DNV acceptance criteria, regression analysis, and comparison charts
Easy-to-use plugin system for adding custom adjustment methods to fit your specific needs

Quick Example

Get started with just a few lines of code:
from tact import TACT
from tact.utils.load_data import load_data
from tact.utils.setup_processors import setup_processors

# Load and process data
data = load_data("your_data.csv")
bp, tp, sp = setup_processors("config.json")
data = bp.process(tp.process(data))

# Run adjustment
tact = TACT()
results = tact.adjust(
    data=data,
    method="ss-sf",  # Recommended method
    parameters={"split": True, "config_path": "config.json"}
)

Method Performance Comparison

Example results from one test dataset show performance differences between methods:
MethodMRBERRMSEApproach
SS-SF37.8%111.1%Direct TI regression with filtering
SSWSStd37.7%121.6%Dual WS+SD adjustment
SSWS92.1%188.0%Wind speed adjustment only
Baseline90.4%183.0%No adjustment
Performance varies by site and dataset characteristics. SS-SF and SSWSStd showed similar MRBE on this dataset, while methods adjusting only wind speed (SSWS) performed worse due to error propagation through the TI calculation. Method Comparison
The optimal method depends on your specific dataset. We recommend comparing all methods on your data using compare_all_methods.py.

Next Steps

Need help? Check out our troubleshooting guide or contact support.