{"id":16719514,"url":"https://github.com/junzis/meteo-particle-model","last_synced_at":"2025-03-21T21:30:41.620Z","repository":{"id":87602025,"uuid":"105773638","full_name":"junzis/meteo-particle-model","owner":"junzis","description":"Weather (wind and temperature) field reconstruction based on meteo-particle model using ADS-B and Mode-S data","archived":false,"fork":false,"pushed_at":"2021-07-05T14:42:57.000Z","size":74656,"stargazers_count":33,"open_issues_count":0,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-18T05:11:44.736Z","etag":null,"topics":["ads-b","adsb","meterology","mode-s","modes","wind"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/junzis.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}},"created_at":"2017-10-04T13:45:07.000Z","updated_at":"2025-03-05T17:31:20.000Z","dependencies_parsed_at":"2023-09-21T20:13:28.759Z","dependency_job_id":null,"html_url":"https://github.com/junzis/meteo-particle-model","commit_stats":{"total_commits":47,"total_committers":7,"mean_commits":6.714285714285714,"dds":0.2978723404255319,"last_synced_commit":"cc07d1176cc237db8e0595cf84f74e79a586b9a1"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junzis%2Fmeteo-particle-model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junzis%2Fmeteo-particle-model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junzis%2Fmeteo-particle-model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junzis%2Fmeteo-particle-model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junzis","download_url":"https://codeload.github.com/junzis/meteo-particle-model/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244874093,"owners_count":20524572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ads-b","adsb","meterology","mode-s","modes","wind"],"created_at":"2024-10-12T21:42:01.867Z","updated_at":"2025-03-21T21:30:36.610Z","avatar_url":"https://github.com/junzis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Meteo-Particle model for wind and temperature field construction using Mode-S data\n\nThis 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.\n\nThis tool was developed together with [a research paper](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0205029) 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:\n\n```\n@article{sun2018mp,\n  title={Weather field reconstruction using aircraft surveillance data and a novel meteo-particle model},\n  author={Sun, Junzi and V{\\^u}, Huy and Ellerbroek, Joost and Hoekstra, Jacco M},\n  journal={PloS one},\n  volume={13},\n  number={10},\n  pages={e0205029},\n  year={2018},\n}\n```\n\n\n---\n\n## Dependent libraries\n\n1. You need to install [`pyModeS`](https://github.com/junzis/pyModeS) library for ADS-B and Mode-S decoding.\n2. You also need to install the following common scientific libraries: `numpy`, `pandas`, and `matplotlib`.\n3. You may install optional `geomag` library, to support the correction of magnetic declination in BDS60 heading.\n\nFor a fresh install, run following commands:\n\n```shell\n$ pip install git+https://github.com/junzis/pyModeS\n$ pip install numpy pandas matplotlib geomag\n```\n\n## Code examples\n\nExamples of using the model with recorded data and real-time streaming are given in `run-recoded.py` and `run-realtime.py` file.\n\nTo quickly test the model out of the box, try:\n\n```shell\n$ python run-recoded.py\n```\n\nor if you have access to a ModeSBeast raw stream on TCP port:\n\n```shell\n$ python run-realtime.py --server xx.xx.xx.xx --port xxxxx\n```\n\n\nConfigurable model parameters (with defaults) are:\n\n```python\nAREA_XY = (-300, 300)           # Area - xy, km\nAREA_Z = (0, 12)                # Altitude - km\n\nGRID_BOND_XY = 20               # neighborhood xy, +/- km\nGRID_BOND_Z = 0.5               # neighborhood z, +/- km\nTEMP_Z_BUFFER = 0.2             # neighborhood z (temp),  +/- km\n\nN_AC_PTCS = 300                 # particles per aircraft\nN_MIN_PTC_TO_COMPUTE = 10       # number of particles to compute\n\nCONF_BOUND = (0.0, 1.0)         # confident normalization\n\nAGING_SIGMA = 180.0             # Particle aging parameter, seconds\nPTC_DIST_STRENGTH_SIGMA = 30.0  # Weighting parameter - distance, km\nPTC_WALK_XY_SIGMA = 5.0         # Particle random walk - xy, km\nPTC_WALK_Z_SIGMA = 0.1          # Particle random walk - z, km\nPTC_VW_VARY_SIGMA = 0.0002      # Particle initialization wind variation, km/s\nPTC_TEMP_VARY_SIGMA = 0.1       # Particle initialization temp variation, K\n\nACCEPT_PROB_FACTOR = 3          # Measurement acceptance probability factor\nPTC_WALK_K = 10                 # Particle random walk factor\n\n```\n\n---\n\n## Plots\n\nOne minute simulation:\n![simulation](data/screenshots/simulation.gif?raw=true)\n\nWind field from the sample dataset (snapshot at 01/01/2018 09:02 UTC)\n![real-wind-field](data/screenshots/recorded_wind_field.png?raw=true)\n\nTemperature field from the sample dataset (snapshot at 01/01/2018 09:02 UTC)\n![real-wind-field](data/screenshots/recorded_temp_field.png?raw=true)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunzis%2Fmeteo-particle-model","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunzis%2Fmeteo-particle-model","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunzis%2Fmeteo-particle-model/lists"}