Attributes { time { String standard_name "time"; String long_name "Time(GMT)"; String units "seconds since 2013-01-01 00:00:00"; } latitude { String long_name "LATITUDE"; String standard_name "latitude"; String units "degree_north"; String comment "Latitude linearly intepolated onto thalweg data from file ../MontereyCanyonBeds_1m+5m_profile.ssv using formula np.interp(np.linspace(0,1,len(self.s2013)), np.linspace(0,1,len(self.traj_lat)), self.traj_lat)"; } longitude { String long_name "LONGITUDE"; String standard_name "longitude"; String units "degree_east"; String comment "Longitude linearly intepolated onto thalweg data from file ../MontereyCanyonBeds_1m+5m_profile.ssv using formula np.interp(np.linspace(0,1,len(self.s2013)), np.linspace(0,1,len(self.traj_lon)), self.traj_lon)"; } depth { String long_name "DEPTH"; String standard_name "depth"; String units "m"; String comment "Recorded pressure adjusted with bcal[BED05] = Polynomial(a=0.55, b=23.2, c=-12.09). Depth computed using UNESCO formula. Tide removed using output from: mbotps -A2 -B2016/01/15/15/01 -E2016/01/15/15/02 -D1 -R-121.890284808/36.7964235928 -Ombotps_out.txt Linearly interpolated to IMU samples."; } XA { String long_name "Acceleration along X-axis"; String comment "Recorded by instrument"; String coordinates "time depth latitude longitude"; String units "g"; } YA { String long_name "Acceleration along Y-axis"; String comment "Recorded by instrument"; String coordinates "time depth latitude longitude"; String units "g"; } ZA { String long_name "Acceleration along X-axis"; String comment "Recorded by instrument"; String coordinates "time depth latitude longitude"; String units "g"; } A { String long_name "Acceleration Magnitude"; String comment "Computed with: np.sqrt(self.ax**2 + self.ay**2 + self.az**2)"; String coordinates "time depth latitude longitude"; String units "g"; } XR { String long_name "Rotation about X-axis"; String standard_name "platform_pitch_angle"; String comment "Converted from recorded Quaternion with Python euclid package Quaternion.get_euler() method"; String coordinates "time depth latitude longitude"; String units "degree"; } YR { String long_name "Rotation about Y-axis"; String standard_name "platform_yaw_angle"; String comment "Converted from recorded Quaternion with Python euclid package Quaternion.get_euler() method"; String coordinates "time depth latitude longitude"; String units "degree"; } ZR { String long_name "Rotation about Z-axis"; String standard_name "platform_roll_angle"; String comment "Converted from recorded Quaternion with Python euclid package Quaternion.get_euler() method"; String coordinates "time depth latitude longitude"; String units "degree"; } AXIS_X { String long_name "X-component of rotation vector"; String comment "Converted from recorded Quaternion measurement with Python euclid package Quaternion.get_angle_axis() method"; String coordinates "time depth latitude longitude"; String units ""; } AXIS_Y { String long_name "Y-component of rotation vector"; String comment "Converted from recorded Quaternion measurement with Python euclid package Quaternion.get_angle_axis() method"; String coordinates "time depth latitude longitude"; String units ""; } AXIS_Z { String long_name "Z-component of rotation vector"; String comment "Converted from recorded Quaternion measurement with Python euclid package Quaternion.get_angle_axis() method"; String coordinates "time depth latitude longitude"; String units ""; } ANGLE { String long_name "Angle rotated about rotation vector"; String comment "Converted from recorded Quaternion measurement with Python euclid package Quaternion.get_angle_axis() method"; String coordinates "time depth latitude longitude"; String units "radian"; } ROT_X { String long_name "X-component of platform rotation vector"; String comment "Computed with dq = Quaternion(*quat) * Quaternion(*last_quat).conjugated(); dq.get_angle_axis()"; String coordinates "time depth latitude longitude"; String units ""; } ROT_Y { String long_name "Y-component of platform rotation vector"; String comment "Computed with dq = Quaternion(*quat) * Quaternion(*last_quat).conjugated(); dq.get_angle_axis()"; String coordinates "time depth latitude longitude"; String units ""; } ROT_Z { String long_name "Z-component of platform rotation vector"; String comment "Computed with dq = Quaternion(*quat) * Quaternion(*last_quat).conjugated(); dq.get_angle_axis()"; String coordinates "time depth latitude longitude"; String units ""; } ROT_RATE { String long_name "Absolute rotation rate about rotation vector"; String comment "Computed from angle output from Quaternion.get_euler() and the angle difference from one time step to the next"; String coordinates "time depth latitude longitude"; String units "degree/second"; } ROT_COUNT { String long_name "Rotation Count - Cumulative Sum of ROT_RATE * dt / 360 deg"; String comment "Computed with: np.cumsum(np.absolute(self.diffrot)) / 2. / np.pi"; String coordinates "time depth latitude longitude"; } P { String long_name "Pressure"; String comment "Recorded pressure linearly interpolated to IMU samples with np.interp(self.s2013, self.ps2013, self.pr)"; String coordinates "time depth latitude longitude"; String units "dbar"; } P_ADJUSTED { String long_name "Adjusted Pressure"; String coordinates "time depth latitude longitude"; String units "dbar"; String comment "Recorded pressure adjusted with bcal[BED05] = Polynomial(a=0.55, b=23.2, c=-12.09)"; } BED_DEPTH_LI { String long_name "Depth of BED - Linearly Interpolated to IMU samples"; String units "m"; String coordinates "time depth latitude longitude"; String comment "Recorded pressure adjusted with bcal[BED05] = Polynomial(a=0.55, b=23.2, c=-12.09). Depth computed using UNESCO formula. Tide removed using output from: mbotps -A2 -B2016/01/15/15/01 -E2016/01/15/15/02 -D1 -R-121.890284808/36.7964235928 -Ombotps_out.txt"; } P_SPLINE { Float64 _FillValue 1.000000000000000e+20; String long_name "Pressure"; String comment "Recorded pressure cubic spline interpolated to IMU samples with spline_func = scipy.interpolate.interp1d(self.ps2013, self.pr, kind='cubic'); p_mask = ma.masked_less(ma.masked_greater(self.s2013, np.max(self.ps2013)), np.min(self.ps2013)); inside_spline = spline_func(ma.compressed(p_mask)); p_spline = spline_func(self.s2013); p_spline[ma.clump_unmasked(p_mask)] = inside_spline"; String coordinates "time depth latitude longitude"; String units "dbar"; } P_SPLINE_RATE { Float64 _FillValue 1.000000000000000e+20; String long_name "Rate of change of spline fit of pressure"; String comment "Pressure rate of change interpolated to IMU samples with p_spline_rate[ma.clump_unmasked(p_mask)] = np.append([0], np.diff(inside_spline)) * self.rateHz"; String coordinates "time depth latitude longitude"; String units "dbar/s"; } BED_DEPTH_CSI { Float64 _FillValue 1.000000000000000e+20; String long_name "Depth of BED - Cubic Spline Interpolated to IMU Samples"; String units "m"; String coordinates "time depth latitude longitude"; String comment "Recorded pressure adjusted with bcal[BED05] = Polynomial(a=0.55, b=23.2, c=-12.09). Depth computed using UNESCO formula. Tide removed using output from: mbotps -A2 -B2016/01/15/15/01 -E2016/01/15/15/02 -D1 -R-121.890284808/36.7964235928 -Ombotps_out.txt Cubic spline interpolated to IMU samples."; } P_RATE { String long_name "Rate of change of pressure"; String comment "Pressure rate of change interpolated to IMU samples with np.append([0], np.diff(np.interp(self.s2013, self.ps2013, self.pr))) * self.rateHz"; String coordinates "time depth latitude longitude"; String units "dbar/s"; } ROT_DIST { String long_name "Implied distance traveled assuming pure rolling motion"; String comment "Computed with: ROT_COUNT * 1.47 m"; String coordinates "time depth latitude longitude"; String units "m"; } IMPLIED_VELOCITY { String long_name "Implied BED velocity assuming pure rolling motion"; String comment "Computed with: ROT_RATE * 1.47 / 360.0"; String coordinates "time depth latitude longitude"; String units "m/s"; } DIST_TOPO { String long_name "Distance over topography along thalweg"; String units "m"; String comment "dist_topo linearly intepolated onto thalweg data from file ../MontereyCanyonBeds_1m+5m_profile.ssv using formula np.interp(np.linspace(0,1,len(self.s2013)), np.linspace(0,1,len(self.traj_dist_topo)), self.traj_dist_topo)"; String coordinates "time depth latitude longitude"; } TUMBLE_RATE { String long_name "Angle change of axis (vec) in axis-angle representation of BED rotation"; String comment "Computed with: abs(last_vec.angle(vec))"; String coordinates "time depth latitude longitude"; String units "degree/second"; } TUMBLE_COUNT { String long_name "Tumble Count - Cumulative Sum of TUMBLE_RATE * dt / 360 deg"; String comment "Computed with: np.cumsum(np.absolute(self.difftumble)) / 2. / np.pi"; String coordinates "time depth latitude longitude"; } TUMBLE_DIST { String long_name "Implied distance traveled assuming tumbling translates to horizontal motion"; String comment "Computed with: TUMBLE_COUNT * 1.47 m"; String coordinates "time depth latitude longitude"; String units "m"; } ROT_PLUS_TUMBLE_DIST { String long_name "Implied distance traveled assuming pure rolling motion"; String comment "Computed with: ROT_DIST + TUMBLE_DIST"; String coordinates "time depth latitude longitude"; String units "m"; } TIDE { String long_name "OSTP2 Tide model height"; String coordinates "time depth latitude longitude"; String comment "Computed with command: mbotps -A2 -B2016/01/15/15/01 -E2016/01/15/15/02 -D1 -R-121.890284808/36.7964235928 -Ombotps_out.txt"; String units "m"; } NC_GLOBAL { Float64 seconds_offset 25200.00000000000; Float64 seconds_slope 0.000000000000000; Float64 bar_offset 0.000000000000000; Float64 bar_slope 0.000000000000000; Float64 yaw_offset 0.000000000000000; String summary "Benthic Event Detector data from an in situ instrument designed to capture turbidity currents. Time adjusted with --seconds_offset 25200.0 Positions extracted from thalweg file ../MontereyCanyonBeds_1m+5m_profile.ssv between depths 433.476744778 and 436.12066775. Data read from input file(s) ['50200057.E00.OUT']."; String netcdf_version "3.6"; String Conventions "CF-1.6"; String date_created "2019-08-12T23:01:53.554320Z"; String date_update "2019-08-12T23:01:53.554320Z"; String date_modified "2019-08-12T23:01:53.554320Z"; String featureType "trajectory"; Float64 geospatial_lat_min 36.79464717021277; Float64 geospatial_lat_max 36.79751508510638; Float64 geospatial_lon_min -121.8983550000000; Float64 geospatial_lon_max -121.8865990000000; String geospatial_lat_units "degree_north"; String geospatial_lon_units "degree_east"; Float64 geospatial_vertical_min 432.8744732376311; Float64 geospatial_vertical_max 437.3842318077398; String geospatial_vertical_units "m"; String geospatial_vertical_positive "down"; String comment "BED devices measure 3 axes of acceleration and rotation about those 3 axes at 50 Hz. They also measure pressure at 1 Hz during an event. Those data are represented in this file as variables XA, YA, ZA, XR, YR, ZR, and P. Additional variables are computed by the bed2netcdf.py program; see the long_name and comment attributes for explanations. Source code for the calucations are in the bed2netcdf.py, BEDS.py, and util.py files on the subversion source code control server at MBARI: http://kahuna.shore.mbari.org/viewvc/svn/BEDs/trunk/BEDs/Visualization/py/."; String time_coverage_start "2016-01-15T22:01:49Z"; String time_coverage_end "2016-01-15T22:02:36.000011Z"; String distribution_statement "Any use requires prior approval from the MBARI BEDS PI: Dr. Charles Paull"; String license "Any use requires prior approval from the MBARI BEDS PI: Dr. Charles Paull"; String useconst "Not intended for legal use. Data may contain inaccuracies."; String history "Created by \"../bed2netcdf.py -i 50200057.E00.OUT -t ../MontereyCanyonBeds_1m+5m_profile.ssv --bed_name BED05 --seconds_offset 25200 --title BED05 Event Trajectory on 15 January 2016 during the Coordinated Canyon Experiment\" on 2019-08-12T23:01:53.554320Z"; String title "BED05 Event Trajectory on 15 January 2016 during the Coordinated Canyon Experiment"; } }