水杉输入法 MSIME|开源中文输入法
水杉输入法(MSIME)是开源中文输入法,面向 Windows、macOS、Linux、Android、iOS 与 HarmonyOS 开发,支持全拼、双拼、五笔,候选词旁直接显示译文。查看下载、使用指南与常见问题。
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Wind farm annual energy production in Streamlit: Weibull wind resource, Jensen and Ainslie wake models, six-factor loss cascade. Built at Greenard Consulting, validated against WAsP.
翻訳待ち
Loading the full README.
Read the full README ↗Case study with figures: zaydhouachmi.github.io/work/wind-farm.html · Try the wake model in your browser
A Streamlit application that estimates the annual energy production of a wind farm from wind measurements, terrain roughness and a turbine layout. Built during an internship at Greenard as a lightweight, open alternative to commercial tools such as WAsP.
z0.Fed the 12-sector Weibull table from the WAsP "Waspdale" example site, the tool recomputes a 4.90 m/s mean wind speed, the same value WAsP reports. A 6-turbine, 1 MW farm (54 m rotor, 50 m hub, 5 rotor diameters apart, Jensen wakes) then shows why height and terrain correction matter:
| Wind climate | Mean speed | Gross energy | Net energy | Capacity factor |
|---|---|---|---|---|
| Raw station data (10 m) | 4.90 m/s | 3,679 MWh/yr | 2,663 MWh/yr | 5.1 % |
| Corrected to the turbine site (50 m) | 7.88 m/s | 16,186 MWh/yr | 9,264 MWh/yr | 17.6 % |
The second row puts all the wind in one direction (270°), which is the worst case for wakes: up to 62 % loss on the third turbine in a row. A real wind rose spreads the wakes out. tests/test_model.py checks that behaviour.
pip install -r requirements.txt
streamlit run app.py
Then open the URL Streamlit prints (usually http://localhost:8501).
Example CSVs are included so you can see the expected columns:
| File | Columns |
|---|---|
wind_rose_example.csv | direction_deg, frequency_pct, weibull_k, weibull_a |
wind_measurements_example.csv | direction_deg, speed_ms (one row per reading) |
power_curve_example.csv | wind_speed_ms, power_kw |
layout_example.csv | id, x, y (metres) |
roughness_example.csv | z0 |
| Module | Role |
|---|---|
app.py | Streamlit interface — all inputs and results |
wind_resource.py | Wind rose, Weibull fitting, vertical extrapolation |
power_curve.py | Parametric and tabulated turbine power curves |
wake_model.py | Wake deficit models |
energy_yield.py | Gross/net energy and the six-factor loss cascade |
turbine.py, wind_farm.py | Turbine and farm data structures |
topography.py | Terrain roughness handling |
visualization.py | Layout and wind rose plots |
demo_*.py | Runnable examples that produce the images above |
tests/ | pytest suite for the model |
PHASE_2_AINSLIE_DERIVATION.md documents the maths behind the wake model, and
CHANGELOG-v3.md records what changed between versions (in French).
pip install pytest
python -m pytest
22 tests in tests/test_model.py check the model against hand calculations: the Jensen wake formula, the power curve, Weibull statistics, log-law height scaling, the loss cascade, wind-aligned geometry, and the farm energy table. demo_smoke.py is a quick script that compares the three wake models on one layout.
Ct is fixed (0.8 by default) rather than varying
with wind speed.