{"id":45389527,"url":"https://github.com/openfast/openfast_toolbox","last_synced_at":"2026-04-02T22:02:28.330Z","repository":{"id":209540969,"uuid":"724342522","full_name":"OpenFAST/openfast_toolbox","owner":"OpenFAST","description":"Miscellaneous Python tools for OpenFAST","archived":false,"fork":false,"pushed_at":"2026-04-01T20:22:31.000Z","size":3406,"stargazers_count":51,"open_issues_count":20,"forks_count":50,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-04-02T07:53:00.032Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenFAST.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-27T22:10:32.000Z","updated_at":"2026-03-24T16:48:33.000Z","dependencies_parsed_at":"2025-05-23T21:20:37.703Z","dependency_job_id":"2fae30b9-716a-49f6-be1b-544a81d8fd8f","html_url":"https://github.com/OpenFAST/openfast_toolbox","commit_stats":null,"previous_names":["openfast/openfast_toolbox"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/OpenFAST/openfast_toolbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFAST%2Fopenfast_toolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFAST%2Fopenfast_toolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFAST%2Fopenfast_toolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFAST%2Fopenfast_toolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenFAST","download_url":"https://codeload.github.com/OpenFAST/openfast_toolbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFAST%2Fopenfast_toolbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31317831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T21:35:00.834Z","status":"ssl_error","status_checked_at":"2026-04-02T21:34:59.806Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-21T18:17:53.103Z","updated_at":"2026-04-02T22:02:28.320Z","avatar_url":"https://github.com/OpenFAST.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openfast_toolbox\n\n[![Build status](https://github.com/openfast/openfast_toolbox/workflows/Development%20Pipeline/badge.svg)](https://github.com/OpenFAST/openfast_toolbox/actions?query=workflow%3A%22Development+Pipeline%22)\n[![Python: 3.6+](https://img.shields.io/badge/python-3.6%2B-informational)](https://www.python.org/)\n\nPython package to work with NREL-supported [OpenFAST](https://github.com/OpenFAST/openfast) tool.\nThis repository intends to provide simple scripts to help OpenFAST users setup models, run simulations and postprocess the results. \n\n\n## Installation and testing\n\n```bash\ngit clone http://github.com/OpenFAST/openfast_toolbox\ncd openfast_toolbox\npython -m pip install -e .\npytest\n```\n\n\n\n## Subpackages\n\nThe repository contains a set of small packages:\n\n- input\\_output: read/write OpenFAST/FAST.Farm/OLAF input and output files (see [README](openfast_toolbox/io)) \n- postpro: postprocess OpenFAST outputs (extract radial data, compute fatigue loads) (see [examples](openfast_toolbox/postpro/examples))\n- linearization: tools to deal with OpenFAST linearization, e.g. generate a Campbell diagram (see [examples](openfast_toolbox/linearization/examples/))\n- aeroacoustics: tools for aeroacoustics (generate BL files and plot outputs)\n- case\\_generation: tools to generate and run a set of input of OpenFAST input files (see [examples](openfast_toolbox/case_generation/examples))\n\n\n## QuickStart and main usage\n\n### Read and write files\nFind examples scripts in this [folder](openfast_toolbox/io/examples) and the different fileformats [here](openfast_toolbox/io). \n\nRead an AeroDyn file (or any OpenFAST input file), modifies some values and write the modified file:\n```python\nfrom openfast_toolbox.io import FASTInputFile\nfilename = 'AeroDyn.dat'\nf = FASTInputFile(filename)\nf['TwrAero'] = True\nf['AirDens'] = 1.225\nf.write('AeroDyn_Changed.dat')\n```\n\nRead an OpenFAST binary output file and convert it to a pandas DataFrame\n```python\nfrom openfast_toolbox.io import FASTOutputFile\ndf = FASTOutputFile('5MW.outb').toDataFrame()\ntime  = df['Time_[s]']\nOmega = df['RotSpeed_[rpm]']\n```\n\nRead a TurbSim binary file, modify it and write it back\n```python \nfrom openfast_toolbox.io import TurbSimFile\nts = TurbSimFile('Turb.bts')\nprint(ts.keys())\nprint(ts['u'].shape)  \nts['u'][0,:,:,:] += 1 # Adding 1 m/s in the streamwise\ntw.write('NewTurbulenceBox.bts')\n```\n\n### Polar/airfoil manipulation\nFind examples scripts in this [folder](openfast_toolbox/polar/examples).\n\n\nRead a CSV file with `alpha, Cl, Cd, Cm`, and write it to AeroDyn format (also computes unsteady coefficients)\n```python \nfrom openfast_toolbox.airfoils.Polar import Polar\npolar = Polar('openfast_toolbox/airfoils/data/DU21_A17.csv', fformat='delimited')\nADpol = polar.toAeroDyn('AeroDyn_Polar_DU21_A17.dat')\n```\n\n### Write a set of OpenFAST input file for multiple simulations\nFind examples scripts in this [folder](openfast_toolbox/case_generation/examples).\n\n### Postprocessing\n\nBelow are different scripts to manipulate OpenFAST outputs:\n\n- [Extract average radial data](openfast_toolbox/postpro/examples/Example_RadialPostPro.py).\n- [Interpolate data at different radial positions](openfast_toolbox/postpro/examples/Example_RadialInterp.py).\n- [Compute damage equivalent loads](openfast_toolbox/postpro/examples/Example_EquivalentLoad.py).\n- [Change column names and units](openfast_toolbox/postpro/examples/Example_Remap.py).\n\n\n## Future work and friend projects\n\nThis repository intends to provide simple scripts to help users of OpenFAST. \nThe repo is still in its early phase, so you may find that functionalities are missing or not bullet proof. \nYour contributions would be much appreciated, feel free to post issues and pull-requests. We will thrive to provide tests and examples.\n\nIn the meantime, you can also find relevant python scripts in the following repositories:\n\n- [WISDEM](https://github.com/WISDEM/WISDEM): models for assessing overall wind plant cost of energy (COE), also contains file IO, (DLC) case generation, polar manipulations, visualization, and much more! \n- [weio](https://github.com/ebranlard/weio) : reader and writer for typical files used by the wind energy community\n- [welib](https://github.com/ebranlard/welib): misc tools for wind energy applications (BEM, FEM, polars, ...)\n- [ROSCO_toolbox](https://github.com/NREL/ROSCO_toolbox): tools to work with the [ROSCO](https://github.com/NREL/ROSCO) controller that is supported by OpenFAST\n- [windtools](https://github.com/NREL/windtools): toolsfor wind simulation setup, data processing and analysis\n- [pyDatView](https://github.com/ebranlard/pyDatView): cross-platform visualization and processing program for input and output files\n\nMatlab script are found in the [matlab-toolbox]((https://github.com/OpenFAST/matlab-toolbox)).\n\nOpen-source OpenFAST wind turbine models can be found here:\n- [openfast-turbine-models](https://github.com/NREL/openfast-turbine-models): open source wind turbine models (in development)\n- [r-test](https://github.com/OpenFAST/r-test): regression tests for OpenFAST, contains models for OpenFAST and its drivers (AeroDyn, SubDyn, HydroDyn, etc.). This repository is not intended to be used as a \"database\" of models, but it has the advantage that the input files are alwasy up to date with the latest [format specifications](https://openfast.readthedocs.io/en/master/source/user/api_change.html)\n\n\nGeneral documentation for OpenFAST is found on its [readthedocs](https://openfast.readthedocs.io/) page.\n\n\n\n## Contributing\n\nThis repository is still work in progress, thank you for your understanding.\nAny contribution is much appreciated, feel free to post issues or pull-requests.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfast%2Fopenfast_toolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenfast%2Fopenfast_toolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfast%2Fopenfast_toolbox/lists"}