CSV (Resolve AEM)

This example demonstrates how to convert comma-separated values (CSV) data to the GS NetCDF format. Specifically this example includes:

  1. Raw data

    • electromagnetic data, Resolve frequency-domain airborne electromagnetic (AEM) data

    • magnetic data

    • radiometric data

  2. Inverted resistivity models

This example also demonstrates how to read metadata from different formats (YAML and CSV), and includes examples of electromagnetic, magnetic, and radiometric systems.

Source Reference: Burton, B.L., Minsley, B.J., Bloss, B.R., Rigby, J.R., Kress, W.H., and Smith, B.D., 2019, Airborne electromagnetic, magnetic, and radiometric survey, Shellmound, Mississippi, March 2018 (ver. 2.0, March 2024): U.S. Geological Survey data release, https://doi.org/10.5066/P9D4EA9W.

import matplotlib.pyplot as plt
from os.path import join
import gspy
from gspy.metadata.Metadata import Metadata
from pprint import pprint

Initialize the Survey

# Path to example files
data_path = '..//data_files//resolve'

# Survey metadata file
metadata = join(data_path, "data//Resolve_survey_md.yml")

# Establish the Survey
survey = gspy.Survey.from_dict(metadata)
Survey YAML file
 1dataset_attrs:
 2    title: Example Resolve Airborne Electromagnetic (AEM) Raw Data
 3    institution: USGS Geology, Geophysics, & Geochemistry Science Center
 4    source:  Comma-separated text file exported from Geosoft
 5    history: see data release for full details
 6    references: "Burton, B.L., Minsley, B.J., Bloss, B.R., Rigby, J.R., Kress, W.H., and Smith, B.D., 2019, Airborne electromagnetic, magnetic, and radiometric survey, Shellmound, Mississippi, March 2018 (ver. 2.0, March 2024): U.S. Geological Survey data release, https://doi.org/10.5066/P9D4EA9W."
 7    comment: This dataset includes electromagnetic, radiometric, and magnetic data
 8    content: Resolve survey information
 9
10survey_information:
11    contractor_project_number: 603756RWA
12    contractor: CGG Canada Services Ltd.
13    client: U.S. Geological Survey
14    survey_type: electromagnetic
15    survey_area_name: Mississippi Alluvial Plain (MAP) Shellmound
16    state: MS
17    country: USA
18    acquisition_start: 20180220
19    acquisition_end: 20180304
20    dataset_created: 20180517
21
22survey_units:
23    time: seconds [s]
24    area: square meters [m^2]
25    distance: meters [m]
26    line_direction: degrees [deg]
27    frequency: Hertz [Hz]
28    electromagnetic_moment: Ampere square meters [Am^2]
29    electromagnetic_secondary_field: parts per million [ppm]
30    spectrometer_volume: liter [L]
31
32spatial_ref:
33    wkid: 5070
34    authority: EPSG
35
36flightline_information:
37    traverse_line_spacing: [993, 248]
38    traverse_line_direction: [92, 272]
39    tie_line_spacing: 23883,
40    tie_line_direction: [2, 182]
41    nominal_terrain_clearance: 30
42    final_line_kilometers: 2358,
43    traverse_line_numbers: 10010 - 11060
44    tie_line_numbers: 19010,19020
45
46survey_equipment:
47    aircraft: AS350 B2 Helicopter
48    aircraft_registration: C-FZTA
49    aircraft_operator: Questral Helicopters Ltd
50    magnetometer: Scintrex Cs-3 Cesium Vapour
51    magnetometer_installation: mounted in the EM bird
52    spectrometer_system: Radiation Solutions RS-500
53    spectrometer_installation: on board the helicopter
54    radar_altimeter_system: Honeywell Sperry Altimeter System
55    laser_altimeter_system: Optech ADMGPA100
56    navigation_system: NovAtel OEM4 Card with an Aero antenna mounted on the tail of the helicopter
57    acquisition_system: CGG HeliDAS
58    electromagnetic_system: RESOLVE, symmetric dipole configuration
59    electromagnetic_installation: 9 metre bird containing the EM transmitter and receiver coil pairs (five coplanar and one coaxial), one or two magnetometers, a laser altimeter and a GPS antenna for flight path recovery, is towed by helicopter using a 30 m cable.

Create a ‘data’ branch

Make the branch

data_container = survey.gs.add_container('data', **dict(content = "raw and processed data"))

Point to raw data CSV file

# Define input data file and associated metadata file
d_data = join(data_path, 'data//Resolve.csv')

Multiple Geophysical Systems & Metadata Formats

Import from MULTIPLE metadata files (YAML & CSV)

Metadata about the dataset and systems are in YAML format

d_supp = join(data_path, 'data//Resolve_data_md_without_variables.yml')
rd_meta = Metadata.read(d_supp)
Raw Data YAML file (missing variable metadata!)
  1dataset_attrs:
  2    content: raw data
  3    comment: This dataset includes minimally processed (raw) AEM data
  4    type: data
  5    mode: airborne
  6    method: electromagnetic, frequency domain
  7    instrument: RESOLVE
  8
  9coordinates:
 10    x: x_WGS84_Albers
 11    y: y_WGS84_Albers
 12    z: DTM
 13
 14resolve_system:
 15    type: system
 16    mode: airborne
 17    method: electromagnetic, frequency domain
 18    instrument: RESOLVE
 19
 20    dimensions:
 21        channel:
 22            centers: ['in-phase','quadrature']
 23            standard_name: frequency_domain_complex_data
 24            long_name: complex frequency domain data channel
 25            units: not_defined
 26            missing_value: not_defined
 27            discrete: True
 28        frequency:
 29            standard_name: frequency
 30            long_name: nominal measurement frequency
 31            units: Hz
 32            missing_value: not_defined
 33            centers: [400, 1800, 3300, 8200, 40000, 140000]
 34            discrete: True
 35
 36    variables:
 37        data_normalized: True
 38        output_data_type: ppm
 39        reference_frame: right-handed positive up
 40        output_sample_frequency: 10
 41
 42        transmitter:
 43            label: [400Z, 1800Z, 3300X, 8200Z, 40000Z, 140000Z]
 44            orientation: [z, z, x, z, z, z]
 45            
 46        receiver:
 47            label: [400Z, 1800Z, 3300X, 8200Z, 40000Z, 140000Z]
 48            orientation: [z, z, x, z, z, z]
 49
 50        couplet:
 51            transmitters: [400Z, 1800Z, 3300X, 8200Z, 40000Z, 140000Z]
 52            receivers: [400Z, 1800Z, 3300X, 8200Z, 40000Z, 140000Z]
 53            txrx_dx: [7.93, 7.95, 9.06, 7.93, 7.92, 7.97]
 54            txrx_dy: [0, 0, 0, 0, 0, 0]
 55            txrx_dz: [0, 0, 0, 0, 0, 0]
 56            orientation: [coplanar, coplanar, coaxial, coplanar, coplanar, coplanar]
 57            actual_frequency: [381, 1829, 3385, 8261, 40430, 133400]
 58            moment: [359, 187, 150, 72, 49, 17]
 59
 60magnetic_system:
 61    type: system
 62    mode: airborne
 63    method: magnetic
 64    instrument: Scintrex CS-3 cesium-vapor magnetometer
 65
 66    prefixes: ['base_magnetometer']
 67
 68    variables:
 69
 70        transmitter:
 71            label: passive
 72            description: "No artificial transmitter was used; the magnetic system measures the Earth's natural field (passive field)."
 73
 74        receiver:
 75            label: scalar_magnetometer
 76            sensor_type: cesium_vapor
 77            sensor_model: CS-3  
 78            sensor_manufacturer: Scintrex
 79            description:  Scalar cesium-vapor magnetometer mounted in the RESOLVE EM bird towed beneath an AS350 B2 helicopter. Digital acquisition via CGG HeliDAS; positioning with NovAtel OEM4 GPS on helicopter and bird.  
 80            coordinates: not_defined 
 81            orientation: em-bird mounted 
 82            acquisition_system: CGG HeliDAS survey computer; NovAtel OEM4 GPS (WAAS-enabled) for navigation and synchronization; EM bird GPS OEM4 for positional data. 
 83            sample_frequency:
 84                values: 10.0
 85                units: Hz  
 86            sensitivity:
 87                values: 0.001
 88                units: nT   
 89            accuracy:
 90                values: 0.002
 91                units: nT   
 92            typical_noise:
 93                values: 1.0
 94                units: nT   
 95            sensor_height:
 96                values: 42
 97                units: m    
 98            lag_factor:
 99                values: 1.8
