Giter Club home page Giter Club logo

meteo-particle-model's Introduction

Meteo-Particle model for wind and temperature field construction using Mode-S data

This repository is a Python library for wind field estimation based on the Meteo-Particle particle model. The wind and temperature are computed from ADS-B and Mode-S data using the pyModeS library.

This tool was developed together with a research paper by Junzi Sun and his colleagues at TU Delft CNA/ATM research group. If you find it useful for your research, please consider citing it as:

@article{sun2018mp,
  title={Weather field reconstruction using aircraft surveillance data and a novel meteo-particle model},
  author={Sun, Junzi and V{\^u}, Huy and Ellerbroek, Joost and Hoekstra, Jacco M},
  journal={PloS one},
  volume={13},
  number={10},
  pages={e0205029},
  year={2018},
}

Dependent libraries

  1. You need to install pyModeS library for ADS-B and Mode-S decoding.
  2. You also need to install the following common scientific libraries: numpy, pandas, and matplotlib.
  3. You may install optional geomag library, to support the correction of magnetic declination in BDS60 heading.

For a fresh install, run following commands:

$ pip install git+https://github.com/junzis/pyModeS
$ pip install numpy pandas matplotlib geomag

Code examples

Examples of using the model with recorded data and real-time streaming are given in run-recoded.py and run-realtime.py file.

To quickly test the model out of the box, try:

$ python run-recoded.py

or if you have access to a ModeSBeast raw stream on TCP port:

$ python run-realtime.py --server xx.xx.xx.xx --port xxxxx

Configurable model parameters (with defaults) are:

AREA_XY = (-300, 300)           # Area - xy, km
AREA_Z = (0, 12)                # Altitude - km

GRID_BOND_XY = 20               # neighborhood xy, +/- km
GRID_BOND_Z = 0.5               # neighborhood z, +/- km
TEMP_Z_BUFFER = 0.2             # neighborhood z (temp),  +/- km

N_AC_PTCS = 300                 # particles per aircraft
N_MIN_PTC_TO_COMPUTE = 10       # number of particles to compute

CONF_BOUND = (0.0, 1.0)         # confident normalization

AGING_SIGMA = 180.0             # Particle aging parameter, seconds
PTC_DIST_STRENGTH_SIGMA = 30.0  # Weighting parameter - distance, km
PTC_WALK_XY_SIGMA = 5.0         # Particle random walk - xy, km
PTC_WALK_Z_SIGMA = 0.1          # Particle random walk - z, km
PTC_VW_VARY_SIGMA = 0.0002      # Particle initialization wind variation, km/s
PTC_TEMP_VARY_SIGMA = 0.1       # Particle initialization temp variation, K

ACCEPT_PROB_FACTOR = 3          # Measurement acceptance probability factor
PTC_WALK_K = 10                 # Particle random walk factor

Plots

One minute simulation: simulation

Wind field from the sample dataset (snapshot at 01/01/2018 09:02 UTC) real-wind-field

Temperature field from the sample dataset (snapshot at 01/01/2018 09:02 UTC) real-wind-field

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.