GeoscienceAustralia/HiQGA.jl

Read ASEG-GDF description file

Closed this issue · 7 comments

Generate hdr file like GA-AEM produces which looks like

1   fiducial
2   line
3   flight
4   datetime
5   date
6   utc_time
.
.
.

A function to read the *.dfn file and generate header file in Julia is now available to meet the requirement for the next issue i.e. "using string from header file instead of column number".

Unfortunately, cumulative column numbers are required after dumping the TRNS and PROJ records, and getting the number of columns per record from the Fortran numeric specifier just after the first: after the first ;

The additional TRNS, PROJ information in the *.dfn file is filtered out. In the case of having the DATA column in the *.dat file, the changes that @richardt94 made to the dfn2hdr is now handling it quite nicely. The outcome of the updated version of the dfn2hdr function, is a text file whose name is matching with the *.dfn file of a particular AEM line survey. I am comfortable closing this issue at this stage.

The following plots show the comparison between the soundings resulting from the old and new read_survey_file.

Using old read_survey_file
Figure_S

Using new read_survey_file
Figure_S2

As the plots show, the outcomes are quite similar.

Numerical comparison also shows negligible difference confirming that the upgrades to the SKyDEM1DInversion code within read_survey_file work as we expected.

Low Moment
maximum(abs.((soundings[56].LM_data - soundings2[56].LM_data)./soundings[56].LM_data))
2.8832569271364537e-6
maximum(abs.((soundings[1].LM_noise - soundings2[1].LM_noise)./soundings[1].LM_noise))
3.821856010062641e-6
maximum(abs.((soundings[28].LM_noise - soundings2[28].LM_noise)./soundings[28].LM_noise))
2.998512602011722e-6
maximum(abs.((soundings[56].LM_noise - soundings2[56].LM_noise)./soundings[56].LM_noise))
2.46496171548143e-6
maximum(abs.((soundings[56].LM_times - soundings2[56].LM_times)./soundings[56].LM_times))
0.0

High Moment
maximum(abs.((soundings[56].HM_data - soundings2[56].HM_data)./soundings[56].HM_data))
0.000138374256238566
maximum(abs.((soundings[1].HM_noise - soundings2[1].HM_noise)./soundings[1].HM_noise))
6.663130983595906e-5
maximum(abs.((soundings[28].HM_noise - soundings2[28].HM_noise)./soundings[28].HM_noise))
6.920547482730497e-5
maximum(abs.((soundings[56].HM_noise - soundings2[56].HM_noise)./soundings[56].HM_noise))
0.00010863764836772673
maximum(abs.((soundings[56].HM_times - soundings2[56].HM_times)./soundings[56].HM_times))
0.0

a2ray commented

Nice! The data and noise are in units of pV so I think we're good with such low differences. Not sure I understand the noise increase with increase in the sounding index number though.

Thanks for the comment. I edited the statements for both low and high moments.