Introduction

Scintillometry is configured for scintillometer experiments in Austria using public or local data (ZAMG, InnFLUX), but is easily modified to work with other data sources. Note that external data sources may have different licensing constraints.

The package is currently in alpha and may change or break often. Support is only available for Python 3.8+ on debian-based Linux distros.

This package started life as part of a field course several years ago. If you spot any missing citations or licenses please contact me directly or open an issue.

Features

Scintillometry

Data processing:
  • Parse scintillometry data from Scintec’s BLS series of large aperture scintillometers (.mnd files).

  • Recalibrate data if the scintillometer was incorrectly set up (e.g. wrong dip switch settings).

  • Parse topographical data as path transect.

  • Parse meteorological data.

  • Parse innFLUX and HATPRO data.

Metrics:
  • Calculate effective path heights under various stability conditions.

  • Derive \(C_{T}^{2}\) values from \(C_{n}^{2}\) if these were not collected.

  • Estimate the time where stability conditions change.

  • Compute parameters such as Obukhov length, friction velocity, etc.

  • Compute kinematic and sensible SHF. Supports free convection and iteration with MOST: several sets of coefficients are available for MOST functions, based on previous studies.

Visualisation:
  • Produces time series of scintillometry and meteorological data.

  • Produces vertical profiles.

  • Produces plots for derived or iterated variables.

  • Produces comparisons between calculated parameters and external data sources.

Currently implemented MOST functions:

Footprint Climatology (Roadmap)

These features are under development.

Metrics:
  • Process 2D flux footprints generated by Natascha Kljun’s online model, available here.

  • Adjust topography and stitch footprints together.

Visualisation:
  • Produce regression plots between calculated parameters and external data sources.

  • Overlay stitched footprints onto map.

Example Workflow (Terminal)

This package supports SRun and Austrian-sourced data (ZAMG, InnFLUX) out-of-the-box. If your scintillometry readings were taken in Austria, use DGM 5m data to generate topographical data for the scintillometer’s path coordinates. Then generate the path transects necessary for calibrating the scintillometer.

Scintillometer path coordinates must be accurate. Incorrectly generated topographical data leads to poor calibration and nonsense results!

To install, follow the instructions given here.

Once installed, list all available arguments with:

python3 ./src/scintillometry/main.py -h
make commands  # if you prefer less typing

Navigate to the package root in the terminal. Calculate and plot surface sensible heat fluxes using MOST in CET, with coefficients from Andreas (1988)[1]:

python3 ./src/scintillometry/main.py -i "./<path_to_input>/<bls_data>.mnd" \
-p "./<path_to_transect>/<transect_data>.csv" -t "CET"

If you are not using the scintillometer in Austria, you will need to find and parse topographical data yourself. Add or modify functions in wrangler/data_parsing.py to parse data from other scintillometers, organisations, or countries.

Acknowledgements

This project would not be possible without invaluable contributions from Dr. Manuela Lehner, Dr. Helen Ward, and Josef Zink.

References

References