Repository for wind tunnel analysis utilities and deployable notebooks.
Best for: Using the notebook on a (f.e. the UHH) Jupyter Notebook online server without installing the full package.
Requirements: Jupyter Notebook server access
Steps:
-
Upload two files to your Jupyter server:
Example_PointConc_Analysis_200325_Analysis_deploy.ipynbdeploy_config.py
-
Open the notebook and run the first cell. The notebook will:
- Automatically install the
windtunnelpackage from GitHub - Create the necessary folder structure (
Data/InputData/,Data/ParameterFiles/,Results/) - Download example data
- Automatically install the
-
Using local data (optional):
- Upload your data files to
Data/InputData/your_folder_name/ - Upload your parameter CSV file to
Data/ParameterFiles/ - In Cell 2 (Data Setup and Configuration), set:
USE_GITHUB_EXAMPLE_DATA = False DATA_FOLDER_NAME = "your_folder_name" # Folder name inside InputData PARAMETER_FILE_NAME = "your_parameter_file.csv" # CSV file name in ParameterFiles MEASUREMENT_PREFIX = "your_measurement_prefix" # Prefix of your .ts files
- Upload your data files to
Note: The notebook handles all setup automatically. No manual installation needed for this option.
Best for: Installing, running and maybe editing or contributing to the full repository locally on Windows. When changes in the project folder should be made. Creates a clean environment "WTConc2" and runs notebooks in it with two clicks using helper scripts.
Requirements:
- Python >3.6 installed
- (Git installed (or download repository manually as ZIP from GitHub))
Steps:
-
First-time setup (run once):
Run windows_deploy\setup_WTConc2.batThis creates a virtual environment
WTConc2and installs all dependencies from requirements.txt. -
Start Jupyter Notebook (every time you want to use it):
Run windows_deploy\Start_WTConc2_Notebook.bat -
Open any notebook f.e.
Example_PointConc_Analysis_200325_Analysis.ipynbin the opened jupyter folder tree.
Note: If Git is not available, download the repository as a ZIP from GitHub, extract it, and the scripts will work the same way. In case the environment is not automatically working you may need to 1) Choose the kernel in the script titled "WTConc2" manually or if something in the installations of the packages went wrong you need to in the worst case change in setup_WTConc2.bat the path PY_CMD manually to the correct python.exe location.
Best for: Not Windows users who want do install, run and maybe edit the full project folder logic locally, contribute etc. Only the pip packages in requirements.txt need to be set up.
Requirements:
- Python >3.6 installed
- Git installed
Steps:
-
Clone the repository:
git clone https://github.com/se04ber/WTSoftwareUtilitiesShare.git cd WTSoftwareUtilitiesShare -
Create a virtual environment:
python -m venv WTConc2
-
Activate the environment:
- Windows:
WTConc2\Scripts\activate
- Linux/Mac:
source WTConc2/bin/activate
- Windows:
-
Install dependencies:
pip install -r requirements.txt
-
Install the package (optional, for development):
pip install -e . -
Launch Jupyter:
jupyter notebook
Notebooks:
WT_Concentration_Analysis.ipynb- Main concentration analysis notebook (manual/local version)WT_Flow_Analysis.ipynb- Main flow analysis notebook (manual/local version)OtherNoteBookVersions/- Older notebook variants kept for reference
Project:
windtunnel/- Main Python packagetests/- Automated test suite (unit + regression) and fixturesexamples/- Runnable example scripts (seeexamples/legacy/for historical scripts)
Deploying:
requirements.txt- Python package dependenciesdeploy_config.py- Configuration and setup functions for the jupyter server deploy notebookwindows_deploy/- Windows setup scriptssetup_WTConc2.bat- Creates virtual environment and installs dependenciesStart_WTConc2_Notebook.bat- Launches Jupyter Notebook
Contact: In case there are further problems or ideas feel free to contact me at: Sabrina.ebert@proton.me :)
If you change logic in windtunnel/, please run the tests first:
pip install -r requirements.txt -r requirements-dev.txt
pytestThe test suite is documented here: tests/README.md.