Note
Go to the end to download the full example code.
Loupe to NetCDF
import matplotlib.pyplot as plt
from os.path import join
import numpy as np
import gspy
Convert the Loupe csv data to NetCDF
Initialize the Survey
# Path to example files
data_path = '../data_files/loupe'
# Survey metadata file
metadata = join(data_path, "data//LoupeEM_survey_md.yml")
# Establish the Survey
survey = gspy.Survey.from_dict(metadata)
data_container = survey.gs.add_container('data')
data = join(data_path, 'data//Kankakee.dat')
metadata = join(data_path, 'data//Loupe_data_metadata.yml')
data_container.gs.add(key='raw_data', data_filename=data, metadata_file=metadata, file_type='loupe')
<xarray.DataTree 'raw_data'>
Group: /survey/data/raw_data
│ Dimensions: (index: 2474, gate_times: 23)
│ Coordinates:
│ * index (index) int32 10kB 0 1 2 3 4 5 ... 2469 2470 2471 2472 2473
│ * gate_times (gate_times) float64 184B 1.297e-05 1.495e-05 ... 0.002183
│ spatial_ref float64 8B 0.0
│ x (index) float64 20kB 5.248e+05 5.248e+05 ... 5.246e+05
│ y (index) float64 20kB 4.583e+06 4.583e+06 ... 4.583e+06
│ z (index) float64 20kB 211.5 211.5 211.5 ... 211.0 211.1 211.1
│ Data variables: (12/45)
│ fid (index) object 20kB '1' '2' '3' '4' ... '2961' '2962' '2963'
│ acq (index) float64 20kB 1.0 1.0 1.0 1.0 1.0 ... 6.0 6.0 6.0 6.0
│ acq_rdg (index) float64 20kB 0.0 1.0 2.0 3.0 ... 424.0 425.0 426.0
│ acq_time (index) object 20kB '20230808T175252.504075397Z' ... '20230...
│ time (index) object 20kB '20230808T175253.000000000Z' ... '20230...
│ ts (index) float64 20kB 1.692e+09 1.692e+09 ... 1.692e+09
│ ... ...
│ y_powerphase (index) float64 20kB 1.006 1.07 1.008 ... -2.718 -2.558 -2.693
│ z_powerphase (index) float64 20kB 1.663 1.679 1.748 ... 1.081 0.9304 0.8736
│ X_CH (index, gate_times) float64 455kB 491.5 357.4 ... 0.001494
│ Y_CH (index, gate_times) float64 455kB -6.219 6.26 ... -0.0268
│ Z_CH (index, gate_times) float64 455kB 499.8 434.7 ... 0.01253
│ line (index) int64 20kB 1 1 1 1 1 1 1 1 1 1 ... 6 6 6 6 6 6 6 6 6 6
│ Attributes:
│ uuid: becd8422-e942-4f40-b703-1e4fc0ac18cf
│ content: raw data
│ comment: This dataset includes minimally processed (raw) AEM data
│ type: data
│ method: electromagnetic
│ instrument: loupe
└── Group: /survey/data/raw_data/loupe_system
Dimensions: (gate_times: 23, nv: 2,
n_loop_vertices: 8, xyz: 3,
n_transmitter: 1, waveform_time: 4,
n_receiver: 3, n_component: 3)
Coordinates:
* nv (nv) int64 16B 0 1
* n_loop_vertices (n_loop_vertices) int64 64B 0 1 ... 6 7
* xyz (xyz) int64 24B 0 1 2
* n_transmitter (n_transmitter) int64 8B 0
* waveform_time (waveform_time) <U32 512B '-0.002777...
* n_receiver (n_receiver) int64 24B 0 1 2
* n_component (n_component) int64 24B 0 1 2
Data variables: (12/35)
gate_times_bnds (gate_times, nv) float64 368B 1.098e...
n_loop_vertices_bnds (n_loop_vertices, nv) float64 128B -...
xyz_bnds (xyz, nv) float64 48B -0.5 0.5 ... 2.5
transmitter_label (n_transmitter) <U1 4B 'z'
transmitter_number_of_turns (n_transmitter) int64 8B 13
transmitter_coordinates (n_transmitter, n_loop_vertices, xyz) float64 192B ...
... ...
component_txrx_dx (n_component) float64 24B -10.0 ... ...
component_txrx_dy (n_component) float64 24B 0.0 0.0 0.0
component_txrx_dz (n_component) float64 24B -0.75 ... ...
component_data_type (n_component) <U4 48B 'dBdt' ... 'dBdt'
component_gate_times (n_component) <U10 120B 'gate_times'...
sample_rate object 8B None
Attributes: (12/13)
type: system
mode: ground
method: electromagnetic
submethod: time domain
instrument: loupe
uuid: 002738fb-c200-4a7d-828a-8c40c055a609
... ...
data_normalized: True
reference_frame: right-handed positive down
sample_rate: 0.1
digitization_frequency: 504000.0
stacks: 360
powerline_frequency: 60.0xarray.DataTree
'raw_data'
- /survey/data/raw_data/loupe_system
- index: 2474
- gate_times: 23
- nv: 2
- n_loop_vertices: 8
- xyz: 3
- n_transmitter: 1
- waveform_time: 4
- n_receiver: 3
- n_component: 3
- nv(nv)int640 1
- standard_name :
- nv
- long_name :
- Number of vertices for bounding variables
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [0. 1.]
- grid_mapping :
- spatial_ref
array([0, 1])
- n_loop_vertices(n_loop_vertices)int640 1 2 3 4 5 6 7
- standard_name :
- n_loop_vertices
- long_name :
- number of loop vertices
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [0. 7.]
- grid_mapping :
- spatial_ref
- bounds :
- n_loop_vertices_bnds
array([0, 1, 2, 3, 4, 5, 6, 7])
- xyz(xyz)int640 1 2
- standard_name :
- xyz
- long_name :
- coordinates of the loop vertices
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [0. 2.]
- grid_mapping :
- spatial_ref
- bounds :
- xyz_bnds
array([0, 1, 2])
- n_transmitter(n_transmitter)int640
- standard_name :
- n_transmitter
- long_name :
- Number of transmitters
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [0. 0.]
- grid_mapping :
- spatial_ref
array([0])
- waveform_time(waveform_time)<U32'-0.00277778' ... '9e-06'
- label :
- ['z']
- prefix :
- transmitter
- long_name :
- waveform time
- null_value :
- not_defined
- units :
- s
- standard_name :
- waveform_time
- valid_range :
- [-2.77778e-03 9.00000e-06]
- grid_mapping :
- spatial_ref
array(['-0.00277778', '-0.00276878', '0.0', '9e-06'], dtype='<U32')
- n_receiver(n_receiver)int640 1 2
- standard_name :
- n_receiver
- long_name :
- Number of receivers
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [0. 2.]
- grid_mapping :
- spatial_ref
array([0, 1, 2])
- n_component(n_component)int640 1 2
- standard_name :
- n_component
- long_name :
- Number of components
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [0. 2.]
- grid_mapping :
- spatial_ref
array([0, 1, 2])
- gate_times_bnds(gate_times, nv)float641.098e-05 1.495e-05 ... 0.002557
- standard_name :
- gate_times_bounds
- long_name :
- receiver gate times cell boundaries
- units :
- seconds
- null_value :
- not_defined
- valid_range :
- [1.09800e-05 2.55662e-03]
- grid_mapping :
- spatial_ref
array([[1.09800e-05, 1.49500e-05],[1.29700e-05, 1.69400e-05],[1.49500e-05, 1.89200e-05],[1.69400e-05, 2.09000e-05],[1.89200e-05, 2.28900e-05],[2.09000e-05, 2.88400e-05],[2.68600e-05, 3.47900e-05],[3.28100e-05, 4.47100e-05],[4.07500e-05, 5.66200e-05],[5.26500e-05, 7.24900e-05],[6.65400e-05, 9.03500e-05],[8.63800e-05, 1.18130e-04],[1.12170e-04, 1.55830e-04],[1.45900e-04, 2.01460e-04],[1.91540e-04, 2.66940e-04],[2.53050e-04, 3.52250e-04],[3.32410e-04, 4.67330e-04],[4.39560e-04, 6.22100e-04],[5.82410e-04, 8.22490e-04],[7.72890e-04, 1.09233e-03],[1.02487e-03, 1.44948e-03],[1.36019e-03, 1.92567e-03],[1.80860e-03, 2.55662e-03]])
- n_loop_vertices_bnds(n_loop_vertices, nv)float64-0.5 0.5 0.5 1.5 ... 6.5 6.5 7.5
- standard_name :
- n_loop_vertices_bounds
- long_name :
- number of loop vertices cell boundaries
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [-0.5 7.5]
- grid_mapping :
- spatial_ref
array([[-0.5, 0.5],[ 0.5, 1.5],[ 1.5, 2.5],[ 2.5, 3.5],[ 3.5, 4.5],[ 4.5, 5.5],[ 5.5, 6.5],[ 6.5, 7.5]])
- xyz_bnds(xyz, nv)float64-0.5 0.5 0.5 1.5 1.5 2.5
- standard_name :
- xyz_bounds
- long_name :
- coordinates of the loop vertices cell boundaries
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [-0.5 2.5]
- grid_mapping :
- spatial_ref
array([[-0.5, 0.5],[ 0.5, 1.5],[ 1.5, 2.5]])
- transmitter_label(n_transmitter)<U1'z'
- grid_mapping :
- spatial_ref
array(['z'], dtype='<U1')
- transmitter_number_of_turns(n_transmitter)int6413
- valid_range :
- [13. 13.]
- grid_mapping :
- spatial_ref
array([13])
- transmitter_coordinates(n_transmitter, n_loop_vertices, xyz)float640.33 0.14 0.0 ... 0.33 -0.14 0.0
- valid_range :
- [-0.33 0.33]
- grid_mapping :
- spatial_ref
array([[[ 0.33, 0.14, 0. ],[ 0.14, 0.33, 0. ],[-0.14, 0.33, 0. ],[-0.33, 0.14, 0. ],[-0.33, -0.14, 0. ],[-0.14, -0.33, 0. ],[ 0.14, -0.33, 0. ],[ 0.33, -0.14, 0. ]]])
- transmitter_area()objectNone
- units :
- m^2
- grid_mapping :
- spatial_ref
array(None, dtype=object)
- transmitter_waveform_type(n_transmitter)<U9'trapezoid'
- grid_mapping :
- spatial_ref
array(['trapezoid'], dtype='<U9')
- transmitter_waveform_current(waveform_time)float640.0 1.0 1.0 0.0
- valid_range :
- [0. 1.]
- grid_mapping :
- spatial_ref
array([0., 1., 1., 0.])
- transmitter_current_scale_factor(n_transmitter)float641.0
- valid_range :
- [1. 1.]
- grid_mapping :
- spatial_ref
array([1.])
- transmitter_peak_current(n_transmitter)float6420.0
- valid_range :
- [20. 20.]
- grid_mapping :
- spatial_ref
array([20.])
- transmitter_moment(n_transmitter)float6494.42
- valid_range :
- [94.42 94.42]
- grid_mapping :
- spatial_ref
array([94.42])
- transmitter_base_frequency(n_transmitter)float6490.0
- valid_range :
- [90. 90.]
- grid_mapping :
- spatial_ref
array([90.])
- transmitter_on_time(n_transmitter)float640.002769
- valid_range :
- [0.00276878 0.00276878]
- grid_mapping :
- spatial_ref
array([0.00276878])
- transmitter_off_time(n_transmitter)float640.002787
- valid_range :
- [0.00278678 0.00278678]
- grid_mapping :
- spatial_ref
array([0.00278678])
- transmitter_orientation(n_transmitter)<U1'z'
- grid_mapping :
- spatial_ref
array(['z'], dtype='<U1')
- transmitter_height(n_transmitter)float641.0
- valid_range :
- [1. 1.]
- grid_mapping :
- spatial_ref
array([1.])
- receiver_label(n_receiver)<U1'x' 'y' 'z'
- grid_mapping :
- spatial_ref
array(['x', 'y', 'z'], dtype='<U1')
- receiver_orientation(n_receiver)<U1'x' 'y' 'z'
- grid_mapping :
- spatial_ref
array(['x', 'y', 'z'], dtype='<U1')
- receiver_coil_low_pass_filter(n_receiver)float641e+05 1e+05 1e+05
- valid_range :
- [100000. 100000.]
- grid_mapping :
- spatial_ref
array([100000., 100000., 100000.])
- receiver_instrument_low_pass_filter(n_receiver)float642.5e+05 2.5e+05 2.5e+05
- valid_range :
- [250000. 250000.]
- grid_mapping :
- spatial_ref
array([250000., 250000., 250000.])
- receiver_area(n_receiver)float64200.0 200.0 200.0
- valid_range :
- [200. 200.]
- grid_mapping :
- spatial_ref
array([200., 200., 200.])
- receiver_delay_time(n_receiver)float644.58e-06 4.58e-06 4.58e-06
- valid_range :
- [4.58e-06 4.58e-06]
- grid_mapping :
- spatial_ref
array([4.58e-06, 4.58e-06, 4.58e-06])
- receiver_height(n_receiver)float641.75 1.75 1.75
- valid_range :
- [1.75 1.75]
- grid_mapping :
- spatial_ref
array([1.75, 1.75, 1.75])
- receiver_gain(n_receiver)int6410 10 10
- valid_range :
- [10. 10.]
- grid_mapping :
- spatial_ref
array([10, 10, 10])
- component_label(n_component)<U3'z_x' 'z_y' 'z_z'
- grid_mapping :
- spatial_ref
array(['z_x', 'z_y', 'z_z'], dtype='<U3')
- component_transmitters(n_component)<U1'z' 'z' 'z'
- grid_mapping :
- spatial_ref
array(['z', 'z', 'z'], dtype='<U1')
- component_receivers(n_component)<U1'x' 'y' 'z'
- grid_mapping :
- spatial_ref
array(['x', 'y', 'z'], dtype='<U1')
- component_sample_rate(n_component)float641.0 1.0 1.0
- valid_range :
- [1. 1.]
- grid_mapping :
- spatial_ref
array([1., 1., 1.])
- component_txrx_dx(n_component)float64-10.0 -10.0 -10.0
- valid_range :
- [-10. -10.]
- grid_mapping :
- spatial_ref
array([-10., -10., -10.])
- component_txrx_dy(n_component)float640.0 0.0 0.0
- valid_range :
- [0. 0.]
- grid_mapping :
- spatial_ref
array([0., 0., 0.])
- component_txrx_dz(n_component)float64-0.75 -0.75 -0.75
- valid_range :
- [-0.75 -0.75]
- grid_mapping :
- spatial_ref
array([-0.75, -0.75, -0.75])
- component_data_type(n_component)<U4'dBdt' 'dBdt' 'dBdt'
- grid_mapping :
- spatial_ref
array(['dBdt', 'dBdt', 'dBdt'], dtype='<U4')
- component_gate_times(n_component)<U10'gate_times' ... 'gate_times'
- grid_mapping :
- spatial_ref
array(['gate_times', 'gate_times', 'gate_times'], dtype='<U10')
- sample_rate()objectNone
- units :
- s
- grid_mapping :
- spatial_ref
array(None, dtype=object)
- type :
- system
- mode :
- ground
- method :
- electromagnetic
- submethod :
- time domain
- instrument :
- loupe
- uuid :
- 002738fb-c200-4a7d-828a-8c40c055a609
- name :
- loupe_system
- data_normalized :
- True
- reference_frame :
- right-handed positive down
- sample_rate :
- 0.1
- digitization_frequency :
- 504000.0
- stacks :
- 360
- powerline_frequency :
- 60.0
- index: 2474
- gate_times: 23
- index(index)int320 1 2 3 4 ... 2470 2471 2472 2473
- standard_name :
- index
- long_name :
- Index of individual data points
- units :
- not_defined
- null_value :
- not_defined
- valid_range :
- [ 0. 2473.]
- grid_mapping :
- spatial_ref
array([ 0, 1, 2, ..., 2471, 2472, 2473], shape=(2474,), dtype=int32)
- gate_times(gate_times)float641.297e-05 1.495e-05 ... 0.002183
- standard_name :
- gate_times
- long_name :
- receiver gate times
- units :
- seconds
- null_value :
- not_defined
- valid_range :
- [1.2965e-05 2.1826e-03]
- grid_mapping :
- spatial_ref
- bounds :
- gate_times_bnds
array([1.2965e-05, 1.4955e-05, 1.6935e-05, 1.8920e-05, 2.0905e-05, 2.4870e-05, 3.0825e-05, 3.8760e-05, 4.8685e-05, 6.2570e-05, 7.8445e-05, 1.0226e-04, 1.3400e-04, 1.7368e-04, 2.2924e-04, 3.0265e-04, 3.9987e-04, 5.3083e-04, 7.0245e-04, 9.3261e-04, 1.2372e-03, 1.6429e-03, 2.1826e-03]) - spatial_ref()float640.0
- crs_wkt :
- PROJCRS["WGS 84 / UTM zone 16N",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["UTM zone 16N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",-87,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Navigation and medium accuracy spatial referencing."],AREA["Between 90°W and 84°W, northern hemisphere between equator and 84°N, onshore and offshore. Belize. Canada - Manitoba; Nunavut; Ontario. Costa Rica. Cuba. Ecuador - Galapagos. El Salvador. Guatemala. Honduras. Mexico. Nicaragua. United States (USA)."],BBOX[0,-90,84,-84]],ID["EPSG",32616]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984 ensemble
- projected_crs_name :
- WGS 84 / UTM zone 16N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- -87.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
- authority :
- EPSG
- wkid :
- 32616
array(0.)
- x(index)float645.248e+05 5.248e+05 ... 5.246e+05
- standard_name :
- projection_x_coordinate
- long_name :
- (m) Calculated reading position easting (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- axis :
- X
- valid_range :
- [524640.4 524825.1]
- grid_mapping :
- spatial_ref
array([524825.1, 524825. , 524825. , ..., 524644.4, 524644.6, 524644.8], shape=(2474,)) - y(index)float644.583e+06 4.583e+06 ... 4.583e+06
- standard_name :
- projection_y_coordinate
- long_name :
- (m) Calculated reading position northing (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- axis :
- Y
- valid_range :
- [4582888.5 4583204.6]
- grid_mapping :
- spatial_ref
array([4583153. , 4583153. , 4583153. , ..., 4583202.7, 4583203.7, 4583204.6], shape=(2474,)) - z(index)float64211.5 211.5 211.5 ... 211.1 211.1
- standard_name :
- z
- long_name :
- (m) Calculated reading position height above MSL (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- axis :
- Z
- positive :
- up
- datum :
- ground_surface
- valid_range :
- [210.1 215.1]
- grid_mapping :
- spatial_ref
array([211.5, 211.5, 211.5, ..., 211. , 211.1, 211.1], shape=(2474,))
- fid(index)object'1' '2' '3' ... '2962' '2963'
- standard_name :
- fid
- long_name :
- Unique reading identifier
- null_value :
- not_defined
- units :
- not_defined
- grid_mapping :
- spatial_ref
array(['1', '2', '3', ..., '2961', '2962', '2963'], shape=(2474,), dtype=object) - acq(index)float641.0 1.0 1.0 1.0 ... 6.0 6.0 6.0 6.0
- standard_name :
- acq
- long_name :
- Acquire index, this is incremented each time the user presses the acquire button
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [1. 6.]
- grid_mapping :
- spatial_ref
array([1., 1., 1., ..., 6., 6., 6.], shape=(2474,))
- acq_rdg(index)float640.0 1.0 2.0 ... 424.0 425.0 426.0
- standard_name :
- acq_rdg
- long_name :
- Reading index, for a particular acquire, reset to 0 for each acquire
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [ 0. 508.]
- grid_mapping :
- spatial_ref
array([ 0., 1., 2., ..., 424., 425., 426.], shape=(2474,))
- acq_time(index)object'20230808T175252.504075397Z' ......
- standard_name :
- acq_time
- long_name :
- (UTC ISO-8601) Time for when the raw data started to be acquired, matches raw file name
- null_value :
- not_defined
- units :
- not_defined
- grid_mapping :
- spatial_ref
array(['20230808T175252.504075397Z', '20230808T175252.504075397Z', '20230808T175252.504075397Z', ..., '20230808T184718.299388889Z', '20230808T184718.299388889Z', '20230808T184718.299388889Z'], shape=(2474,), dtype=object) - time(index)object'20230808T175253.000000000Z' ......
- standard_name :
- time
- long_name :
- (UTC ISO-8601) Time of the first sample in the stack
- null_value :
- not_defined
- units :
- not_defined
- grid_mapping :
- spatial_ref
array(['20230808T175253.000000000Z', '20230808T175254.000000000Z', '20230808T175255.000000000Z', ..., '20230808T185423.000000000Z', '20230808T185424.000000000Z', '20230808T185425.000000000Z'], shape=(2474,), dtype=object) - ts(index)float641.692e+09 1.692e+09 ... 1.692e+09
- standard_name :
- ts
- long_name :
- (UTC Linux) Time of the first sample in the stack
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [1.69151717e+09 1.69152086e+09]
- grid_mapping :
- spatial_ref
array([1.69151717e+09, 1.69151717e+09, 1.69151718e+09, ..., 1.69152086e+09, 1.69152086e+09, 1.69152086e+09], shape=(2474,)) - east(index)float645.248e+05 5.248e+05 ... 5.246e+05
- standard_name :
- east
- long_name :
- (m) Calculated reading position easting (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- axis :
- x
- valid_range :
- [524640.4 524825.1]
- grid_mapping :
- spatial_ref
array([524825.1, 524825. , 524825. , ..., 524644.4, 524644.6, 524644.8], shape=(2474,)) - north(index)float644.583e+06 4.583e+06 ... 4.583e+06
- standard_name :
- north
- long_name :
- (m) Calculated reading position northing (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- axis :
- y
- valid_range :
- [4582888.5 4583204.6]
- grid_mapping :
- spatial_ref
array([4583153. , 4583153. , 4583153. , ..., 4583202.7, 4583203.7, 4583204.6], shape=(2474,)) - height(index)float64211.5 211.5 211.5 ... 211.1 211.1
- standard_name :
- height
- long_name :
- (m) Calculated reading position height above MSL (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- axis :
- z
- positive :
- up
- datum :
- ground_surface
- valid_range :
- [210.1 215.1]
- grid_mapping :
- spatial_ref
array([211.5, 211.5, 211.5, ..., 211. , 211.1, 211.1], shape=(2474,))
- gps_time(index)object'20230808T175254.000000000Z' ......
- standard_name :
- gps_time
- long_name :
- (UTC ISO-8601) Timestamp of GPS antenna position
- null_value :
- not_defined
- units :
- not_defined
- grid_mapping :
- spatial_ref
array(['20230808T175254.000000000Z', '20230808T175255.000000000Z', '20230808T175256.000000000Z', ..., '20230808T185424.000000000Z', '20230808T185425.000000000Z', '20230808T185426.000000000Z'], shape=(2474,), dtype=object) - gps_east(index)float645.248e+05 5.248e+05 ... 5.246e+05
- standard_name :
- gps_east
- long_name :
- (m) GPS antenna position easting (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [524639.3 524822.2]
- grid_mapping :
- spatial_ref
array([524822.2, 524822.1, 524822. , ..., 524645.7, 524646. , 524646.3], shape=(2474,)) - gps_north(index)float644.583e+06 4.583e+06 ... 4.583e+06
- standard_name :
- gps_north
- long_name :
- (m) GPS antenna position northing (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [4582886.5 4583209.9]
- grid_mapping :
- spatial_ref
array([4583149. , 4583148.9, 4583148.9, ..., 4583208. , 4583209. , 4583209.9], shape=(2474,)) - gps_height(index)float64213.8 213.9 213.9 ... 211.6 211.6
- standard_name :
- gps_height
- long_name :
- (m) GPS antenna position height above MSL (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [210.6 216.1]
- grid_mapping :
- spatial_ref
array([213.8, 213.9, 213.9, ..., 211.6, 211.6, 211.6], shape=(2474,))
- tx_east(index)float645.248e+05 5.248e+05 ... 5.246e+05
- standard_name :
- tx_east
- long_name :
- (m) Calculated TX centre position easting (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [524639.3 524822.5]
- grid_mapping :
- spatial_ref
array([524822.5, 524822.5, 524822.4, ..., 524645.6, 524645.8, 524646.1], shape=(2474,)) - tx_north(index)float644.583e+06 4.583e+06 ... 4.583e+06
- standard_name :
- tx_north
- long_name :
- (m) Calculated TX centre position northing (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [4582887. 4583209.4]
- grid_mapping :
- spatial_ref
array([4583149. , 4583149. , 4583149. , ..., 4583207.5, 4583208.5, 4583209.4], shape=(2474,)) - tx_height(index)float64213.5 213.4 213.3 ... 210.8 210.8
- standard_name :
- tx_height
- long_name :
- (m) Calculated TX centre position height above MSL (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [209.8 215.3]
- grid_mapping :
- spatial_ref
array([213.5, 213.4, 213.3, ..., 210.8, 210.8, 210.8], shape=(2474,))
- rx_east(index)float645.248e+05 5.248e+05 ... 5.246e+05
- standard_name :
- rx_east
- long_name :
- (m) Calculated RX centre position easting (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [524639.4 524827.7]
- grid_mapping :
- spatial_ref
array([524827.7, 524827.6, 524827.6, ..., 524643.3, 524643.4, 524643.5], shape=(2474,)) - rx_north(index)float644.583e+06 4.583e+06 ... 4.583e+06
- standard_name :
- rx_north
- long_name :
- (m) Calculated RX centre position northing (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [4582883.8 4583199.8]
- grid_mapping :
- spatial_ref
array([4583157. , 4583156.9, 4583156.9, ..., 4583197.8, 4583198.8, 4583199.8], shape=(2474,)) - rx_height(index)float64209.6 209.6 209.6 ... 211.4 211.4
- standard_name :
- rx_height
- long_name :
- (m) Calculated RX centre position height above MSL (in selected GRID)
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [209.6 215.5]
- grid_mapping :
- spatial_ref
array([209.6, 209.6, 209.6, ..., 211.3, 211.4, 211.4], shape=(2474,))
- x_adc(index)float641.1 1.1 1.1 1.1 ... 1.1 1.1 1.1 1.1
- standard_name :
- x_adc
- long_name :
- (group.channel) Receiver hardware channel identification
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [1.1 1.1]
- grid_mapping :
- spatial_ref
array([1.1, 1.1, 1.1, ..., 1.1, 1.1, 1.1], shape=(2474,))
- y_adc(index)float641.2 1.2 1.2 1.2 ... 1.2 1.2 1.2 1.2
- standard_name :
- y_adc
- long_name :
- (group.channel) Receiver hardware channel identification
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [1.2 1.2]
- grid_mapping :
- spatial_ref
array([1.2, 1.2, 1.2, ..., 1.2, 1.2, 1.2], shape=(2474,))
- z_adc(index)float641.3 1.3 1.3 1.3 ... 1.3 1.3 1.3 1.3
- standard_name :
- z_adc
- long_name :
- (group.channel) Receiver hardware channel identification
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [1.3 1.3]
- grid_mapping :
- spatial_ref
array([1.3, 1.3, 1.3, ..., 1.3, 1.3, 1.3], shape=(2474,))
- x_c(index)object'X' 'X' 'X' 'X' ... 'X' 'X' 'X' 'X'
- standard_name :
- x_c
- long_name :
- Sensor axis component
- null_value :
- not_defined
- units :
- not_defined
- grid_mapping :
- spatial_ref
array(['X', 'X', 'X', ..., 'X', 'X', 'X'], shape=(2474,), dtype=object)
- y_c(index)object'Y' 'Y' 'Y' 'Y' ... 'Y' 'Y' 'Y' 'Y'
- standard_name :
- y_c
- long_name :
- Sensor axis component
- null_value :
- not_defined
- units :
- not_defined
- grid_mapping :
- spatial_ref
array(['Y', 'Y', 'Y', ..., 'Y', 'Y', 'Y'], shape=(2474,), dtype=object)
- z_c(index)object'Z' 'Z' 'Z' 'Z' ... 'Z' 'Z' 'Z' 'Z'
- standard_name :
- z_c
- long_name :
- Sensor axis component
- null_value :
- not_defined
- units :
- not_defined
- grid_mapping :
- spatial_ref
array(['Z', 'Z', 'Z', ..., 'Z', 'Z', 'Z'], shape=(2474,), dtype=object)
- vlf_filter(index)object'NML4,NAA,NLK' ... 'NML4,NAA,NLK'
- standard_name :
- vlf_filter
- long_name :
- List of VLF filters applied to the data
- null_value :
- not_defined
- units :
- not_defined
- grid_mapping :
- spatial_ref
array(['NML4,NAA,NLK', 'NML4,NAA,NLK', 'NML4,NAA,NLK', ..., 'NML4,NAA,NLK', 'NML4,NAA,NLK', 'NML4,NAA,NLK'], shape=(2474,), dtype=object) - x_dc_offset(index)float640.0001225 -6.476e-05 ... 0.0003983
- standard_name :
- x_dc_offset
- long_name :
- (V) Measured DC voltage offset of the receiver hardware channel
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-0.00424875 0.00582003]
- grid_mapping :
- spatial_ref
array([ 1.22502012e-04, -6.47628917e-05, 3.71596925e-05, ..., -5.24712125e-04, 1.85908540e-05, 3.98293323e-04], shape=(2474,)) - y_dc_offset(index)float64-0.001267 -0.001414 ... -0.002835
- standard_name :
- y_dc_offset
- long_name :
- (V) Measured DC voltage offset of the receiver hardware channel
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-0.00596561 0.00258175]
- grid_mapping :
- spatial_ref
array([-0.00126698, -0.00141366, -0.00140542, ..., -0.00254054, -0.00226911, -0.00283487], shape=(2474,)) - z_dc_offset(index)float640.001206 0.001324 ... 0.00212
- standard_name :
- z_dc_offset
- long_name :
- (V) Measured DC voltage offset of the receiver hardware channel
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-0.00133355 0.0054299 ]
- grid_mapping :
- spatial_ref
array([0.00120597, 0.0013237 , 0.00127483, ..., 0.00178339, 0.00204642, 0.0021202 ], shape=(2474,)) - x_primary(index)float645.749e+03 5.066e+03 ... 1.862e+03
- standard_name :
- x_primary
- long_name :
- (UNITS) Calculated primary field from the stack
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-7340.56369004 38197.63482305]
- grid_mapping :
- spatial_ref
array([5748.6329444 , 5065.67632182, 4567.6176848 , ..., 1686.41533602, 1577.76982472, 1862.37963227], shape=(2474,)) - y_primary(index)float64-1.073e+03 -340.6 ... 733.2 884.4
- standard_name :
- y_primary
- long_name :
- (UNITS) Calculated primary field from the stack
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-8408.70352847 48999.10690608]
- grid_mapping :
- spatial_ref
array([-1072.76504299, -340.64204659, -154.80896945, ..., 959.27368163, 733.2011728 , 884.36768078], shape=(2474,)) - z_primary(index)float64-1.035e+04 ... -9.573e+03
- standard_name :
- z_primary
- long_name :
- (UNITS) Calculated primary field from the stack
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-50720.92069094 -7060.07734103]
- grid_mapping :
- spatial_ref
array([-10354.9061196 , -10658.4502775 , -10871.73142006, ..., -8946.93568754, -9249.66406757, -9572.54815111], shape=(2474,)) - x_noise(index)float641.925e-05 1.718e-05 ... 1.131e-05
- standard_name :
- x_noise
- long_name :
- (UNITS) Calculated offtime standard deviation amplitude
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [8.53896293e-06 1.30758177e-04]
- grid_mapping :
- spatial_ref
array([1.92478441e-05, 1.71837894e-05, 1.20049866e-05, ..., 1.48871272e-05, 1.28631911e-05, 1.13137058e-05], shape=(2474,)) - y_noise(index)float643.761e-05 3.352e-05 ... 2.042e-05
- standard_name :
- y_noise
- long_name :
- (UNITS) Calculated offtime standard deviation amplitude
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [7.81948493e-06 1.43676881e-04]
- grid_mapping :
- spatial_ref
array([3.76140510e-05, 3.35244652e-05, 1.38487194e-05, ..., 2.73998294e-05, 2.93794713e-05, 2.04197631e-05], shape=(2474,)) - z_noise(index)float647.735e-06 7.632e-06 ... 7.101e-06
- standard_name :
- z_noise
- long_name :
- (UNITS) Calculated offtime standard deviation amplitude
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [5.66649012e-06 2.19859912e-05]
- grid_mapping :
- spatial_ref
array([7.73491566e-06, 7.63164543e-06, 6.24645382e-06, ..., 8.04470222e-06, 7.81372909e-06, 7.10093547e-06], shape=(2474,)) - x_powerampl(index)float644.447e-05 4.847e-05 ... 6.736e-05
- standard_name :
- x_powerampl
- long_name :
- (UNITS) Calculated power line amplitude
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [7.16398081e-07 1.21668703e-04]
- grid_mapping :
- spatial_ref
array([4.44674749e-05, 4.84675737e-05, 4.43066532e-05, ..., 6.98973325e-05, 6.25726466e-05, 6.73598241e-05], shape=(2474,)) - y_powerampl(index)float643.528e-05 4.035e-05 ... 4.107e-05
- standard_name :
- y_powerampl
- long_name :
- (UNITS) Calculated power line amplitude
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [8.72665759e-07 1.21092706e-04]
- grid_mapping :
- spatial_ref
array([3.52802470e-05, 4.03539295e-05, 3.59883594e-05, ..., 4.08483026e-05, 4.45154243e-05, 4.10658183e-05], shape=(2474,)) - z_powerampl(index)float644.411e-05 4.739e-05 ... 6.548e-05
- standard_name :
- z_powerampl
- long_name :
- (UNITS) Calculated power line amplitude
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [1.59290256e-05 1.00851298e-04]
- grid_mapping :
- spatial_ref
array([4.41124453e-05, 4.73859296e-05, 4.45698238e-05, ..., 6.25196446e-05, 6.30792217e-05, 6.54775984e-05], shape=(2474,)) - x_powerphase(index)float64-2.384 -2.266 ... 0.6481 0.6069
- standard_name :
- x_powerphase
- long_name :
- (rad) Calculated power line phase
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-3.13952093 3.14062356]
- grid_mapping :
- spatial_ref
array([-2.38386775, -2.26609236, -2.2974812 , ..., 0.82708581, 0.64807687, 0.60691115], shape=(2474,)) - y_powerphase(index)float641.006 1.07 1.008 ... -2.558 -2.693
- standard_name :
- y_powerphase
- long_name :
- (rad) Calculated power line phase
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-3.13653464 3.13973981]
- grid_mapping :
- spatial_ref
array([ 1.0058089 , 1.06951257, 1.0079169 , ..., -2.71774442, -2.55791329, -2.69273716], shape=(2474,)) - z_powerphase(index)float641.663 1.679 1.748 ... 0.9304 0.8736
- standard_name :
- z_powerphase
- long_name :
- (rad) Calculated power line phase
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-3.1374438 3.13980209]
- grid_mapping :
- spatial_ref
array([1.66258522, 1.67912437, 1.74751758, ..., 1.08099645, 0.93041364, 0.87356582], shape=(2474,)) - X_CH(index, gate_times)float64491.5 357.4 ... 0.01203 0.001494
- standard_name :
- x_ch
- long_name :
- (UNITS) Time channel windows data
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-232.45210445 1342.5416746 ]
- grid_mapping :
- spatial_ref
array([[ 4.91452149e+02, 3.57444735e+02, 1.70748835e+02, ..., -1.63840100e-02, 9.59741855e-03, -4.61576917e-04], [ 4.84119969e+02, 3.50174919e+02, 1.65863356e+02, ..., -7.89618854e-03, -1.75374306e-04, 8.77812550e-03], [ 4.89865435e+02, 3.54931726e+02, 1.68517334e+02, ..., 2.00930978e-02, 1.20076114e-02, 1.21367096e-02], ..., [ 6.06350715e+02, 4.69221895e+02, 2.35733369e+02, ..., -1.88727018e-02, 2.19282732e-02, -1.12125068e-02], [ 6.28190885e+02, 4.89688176e+02, 2.49615215e+02, ..., -3.40853044e-03, -9.14057373e-03, 8.78813646e-04], [ 6.20494158e+02, 4.79895816e+02, 2.42782373e+02, ..., -1.01020753e-02, 1.20319373e-02, 1.49391277e-03]], shape=(2474, 23)) - Y_CH(index, gate_times)float64-6.219 6.26 ... 0.02448 -0.0268
- standard_name :
- y_ch
- long_name :
- (UNITS) Time channel windows data
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-671.69123565 3745.61482216]
- grid_mapping :
- spatial_ref
array([[-6.21863076e+00, 6.25999264e+00, 9.56963428e+00, ..., 2.97073856e-02, 3.83601715e-02, 1.62472346e-02], [-2.51476677e+00, 8.29366205e+00, 9.96589274e+00, ..., 2.91719560e-02, 6.02595529e-02, 1.57731374e-02], [-4.74262943e+00, 5.24536477e+00, 7.75696030e+00, ..., -8.35364178e-03, 3.39979473e-02, 2.60233977e-02], ..., [ 3.09063349e+01, -2.39323686e+01, -2.19494663e+01, ..., -1.87308078e-02, 8.83365510e-02, 1.65316913e-02], [ 5.61396173e+01, -4.98772404e+00, -1.28747873e+01, ..., -3.12896972e-02, -1.36777100e-02, -3.16649451e-03], [ 5.14997597e+01, -6.53499680e+00, -1.35259271e+01, ..., -5.36811706e-02, 2.44820150e-02, -2.67986952e-02]], shape=(2474, 23)) - Z_CH(index, gate_times)float64499.8 434.7 ... 0.01548 0.01253
- standard_name :
- z_ch
- long_name :
- (UNITS) Time channel windows data
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [-17020.57927343 1260.66757955]
- grid_mapping :
- spatial_ref
array([[ 4.99768836e+02, 4.34719896e+02, 2.69763029e+02, ..., 2.04351268e-03, -4.22064192e-03, 2.66078607e-03], [ 5.27219757e+02, 4.54222803e+02, 2.78963512e+02, ..., -6.16011541e-03, -4.98895610e-03, 1.09400172e-02], [ 5.28663002e+02, 4.56264082e+02, 2.80124553e+02, ..., 1.49719267e-02, 3.57381153e-04, 2.50150137e-02], ..., [ 6.31191702e+02, 5.94172502e+02, 3.72933693e+02, ..., -6.57088371e-04, -5.55307094e-03, -6.70596632e-03], [ 6.01306744e+02, 5.68467074e+02, 3.59779858e+02, ..., 1.66703024e-02, -8.36090578e-03, 4.76010970e-04], [ 6.15910524e+02, 5.77090899e+02, 3.64394331e+02, ..., 9.67030048e-03, 1.54826824e-02, 1.25302578e-02]], shape=(2474, 23)) - line(index)int641 1 1 1 1 1 1 1 ... 6 6 6 6 6 6 6 6
- standard_name :
- not_defined
- long_name :
- not_defined
- null_value :
- not_defined
- units :
- not_defined
- valid_range :
- [1. 6.]
- grid_mapping :
- spatial_ref
array([1, 1, 1, ..., 6, 6, 6], shape=(2474,))
- uuid :
- becd8422-e942-4f40-b703-1e4fc0ac18cf
- content :
- raw data
- comment :
- This dataset includes minimally processed (raw) AEM data
- type :
- data
- method :
- electromagnetic
- instrument :
- loupe
Save to NetCDF file
d_out = join(data_path, 'Loupe.nc')
survey.gs.to_netcdf(d_out)
Reading back in
new_survey = gspy.open_datatree(d_out)['survey']
Plotting
plt.figure()
new_survey['data/raw_data']['height'].plot(label='height')
new_survey['data/raw_data']['tx_height'].plot(label='tx_height')
new_survey['data/raw_data']['rx_height'].plot(label='rx_height')
plt.tight_layout()
plt.legend()
plt.show()

Total running time of the script: (0 minutes 0.331 seconds)