100                units: s    
101            fom_pitch: not_defined
102            fom_roll:  not_defined
103            fom_yaw:   not_defined
104            fom_sum:   not_defined 
105
106        couplet:
107            transmitters: [passive]
108            receivers: [scalar_magnetometer]
109            description: Passive Earth-field transmitter paired with single scalar magnetometer receiver mounted in the RESOLVE EM bird.  
110
111        base_magnetometer:
112            label: base_magnetometer
113            description: Ground magnetic base stations were set-up to measure the total intensity of the earth's magnetic field. The base stations were placed in a magnetically quiet area, away from power lines and moving metallic objects. The contracted specification for the collected ground magnetic data was the non-linear variations in the magnetic data were not to exceed 5 nT per 5 minute period. Pulsations having periods of 5 minutes or less shall not exceed 2 nT, pulsations having periods between 5 and 10 minutes shall not exceed 4 nT, and pulsations having periods between 10 and 20 minutes shall not exceed 8 nT.
114            sensor_type: CGG CF1 using Scintrex cesium vapour sensor with Marconi GPS card and antenna for measurement synchronization to GPS
115            sample_frequency:
116                values: 1
117                units: s  
118            secondary_sensor_model: GEM GSM-19
119            secondary_sensor_sample_frequency: 0.33 per sec
120            secondary_sensor_accuracy: 0.2 nT
121            secondary_sensor_precision: 0.01 nT  
122            location_names: Greenwood, MS
123            setup_dates: 2018-02-20 to 2018-03-05
124            latitude:
125                values: "33 29 50.6815N"
126                units: degrees minutes seconds
127            longitude:
128                values: "90 04 44.7918 W"
129                units: degrees minutes seconds
130            ellipsoidal_height:
131                values: 20.643
132                units: m
133
134        dynamic_compensation: Heading test performed with passes in magnetic N,S,E,W; heading errors within acceptable limits (e.g., N-S ~0.2-0.8 nT; E-W up to ~0.5-1.0 nT), indicating low aircraft-induced magnetic noise.  
135        diurnal_correction: Diurnal variation extracted from base station records (1 Hz), filtered (51 s median + 51 s Hanning), interpolated to 10 Hz, and applied to airborne TMF; a local regional field value of 49,405 nT (from first day's average) was removed prior to RMI calculation. 
136        microlevelling: Microlevelling applied after tie-line levelling
137        lag_correction: Lag of 1.8 s applied to TMF based on lag test 
138        igrf_model_location: "Greenwood, Mississippi (survey area)" 
139        igrf_model_date: "2018-11-15/2019-02-18"  
140        igrf_model_height: sensor altitude 42 m above ground level
141        igrf_removed_model_epoch: "2015.0"
142        tieline_levelling: Magnetic data were levelled using tie/traverse intercepts, manual adjustments where needed, and microlevelling applied to produce final RMI/TMI products.  
143        altitude_correction: none
144        deliverables: Total Magnetic Intensity (TMI), Residual Magnetic Intensity (RMI), and Calculated Vertical Magnetic Gradient (CVG), provided with ancillary EM & terrain data.
145
146        
147radiometric_system:
148    type: system
149    mode: airborne
150    method: gamma spectrometry
151    instrument: Radiation Solutions RS-500 gamma-ray spectrometer  
152
153    dimensions:
154        spec_sample:
155            standard_name: spec_sample
156            long_name: radiometric sample
157            units: not_defined
158            missing_value: not_defined
159            length: 256
160            increment: 1
161            origin: 0
162            discrete: True
163
164    variables:
165
166        transmitter:
167            label: passive
168            description: No artificial radiation source was used; the system measures naturally occurring gamma radiation from potassium-40, uranium and thorium decay series, and total count.  
169
170        receiver:
171            label: gamma_spectrometer
172            sensor_type: NaI(Tl) scintillation crystals
173            sensor_model: RS-500
174            sensor_manufacturer: Radiation Solutions Inc.
175            description: Airborne gamma-ray spectrometer consisting of one downward-looking NaI(Tl) detector pack (16.8 liters) and one upward-looking detector (4.2 liters), mounted in the helicopter cabin. Measures total count, potassium, uranium, thorium, and upward-uranium windows. Includes embedded live-time electronics for dead-time correction. 
176            crystal_type: NaI(Tl) 
177            operating_range:
178                values: "0 to 100000"
179                units: counts_per_second  
180            operating_limits:
181                values: "-20 to +50"  
182                units: temperature, degrees Celsius
183            sample_frequency:
184                values: 1.0
185                units: Hz 
186            downward_volume:
187                values: 16.8
188                units: liters 
189            upward_volume:
190                values: 4.2
191                units: liters  
192            spectrometer_TC_win: not_defined     
193            spectrometer_K_win: not_defined      
194            spectrometer_Th_win: not_defined     
195            spectrometer_U_win: not_defined      
196            spectrometer_cosmic_win: not_defined
197            K_index_start: not_defined
198            K_index_end: not_defined
199            Th_index_start: not_defined
200            Th_index_end: not_defined
201            U_index_start: not_defined
202            U_index_end: not_defined
203            TC_index_start: not_defined
204            TC_index_end: not_defined
205            cosmic_index_start: not_defined
206            cosmic_index_end: not_defined
207            UU_index_start: not_defined
208            UU_index_end: not_defined
209
210        couplet:
211            transmitters: [passive]
212            receivers: [gamma_spectrometer]
213            description: Passive gamma-ray field paired with dual-detector RS-500 spectrometer for downward and upward radiation measurements.
214        
215        down_livetime_or_deadtime_corrected: livetime
216        up_livetime_or_deadtime_corrected:   livetime
217        lowpass_filtering: Hanning smoothing; cosmic=9-pt, radar/temp/pressure=3-pt; upward-U=51-pt (radon processing)
218        lowpass_filtering_fid_cutoff_cosmic: 9
219
220        lowpass_filtering_fid_cutoff_TC: not_defined      
221        lowpass_filtering_fid_cutoff_K:  not_defined      
222        lowpass_filtering_fid_cutoff_Th: not_defined      
223        lowpass_filtering_fid_cutoff_U:  not_defined      
224        lowpass_filtering_fid_cutoff_altimeter: 3 
225
226        background_parameter_aircraft_TC: 19.43
227        background_parameter_aircraft_K:  2.61
228        background_parameter_aircraft_Th: -0.48
229        background_parameter_aircraft_U:  -1.94
230        background_parameter_aircraft_UU: 0.50        
231
232        background_parameter_cosmic_TC: 1.2442
233        background_parameter_cosmic_K:  0.0744
234        background_parameter_cosmic_Th: 0.0656
235        background_parameter_cosmic_U:  0.0528
236        background_parameter_cosmic_UU: 0.0140       
237
238        radon_background_correction_method: "Upward Detector Method (hover site calibration)"
239        radon_background_correction_up_method_A1: not_defined 
240        radon_background_correction_up_method_A2: not_defined           
241
242        compton_stripping_ratio_alpha: 0.2820
243        compton_stripping_ratio_beta:  0.4090
244        compton_stripping_ratio_gamma: 0.7680
245        compton_stripping_ratio_a:     0.0460   
246        compton_stripping_ratio_b:     0.0040   
247        compton_stripping_ratio_g:     0.0070   
248        compton_stripping_nominal_altitude: 
249            values: 60
250            units: m  
251
252        height_attenuation_coefficient_TC: -0.008250
253        height_attenuation_coefficient_K:  -0.012530
254        height_attenuation_coefficient_U:  -0.004400
255        height_attenuation_coefficient_Th: -0.007170  
256
257        source_sensitivity_factor_TC: not_defined        
258        source_sensitivity_factor_K:  81.1              
259        source_sensitivity_factor_Th: 4.9               
260        source_sensitivity_factor_U:  8.0 
261
262        air_absorbed_dose_rate: 25.42
263        natural_dose_rate_components: "13.07, 5.675, 2.494"
264
265        corrections: Radiometric corrections include cosmic and aircraft background stripping, radon-background removal, altitude attenuation correction to 60 m nominal, Compton stripping, and conversion to ground concentrations. Live time measured electronically (in ms) and applied to correct all radiometric windows (TC, K, U, Th, UpU) to true count rates using the relationship C_lt = (1000 * C_raw) / L.
266        calibration_pads: Stripping ratios and coefficients determined by Radiation Solutions using RS-500 calibration pads prior to survey start. 
267        cosmic_calibration: High-altitude passes (7,500-10,000 ft AGL at 500 ft intervals) collected to determine cosmic and aircraft background coefficients. 
268        height_attenuation: Calibration lines flown at 30-150 m above ground on a repeat test line used to determine attenuation coefficients for each window.  
269        radon_correction: Upward-looking detector smoothed (51-pt Hanning) to derive radon component; radon stripped from downward uranium then propagated to other windows.  
270        prefiltering: Radar altimeter, pressure, temperature smoothed with 3-pt Hanning; cosmic channel smoothed with 9-pt Hanning before corrections applied.  
271        compton_stripping: Height-corrected Compton coefficients (alpha, beta, gamma) applied for inter-window spectral overlap using altitude-dependent adjustments.  
272        altitude_attenuation_correction: "nominal_height 60 m"
273        conversion_to_concentrations: Corrected K, U, Th windows converted to apparent concentrations using system sensitivities (S-factors), and dose rate computed from K, eU, eTh using reported coefficients.  
274        radiometric_ratios: Ratios (eU/eTh, eU/K, eTh/K) calculated following IAEA TR-323 guidelines, using summed neighborhood windows to stabilize low-count data. 
275        deliverables: Total Count, Potassium (%K), Equivalent Uranium (eU ppm), Equivalent Thorium (eTh ppm), Air Absorbed Dose Rate (nGy/h), upward-looking spectrum, downward-looking spectrum, and derived radiometric ratios.  
276
277dimensions:
278    layer_depth:
279        standard_name: layer_depth
280        long_name: layer depth below surface
281        units: meters
282        missing_value: not_defined
283        length: 31
284        increment: 5.0
285        origin: 2.5
286        axis: Z
287        positive: down
288        datum: ground surface

Variable metadata are in a CSV table

Pass the flag ‘table=True’ for this specific metadata format

var_md = join(data_path, 'data//Resolve_variable_table_md.csv')
var_meta = Metadata.read(var_md, table=True)

(scroll left right to see the full table)

Variable Metadata in CSV table format

variable_name

standard_name

long_name

units

missing_value

dtype

raw_data_columns

dimensions

datum

positive

system_couplet

line

Line Number

#

date

Date of the survey

YYYYMMDD

utc_time

Time, seconds after midnight UTC

Seconds (s)

-9999

flight

Flight numer on which the data were collected

#

fiducial

Unique Fiducial Number

n/a

temp_ext

External temperature

Degrees Celsius (C)

kpa

External pressure

kiloPascals (kPa)

x_WGS84_Albers

Easting in Albers Equal-Area Conic, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

Meters (m)

y_WGS84_Albers

Northing in Albers Equal-Area Conic, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

Meters (m)

x_WGS84_UTMZ15N

Easting in Universal Transverse Mercator (UTM) Zone 15 North, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

Meters (m)

y_WGS84_UTMZ15N

Northing in Universal Transverse Mercator (UTM) Zone 15 North, World Geodetic Survey of 1984 (WGS84) of EM bird transmitter (Tx)

Meters (m)

lat_tx

Latitude, WGS84, of EM bird transmitter (Tx)

Decimal Degrees

lon_tx

Longitude, WGS84, of EM bird transmitter (Tx)

Decimal Degrees

lat_heli

Latitude, WGS84, of helicopter

Decimal Degrees

lon_heli

Longitude, WGS84, of helicopter

Decimal Degrees

gpsz_tx

GPS elevation of EM bird transmitter (Tx), referenced to mean sea level - Earth Gravitational Model (EGM96)

Meters (m)

gpsz_heli

GPS elevation of helicopter, referenced to mean sea level - Earth Gravitational Model (EGM96)

Meters (m)

altlas_tx

Laser altimeter height of the EM bird transmitter (Tx)

Meters (m)

altrad_heli

RADAR altimeter of helicopter

Meters (m)

effective_height

Height of helicopter at standard temperature and pressure

Meters (m)

DTM

Digital terrain model (ground surface elevation, referenced to mean sea level - Earth Gravitational Model (EGM96))

Meters (m)

referenced to mean sea level - Earth Gravitational Model (EGM96)

up

bird_pitch

EM bird transmitter (Tx) pitch

Degrees

bird_roll

EM bird transmitter (Tx) roll

Degrees

bird_yaw

EM bird transmitter (Tx) yaw (heading)

Degrees

diurnal

Measured base station ground magnetic intensity

nanoteslas (nT)

-9999

diurnal_cor

Diurnal correction, base removed

nanoteslas (nT)

mag_raw

Total magnetic field, de-spiked

nanoteslas (nT)

passive_scalar_magnetometer

mag_L

Total magnetic field, lagged

nanoteslas (nT)

passive_scalar_magnetometer

mag_LD

Total magnetic field, lagged and diurnally corrected

nanoteslas (nT)

passive_scalar_magnetometer

IGRF

International Geomagnetic Reference Field

nanoteslas (nT)

TMI

Total magnetic intensity

nanoteslas (nT)

passive_scalar_magnetometer

RMI

Final residual magnetic intensity

nanoteslas (nT)

passive_scalar_magnetometer

cpsp

Co-planar spherics monitor

n/a

cxsp

Co-axial spherics monitor

n/a

powerline

Co-planar power line monitor

n/a

400hz_filtered

400 Hz EM frequency data, spherics rejected

parts per million (ppm)

[cpi400_filt, cpq400_filt]

[index, channel]

400Z_400Z

1800hz_filtered

1800 Hz EM frequency data, spherics rejected

parts per million (ppm)

[cpi1800_filt, cpq1800_filt]

[index, channel]

1800Z_1800Z

3300hz_filtered

3300 Hz EM frequency data, spherics rejected

parts per million (ppm)

[cxi3300_filt, cxq3300_filt]

[index, channel]

3300X_3300X

8200hz_filtered

8200 Hz EM frequency data, spherics rejected

parts per million (ppm)

[cpi8200_filt, cpq8200_filt]

[index, channel]

8200Z_8200Z

40k_hz_filtered

40k Hz EM frequency data, spherics rejected

parts per million (ppm)

[cpi40k_filt, cpq40k_filt]

[index, channel]

40000Z_40000Z

140k_hz_filtered

140k Hz EM frequency data, spherics rejected

parts per million (ppm)

[cpi140k_filt, cpq140k_filt]

[index, channel]

140000Z_140000Z

400hz_pgadj

400hz_phase_gain_adj

400 Hz EM frequency data, phase and gain adjusted

parts per million (ppm)

[cpi400_phg, cpq400_phg]

[index, channel]

400Z_400Z

1800hz_pgadj

1800hz_phase_gain_adj

1800 Hz EM frequency data, phase and gain adjusted

parts per million (ppm)

[cpi1800_phg, cpq1800_phg]

[index, channel]

1800Z_1800Z

3300hz_pgadj

3300hz_phase_gain_adj

3300 Hz EM frequency data, phase and gain adjusted

parts per million (ppm)

[cxi3300_phg, cxq3300_phg]

[index, channel]

3300X_3300X

8200hz_pgadj

8200hz_phase_gain_adj

8200 Hz EM frequency data, phase and gain adjusted

parts per million (ppm)

[cpi8200_phg, cpq8200_phg]

[index, channel]

8200Z_8200Z

40k_hz_pgadj

400hz_phase_gain_adj

40k Hz EM frequency data, phase and gain adjusted

parts per million (ppm)

[cpi40k_phg, cpq40k_phg]

[index, channel]

40000Z_40000Z

140k_hz_pgadj

140k_hz_phase_gain_adj

140k Hz EM frequency data, phase and gain adjusted

parts per million (ppm)

[cpi140k_phg, cpq140k_phg]

[index, channel]

140000Z_140000Z

400hz_final

400 Hz EM frequency data, final levelled

parts per million (ppm)

[cpi400, cpq400]

[index, channel]

400Z_400Z

1800hz_final

1800 Hz EM frequency data, final levelled

parts per million (ppm)

[cpi1800, cpq1800]

[index, channel]

1800Z_1800Z

3300hz_final

3300 Hz EM frequency data, final levelled

parts per million (ppm)

[cxi3300, cxq3300]

[index, channel]

3300X_3300X

8200hz_final

8200 Hz EM frequency data, final levelled

parts per million (ppm)

[cpi8200, cpq8200]

[index, channel]

8200Z_8200Z

40k_hz_final

40k Hz EM frequency data, final levelled

parts per million (ppm)

[cpi40k, cpq40k]

[index, channel]

40000Z_40000Z

140k_hz_final

140k Hz EM frequency data, final levelled

parts per million (ppm)

[cpi140k, cpq140k]

[index, channel]

140000Z_140000Z

ddep140k

Differential depth 140,000 MHz

Meters (m)

ddep40k

Differential depth 40,000 MHz

Meters (m)

ddep8200

Differential depth 8,200 MHz

Meters (m)

ddep1800

Differential depth 1,800 MHz

Meters (m)

ddep400

Differential depth 400 MHz

Meters (m)

dep140k

Apparent depth 140,000 MHz

Meters (m)

dep40k

Apparent depth 40,000 MHz

Meters (m)

dep8200

Apparent depth 8,200 MHz

Meters (m)

dep1800

Apparent depth 1,800 MHz

Meters (m)

dep400

Apparent depth 400 MHz

Meters (m)

-9999

dres140k

Differential resistivity 140,000 MHz

Ohm-meters (ohm-m)

dres40k

Differential resistivity 40,000 MHz

Ohm-meters (ohm-m)

dres8200

Differential resistivity 8,200 MHz

Ohm-meters (ohm-m)

dres1800

Differential resistivity 1,800 MHz

Ohm-meters (ohm-m)

dres400

Differential resistivity 400 MHz

Ohm-meters (ohm-m)

dres_150_by5m

Differental resistivity from surface to a depth of 150m by 5m intervals

Ohm-meters (ohm-m)

-9999

[index,layer_depth]

res140k

Apparent resistivity 140,000 MHz

Ohm-meters (ohm-m)

res40k

Apparent resistivity 40,000 MHz

Ohm-meters (ohm-m)

res8200

Apparent resistivity 8,200 MHz

Ohm-meters (ohm-m)

res1800

Apparent resistivity 1,800 MHz

Ohm-meters (ohm-m)

res400

Apparent resistivity 400 MHz

Ohm-meters (ohm-m)

cosmic

Cosmic, uncorrected

n/a

-9999

passive_gamma_spectrometer

doserate

Total gamma dose rate

nanoGray/hour (nGy/h)

-9999

passive_gamma_spectrometer

live_time

relative period of time spectrometer registers new pulses per sample interval

Milliseconds (ms)

-9999

passive_gamma_spectrometer

spec256_down

Full downward-looking radiometric spectrum

Counts/second (cps)

-9999

[index, spec_sample]

passive_gamma_spectrometer

spec256_up

Full upward-looking radiometric spectrum

Counts/second (cps)

-9999

[index, spec_sample]

passive_gamma_spectrometer

tc_raw

Total radiometric count, uncorrrected

Counts/second (cps)

-9999

passive_gamma_spectrometer

th_raw

Thorium, uncorrected

Counts/second (cps)

-9999

passive_gamma_spectrometer

u_raw

Uranium, uncorrected

Counts/second (cps)

-9999

passive_gamma_spectrometer

u_up_raw

Upward-looking uranium, uncorrected

Counts/second (cps)

-9999

passive_gamma_spectrometer

k_raw

Potassium concentration, uncorrected

Counts/second (cps)

-9999

passive_gamma_spectrometer

eth

Equivalent thorium concentration

Parts per million (ppm)

-9999

passive_gamma_spectrometer

eu

Equivalent uranium concentration

Parts per million (ppm)

-9999

passive_gamma_spectrometer

kconc

Potassium concentration

Percentage

-9999

passive_gamma_spectrometer

eth_kconc

Equivalent thorium over potassium concentration

ppm / percent

-9999

passive_gamma_spectrometer

eu_eth

Equivalent uranium over equivalent thorium

ppm/ppm

-9999

passive_gamma_spectrometer

eu_kconc

Equivalent uranium over potassium concentration

ppm / percent

-9999

passive_gamma_spectrometer

Merge the two metadata and pass it all through for the raw AEM data.

md = Metadata.merge(rd_meta, var_meta)

# Add the raw AEM data
rd = data_container.gs.add(key='raw_data', data_filename=d_data, metadata_file=md)

View the merged Metadata to see how the information was imported

pprint(md)
{'coordinates': {'x': 'x_WGS84_Albers', 'y': 'y_WGS84_Albers', 'z': 'DTM'},
 'dataset_attrs': {'comment': 'This dataset includes minimally processed (raw) '
                              'AEM data',
                   'content': 'raw data',
                   'instrument': 'RESOLVE',
                   'method': 'electromagnetic, frequency domain',
                   'mode': 'airborne',
                   'type': 'data'},
 'dimensions': {'layer_depth': {'axis': 'Z',
                                'datum': 'ground surface',
                                'increment': 5.0,
                                'length': 31,
                                'long_name': 'layer depth below surface',
                                'missing_value': 'not_defined',
                                'origin': 2.5,
                                'positive': 'down',
                                'standard_name': 'layer_depth',
                                'units': 'meters'}},
 'directory': '..//data_files//resolve/data',
 'magnetic_system': {'instrument': 'Scintrex CS-3 cesium-vapor magnetometer',
                     'method': 'magnetic',
                     'mode': 'airborne',
                     'prefixes': ['base_magnetometer'],
                     'type': 'system',
                     'variables': {'altitude_correction': 'none',
                                   'base_magnetometer': {'description': 'Ground '
                                                                        'magnetic '
                                                                        'base '
                                                                        'stations '
                                                                        'were '
                                                                        'set-up '
                                                                        'to '
                                                                        'measure '
                                                                        'the '
                                                                        'total '
                                                                        'intensity '
                                                                        'of '
                                                                        'the '
                                                                        "earth's "
                                                                        'magnetic '
                                                                        'field. '
                                                                        'The '
                                                                        'base '
                                                                        'stations '
                                                                        'were '
                                                                        'placed '
                                                                        'in a '
                                                                        'magnetically '
                                                                        'quiet '
                                                                        'area, '
                                                                        'away '
                                                                        'from '
                                                                        'power '
                                                                        'lines '
                                                                        'and '
                                                                        'moving '
                                                                        'metallic '
                                                                        'objects. '
                                                                        'The '
                                                                        'contracted '
                                                                        'specification '
                                                                        'for '
                                                                        'the '
                                                                        'collected '
                                                                        'ground '
                                                                        'magnetic '
                                                                        'data '
                                                                        'was '
                                                                        'the '
                                                                        'non-linear '
                                                                        'variations '
                                                                        'in '
                                                                        'the '
                                                                        'magnetic '
                                                                        'data '
                                                                        'were '
                                                                        'not '
                                                                        'to '
                                                                        'exceed '
                                                                        '5 nT '
                                                                        'per 5 '
                                                                        'minute '
                                                                        'period. '
                                                                        'Pulsations '
                                                                        'having '
                                                                        'periods '
                                                                        'of 5 '
                                                                        'minutes '
                                                                        'or '
                                                                        'less '
                                                                        'shall '
                                                                        'not '
                                                                        'exceed '
                                                                        '2 nT, '
                                                                        'pulsations '
                                                                        'having '
                                                                        'periods '
                                                                        'between '
                                                                        '5 and '
                                                                        '10 '
                                                                        'minutes '
                                                                        'shall '
                                                                        'not '
                                                                        'exceed '
                                                                        '4 nT, '
                                                                        'and '
                                                                        'pulsations '
                                                                        'having '
                                                                        'periods '
                                                                        'between '
                                                                        '10 '
                                                                        'and '
                                                                        '20 '
                                                                        'minutes '
                                                                        'shall '
                                                                        'not '
                                                                        'exceed '
                                                                        '8 nT.',
                                                         'ellipsoidal_height': {'dimensions': 'n_base_magnetometer',
                                                                                'units': 'm',
                                                                                'values': 20.643},
                                                         'latitude': {'dimensions': 'n_base_magnetometer',
                                                                      'units': 'degrees '
                                                                               'minutes '
                                                                               'seconds',
                                                                      'values': '33 '
                                                                                '29 '
                                                                                '50.6815N'},
                                                         'location_names': 'Greenwood, '
                                                                           'MS',
                                                         'longitude': {'dimensions': 'n_base_magnetometer',
                                                                       'units': 'degrees '
                                                                                'minutes '
                                                                                'seconds',
                                                                       'values': '90 '
                                                                                 '04 '
                                                                                 '44.7918 '
                                                                                 'W'},
                                                         'sample_frequency': {'dimensions': 'n_base_magnetometer',
                                                                              'units': 's',
                                                                              'values': 1},
                                                         'secondary_sensor_accuracy': '0.2 '
                                                                                      'nT',
                                                         'secondary_sensor_model': 'GEM '
                                                                                   'GSM-19',
                                                         'secondary_sensor_precision': '0.01 '
                                                                                       'nT',
                                                         'secondary_sensor_sample_frequency': '0.33 '
                                                                                              'per '
                                                                                              'sec',
                                                         'sensor_type': 'CGG '
                                                                        'CF1 '
                                                                        'using '
                                                                        'Scintrex '
                                                                        'cesium '
                                                                        'vapour '
                                                                        'sensor '
                                                                        'with '
                                                                        'Marconi '
                                                                        'GPS '
                                                                        'card '
                                                                        'and '
                                                                        'antenna '
                                                                        'for '
                                                                        'measurement '
                                                                        'synchronization '
                                                                        'to '
                                                                        'GPS',
                                                         'setup_dates': '2018-02-20 '
                                                                        'to '
                                                                        '2018-03-05'},
                                   'couplet': {'description': 'Passive '
                                                              'Earth-field '
                                                              'transmitter '
                                                              'paired with '
                                                              'single scalar '
                                                              'magnetometer '
                                                              'receiver '
                                                              'mounted in the '
                                                              'RESOLVE EM '
                                                              'bird.',
                                               'receivers': ['scalar_magnetometer'],
                                               'transmitters': ['passive']},
                                   'deliverables': 'Total Magnetic Intensity '
                                                   '(TMI), Residual Magnetic '
                                                   'Intensity (RMI), and '
                                                   'Calculated Vertical '
                                                   'Magnetic Gradient (CVG), '
                                                   'provided with ancillary EM '
                                                   '& terrain data.',
                                   'diurnal_correction': 'Diurnal variation '
                                                         'extracted from base '
                                                         'station records (1 '
                                                         'Hz), filtered (51 s '
                                                         'median + 51 s '
                                                         'Hanning), '
                                                         'interpolated to 10 '
                                                         'Hz, and applied to '
                                                         'airborne TMF; a '
                                                         'local regional field '
                                                         'value of 49,405 nT '
                                                         "(from first day's "
                                                         'average) was removed '
                                                         'prior to RMI '
                                                         'calculation.',
                                   'dynamic_compensation': 'Heading test '
                                                           'performed with '
                                                           'passes in magnetic '
                                                           'N,S,E,W; heading '
                                                           'errors within '
                                                           'acceptable limits '
                                                           '(e.g., N-S '
                                                           '~0.2-0.8 nT; E-W '
                                                           'up to ~0.5-1.0 '
                                                           'nT), indicating '
                                                           'low '
                                                           'aircraft-induced '
                                                           'magnetic noise.',
                                   'igrf_model_date': '2018-11-15/2019-02-18',
                                   'igrf_model_height': 'sensor altitude 42 m '
                                                        'above ground level',
                                   'igrf_model_location': 'Greenwood, '
                                                          'Mississippi (survey '
                                                          'area)',
                                   'igrf_removed_model_epoch': '2015.0',
                                   'lag_correction': 'Lag of 1.8 s applied to '
                                                     'TMF based on lag test',
                                   'microlevelling': 'Microlevelling applied '
                                                     'after tie-line levelling',
                                   'receiver': {'accuracy': {'dimensions': 'n_receiver',
                                                             'units': 'nT',
                                                             'values': 0.002},
                                                'acquisition_system': 'CGG '
                                                                      'HeliDAS '
                                                                      'survey '
                                                                      'computer; '
                                                                      'NovAtel '
                                                                      'OEM4 '
                                                                      'GPS '
                                                                      '(WAAS-enabled) '
                                                                      'for '
                                                                      'navigation '
                                                                      'and '
                                                                      'synchronization; '
                                                                      'EM bird '
                                                                      'GPS '
                                                                      'OEM4 '
                                                                      'for '
                                                                      'positional '
                                                                      'data.',
                                                'coordinates': 'not_defined',
                                                'description': 'Scalar '
                                                               'cesium-vapor '
                                                               'magnetometer '
                                                               'mounted in the '
                                                               'RESOLVE EM '
                                                               'bird towed '
                                                               'beneath an '
                                                               'AS350 B2 '
                                                               'helicopter. '
                                                               'Digital '
                                                               'acquisition '
                                                               'via CGG '
                                                               'HeliDAS; '
                                                               'positioning '
                                                               'with NovAtel '
                                                               'OEM4 GPS on '
                                                               'helicopter and '
                                                               'bird.',
                                                'fom_pitch': 'not_defined',
                                                'fom_roll': 'not_defined',
                                                'fom_sum': 'not_defined',
                                                'fom_yaw': 'not_defined',
                                                'lag_factor': {'dimensions': 'n_receiver',
                                                               'units': 's',
                                                               'values': 1.8},
                                                'orientation': 'em-bird '
                                                               'mounted',
                                                'sample_frequency': {'dimensions': 'n_receiver',
                                                                     'units': 'Hz',
                                                                     'values': 10.0},
                                                'sensitivity': {'dimensions': 'n_receiver',
                                                                'units': 'nT',
                                                                'values': 0.001},
                                                'sensor_height': {'dimensions': 'n_receiver',
                                                                  'units': 'm',
                                                                  'values': 42},
                                                'sensor_manufacturer': 'Scintrex',
                                                'sensor_model': 'CS-3',
                                                'sensor_type': 'cesium_vapor',
                                                'typical_noise': {'dimensions': 'n_receiver',
                                                                  'units': 'nT',
                                                                  'values': 1.0}},
                                   'tieline_levelling': 'Magnetic data were '
                                                        'levelled using '
                                                        'tie/traverse '
                                                        'intercepts, manual '
                                                        'adjustments where '
                                                        'needed, and '
                                                        'microlevelling '
                                                        'applied to produce '
                                                        'final RMI/TMI '
                                                        'products.',
                                   'transmitter': {'description': 'No '
                                                                  'artificial '
                                                                  'transmitter '
                                                                  'was used; '
                                                                  'the '
                                                                  'magnetic '
                                                                  'system '
                                                                  'measures '
                                                                  "the Earth's "
                                                                  'natural '
                                                                  'field '
                                                                  '(passive '
                                                                  'field).'}}},
 'radiometric_system': {'dimensions': {'spec_sample': {'discrete': True,
                                                       'increment': 1,
                                                       'length': 256,
                                                       'long_name': 'radiometric '
                                                                    'sample',
                                                       'missing_value': 'not_defined',
                                                       'origin': 0,
                                                       'standard_name': 'spec_sample',
                                                       'units': 'not_defined'}},
                        'instrument': 'Radiation Solutions RS-500 gamma-ray '
                                      'spectrometer',
                        'method': 'gamma spectrometry',
                        'mode': 'airborne',
                        'type': 'system',
                        'variables': {'air_absorbed_dose_rate': 25.42,
                                      'altitude_attenuation_correction': 'nominal_height '
                                                                         '60 m',
                                      'background_parameter_aircraft_K': 2.61,
                                      'background_parameter_aircraft_TC': 19.43,
                                      'background_parameter_aircraft_Th': -0.48,
                                      'background_parameter_aircraft_U': -1.94,
                                      'background_parameter_aircraft_UU': 0.5,
                                      'background_parameter_cosmic_K': 0.0744,
                                      'background_parameter_cosmic_TC': 1.2442,
                                      'background_parameter_cosmic_Th': 0.0656,
                                      'background_parameter_cosmic_U': 0.0528,
                                      'background_parameter_cosmic_UU': 0.014,
                                      'calibration_pads': 'Stripping ratios '
                                                          'and coefficients '
                                                          'determined by '
                                                          'Radiation Solutions '
                                                          'using RS-500 '
                                                          'calibration pads '
                                                          'prior to survey '
                                                          'start.',
                                      'compton_stripping': 'Height-corrected '
                                                           'Compton '
                                                           'coefficients '
                                                           '(alpha, beta, '
                                                           'gamma) applied for '
                                                           'inter-window '
                                                           'spectral overlap '
                                                           'using '
                                                           'altitude-dependent '
                                                           'adjustments.',
                                      'compton_stripping_nominal_altitude': {'units': 'm',
                                                                             'values': 60},
                                      'compton_stripping_ratio_a': 0.046,
                                      'compton_stripping_ratio_alpha': 0.282,
                                      'compton_stripping_ratio_b': 0.004,
                                      'compton_stripping_ratio_beta': 0.409,
                                      'compton_stripping_ratio_g': 0.007,
                                      'compton_stripping_ratio_gamma': 0.768,
                                      'conversion_to_concentrations': 'Corrected '
                                                                      'K, U, '
                                                                      'Th '
                                                                      'windows '
                                                                      'converted '
                                                                      'to '
                                                                      'apparent '
                                                                      'concentrations '
                                                                      'using '
                                                                      'system '
                                                                      'sensitivities '
                                                                      '(S-factors), '
                                                                      'and '
                                                                      'dose '
                                                                      'rate '
                                                                      'computed '
                                                                      'from K, '
                                                                      'eU, eTh '
                                                                      'using '
                                                                      'reported '
                                                                      'coefficients.',
                                      'corrections': 'Radiometric corrections '
                                                     'include cosmic and '
                                                     'aircraft background '
                                                     'stripping, '
                                                     'radon-background '
                                                     'removal, altitude '
                                                     'attenuation correction '
                                                     'to 60 m nominal, Compton '
                                                     'stripping, and '
                                                     'conversion to ground '
                                                     'concentrations. Live '
                                                     'time measured '
                                                     'electronically (in ms) '
                                                     'and applied to correct '
                                                     'all radiometric windows '
                                                     '(TC, K, U, Th, UpU) to '
                                                     'true count rates using '
                                                     'the relationship C_lt = '
                                                     '(1000 * C_raw) / L.',
                                      'cosmic_calibration': 'High-altitude '
                                                            'passes '
                                                            '(7,500-10,000 ft '
                                                            'AGL at 500 ft '
                                                            'intervals) '
                                                            'collected to '
                                                            'determine cosmic '
                                                            'and aircraft '
                                                            'background '
                                                            'coefficients.',
                                      'couplet': {'description': 'Passive '
                                                                 'gamma-ray '
                                                                 'field paired '
                                                                 'with '
                                                                 'dual-detector '
                                                                 'RS-500 '
                                                                 'spectrometer '
                                                                 'for downward '
                                                                 'and upward '
                                                                 'radiation '
                                                                 'measurements.',
                                                  'receivers': ['gamma_spectrometer'],
                                                  'transmitters': ['passive']},
                                      'deliverables': 'Total Count, Potassium '
                                                      '(%K), Equivalent '
                                                      'Uranium (eU ppm), '
                                                      'Equivalent Thorium (eTh '
                                                      'ppm), Air Absorbed Dose '
                                                      'Rate (nGy/h), '
                                                      'upward-looking '
                                                      'spectrum, '
                                                      'downward-looking '
                                                      'spectrum, and derived '
                                                      'radiometric ratios.',
                                      'down_livetime_or_deadtime_corrected': 'livetime',
                                      'height_attenuation': 'Calibration lines '
                                                            'flown at 30-150 m '
                                                            'above ground on a '
                                                            'repeat test line '
                                                            'used to determine '
                                                            'attenuation '
                                                            'coefficients for '
                                                            'each window.',
                                      'height_attenuation_coefficient_K': -0.01253,
                                      'height_attenuation_coefficient_TC': -0.00825,
                                      'height_attenuation_coefficient_Th': -0.00717,
                                      'height_attenuation_coefficient_U': -0.0044,
                                      'lowpass_filtering': 'Hanning smoothing; '
                                                           'cosmic=9-pt, '
                                                           'radar/temp/pressure=3-pt; '
                                                           'upward-U=51-pt '
                                                           '(radon processing)',
                                      'lowpass_filtering_fid_cutoff_K': 'not_defined',
                                      'lowpass_filtering_fid_cutoff_TC': 'not_defined',
                                      'lowpass_filtering_fid_cutoff_Th': 'not_defined',
                                      'lowpass_filtering_fid_cutoff_U': 'not_defined',
                                      'lowpass_filtering_fid_cutoff_altimeter': 3,
                                      'lowpass_filtering_fid_cutoff_cosmic': 9,
                                      'natural_dose_rate_components': '13.07, '
                                                                      '5.675, '
                                                                      '2.494',
                                      'prefiltering': 'Radar altimeter, '
                                                      'pressure, temperature '
                                                      'smoothed with 3-pt '
                                                      'Hanning; cosmic channel '
                                                      'smoothed with 9-pt '
                                                      'Hanning before '
                                                      'corrections applied.',
                                      'radiometric_ratios': 'Ratios (eU/eTh, '
                                                            'eU/K, eTh/K) '
                                                            'calculated '
                                                            'following IAEA '
                                                            'TR-323 '
                                                            'guidelines, using '
                                                            'summed '
                                                            'neighborhood '
                                                            'windows to '
                                                            'stabilize '
                                                            'low-count data.',
                                      'radon_background_correction_method': 'Upward '
                                                                            'Detector '
                                                                            'Method '
                                                                            '(hover '
                                                                            'site '
                                                                            'calibration)',
                                      'radon_background_correction_up_method_A1': 'not_defined',
                                      'radon_background_correction_up_method_A2': 'not_defined',
                                      'radon_correction': 'Upward-looking '
                                                          'detector smoothed '
                                                          '(51-pt Hanning) to '
                                                          'derive radon '
                                                          'component; radon '
                                                          'stripped from '
                                                          'downward uranium '
                                                          'then propagated to '
                                                          'other windows.',
                                      'receiver': {'K_index_end': 'not_defined',
                                                   'K_index_start': 'not_defined',
                                                   'TC_index_end': 'not_defined',
                                                   'TC_index_start': 'not_defined',
                                                   'Th_index_end': 'not_defined',
                                                   'Th_index_start': 'not_defined',
                                                   'UU_index_end': 'not_defined',
                                                   'UU_index_start': 'not_defined',
                                                   'U_index_end': 'not_defined',
                                                   'U_index_start': 'not_defined',
                                                   'cosmic_index_end': 'not_defined',
                                                   'cosmic_index_start': 'not_defined',
                                                   'crystal_type': 'NaI(Tl)',
                                                   'description': 'Airborne '
                                                                  'gamma-ray '
                                                                  'spectrometer '
                                                                  'consisting '
                                                                  'of one '
                                                                  'downward-looking '
                                                                  'NaI(Tl) '
                                                                  'detector '
                                                                  'pack (16.8 '
                                                                  'liters) and '
                                                                  'one '
                                                                  'upward-looking '
                                                                  'detector '
                                                                  '(4.2 '
                                                                  'liters), '
                                                                  'mounted in '
                                                                  'the '
                                                                  'helicopter '
                                                                  'cabin. '
                                                                  'Measures '
                                                                  'total '
                                                                  'count, '
                                                                  'potassium, '
                                                                  'uranium, '
                                                                  'thorium, '
                                                                  'and '
                                                                  'upward-uranium '
                                                                  'windows. '
                                                                  'Includes '
                                                                  'embedded '
                                                                  'live-time '
                                                                  'electronics '
                                                                  'for '
                                                                  'dead-time '
                                                                  'correction.',
                                                   'downward_volume': {'dimensions': 'n_receiver',
                                                                       'units': 'liters',
                                                                       'values': 16.8},
                                                   'operating_limits': {'dimensions': 'n_receiver',
                                                                        'units': 'temperature, '
                                                                                 'degrees '
                                                                                 'Celsius',
                                                                        'values': '-20 '
                                                                                  'to '
                                                                                  '+50'},
                                                   'operating_range': {'dimensions': 'n_receiver',
                                                                       'units': 'counts_per_second',
                                                                       'values': '0 '
                                                                                 'to '
                                                                                 '100000'},
                                                   'sample_frequency': {'dimensions': 'n_receiver',
                                                                        'units': 'Hz',
                                                                        'values': 1.0},
                                                   'sensor_manufacturer': 'Radiation '
                                                                          'Solutions '
                                                                          'Inc.',
                                                   'sensor_model': 'RS-500',
                                                   'sensor_type': 'NaI(Tl) '
                                                                  'scintillation '
                                                                  'crystals',
                                                   'spectrometer_K_win': 'not_defined',
                                                   'spectrometer_TC_win': 'not_defined',
                                                   'spectrometer_Th_win': 'not_defined',
                                                   'spectrometer_U_win': 'not_defined',
                                                   'spectrometer_cosmic_win': 'not_defined',
                                                   'upward_volume': {'dimensions': 'n_receiver',
                                                                     'units': 'liters',
                                                                     'values': 4.2}},
                                      'source_sensitivity_factor_K': 81.1,
                                      'source_sensitivity_factor_TC': 'not_defined',
                                      'source_sensitivity_factor_Th': 4.9,
                                      'source_sensitivity_factor_U': 8.0,
                                      'transmitter': {'description': 'No '
                                                                     'artificial '
                                                                     'radiation '
                                                                     'source '
                                                                     'was '
                                                                     'used; '
                                                                     'the '
                                                                     'system '
                                                                     'measures '
                                                                     'naturally '
                                                                     'occurring '
                                                                     'gamma '
                                                                     'radiation '
                                                                     'from '
                                                                     'potassium-40, '
                                                                     'uranium '
                                                                     'and '
                                                                     'thorium '
                                                                     'decay '
                                                                     'series, '
                                                                     'and '
                                                                     'total '
                                                                     'count.'},
                                      'up_livetime_or_deadtime_corrected': 'livetime'}},
 'resolve_system': {'dimensions': {'channel': {'centers': ['in-phase',
                                                           'quadrature'],
                                               'discrete': True,
                                               'long_name': 'complex frequency '
                                                            'domain data '
                                                            'channel',
                                               'missing_value': 'not_defined',
                                               'standard_name': 'frequency_domain_complex_data',
                                               'units': 'not_defined'},
                                   'frequency': {'centers': [400,
                                                             1800,
                                                             3300,
                                                             8200,
                                                             40000,
                                                             140000],
                                                 'discrete': True,
                                                 'long_name': 'nominal '
                                                              'measurement '
                                                              'frequency',
                                                 'missing_value': 'not_defined',
                                                 'standard_name': 'frequency',
                                                 'units': 'Hz'}},
                    'instrument': 'RESOLVE',
                    'method': 'electromagnetic, frequency domain',
                    'mode': 'airborne',
                    'type': 'system',
                    'variables': {'couplet': {'actual_frequency': [381,
                                                                   1829,
                                                                   3385,
                                                                   8261,
                                                                   40430,
                                                                   133400],
                                              'moment': [359,
                                                         187,
                                                         150,
                                                         72,
                                                         49,
                                                         17],
                                              'orientation': ['coplanar',
                                                              'coplanar',
                                                              'coaxial',
                                                              'coplanar',
                                                              'coplanar',
                                                              'coplanar'],
                                              'receivers': ['400Z',
                                                            '1800Z',
                                                            '3300X',
                                                            '8200Z',
                                                            '40000Z',
                                                            '140000Z'],
                                              'transmitters': ['400Z',
                                                               '1800Z',
                                                               '3300X',
                                                               '8200Z',
                                                               '40000Z',
                                                               '140000Z'],
                                              'txrx_dx': [7.93,
                                                          7.95,
                                                          9.06,
                                                          7.93,
                                                          7.92,
                                                          7.97],
                                              'txrx_dy': [0, 0, 0, 0, 0, 0],
                                              'txrx_dz': [0, 0, 0, 0, 0, 0]},
                                  'data_normalized': True,
                                  'output_data_type': 'ppm',
                                  'output_sample_frequency': 10,
                                  'receiver': {'orientation': ['z',
                                                               'z',
                                                               'x',
                                                               'z',
                                                               'z',
                                                               'z']},
                                  'reference_frame': 'right-handed positive up',
                                  'transmitter': {'orientation': ['z',
                                                                  'z',
                                                                  'x',
                                                                  'z',
                                                                  'z',
                                                                  'z']}}},
 'variables': {'140k_hz_filtered': {'dimensions': ['index', 'channel'],
                                    'long_name': '140k Hz EM frequency data, '
                                                 'spherics rejected',
                                    'missing_value': 'not_defined',
                                    'raw_data_columns': ['cpi140k_filt',
                                                         'cpq140k_filt'],
                                    'standard_name': '140k_hz_filtered',
                                    'system_couplet': '140000Z_140000Z',
                                    'units': 'parts per million (ppm)'},
               '140k_hz_final': {'dimensions': ['index', 'channel'],
                                 'long_name': '140k Hz EM frequency data, '
                                              'final levelled',
                                 'missing_value': 'not_defined',
                                 'raw_data_columns': ['cpi140k', 'cpq140k'],
                                 'standard_name': '140k_hz_final',
                                 'system_couplet': '140000Z_140000Z',
                                 'units': 'parts per million (ppm)'},
               '140k_hz_pgadj': {'dimensions': ['index', 'channel'],
                                 'long_name': '140k Hz EM frequency data, '
                                              'phase and gain adjusted',
                                 'missing_value': 'not_defined',
                                 'raw_data_columns': ['cpi140k_phg',
                                                      'cpq140k_phg'],
                                 'standard_name': '140k_hz_phase_gain_adj',
                                 'system_couplet': '140000Z_140000Z',
                                 'units': 'parts per million (ppm)'},
               '1800hz_filtered': {'dimensions': ['index', 'channel'],
                                   'long_name': '1800 Hz EM frequency data, '
                                                'spherics rejected',
                                   'missing_value': 'not_defined',
                                   'raw_data_columns': ['cpi1800_filt',
                                                        'cpq1800_filt'],
                                   'standard_name': '1800hz_filtered',
                                   'system_couplet': '1800Z_1800Z',
                                   'units': 'parts per million (ppm)'},
               '1800hz_final': {'dimensions': ['index', 'channel'],
                                'long_name': '1800 Hz EM frequency data, final '
                                             'levelled',
                                'missing_value': 'not_defined',
                                'raw_data_columns': ['cpi1800', 'cpq1800'],
                                'standard_name': '1800hz_final',
                                'system_couplet': '1800Z_1800Z',
                                'units': 'parts per million (ppm)'},
               '1800hz_pgadj': {'dimensions': ['index', 'channel'],
                                'long_name': '1800 Hz EM frequency data, phase '
                                             'and gain adjusted',
                                'missing_value': 'not_defined',
                                'raw_data_columns': ['cpi1800_phg',
                                                     'cpq1800_phg'],
                                'standard_name': '1800hz_phase_gain_adj',
                                'system_couplet': '1800Z_1800Z',
                                'units': 'parts per million (ppm)'},
               '3300hz_filtered': {'dimensions': ['index', 'channel'],
                                   'long_name': '3300 Hz EM frequency data, '
                                                'spherics rejected',
                                   'missing_value': 'not_defined',
                                   'raw_data_columns': ['cxi3300_filt',
                                                        'cxq3300_filt'],
                                   'standard_name': '3300hz_filtered',
                                   'system_couplet': '3300X_3300X',
                                   'units': 'parts per million (ppm)'},
               '3300hz_final': {'dimensions': ['index', 'channel'],
                                'long_name': '3300 Hz EM frequency data, final '
                                             'levelled',
                                'missing_value': 'not_defined',
                                'raw_data_columns': ['cxi3300', 'cxq3300'],
                                'standard_name': '3300hz_final',
                                'system_couplet': '3300X_3300X',
                                'units': 'parts per million (ppm)'},
               '3300hz_pgadj': {'dimensions': ['index', 'channel'],
                                'long_name': '3300 Hz EM frequency data, phase '
                                             'and gain adjusted',
                                'missing_value': 'not_defined',
                                'raw_data_columns': ['cxi3300_phg',
                                                     'cxq3300_phg'],
                                'standard_name': '3300hz_phase_gain_adj',
                                'system_couplet': '3300X_3300X',
                                'units': 'parts per million (ppm)'},
               '400hz_filtered': {'dimensions': ['index', 'channel'],
                                  'long_name': '400 Hz EM frequency data, '
                                               'spherics rejected',
                                  'missing_value': 'not_defined',
                                  'raw_data_columns': ['cpi400_filt',
                                                       'cpq400_filt'],
                                  'standard_name': '400hz_filtered',
                                  'system_couplet': '400Z_400Z',
                                  'units': 'parts per million (ppm)'},
               '400hz_final': {'dimensions': ['index', 'channel'],
                               'long_name': '400 Hz EM frequency data, final '
                                            'levelled',
                               'missing_value': 'not_defined',
                               'raw_data_columns': ['cpi400', 'cpq400'],
                               'standard_name': '400hz_final',
                               'system_couplet': '400Z_400Z',
                               'units': 'parts per million (ppm)'},
               '400hz_pgadj': {'dimensions': ['index', 'channel'],
                               'long_name': '400 Hz EM frequency data, phase '
                                            'and gain adjusted',
                               'missing_value': 'not_defined',
                               'raw_data_columns': ['cpi400_phg', 'cpq400_phg'],
                               'standard_name': '400hz_phase_gain_adj',
                               'system_couplet': '400Z_400Z',
                               'units': 'parts per million (ppm)'},
               '40k_hz_filtered': {'dimensions': ['index', 'channel'],
                                   'long_name': '40k Hz EM frequency data, '
                                                'spherics rejected',
                                   'missing_value': 'not_defined',
                                   'raw_data_columns': ['cpi40k_filt',
                                                        'cpq40k_filt'],
                                   'standard_name': '40k_hz_filtered',
                                   'system_couplet': '40000Z_40000Z',
                                   'units': 'parts per million (ppm)'},
               '40k_hz_final': {'dimensions': ['index', 'channel'],
                                'long_name': '40k Hz EM frequency data, final '
                                             'levelled',
                                'missing_value': 'not_defined',
                                'raw_data_columns': ['cpi40k', 'cpq40k'],
                                'standard_name': '40k_hz_final',
                                'system_couplet': '40000Z_40000Z',
                                'units': 'parts per million (ppm)'},
               '40k_hz_pgadj': {'dimensions': ['index', 'channel'],
                                'long_name': '40k Hz EM frequency data, phase '
                                             'and gain adjusted',
                                'missing_value': 'not_defined',
                                'raw_data_columns': ['cpi40k_phg',
                                                     'cpq40k_phg'],
                                'standard_name': '400hz_phase_gain_adj',
                                'system_couplet': '40000Z_40000Z',
                                'units': 'parts per million (ppm)'},
               '8200hz_filtered': {'dimensions': ['index', 'channel'],
                                   'long_name': '8200 Hz EM frequency data, '
                                                'spherics rejected',
                                   'missing_value': 'not_defined',
                                   'raw_data_columns': ['cpi8200_filt',
                                                        'cpq8200_filt'],
                                   'standard_name': '8200hz_filtered',
                                   'system_couplet': '8200Z_8200Z',
                                   'units': 'parts per million (ppm)'},
               '8200hz_final': {'dimensions': ['index', 'channel'],
                                'long_name': '8200 Hz EM frequency data, final '
                                             'levelled',
                                'missing_value': 'not_defined',
                                'raw_data_columns': ['cpi8200', 'cpq8200'],
                                'standard_name': '8200hz_final',
                                'system_couplet': '8200Z_8200Z',
                                'units': 'parts per million (ppm)'},
               '8200hz_pgadj': {'dimensions': ['index', 'channel'],
                                'long_name': '8200 Hz EM frequency data, phase '
                                             'and gain adjusted',
                                'missing_value': 'not_defined',
                                'raw_data_columns': ['cpi8200_phg',
                                                     'cpq8200_phg'],
                                'standard_name': '8200hz_phase_gain_adj',
                                'system_couplet': '8200Z_8200Z',
                                'units': 'parts per million (ppm)'},
               'DTM': {'datum': 'referenced to mean sea level - Earth '
                                'Gravitational Model (EGM96)',
                       'long_name': 'Digital terrain model (ground surface '
                                    'elevation, referenced to mean sea level - '
                                    'Earth Gravitational Model (EGM96))',
                       'missing_value': 'not_defined',
                       'positive': 'up',
                       'standard_name': 'dtm',
                       'units': 'Meters (m)'},
               'IGRF': {'long_name': 'International Geomagnetic Reference '
                                     'Field',
                        'missing_value': 'not_defined',
                        'standard_name': 'igrf',
                        'units': 'nanoteslas (nT)'},
               'RMI': {'long_name': 'Final residual magnetic intensity',
                       'missing_value': 'not_defined',
                       'standard_name': 'rmi',
                       'system_couplet': 'passive_scalar_magnetometer',
                       'units': 'nanoteslas (nT)'},
               'TMI': {'long_name': 'Total magnetic intensity',
                       'missing_value': 'not_defined',
                       'standard_name': 'tmi',
                       'system_couplet': 'passive_scalar_magnetometer',
                       'units': 'nanoteslas (nT)'},
               'altlas_tx': {'long_name': 'Laser altimeter height of the EM '
                                          'bird transmitter (Tx)',
                             'missing_value': 'not_defined',
                             'standard_name': 'altlas_tx',
                             'units': 'Meters (m)'},
               'altrad_heli': {'long_name': 'RADAR altimeter of helicopter',
                               'missing_value': 'not_defined',
                               'standard_name': 'altrad_heli',
                               'units': 'Meters (m)'},
               'bird_pitch': {'long_name': 'EM bird transmitter (Tx) pitch',
                              'missing_value': 'not_defined',
                              'standard_name': 'bird_pitch',
                              'units': 'Degrees'},
               'bird_roll': {'long_name': 'EM bird transmitter (Tx) roll',
                             'missing_value': 'not_defined',
                             'standard_name': 'bird_roll',
                             'units': 'Degrees'},
               'bird_yaw': {'long_name': 'EM bird transmitter (Tx) yaw '
                                         '(heading)',
                            'missing_value': 'not_defined',
                            'standard_name': 'bird_yaw',
                            'units': 'Degrees'},
               'cosmic': {'long_name': 'Cosmic, uncorrected',
                          'missing_value': -9999,
                          'standard_name': 'cosmic',
                          'system_couplet': 'passive_gamma_spectrometer',
                          'units': 'n/a'},
               'cpsp': {'long_name': 'Co-planar spherics monitor',
                        'missing_value': 'not_defined',
                        'standard_name': 'cpsp',
                        'units': 'n/a'},
               'cxsp': {'long_name': 'Co-axial spherics monitor',
                        'missing_value': 'not_defined',
                        'standard_name': 'cxsp',
                        'units': 'n/a'},
               'date': {'long_name': 'Date of the survey',
                        'missing_value': 'not_defined',
                        'standard_name': 'date',
                        'units': 'YYYYMMDD'},
               'ddep140k': {'long_name': 'Differential depth 140,000 MHz',
                            'missing_value': 'not_defined',
                            'standard_name': 'ddep140k',
                            'units': 'Meters (m)'},
               'ddep1800': {'long_name': 'Differential depth 1,800 MHz',
                            'missing_value': 'not_defined',
                            'standard_name': 'ddep1800',
                            'units': 'Meters (m)'},
               'ddep400': {'long_name': 'Differential depth 400 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'ddep400',
                           'units': 'Meters (m)'},
               'ddep40k': {'long_name': 'Differential depth 40,000 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'ddep40k',
                           'units': 'Meters (m)'},
               'ddep8200': {'long_name': 'Differential depth 8,200 MHz',
                            'missing_value': 'not_defined',
                            'standard_name': 'ddep8200',
                            'units': 'Meters (m)'},
               'dep140k': {'long_name': 'Apparent depth 140,000 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'dep140k',
                           'units': 'Meters (m)'},
               'dep1800': {'long_name': 'Apparent depth 1,800 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'dep1800',
                           'units': 'Meters (m)'},
               'dep400': {'long_name': 'Apparent depth 400 MHz',
                          'missing_value': -9999,
                          'standard_name': 'dep400',
                          'units': 'Meters (m)'},
               'dep40k': {'long_name': 'Apparent depth 40,000 MHz',
                          'missing_value': 'not_defined',
                          'standard_name': 'dep40k',
                          'units': 'Meters (m)'},
               'dep8200': {'long_name': 'Apparent depth 8,200 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'dep8200',
                           'units': 'Meters (m)'},
               'diurnal': {'long_name': 'Measured base station ground magnetic '
                                        'intensity',
                           'missing_value': -9999,
                           'standard_name': 'diurnal',
                           'units': 'nanoteslas (nT)'},
               'diurnal_cor': {'long_name': 'Diurnal correction, base removed',
                               'missing_value': 'not_defined',
                               'standard_name': 'diurnal_cor',
                               'units': 'nanoteslas (nT)'},
               'doserate': {'long_name': 'Total gamma dose rate',
                            'missing_value': -9999,
                            'standard_name': 'doserate',
                            'system_couplet': 'passive_gamma_spectrometer',
                            'units': 'nanoGray/hour (nGy/h)'},
               'dres140k': {'long_name': 'Differential resistivity 140,000 MHz',
                            'missing_value': 'not_defined',
                            'standard_name': 'dres140k',
                            'units': 'Ohm-meters (ohm-m)'},
               'dres1800': {'long_name': 'Differential resistivity 1,800 MHz',
                            'missing_value': 'not_defined',
                            'standard_name': 'dres1800',
                            'units': 'Ohm-meters (ohm-m)'},
               'dres400': {'long_name': 'Differential resistivity 400 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'dres400',
                           'units': 'Ohm-meters (ohm-m)'},
               'dres40k': {'long_name': 'Differential resistivity 40,000 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'dres40k',
                           'units': 'Ohm-meters (ohm-m)'},
               'dres8200': {'long_name': 'Differential resistivity 8,200 MHz',
                            'missing_value': 'not_defined',
                            'standard_name': 'dres8200',
                            'units': 'Ohm-meters (ohm-m)'},
               'dres_150_by5m': {'dimensions': ['index', 'layer_depth'],
                                 'long_name': 'Differental resistivity from '
                                              'surface to a depth of 150m by '
                                              '5m intervals',
                                 'missing_value': -9999,
                                 'standard_name': 'dres_150_by5m',
                                 'units': 'Ohm-meters (ohm-m)'},
               'effective_height': {'long_name': 'Height of helicopter at '
                                                 'standard temperature and '
                                                 'pressure',
                                    'missing_value': 'not_defined',
                                    'standard_name': 'effective_height',
                                    'units': 'Meters (m)'},
               'eth': {'long_name': 'Equivalent thorium concentration',
                       'missing_value': -9999,
                       'standard_name': 'eth',
                       'system_couplet': 'passive_gamma_spectrometer',
                       'units': 'Parts per million (ppm)'},
               'eth_kconc': {'long_name': 'Equivalent thorium over potassium '
                                          'concentration',
                             'missing_value': -9999,
                             'standard_name': 'eth_kconc',
                             'system_couplet': 'passive_gamma_spectrometer',
                             'units': 'ppm / percent'},
               'eu': {'long_name': 'Equivalent uranium concentration',
                      'missing_value': -9999,
                      'standard_name': 'eu',
                      'system_couplet': 'passive_gamma_spectrometer',
                      'units': 'Parts per million (ppm)'},
               'eu_eth': {'long_name': 'Equivalent uranium over equivalent '
                                       'thorium',
                          'missing_value': -9999,
                          'standard_name': 'eu_eth',
                          'system_couplet': 'passive_gamma_spectrometer',
                          'units': 'ppm/ppm'},
               'eu_kconc': {'long_name': 'Equivalent uranium over potassium '
                                         'concentration',
                            'missing_value': -9999,
                            'standard_name': 'eu_kconc',
                            'system_couplet': 'passive_gamma_spectrometer',
                            'units': 'ppm / percent'},
               'fiducial': {'long_name': 'Unique Fiducial Number',
                            'missing_value': 'not_defined',
                            'standard_name': 'fiducial',
                            'units': 'n/a'},
               'flight': {'long_name': 'Flight numer on which the data were '
                                       'collected',
                          'missing_value': 'not_defined',
                          'standard_name': 'flight',
                          'units': '#'},
               'gpsz_heli': {'long_name': 'GPS elevation of helicopter, '
                                          'referenced to mean sea level - '
                                          'Earth Gravitational Model (EGM96)',
                             'missing_value': 'not_defined',
                             'standard_name': 'gpsz_heli',
                             'units': 'Meters (m)'},
               'gpsz_tx': {'long_name': 'GPS elevation of EM bird transmitter '
                                        '(Tx), referenced to mean sea level - '
                                        'Earth Gravitational Model (EGM96)',
                           'missing_value': 'not_defined',
                           'standard_name': 'gpsz_tx',
                           'units': 'Meters (m)'},
               'k_raw': {'long_name': 'Potassium concentration, uncorrected',
                         'missing_value': -9999,
                         'standard_name': 'k_raw',
                         'system_couplet': 'passive_gamma_spectrometer',
                         'units': 'Counts/second (cps)'},
               'kconc': {'long_name': 'Potassium concentration',
                         'missing_value': -9999,
                         'standard_name': 'kconc',
                         'system_couplet': 'passive_gamma_spectrometer',
                         'units': 'Percentage'},
               'kpa': {'long_name': 'External pressure',
                       'missing_value': 'not_defined',
                       'standard_name': 'kpa',
                       'units': 'kiloPascals (kPa)'},
               'lat_heli': {'long_name': 'Latitude, WGS84, of helicopter',
                            'missing_value': 'not_defined',
                            'standard_name': 'lat_heli',
                            'units': 'Decimal Degrees'},
               'lat_tx': {'long_name': 'Latitude, WGS84, of EM bird '
                                       'transmitter (Tx)',
                          'missing_value': 'not_defined',
                          'standard_name': 'lat_tx',
                          'units': 'Decimal Degrees'},
               'line': {'long_name': 'Line Number',
                        'missing_value': 'not_defined',
                        'standard_name': 'line',
                        'units': '#'},
               'live_time': {'long_name': 'relative period of time '
                                          'spectrometer registers new pulses '
                                          'per sample interval',
                             'missing_value': -9999,
                             'standard_name': 'live_time',
                             'system_couplet': 'passive_gamma_spectrometer',
                             'units': 'Milliseconds (ms)'},
               'lon_heli': {'long_name': 'Longitude, WGS84, of helicopter',
                            'missing_value': 'not_defined',
                            'standard_name': 'lon_heli',
                            'units': 'Decimal Degrees'},
               'lon_tx': {'long_name': 'Longitude, WGS84, of EM bird '
                                       'transmitter (Tx)',
                          'missing_value': 'not_defined',
                          'standard_name': 'lon_tx',
                          'units': 'Decimal Degrees'},
               'mag_L': {'long_name': 'Total magnetic field, lagged',
                         'missing_value': 'not_defined',
                         'standard_name': 'mag_l',
                         'system_couplet': 'passive_scalar_magnetometer',
                         'units': 'nanoteslas (nT)'},
               'mag_LD': {'long_name': 'Total magnetic field, lagged and '
                                       'diurnally corrected',
                          'missing_value': 'not_defined',
                          'standard_name': 'mag_ld',
                          'system_couplet': 'passive_scalar_magnetometer',
                          'units': 'nanoteslas (nT)'},
               'mag_raw': {'long_name': 'Total magnetic field, de-spiked',
                           'missing_value': 'not_defined',
                           'standard_name': 'mag_raw',
                           'system_couplet': 'passive_scalar_magnetometer',
                           'units': 'nanoteslas (nT)'},
               'powerline': {'long_name': 'Co-planar power line monitor',
                             'missing_value': 'not_defined',
                             'standard_name': 'powerline',
                             'units': 'n/a'},
               'res140k': {'long_name': 'Apparent resistivity 140,000 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'res140k',
                           'units': 'Ohm-meters (ohm-m)'},
               'res1800': {'long_name': 'Apparent resistivity 1,800 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'res1800',
                           'units': 'Ohm-meters (ohm-m)'},
               'res400': {'long_name': 'Apparent resistivity 400 MHz',
                          'missing_value': 'not_defined',
                          'standard_name': 'res400',
                          'units': 'Ohm-meters (ohm-m)'},
               'res40k': {'long_name': 'Apparent resistivity 40,000 MHz',
                          'missing_value': 'not_defined',
                          'standard_name': 'res40k',
                          'units': 'Ohm-meters (ohm-m)'},
               'res8200': {'long_name': 'Apparent resistivity 8,200 MHz',
                           'missing_value': 'not_defined',
                           'standard_name': 'res8200',
                           'units': 'Ohm-meters (ohm-m)'},
               'spec256_down': {'dimensions': ['index', 'spec_sample'],
                                'long_name': 'Full downward-looking '
                                             'radiometric spectrum',
                                'missing_value': -9999,
                                'standard_name': 'spec256_down',
                                'system_couplet': 'passive_gamma_spectrometer',
                                'units': 'Counts/second (cps)'},
               'spec256_up': {'dimensions': ['index', 'spec_sample'],
                              'long_name': 'Full upward-looking radiometric '
                                           'spectrum',
                              'missing_value': -9999,
                              'standard_name': 'spec256_up',
                              'system_couplet': 'passive_gamma_spectrometer',
                              'units': 'Counts/second (cps)'},
               'tc_raw': {'long_name': 'Total radiometric count, uncorrrected',
                          'missing_value': -9999,
                          'standard_name': 'tc_raw',
                          'system_couplet': 'passive_gamma_spectrometer',
                          'units': 'Counts/second (cps)'},
               'temp_ext': {'long_name': 'External temperature',
                            'missing_value': 'not_defined',
                            'standard_name': 'temp_ext',
                            'units': 'Degrees Celsius (C)'},
               'th_raw': {'long_name': 'Thorium, uncorrected',
                          'missing_value': -9999,
                          'standard_name': 'th_raw',
                          'system_couplet': 'passive_gamma_spectrometer',
                          'units': 'Counts/second (cps)'},
               'u_raw': {'long_name': 'Uranium, uncorrected',
                         'missing_value': -9999,
                         'standard_name': 'u_raw',
                         'system_couplet': 'passive_gamma_spectrometer',
                         'units': 'Counts/second (cps)'},
               'u_up_raw': {'long_name': 'Upward-looking uranium, uncorrected',
                            'missing_value': -9999,
                            'standard_name': 'u_up_raw',
                            'system_couplet': 'passive_gamma_spectrometer',
                            'units': 'Counts/second (cps)'},
               'utc_time': {'long_name': 'Time, seconds after midnight UTC',
                            'missing_value': -9999,
                            'standard_name': 'utc_time',
                            'units': 'Seconds (s)'},
               'x_WGS84_Albers': {'long_name': 'Easting in Albers Equal-Area '
                                               'Conic, World Geodetic Survey '
                                               'of 1984 (WGS84) of EM Bird '
                                               'Transmitter (TX)',
                                  'missing_value': 'not_defined',
                                  'standard_name': 'x_wgs84_albers',
                                  'units': 'Meters (m)'},
               'x_WGS84_UTMZ15N': {'long_name': 'Easting in Universal '
                                                'Transverse Mercator (UTM) '
                                                'Zone 15 North, World Geodetic '
                                                'Survey of 1984 (WGS84) of EM '
                                                'Bird Transmitter (TX)',
                                   'missing_value': 'not_defined',
                                   'standard_name': 'x_wgs84_utmz15n',
                                   'units': 'Meters (m)'},
               'y_WGS84_Albers': {'long_name': 'Northing in Albers Equal-Area '
                                               'Conic, World Geodetic Survey '
                                               'of 1984 (WGS84) of EM Bird '
                                               'Transmitter (TX)',
                                  'missing_value': 'not_defined',
                                  'standard_name': 'y_wgs84_albers',
                                  'units': 'Meters (m)'},
               'y_WGS84_UTMZ15N': {'long_name': 'Northing in Universal '
                                                'Transverse Mercator (UTM) '
                                                'Zone 15 North, World Geodetic '
                                                'Survey of 1984 (WGS84) of EM '
                                                'bird transmitter (Tx)',
                                   'missing_value': 'not_defined',
                                   'standard_name': 'y_wgs84_utmz15n',
                                   'units': 'Meters (m)'}}}

Create a ‘models’ branch

model_container = survey.gs.add_container('models', **dict(content = "inverted models"))

Define input model file

m_data = join(data_path, 'model//Resolve_model.csv')

Continue exploring different Metadata options

Once again, read partial metadata from YAML

m_supp = join(data_path, 'model//Resolve_model_md.yml')
md_meta = Metadata.read(m_supp)
Model YAML file (missing variable metadata!)
 1dataset_attrs:
 2    content: inverted resistivity models
 3    comment: This dataset includes inverted resistivity models derived from processed AEM data produced by USGS
 4    type: model
 5    mode: airborne
 6    method: electromagnetic, frequency domain
 7    instrument: RESOLVE
 8
 9coordinates:
10    x: X_WGS84_Albers
11    y: Y_WGS84_Albers
12    z: DEM
13
14inversion_parameters:
15    dataset_attrs:
16        type: parameters
17        method: electromagnetic, frequency domain
18        instrument: RESOLVE
19        mode: airborne
20        property: electrical resistivity
21
22    variables:
23        values: inversion parameters information
24        model_file: Resolve_model.csv
25        inversion_software: Aarhus Workbench
26        software_version: Aarhus Workbench version 5.5.0
27        date: 20181101
28        description: Vertical and lateral constraints on resistivity were run with values of 5.0 and 2.0 and a homogeneous half-space with resistivity values of 40 ohm-meters for the prior model.  Sensor altitude was treated as a free parameter with an a-priori standard deviation of 0.5 m and a lateral constraint standard deviation factor of 1.30.
29        data_file: Resolve.csv
30
31dimensions:
32    layer_depth:
33        standard_name: layer_depth
34        long_name: Depth to model layer
35        units: meters
36        missing_value: not_defined
37        centers: [  0.5 ,   1.55,   2.7 ,   3.95,   5.3 ,   6.75,   8.35,  10.1 ,
38                        12.0  ,  14.1 ,  16.4 ,  18.9 ,  21.6 ,  24.55,  27.8 ,  31.35,
39                        35.2 ,  39.4 ,  43.95,  48.9 ,  54.3 ,  60.2 ,  66.65,  73.65,
40                        81.3 ,  89.65,  98.75, 109.15, 119.65, 132.5 ]
41        bounds: [[  0.0 ,   1.0 ],
42                    [  1.0 ,   2.1],
43                    [  2.1,   3.3],
44                    [  3.3,   4.6],
45                    [  4.6,   6.0 ],
46                    [  6.0 ,   7.5],
47                    [  7.5,   9.2],
48                    [  9.2,  11.0 ],
49                    [ 11.0 ,  13.0 ],
50                    [ 13.0 ,  15.2],
51                    [ 15.2,  17.6],
52                    [ 17.6,  20.2],
53                    [ 20.2,  23.0 ],
54                    [ 23.0 ,  26.1],
55                    [ 26.1,  29.5],
56                    [ 29.5,  33.2],
57                    [ 33.2,  37.2],
58                    [ 37.2,  41.6],
59                    [ 41.6,  46.3],
60                    [ 46.3,  51.5],
61                    [ 51.5,  57.1],
62                    [ 57.1,  63.3],
63                    [ 63.3,  70.0 ],
64                    [ 70.0 ,  77.3],
65                    [ 77.3,  85.3],
66                    [ 85.3,  94.0 ],
67                    [ 94.0 , 104.0 ],
68                    [104.0 , 114.0 ],
69                    [114.0 , 125.0 ],
70                    [125.0 , 140.0 ]]

… and read remaining metadata from CSV table

mod_var_md = join(data_path, 'model//Resolve_model_variable_table_md.csv')
mod_var_meta = Metadata.read(mod_var_md, table=True)

(scroll left right to see the full table)

Model Variable Metadata in CSV table format

variable_name

standard_name

long_name

units

missing_value

dtype

raw_data_columns

dimensions

datum

positive

system_couplet

LINE

Line Number

#

LAT_WGS84_dd

latitude

Latitude, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

Decimal degrees

LON_WGS84_dd

longitude

Longitude, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

Decimal degrees

X_WGS84_Albers

easting

Easting in Albers Equal-Area Conic, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

Meters (m)

Y_WGS84_Albers

northing

Northing in Albers Equal-Area Conic, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

Meters (m)

RECORD

Unique identifier for model location

n/a

DEM

Digital Elevation Model derived from USGS National Map 3D Elevation Program dataset

Meters (m)

North American Vertical Datum 1988 (NAVD88)

up

ALT

altitude

Altitude of EM bird transmitter above ground surface

Meters (m)

INVALT

Altitude of EM bird transmitter as solved by the inversion process

Meters (m)

INVALTSTD

Standard deviation of inverted altitude

Meters (m)

DELTAALT

Difference between recorded and inverted altitude

Meters (m)

NUMDATA

Number of data points used in the inversion

n/a

RESDATA

Total residual of the individual soundings

n/a

RESTOTAL

Total residual of the data points

n/a

RHO_I

resistivity

Resistivity of layer i with depth of investigation masked by DOI_Standard

Ohm-meter (ohm-m)

[index, layer_depth]

RHO_I_STD

Standard deviation of resistivity of layer; “99” indicates completely unconstrained

Ohm-meter (ohm-m)

[index, layer_depth]

DEP_TOP

depth_top

Depth to top of layer

Meters (m)

[index, layer_depth]

DEP_BOT

depth_bottom

Depth to the bottom of layer

Meters (m)

[index, layer_depth]

DOI_CONSERVATIVE

Conservative (shallow) calculated depth of investigation

Meters (m)

DOI_STANDARD

Standard (deep) calculated depth of investigation

Meters (m)

Merge the two metadata

mod_md = Metadata.merge(md_meta, mod_var_meta)

Export Metadata to EXCEL or CSV

GSPy supports metadata from Microsoft excel files, which can optionally be saved as CSV. This structure matches the YAML heiararchical dictionary format and is distinct from the variable metadata table (.csv but table=True) shown above.

mod_md.dump(join(data_path, 'model//Resolve_model_md.csv'))
mod_md.dump(join(data_path, 'model//Resolve_model_md.xlsx'))
Model Metadata (ALL) in EXCEL/CSV format

dataset_attrs

content

inverted resistivity models

comment

This dataset includes inverted resistivity models derived from processed AEM data produced by USGS

type

model

mode

airborne

method

electromagnetic, frequency domain

instrument

RESOLVE

coordinates

x

X_WGS84_Albers

y

Y_WGS84_Albers

z

DEM

inversion_parameters

dataset_attrs

type

parameters

method

electromagnetic, frequency domain

instrument

RESOLVE

mode

airborne

property

electrical resistivity

variables

values

inversion parameters information

model_file

Resolve_model.csv

inversion_software

Aarhus Workbench

software_version

Aarhus Workbench version 5.5.0

date

20181101

description

Vertical and lateral constraints on resistivity were run with values of 5.0 and 2.0 and a homogeneous half-space with resistivity values of 40 ohm-meters for the prior model. Sensor altitude was treated as a free parameter with an a-priori standard deviation of 0.5 m and a lateral constraint standard deviation factor of 1.30.

data_file

Resolve.csv

dimensions

layer_depth

standard_name

layer_depth

long_name

Depth to model layer

units

meters

missing_value

not_defined

centers

:1D

0.5

1.55

2.7

3.95

5.3

6.75

8.35

10.1

12.0

14.1

16.4

18.9

21.6

24.55

27.8

31.35

35.2

39.4

43.95

48.9

54.3

60.2

66.65

73.65

81.3

89.65

98.75

109.15

119.65

132.5

bounds

:2D

0.0

1.0

1.0

2.1

2.1

3.3

3.3

4.6

4.6

6.0

6.0

7.5

7.5

9.2

9.2

11.0

11.0

13.0

13.0

15.2

15.2

17.6

17.6

20.2

20.2

23.0

23.0

26.1

26.1

29.5

29.5

33.2

33.2

37.2

37.2

41.6

41.6

46.3

46.3

51.5

51.5

57.1

57.1

63.3

63.3

70.0

70.0

77.3

77.3

85.3

85.3

94.0

94.0

104.0

104.0

114.0

114.0

125.0

125.0

140.0

variables

LINE

standard_name

line

long_name

Line Number

units

#

missing_value

not_defined

LAT_WGS84_dd

standard_name

latitude

long_name

Latitude, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

units

Decimal degrees

missing_value

not_defined

LON_WGS84_dd

standard_name

longitude

long_name

Longitude, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

units

Decimal degrees

missing_value

not_defined

X_WGS84_Albers

standard_name

easting

long_name

Easting in Albers Equal-Area Conic, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

units

Meters (m)

missing_value

not_defined

Y_WGS84_Albers

standard_name

northing

long_name

Northing in Albers Equal-Area Conic, World Geodetic Survey of 1984 (WGS84) of EM Bird Transmitter (TX)

units

Meters (m)

missing_value

not_defined

RECORD

standard_name

record

long_name

Unique identifier for model location

units

n/a

missing_value

not_defined

DEM

standard_name

dem

long_name

Digital Elevation Model derived from USGS National Map 3D Elevation Program dataset

units

Meters (m)

missing_value

not_defined

datum

North American Vertical Datum 1988 (NAVD88)

positive

up

ALT

standard_name

altitude

long_name

Altitude of EM bird transmitter above ground surface

units

Meters (m)

missing_value

not_defined

INVALT

standard_name

invalt

long_name

Altitude of EM bird transmitter as solved by the inversion process

units

Meters (m)

missing_value

not_defined

INVALTSTD

standard_name

invaltstd

long_name

Standard deviation of inverted altitude

units

Meters (m)

missing_value

not_defined

DELTAALT

standard_name

deltaalt

long_name

Difference between recorded and inverted altitude

units

Meters (m)

missing_value

not_defined

NUMDATA

standard_name

numdata

long_name

Number of data points used in the inversion

units

n/a

missing_value

not_defined

RESDATA

standard_name

resdata

long_name

Total residual of the individual soundings

units

n/a

missing_value

not_defined

RESTOTAL

standard_name

restotal

long_name

Total residual of the data points

units

n/a

missing_value

not_defined

RHO_I

standard_name

resistivity

long_name

Resistivity of layer i with depth of investigation masked by DOI_Standard

units

Ohm-meter (ohm-m)

missing_value

not_defined

dimensions

:1D

index

layer_depth

RHO_I_STD

standard_name

rho_i_std

long_name

Standard deviation of resistivity of layer; “99” indicates completely unconstrained

units

Ohm-meter (ohm-m)

missing_value

not_defined

dimensions

:1D

index

layer_depth

DEP_TOP

standard_name

depth_top

long_name

Depth to top of layer

units

Meters (m)

missing_value

not_defined

dimensions

:1D

index

layer_depth

DEP_BOT

standard_name

depth_bottom

long_name

Depth to the bottom of layer

units

Meters (m)

missing_value

not_defined

dimensions

:1D

index

layer_depth

DOI_CONSERVATIVE

standard_name

doi_conservative

long_name

Conservative (shallow) calculated depth of investigation

units

Meters (m)

missing_value

not_defined

DOI_STANDARD

standard_name

doi_standard

long_name

Standard (deep) calculated depth of investigation

units

Meters (m)

missing_value

not_defined

Add the inverted AEM models with combined metadata dictionary

mod_branch = model_container.gs.add(key="inverted_models", data_filename=m_data, metadata_file=mod_md)

Inspect the two branches

Data Branch

print(survey['data'])
<xarray.DataTree 'data'>
Group: /survey/data
│   Dimensions:      ()
│   Data variables:
│       spatial_ref  float64 8B 0.0
│   Attributes:
│       content:  raw and processed data
│       type:     container
└── Group: /survey/data/raw_data
    │   Dimensions:           (index: 2334, layer_depth: 31, nv: 2, spec_sample: 256,
    │                          channel: 2)
    │   Coordinates:
    │     * index             (index) int32 9kB 0 1 2 3 4 5 ... 2329 2330 2331 2332 2333
    │     * layer_depth       (layer_depth) float64 248B 2.5 7.5 12.5 ... 147.5 152.5
    │     * nv                (nv) int64 16B 0 1
    │     * spec_sample       (spec_sample) int64 2kB 0 1 2 3 4 ... 251 252 253 254 255
    │     * channel           (channel) <U10 80B 'in-phase' 'quadrature'
    │       spatial_ref       float64 8B 0.0
    │       x                 (index) float64 19kB 5.351e+05 5.341e+05 ... 5.315e+05
    │       y                 (index) float64 19kB 1.205e+06 1.205e+06 ... 1.205e+06
    │       z                 (index) float64 19kB 42.82 43.96 42.74 ... 42.73 43.3
    │   Data variables: (12/88)
    │       layer_depth_bnds  (layer_depth, nv) float64 496B 0.0 5.0 5.0 ... 150.0 155.0
    │       line              (index) int64 19kB 10010 10010 10010 ... 19020 19020 19020
    │       date              (index) int64 19kB 20180302 20180302 ... 20180226 20180226
    │       utc_time          (index) float64 19kB 1.92e+05 1.92e+05 ... 1.741e+05
    │       flight            (index) int64 19kB 28022 28022 28022 ... 28011 28011 28011
    │       fiducial          (index) float64 19kB 969.8 999.8 ... 2.49e+03 2.52e+03
    │       ...                ...
    │       400hz_final       (index, channel) float64 37kB 118.5 169.3 ... 95.85 102.4
    │       1800hz_final      (index, channel) float64 37kB 302.9 423.8 ... 189.6 223.3
    │       3300hz_final      (index, channel) float64 37kB 185.9 236.5 ... 91.34 129.8
    │       8200hz_final      (index, channel) float64 37kB 1.035e+03 878.8 ... 563.8
    │       40k_hz_final      (index, channel) float64 37kB 2.033e+03 751.5 ... 839.4
    │       140k_hz_final     (index, channel) float64 37kB 2.314e+03 471.7 ... 696.3
    │   Attributes:
    │       content:     raw data
    │       comment:     This dataset includes minimally processed (raw) AEM data
    │       type:        data
    │       mode:        airborne
    │       method:      electromagnetic, frequency domain
    │       instrument:  RESOLVE
    │       structure:   tabular
    ├── Group: /survey/data/raw_data/resolve_system
    │       Dimensions:                   (n_transmitter: 6, n_receiver: 6, n_couplet: 6,
    │                                      dim_0: 1, frequency: 6)
    │       Coordinates:
    │         * n_transmitter             (n_transmitter) int64 48B 0 1 2 3 4 5
    │         * n_receiver                (n_receiver) int64 48B 0 1 2 3 4 5
    │         * n_couplet                 (n_couplet) int64 48B 0 1 2 3 4 5
    │         * frequency                 (frequency) int64 48B 400 1800 ... 40000 140000
    │       Dimensions without coordinates: dim_0
    │       Data variables: (12/17)
    │           transmitter_label         (n_transmitter) <U7 168B '400Z' ... '140000Z'
    │           transmitter_orientation   (n_transmitter) <U1 24B 'z' 'z' 'x' 'z' 'z' 'z'
    │           receiver_label            (n_receiver) <U7 168B '400Z' '1800Z' ... '140000Z'
    │           receiver_orientation      (n_receiver) <U1 24B 'z' 'z' 'x' 'z' 'z' 'z'
    │           couplet_label             (n_couplet) <U15 360B '400Z_400Z' ... '140000Z_...
    │           couplet_transmitters      (n_couplet) <U7 168B '400Z' '1800Z' ... '140000Z'
    │           ...                        ...
    │           couplet_actual_frequency  (n_couplet) int64 48B 381 1829 ... 40430 133400
    │           couplet_moment            (n_couplet) int64 48B 359 187 150 72 49 17
    │           data_normalized           (dim_0) bool 1B True
    │           output_data_type          <U3 12B 'ppm'
    │           reference_frame           <U24 96B 'right-handed positive up'
    │           output_sample_frequency   (dim_0) int64 8B 10
    │       Attributes:
    │           type:        system
    │           mode:        airborne
    │           method:      electromagnetic, frequency domain
    │           instrument:  RESOLVE
    │           name:        resolve_system
    ├── Group: /survey/data/raw_data/magnetic_system
    │       Dimensions:                                              (n_transmitter: 1,
    │                                                                 n_receiver: 1,
    │                                                                 n_couplet: 1,
    │                                                                 n_base_magnetometer: 1)
    │       Coordinates:
    │         * n_transmitter                                        (n_transmitter) int64 8B ...
    │         * n_receiver                                           (n_receiver) int64 8B 0
    │         * n_couplet                                            (n_couplet) int64 8B 0
    │         * n_base_magnetometer                                  (n_base_magnetometer) int64 8B ...
    │       Data variables: (12/48)
    │           transmitter_label                                    (n_transmitter) <U7 28B ...
    │           transmitter_description                              (n_transmitter) <U107 428B ...
    │           receiver_label                                       (n_receiver) <U19 76B ...
    │           receiver_sensor_type                                 (n_receiver) <U12 48B ...
    │           receiver_sensor_model                                (n_receiver) <U4 16B ...
    │           receiver_sensor_manufacturer                         (n_receiver) <U8 32B ...
    │           ...                                                   ...
    │           igrf_model_date                                      <U21 84B '2018-11-15...
    │           igrf_model_height                                    <U39 156B 'sensor al...
    │           igrf_removed_model_epoch                             <U6 24B '2015.0'
    │           tieline_levelling                                    <U153 612B 'Magnetic...
    │           altitude_correction                                  <U4 16B 'none'
    │           deliverables                                         <U158 632B 'Total Ma...
    │       Attributes:
    │           type:        system
    │           mode:        airborne
    │           method:      magnetic
    │           instrument:  Scintrex CS-3 cesium-vapor magnetometer
    │           name:        magnetic_system
    └── Group: /survey/data/raw_data/radiometric_system
            Dimensions:                                   (n_transmitter: 1, n_receiver: 1,
                                                           n_couplet: 1, dim_0: 1)
            Coordinates:
              * n_transmitter                             (n_transmitter) int64 8B 0
              * n_receiver                                (n_receiver) int64 8B 0
              * n_couplet                                 (n_couplet) int64 8B 0
            Dimensions without coordinates: dim_0
            Data variables: (12/84)
                transmitter_label                         (n_transmitter) <U7 28B 'passive'
                transmitter_description                   (n_transmitter) <U166 664B 'No ...
                receiver_label                            (n_receiver) <U18 72B 'gamma_sp...
                receiver_sensor_type                      (n_receiver) <U30 120B 'NaI(Tl)...
                receiver_sensor_model                     (n_receiver) <U6 24B 'RS-500'
                receiver_sensor_manufacturer              (n_receiver) <U24 96B 'Radiatio...
                ...                                        ...
                prefiltering                              <U136 544B 'Radar altimeter, pr...
                compton_stripping                         <U138 552B 'Height-corrected Co...
                altitude_attenuation_correction           <U19 76B 'nominal_height 60 m'
                conversion_to_concentrations              <U171 684B 'Corrected K, U, Th ...
                radiometric_ratios                        <U136 544B 'Ratios (eU/eTh, eU/...
                deliverables                              <U203 812B 'Total Count, Potass...
            Attributes:
                type:        system
                mode:        airborne
                method:      gamma spectrometry
                instrument:  Radiation Solutions RS-500 gamma-ray spectrometer
                name:        radiometric_system

Models Branch

print(survey['models'])
<xarray.DataTree 'models'>
Group: /survey/models
│   Dimensions:      ()
│   Data variables:
│       spatial_ref  float64 8B 0.0
│   Attributes:
│       content:  inverted models
│       type:     container
└── Group: /survey/models/inverted_models
    │   Dimensions:           (index: 9999, layer_depth: 30, nv: 2)
    │   Coordinates:
    │     * index             (index) int32 40kB 0 1 2 3 4 ... 9994 9995 9996 9997 9998
    │     * layer_depth       (layer_depth) float64 240B 0.5 1.55 2.7 ... 119.7 132.5
    │     * nv                (nv) int64 16B 0 1
    │       spatial_ref       float64 8B 0.0
    │       x                 (index) float64 80kB 5.36e+05 5.36e+05 ... 5.297e+05
    │       y                 (index) float64 80kB 1.205e+06 1.205e+06 ... 1.197e+06
    │       z                 (index) float64 80kB 41.1 41.1 41.1 ... 41.7 41.7 41.5
    │   Data variables: (12/15)
    │       layer_depth_bnds  (layer_depth, nv) float64 480B 0.0 1.0 1.0 ... 125.0 140.0
    │       line              (index) int64 80kB 10010 10010 10010 ... 10330 10330 10330
    │       lat_wgs84_dd      (index) float64 80kB 33.76 33.76 33.76 ... 33.69 33.69
    │       lon_wgs84_dd      (index) float64 80kB -90.17 -90.17 ... -90.24 -90.24
    │       record            (index) int64 80kB 1 2 3 4 5 ... 9995 9996 9997 9998 9999
    │       alt               (index) float64 80kB 40.9 41.4 41.8 ... 55.6 53.8 52.0
    │       ...                ...
    │       resdata           (index) float64 80kB 0.422 0.886 0.813 ... 0.396 0.355
    │       restotal          (index) float64 80kB 0.293 0.293 0.293 ... 0.293 0.293
    │       rho_i             (index, layer_depth) float64 2MB 9.74 14.9 ... 15.9 16.6
    │       rho_i_std         (index, layer_depth) float64 2MB 3.14 2.46 ... 10.8 99.0
    │       doi_conservative  (index) float64 80kB 27.8 65.0 65.0 ... 70.1 70.4 70.6
    │       doi_standard      (index) float64 80kB 66.2 78.2 78.2 ... 87.6 87.9 88.0
    │   Attributes:
    │       content:     inverted resistivity models
    │       comment:     This dataset includes inverted resistivity models derived fr...
    │       type:        model
    │       mode:        airborne
    │       method:      electromagnetic, frequency domain
    │       instrument:  RESOLVE
    │       structure:   tabular
    └── Group: /survey/models/inverted_models/inversion_parameters
            Dimensions:             (dim_0: 1)
            Dimensions without coordinates: dim_0
            Data variables:
                values              <U32 128B 'inversion parameters information'
                model_file          <U17 68B 'Resolve_model.csv'
                inversion_software  <U16 64B 'Aarhus Workbench'
                software_version    <U30 120B 'Aarhus Workbench version 5.5.0'
                date                (dim_0) int64 8B 20181101
                description         <U328 1kB 'Vertical and lateral constraints on resist...
                data_file           <U11 44B 'Resolve.csv'
            Attributes:
                type:        parameters
                method:      electromagnetic, frequency domain
                instrument:  RESOLVE
                mode:        airborne
                property:    electrical resistivity
                name:        inversion_parameters

Save to NetCDF file

d_out = join(data_path, 'Resolve.nc')
survey.gs.to_netcdf(d_out)

Reading back in the GS NetCDF file

new_survey = gspy.open_datatree(d_out)['survey']

Plotting

# Make a scatter plot of a specific data variable, using GSPy's plotter
plt.figure()
new_survey['data/raw_data'].gs.scatter(hue='z', vmin=30, vmax=50)
plot csv resolve

Subsetting by line number and plot by distance along line

subset = new_survey['data/raw_data'].gs.subset('line', 10010)

plt.figure()
_ = subset.gs.scatter(y='z', x='distance')
plot csv resolve

Make a scatter plot of a specific model variable, using GSPy’s plotter

plt.figure()
new_survey['models/inverted_models'].gs.scatter(hue='doi_standard')
plt.show()
plot csv resolve

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

Gallery generated by Sphinx-Gallery