Import (HDF) Sensor Data
Use the Import (HDF) Sensor Data option (Geosoft.uxo.gxnet.dll(Geosoft.GX.UXO.UxaImportHDF5;Run)*) to import raw advanced EM sensors data from HDF files into Geosoft databases. See the Application Notes below for a summary of the HDF5 file attributes and how they are handled in Oasis montaj.
Expand to see the locations (menus) where this option is available.
UX-Analyze extension:
- AGC Dynamic Data
- AGC Static Data
- AGC Expert User > Dynamic Data Prep and QC
- AGC Expert User > Static Data Prep and QC
Import (HDF) Sensor Data dialog options
Static master database prefix | Select the optional master database prefix. Script Parameter: UXANALYZE.MASTER_IMPORT_DBPREFIX | ||
Group | Select the group in the master database. Default group name is 'FlagList. Script Parameter: UXANALYZE.MASTER_GROUP | ||
Raw data folder | Specify the data folder that contains raw HDF files (with the extension .h5. Script Parameter:UXANALYZE.HDF_IMPORT_FOLDER | ||
Available files | The Available files list is filled with the files found in the specified Raw data folder.
Script Parameter: UXANALYZE.HDF_IMPORT_DATA_TYPE | ||
Files to import | Use Add or Add All, Remove, and Remove All buttons to select the files to be imported from the available files. Script Parameter: UXANALYZE.HDF_IMPORT_FILES | ||
Database prefix | Specify the databases prefix. Script Parameter: UXANALYZE.HDF_IMPORT_DBPREFIX | ||
Target/Parameter group | Specify the group name for the target or parameter database, depending whether the raw file contains static or dynamic data, respectively. Script Parameter: UXANALYZE.HDF_IMPORT_GROUP |
Application Notes
The advanced EM sensors collect a massive amount of data that are saved in a HDF format. In order to exploit the data in Oasis montaj the Import Data (HDF) option has been developed to read the data and save it into a pair of Geosoft databases. There are two databases, a sensor database which contains the raw sensor data and header information, and a target or parameter database which will be used to store the acquisition parameters.
Each input file will be imported as separate groups in the sensor database. Also an entry will be created in the specified group within the target or parameter database. A range of files can be selected to be imported at once, including static and dynamic files. The names of the output Geosoft databases are determined based on the database prefix, the survey mode, and the data type. For example, if the prefix, survey mode, and data type are "Test", static, and "Survey", the sensor and target database names will be 'Test_SAM_Data.gdb' and 'Test_SAM_Target.gdb'.
Static Master Database
In the master database (if selected), create the following channels if they don't exist:
- UXA_Measurement_Number
- UXA_ACQ_DATE
- UXA_ACQ_TIME
- UXA_CSV_FILE
- UXA_SensorID
As each data file is imported:
- Read from the master database:
- the measurement number (UXA_Measurement_Number): increment and use for the measurement id
- the flag locations (UXA_Flag_X and UXA_Flag_Y)
- Write to the Master database:
- Update the measurement number (UXA_Measurement_Number)
- Store the UXA_ACQ_DATE
- Store the UXA_ACQ_TIME
- Store the UXA_CSV_FILE
- Store the UXA_SensorID
MM2x2 HDF5 File Attributes
The sample bellow lists the attributes in a MM2x2 HDF5 file, required (unless otherwise stated) for UXA import and other Oasis montaj tasks.

Group size = 1
- Number of attributes = 58 – static / 59 - dynamic
- AcquisitionMode = DAM
- AcquisitionSoftwareVersion = MetalMapperII-1.0.1006
- Ambient = 1; not required for UXA import
- AmbientCps = 60,Hz
- AmbientMode = 1; not required for UXA import
- Averaged = 1
- BackgroundAcqReminderInterval = 60,minutes
- BackgroundOriginalPath = *
- Cart = [width=1.10, length=1.10, height=0.26],meters
- Continuous = 1
- CountsPerMillivolt = 6.43400,1/milliVolt
- Created = 2017-03-28T16:21:01.077Z; not required for UXA import
- DayStamp = 2017087
- DecayTime = 2.776,milliseconds
- EquipmentSerialNumber = CA1010
- EquipmentSerialNumberConfirm = yes
- EquipmentVersion = METALMAPPER2X2
- FinalDecayLevel = 0,%
- FiringSequence = ABCD
- GPS = AttitudeCorrectedGPS(x=0.0000, y=0.0000, z=1.1000),meters
- GateCenters = 22.0,52.0,66.0,84.0,106.0,134.0,168.0,210.0,264.0,332.0,416.0,520.0,652.0,816.0,1020.0,1276.0,1596.0,1996.0,2428.0 – Redundant – read from data section; not imported
- GateWidths = 12,3,4,5,6,8,9,12,15,19,23,29,37,45,57,71,89,111,105
- GeoID = NO-GEOID
- GeodeticDatum = WGS84
- HeightOfTransmitterAssemblyAboveGround = 0.26,meters
- HeightOfZCoilCenterAboveTransmitterAssembly = 0.05,meters
- Holdoff = 0,microseconds
- LogarithmicallyDecimated = 1
- MagneticDeclination = *
- MaximumBackgroundVariation = 0,%
- MeasurementNumber = 000
- NominalDecimationFraction = 20.00,%
- Operator = geometrics
- OrientationSensor = 3DMGX25(x=0.0000, y=0.0000, z=1.2000),meters
- OriginalBasePath = /var/lib/MetalMapperII
- Project = NO-PROJECT
- QcWindowEndTime = 200,microseconds
- QcWindowStartTime = 100,microseconds
- RawValues = 0
- ReceiverCoilVertices = AX:(x=-0.2008, y=0.1548, z=0.0452)(x=-0.2008, y=0.2468, z=0.0452)(x=-0.2008, y=0.2468, z=-0.0452)(x=-0.2008, y=0.1548, z=-0.0452),AY:(x=-0.2460, y=0.2008, z=0.0452)(x=-0.1555, y=0.2008, z=0.0452)(x=-0.1555, y=0.2008, z=-0.0452)(x=-0.2460, y=0.2008, z=-0.0452),AZ:(x=-0.2468, y=0.2468, z=0.0000)(x=-0.1548, y=0.2468, z=0.0000)(x=-0.1548, y=0.1548, z=0.0000)(x=-0.2468, y=0.1548, z=0.0000),BX:(x=0.2008, y=0.1548, z=0.0452)(x=0.2008, y=0.2468, z=0.0452)(x=0.2008, y=0.2468, z=-0.0452)(x=0.2008, y=0.1548, z=-0.0452),BY:(x=0.1555, y=0.2008, z=0.0452)(x=0.2460, y=0.2008, z=0.0452)(x=0.2460, y=0.2008, z=-0.0452)(x=0.1555, y=0.2008, z=-0.0452),BZ:(x=0.1548, y=0.2468, z=0.0000)(x=0.2468, y=0.2468, z=0.0000)(x=0.2468, y=0.1548, z=0.0000)(x=0.1548, y=0.1548, z=0.0000),CX:(x=0.2008, y=-0.2468, z=0.0452)(x=0.2008, y=-0.1548, z=0.0452)(x=0.2008, y=-0.1548, z=-0.0452)(x=0.2008, y=-0.2468, z=-0.0452),CY:(x=0.1555, y=-0.2008, z=0.0452)(x=0.2460, y=-0.2008, z=0.0452)(x=0.2460, y=-0.2008, z=-0.0452)(x=0.1555, y=-0.2008, z=-0.0452),CZ:(x=0.1548, y=-0.1548, z=0.0000)(x=0.2468, y=-0.1548, z=0.0000)(x=0.2468, y=-0.2468, z=0.0000)(x=0.1548, y=-0.2468, z=0.0000),DX:(x=-0.2008, y=-0.2468, z=0.0452)(x=-0.2008, y=-0.1548, z=0.0452)(x=-0.2008, y=-0.1548, z=-0.0452)(x=-0.2008, y=-0.2468, z=-0.0452),DY:(x=-0.2460, y=-0.2008, z=0.0452)(x=-0.1555, y=-0.2008, z=0.0452)(x=-0.1555, y=-0.2008, z=-0.0452)(x=-0.2460, y=-0.2008, z=-0.0452),DZ:(x=-0.2468, y=-0.1548, z=0.0000)(x=-0.1548, y=-0.1548, z=0.0000)(x=-0.1548, y=-0.2468, z=0.0000)(x=-0.2468, y=-0.2468, z=0.0000),meters
- ReceiverExtents = AX:0.03,AY:0.03,AZ:0.03,BX:0.03,BY:0.03,BZ:0.03,CX:0.03,CY:0.03,CZ:0.03,DX:0.03,DY:0.03,DZ:0.03,meters
- ReceiverGains = AX:1.0,AY:1.0,AZ:1.0,BX:1.0,BY:1.0,BZ:1.0,CX:1.0,CY:1.0,CZ:1.0,DX:1.0,DY:1.0,DZ:1.0 ReceiverNormalVectors = AX:(x=1.0000, y=0.0000, z=0.0000),AY:(x=0.0000, y=1.0000, z=0.0000),AZ:(x=0.0000, y=0.0000, z=1.0000),BX:(x=1.0000, y=0.0000, z=0.0000),BY:(x=0.0000, y=1.0000, z=0.0000),BZ:(x=0.0000, y=0.0000, z=1.0000),CX:(x=1.0000, y=0.0000, z=0.0000),CY:(x=0.0000, y=1.0000, z=0.0000),CZ:(x=0.0000, y=0.0000, z=1.0000),DX:(x=1.0000, y=0.0000, z=0.0000),DY:(x=0.0000, y=1.0000, z=0.0000),DZ:(x=0.0000, y=0.0000, z=1.0000)
- ReceiverTurns = AX:140,AY:132,AZ:120,BX:140,BY:132,BZ:120,CX:140,CY:132,CZ:120,DX:140,DY:132,DZ:120
- ReferenceObjectOriginalPath = /var/lib/MetalMapperII/NO-PROJECT/NO-GEOID/NO-PROJECT_NO-GEOID_SBG_NONE_2017087_030.h5 – for SFT and DFT only; not required for UXA import
- Repeats = 3
- SampleWidth = 4000,nanoseconds
- ScaleTomicroTeslasPerSecond = 0.0593721,microTeslas/second/count Stacks = 1; not required for UXA import
- SurveyMode = DYNAMIC
- SwathWidth = 0.40,meters – for Dynamic files only; not required for UXA import
- DynamicTransmitterDutyCycle = 25,% – for Dynamic files only, Geometrics says they will only output this field if different than the default (50%); not required for UXA import
- Target = 1006
- Tractor = (length=0.50, width=0.50, operatorEyeHeight=1.80, distanceBehindCart=1.25, operatorX=0.00, operatorY=0.00),meters TransmissionCurrentThreshold = 0.00,amperes
- TransmitterCoilVertices = TA:(x=-0.4012, y=0.4012, z=0.0000)(x=-0.0004, y=0.4012, z=0.0000)(x=-0.0004, y=0.0004, z=0.0000)(x=-0.4012, y=0.0004, z=0.0000),TB:(x=0.0004, y=0.4012, z=0.0000)(x=0.4012, y=0.4012, z=0.0000)(x=0.4012, y=0.0004, z=0.0000)(x=0.0004, y=0.0004, z=0.0000),TC:(x=0.0004, y=-0.0004, z=0.0000)(x=0.4012, y=-0.0004, z=0.0000)(x=0.4012, y=-0.4012, z=0.0000)(x=0.0004, y=-0.4012, z=0.0000),TD:(x=-0.4012, y=-0.0004, z=0.0000)(x=-0.0004, y=-0.0004, z=0.0000)(x=-0.0004, y=-0.4012, z=0.0000)(x=-0.4012, y=-0.4012, z=0.0000),meters
- TransmitterExtents = TA:0.04938,TB:0.04938,TC:0.04938,TD:0.04938,meters
- TransmitterNormalVectors = TA:(x=0.0000, y=0.0000, z=1.0000),TB:(x=0.0000, y=0.0000, z=1.0000),TC:(x=0.0000, y=0.0000, z=1.0000),TD:(x=0.0000, y=0.0000, z=1.0000)
- TransmitterTurns = TA:24,TB:24,TC:24,TD:24
- UnsortedChannels = 0
- WaveformOversampleCount = 2
- Windows = 19
- Number of attributes = 14
- Attitude = (yaw=169.711, pitch=2.590, roll=2.284),degrees
- AveragedN = 1
- Elevation = 8.771,meters
- GPSTime = 122350.80
- HAE = -1.000,meters
- HorizontalDilutionOfPrecision = 1.000; not required for UXA import
- NSat = 11; not required for UXA import
- Quality = 4
- TransientNumber = 0000000
- TransmittedCurrent = 10.147,A
- UTM = [316321.013 E,4254209.621 N],m 18N
- latitude = 38.4172689438,degrees
- longitude = -77.1039485057,degrees
- stored = 2017-03-29T12:23:48.849Z
For circular coils:
- TransmitterCoilVertices=TA:(center, x=0.0000, y=0.0000, z=0.0000)(radius,0.5000),meters
- ReceiverCoilVertices=TA:(center, x=0.0000, y=0.0000, z=0.0000)(radius,0.5000),meters
To view the standardized HDF5 file format definition for version 1.0, check the publication HDF5 EMI Attributes Definition Version 1.0
*The GX tool will search in the "gx" folder. The GX.Net tools, however, are embedded in the Geosoft.uxo.gxnet.dll located in the bin folder. If running this GX interactively, bypassing the menu, first change the folder to point to the bin folder, then supply the GX.Net tool in the specified format.
Got a question? Visit the Seequent forums or Seequent support
© 2023 Seequent, The Bentley Subsurface Company
Privacy | Terms of Use