import numpy as np
import math as m
import pandas as pd
# import scipy.special
from bokeh.layouts import gridplot
from bokeh.palettes import HighContrast3
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
2024-0205 Bulldog Dataset
Processes points generated by GlobalMapper “profile tool”.
Functions
General Imports
Constants
= 1.94384
ms2knots = 3.28084
m2ft = 1/m2ft
ft2m = np.pi/180.0
np.deg2rad = 180.0/np.pi np.rad2deg
Init code.
Main Code
= 20000 # laser pulse rate
PRF = 25 # Scanner spin rate
scan_rate_hz = 3048 # 10,000ft is 3048m Flight Altitude in meters
Flight_Altitude_m = 890 # swath width in meters
swath_width_m = 70 # ground speed in m/s
survey_ground_speed_m_s = np.arctan( swath_width_m * 0.5 / Flight_Altitude_m ) * np.rad2deg * 2.0
scan_angle_full_d = PRF
deep_rate = PRF * 2
shallow_rate = swath_width_m * survey_ground_speed_m_s
area_covered_s = deep_rate / area_covered_s
deep_rate_per_m2 = shallow_rate / area_covered_s
shallow_rate_per_m2 = deep_rate_per_m2 + shallow_rate_per_m2
deep_and_shallow_rate_per_m2
print('Bulldog specs extracted from 2024-0205 dataset')
print(f'PRF..........................: {PRF:,} Hz')
print(f'Scan rate....................: {scan_rate_hz:,} Hz')
print(f'Swath width..................: {swath_width_m} m')
print(f'Scan Angle (Full)............: {scan_angle_full_d:4.2f} deg')
print(f'Flight Altitude..............: {Flight_Altitude_m} m ( {int(Flight_Altitude_m * m2ft):,} ft agl )')
print(f'Ground speed.................: {survey_ground_speed_m_s} m/s ( {survey_ground_speed_m_s*ms2knots:0.0f} knots )')
print(f'Area coverage rate...........: {area_covered_s:,} m/s ( {area_covered_s/1e6*3600:1.1f} km2/hour )')
print(f'Deep sample rate.............: {deep_rate:,} Hz')
print(f'Shallow sample rate..........: {shallow_rate:,} Hz')
print(f'Deep coverage rate...........: {deep_rate_per_m2:0.2f} Points/m2')
print(f'Shallow coverage rate........: {shallow_rate_per_m2:0.2f} Points/m2')
print(f'Deep+shallow coverage rate...: {deep_and_shallow_rate_per_m2:0.2f} Points/m2')
Bulldog specs extracted from 2024-0205 dataset
PRF..........................: 20,000 Hz
Scan rate....................: 25 Hz
Swath width..................: 890 m
Scan Angle (Full)............: 16.61 deg
Flight Altitude..............: 3048 m ( 10,000 ft agl )
Ground speed.................: 70 m/s ( 136 knots )
Area coverage rate...........: 62,300 m/s ( 224.3 km2/hour )
Deep sample rate.............: 20,000 Hz
Shallow sample rate..........: 40,000 Hz
Deep coverage rate...........: 0.32 Points/m2
Shallow coverage rate........: 0.64 Points/m2
Deep+shallow coverage rate...: 0.96 Points/m2
Area A 10m
= TEST_AREA()
ta_a = "Area A"
ta_a.area_name = f"{ta_a.area_name} ~10 meter depth. 1cm bins."
ta_a.title = 3
ta_a.area_width = 70
ta_a.area_length = ta_a.area_width * ta_a.area_length
ta_a.area
= DATA()
ta_a.czmil = DATA()
ta_a.bulldog_shallow = DATA()
ta_a.bulldog_deep
= '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/A-10m-czmil.txt'
ta_a.czmil.fn = '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/A-10m-bulldog-deep.txt'
ta_a.bulldog_deep.fn = '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/A-10m-bulldog-shallow.txt'
ta_a.bulldog_shallow.fn
data( ta_a, ta_a.czmil )
data( ta_a, ta_a.bulldog_deep )
data( ta_a, ta_a.bulldog_shallow )
gen_plot( ta_a )0:-1], ta_a.bulldog_deep.hist, legend_label="BullDog Deep", line_width=2, color='red')
ta_a.p.line(ta_a.bins[0:-1], ta_a.czmil.hist, legend_label="CZMIL", line_width=5, color="blue")
ta_a.p.line( ta_a.bins[
show(ta_a.p) gen_all_stats( ta_a )
Area B 10m
= TEST_AREA();
ta_b = "Area B"
ta_b.area_name = f"{ta_b.area_name} ~10 meter depth. 1cm bins."
ta_b.title = 3
ta_b.area_width = 38.5
ta_b.area_length = ta_b.area_width * ta_b.area_length
ta_b.area
= DATA()
ta_b.czmil = DATA()
ta_b.bulldog_deep = DATA()
ta_b.bulldog_shallow
= '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/B-10m-czmil.txt'
ta_b.czmil.fn = '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/B-10m-bulldog-deep.txt'
ta_b.bulldog_deep.fn = '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/B-10m-bulldog-shallow.txt'
ta_b.bulldog_shallow.fn
data( ta_b, ta_b.czmil )
data( ta_b, ta_b.bulldog_deep )
data( ta_b, ta_b.bulldog_shallow )
gen_plot( ta_b )0:-1], ta_b.czmil.hist, legend_label="CZMIL", line_width=5, color="blue")
ta_b.p.line( ta_b.bins[0:-1], ta_b.bulldog_deep.hist+ta_b.bulldog_shallow.hist, legend_label="BullDog Deep+Shallow", line_width=2, color='red')
ta_b.p.line(ta_b.bins[#ta_b.p.line(ta_a.bins[0:-1], ta_b.bulldog_shallow_hist, legend_label="BullDog Shallow", line_width=2, color='magenta')
#ta_b.p.line(ta_a.bins[0:-1], ta_b.bulldog.hist, legend_label="BullDog", line_width=2, color='green')
show(ta_b.p) gen_all_stats( ta_b )
Area C 22m
= TEST_AREA();
ta_c = "Area C"
ta_c.area_name = f"{ta_c.area_name} ~22 meter depth. 1cm bins."
ta_c.title = 3
ta_c.area_width = 41.1
ta_c.area_length = ta_c.area_width * ta_c.area_length
ta_c.area = np.linspace(-22.5, -21.5, 100)
ta_c.bins
= DATA()
ta_c.czmil = DATA()
ta_c.bulldog_all
= '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/C-22m-czmil.txt'
ta_c.czmil.fn = '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/C-22m-bulldog-deep.txt'
ta_c.bulldog_all.fn
data( ta_c, ta_c.czmil )
data( ta_c, ta_c.bulldog_all )
#ta_c.bulldog = DATA()
#data( ta_c, ta_c.bulldog, ta_c.bulldog.fn )
gen_plot( ta_c )0:-1], ta_c.czmil.hist, legend_label="CZMIL", line_width=5, color="blue")
ta_c.p.line( ta_c.bins[0:-1], ta_c.bulldog_all.hist, legend_label="BullDog Deep",line_width=5, color='red')
ta_c.p.line(ta_c.bins[#ta_b.p.line(ta_a.bins[0:-1], ta_b.bulldog_shallow_hist, legend_label="BullDog Shallow", line_width=2, color='magenta')
#ta_b.p.line(ta_a.bins[0:-1], ta_b.bulldog.hist, legend_label="BullDog", line_width=2, color='green')
show(ta_c.p) gen_all_stats( ta_c )
Area D 30m
= TEST_AREA()
ta_d = "Area D"
ta_d.area_name = f"{ta_d.area_name} ~30 meter depth. 1cm bins."
ta_d.title = 3
ta_d.area_width = 71
ta_d.area_length = ta_d.area_width * ta_d.area_length
ta_d.area = np.linspace(-30.7, -29.7, 100)
ta_d.bins
= DATA()
ta_d.czmil = DATA()
ta_d.bulldog_all
= '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/D-30m-czmil.txt'
ta_d.czmil.fn = '/content/drive/MyDrive/Projects/2024-0209-NOAA-RSD-Bulldog/D-30m-bulldog-deep.txt'
ta_d.bulldog_all.fn
data( ta_d, ta_d.czmil )
data( ta_d, ta_d.bulldog_all )
gen_plot( ta_d )0:-1], ta_d.czmil.hist, legend_label="CZMIL", line_width=5, color="blue")
ta_d.p.line( ta_d.bins[0:-1], ta_d.bulldog_all.hist, legend_label="BullDog Deep",line_width=3, color='red')
ta_d.p.line(ta_d.bins[#ta_b.p.line(ta_a.bins[0:-1], ta_b.bulldog_shallow_hist, legend_label="BullDog Shallow", line_width=2, color='magenta')
#ta_b.p.line(ta_a.bins[0:-1], ta_b.bulldog.hist, legend_label="BullDog", line_width=2, color='green')
show(ta_d.p) gen_all_stats( ta_d )