Skip to content

Commit 56006ec

Browse files
dbetchkaldzucker7
andauthored
Refactor repository for clarity and geographic flexibility, v2.0.0 release (#6)
* Ground truth (#4) Project restructure and ground truthing and utils modules * fix EarlyADSB bug * Active space (#5) Creation of Active Space Module * initialize v2 README * an active space map example * add image with accompanying text * Add order of operations to NPS-ActiveSpace README * Delete README.md * Delete README.md * `EarlyAdsb` - correct altitude in feet to meters * minor map symbology modifications * create CITATION.cff Initialize prior to v2.0.0 release. (Will need update with DOI number post-release.) Co-authored-by: dzucker7 <dzucker7@gmail.com>
1 parent 82674b7 commit 56006ec

File tree

363 files changed

+18971
-3704
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

363 files changed

+18971
-3704
lines changed

.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Pycharm
2+
.idea
3+
4+
# venv
5+
.venv*
6+
7+
# python
8+
**/__pycache__
9+
*.pyc
10+
11+
# pyenv
12+
.python-version
13+
14+
# .egg-info
15+
*.egg-info/
16+
17+
# config files
18+
_DENA/config/*
19+
!_DENA/config/template.config

CITATION.cff

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
cff-version: 1.2.0
2+
title: NPS-ActiveSpace
3+
message: >-
4+
This software was created by the United States
5+
government and is in the public domain. Please cite
6+
as below:
7+
type: software
8+
authors:
9+
- given-names: Davyd Halyn
10+
family-names: Betchkal
11+
email: Davyd_Betchkal@nps.gov
12+
affiliation: U.S. National Park Service
13+
- given-names: Adina
14+
family-names: Zucker
15+
affiliation: U.S. National Park Service
16+
- given-names: Kirby
17+
family-names: Heck
18+
affiliation: U.S. National Park Service
19+
repository-code: 'https://github.com/dbetchkal/NPS-ActiveSpace'
20+
version: v2.0.0
21+
date-released: '2022-12-23'

README.md

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,53 @@
1-
# NPS-ActiveSpace
1+
# NPS Active Space
22

3-
Authors: <br>
4-
Kirby Heck (Denali 2021 SIP - Computing) <br>
5-
Davyd Betchkal
3+
An ***active space*** is a well-known concept in bioacoustics ([Marten and Marler 1977](https://www.jstor.org/stable/pdf/4599136.pdf)). It represents a geographic volume whose radii correspond to the limit of audibility for a specific signal. In other words, an active space provides an answer to the question, *"how far can you hear a given sound at a specific place on Earth's surface?"*
64

5+
This repository is designed to estimate active spaces for fixed-wing aircraft noise within the U.S. National Park System. Aircraft are powerful noise sources audible over vast areas. Thus [considerable NPS management efforts have focused on protecting natural quietude from aviation noise](https://www.nps.gov/subjects/sound/overflights.htm). `NPS-ActiveSpace` provides a quantitative tool to support managers in monitoring park resource condition.
76

8-
The NPS-ActiveSpace repository includes two components: overflight audiblity ground-truthing and creation and analysis of a representative 'active space' corresponding to propeller noise for a geographic region.
7+
Consider an example active space, below. It was computed using data from a long term acoustic monitoring site in Denali National Park, DENAUWBT Upper West Branch Toklat ([Withers 2012](https://irma.nps.gov/DataStore/Reference/Profile/2184396)). The bold black polygon delineates an active space estimate for flights at 3000 meters altitude. Points interior to the polygon are predicted to be audible, those exterior inaudible. <br>
98

10-
NPS-ActiveSpace has several dependencies. Dependencies are found at the Github links below:
11-
> Iyore: <a href="https://github.com/nationalparkservice/iyore">NPS/Iyore</a> <br>
12-
> NMSIM-Python: <a href="https://github.com/dbetchkal/NMSIM-Python">dbetchkal/NMSIM-Python</a> <br>
13-
> soundDB: <a href="https://github.com/gjoseph92/soundDB">gjoseph92/soundDB</a> <br>
14-
> GDAL Translate: <a href="https://apps.nationalmap.gov/raster-conversion/gdal-installation-and-setup-guide.html">USGS Instructions</a>
9+
Superposed over the polygon are colored flight track polylines. `NPS-ActiveSpace` includes an application that leverages the acoustic record to ground-truth audibility of co-variate vehicle tracks from GPS databases. Ground-truthing is used to "tune" an active space to the appropriate geographic extent.<br>
10+
<br>
11+
<img src="https://github.com/dbetchkal/NPS-ActiveSpace/blob/v2/nps_active_space/img/NPS-ActiveSpace_example.png" alt="active space polygon example" width="300">
1512

16-
Additionally, overflights are queried from a databased developed by <a href="https://github.com/smHooper/flightsdb">smHooper</a>.
1713

18-
The DENA_overflights repository holds two function libraries `active_space_utils.py` and `noise_metrics.py`.
14+
## Packages
1915

16+
This project is made up of four packages:
2017

21-
## Ground Truthing
18+
`utils`: diverse utilities - file I/O, geoprocessing computations, acoustic propagation modelling, and detection statistics
19+
20+
`ground-truthing`: a `tkinter`-based ground-truthing application
2221

23-
Ground truthing involves loading existing flight tracks (either GPS or ADS-B) on top of an existing acoustic record from soundDB. The ground truthing user interface loads flights from a study area around microphone coordinates and plots the (sparse) tracks on a map with a highlighted region of (dense, spline-fit) points. On the right, a spectrogram from the acoustic record shows the noise for the same temporal bounds. Moving the sliders allows the user to annotate when a flight is audible (in the time domain) and _see_ the result in the spatial domain. Accounts for the speed of sound (assumed to be 343 m/s).
24-
![truthing](https://user-images.githubusercontent.com/8905274/130698861-3172948d-217b-4d4d-ad5e-7bd8b4a8c00c.png)
22+
`active-space`: generate and tune active space polygons
2523

26-
The ground truthing results in a saved annotations file that can be loaded in later to distinguish between audible and inaudible points. The goal is to create a shape in NMSim that best fits the 'audible' region without including too much of the 'inaudible' region; this region is dubbed the _active space_.
24+
`analysis`: estimate acoustic metrics from the intersection of an active space polygon and vehicle tracks
2725

28-
Note that the active space is truly a three-dimensional space and not a two-dimensional plane; that is, the area of a planar slice of the active space is dependent on its elevation (or flight altitude). Additionally, the active space corresponds to a particular noise source or aircraft; the active space for a helicopter is not the same as the active space for a fixed-wing aircraft or a commercial jet.
26+
Also included are noise source [data](https://github.com/dbetchkal/NPS-ActiveSpace/tree/v2/nps_active_space/data) for tuning active space polygons.
2927

30-
A sample inventory of ground truthing sites in Denali performed in 2021:
31-
![inventory](https://user-images.githubusercontent.com/8905274/130700132-c95aba5c-00e6-4707-8be3-fea9ba28ba90.png)
28+
***For more specific information on each package, view their individual READMEs.***
3229

30+
## Order of Operations
3331

34-
## Active Space Creation
32+
While each package can be used and run individually, the project was designed so that outputs of one package work seamlessly as the inputs for another.
3533

36-
There are three key components to active space creation: acoustic ambience levels, noise source file, and digital elevation model (DEM). NMSim is a sound propagation model that simulates the propagation of sound from a noise source over terrain; comparing NMSim results to the acoustic ambience (either third-octave bands _or_ broadband) will determine whether or not the flight is audible in a given location. This usage of NMSim is certainly <a href="https://nwtteis.com/portals/nwtteis/files/references/Ikelheimer_2004_NMSim_User_Manual.pdf">outside of its realm of intended use</a> but does an astoundingly good job regardless. The process for creating an active space looks a bit like the following:
37-
![algorithm](https://user-images.githubusercontent.com/8905274/130701270-c6c26f0a-ff7d-4812-95d3-e93640b00fe5.png)
34+
Packages were designed to be run in the following order:
3835

39-
Because broadband ambience is a viable comparison to detect audibility (although from 2021 ground truthing, it was determined that a noise source of around +23 dB should be used to compensate), park-wide or state-wide broadband models can be used to compute the active space for _any_ location given a DEM.
36+
1. `ground-truthing`
37+
2. `active-space`
38+
3. `analysis`
4039

40+
## License
4141

42-
## Noise Impact Analysis and Metrics
42+
**Authors**: <br>Kirby Heck<br>Adina Zucker<br>Davyd Halyn Betchkal
4343

44-
This final step is under development. The end goal is to quantify the noise impact of _real overflights_ given the theoretical active space with one grand assumption: if a flight is within the active space, then it is audible. For active spaces with landings (e.g. into basecamp on Denali or in the Ruth amphitheater), we will see that this is not a good assumption, but this is future work.
44+
### Public domain
4545

46-
Given a flight track, interpolating/densifying points resolves when a flight crosses into and out of an active space. The time inside an active space is therefore a noise interval, and a single track could theoretically pass in and out of an active space multiple times in one flight. The noise impacts can be derived most simply by counting the number of non-overlapping noise events (intervals), and more complicated metrics can be derived from the noise-free intervals (times where there are no noise intervals) or even factoring in the distance of the overflight (energy based metrics).
46+
This project is in the worldwide [public domain](LICENSE.md):
4747

48-
Note that this method of quantifying noise impacts only uses flight tracks and computational effort... no microphones in the field! Here is an example from the Triple Lakes trail on a particularly noisy afternoon in June, 2021:
49-
![metrics](https://user-images.githubusercontent.com/8905274/130703201-efd366cc-5a04-4443-9a02-6a8ba702f490.png)
48+
> This project is in the public domain within the United States,
49+
> and copyright and related rights in the work worldwide are waived through the
50+
> [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/).
51+
>
52+
> All contributions to this project will be released under the CC0 dedication.
53+
> By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

0 commit comments

Comments
 (0)