Digisonde File Readers?

30 views
Skip to first unread message

Steve Kaeppler

unread,
Sep 1, 2021, 10:11:25 AMSep 1
to ham...@googlegroups.com
Hi All-

I am working with a bit of ionosonde/digisonde data for a project of
interest. While ARTIST is a nice piece of software, something I would
really like to do is simply extract the raw ionogram data from some
.mmm files. I can do this with ARTIST, but it is tedious because you
need to manually load in a file, extract the ionogram, and then save
out the ascii. I was wondering if there are any readers to do this
directly and ideally in python? Or if there is some code out there to
do that so I can extract directly to a text file instead of having to
repeatedly load and click using ARTIST?

Thanks and 73,
Steve
AD0AE

--

--------------------------------------------------------------------
Steve Kaeppler
steve.k...@gmail.com
cell: 262-707-0932
Amateur Radio Call: AD0AE/6

David Themens

unread,
Sep 1, 2021, 10:18:27 AMSep 1
to ham...@googlegroups.com

Hi,

I think I sent something along previously, but the following software package (Terry's Fortran code) is an option: https://data.ngdc.noaa.gov/instruments/remote-sensing/active/profilers-sounders/ionosonde/software/Digisonde/dgsraw-0.51.tar.gz (sorry if I already sent you this)

Not Python, but I doubt there is much by way of readers other than this one. You could also wrap into the Java SAOExplorer through Python, but that is likely headache-inducing.

Cheers,

David


--
Please follow the HamSCI Community Participation Guidelines at http://hamsci.org/hamsci-community-participation-guidelines.
---
You received this message because you are subscribed to the Google Groups "HamSCI" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hamsci+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hamsci/CANK6cPr9Z0qCF-55z_yxhRWYWOKq7oprS%2BrLFgX6ogYt8txbCg%40mail.gmail.com.

Terry Bullett

unread,
Sep 1, 2021, 1:06:26 PMSep 1
to ham...@googlegroups.com
To view this discussion on the web visit https://groups.google.com/d/msgid/hamsci/CACyAW567ExJN6U%3DUsJh_wkOZyWk-%2B3N%2Bu9YX6KAZKxMP%3DtutoA%40mail.gmail.com.

-- 
Dr. Terry Bullett          WØASP 
NOAA National Centers for Environmental Information (NOAA/NCEI)
Cooperative Institute for Research in Environmental Sciences (CIRES)
Terry....@noaa.gov    303-497-4788  
"Life is Complex.  It has a Real part and an Imaginary part." 

Michael Fene

unread,
Sep 1, 2021, 2:01:27 PMSep 1
to ham...@googlegroups.com
Steve,

Is the .mmm file ASCII text?  Or binary?

Kind Regards,

Michael Fene’
--
Please follow the HamSCI Community Participation Guidelines at http://hamsci.org/hamsci-community-participation-guidelines.
---
You received this message because you are subscribed to the Google Groups "HamSCI" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hamsci+unsubscribe@googlegroups.com.

David Themens

unread,
Sep 1, 2021, 2:04:05 PMSep 1
to ham...@googlegroups.com

Hi,

It's a binary format. Terry's message includes a nice overview of the format. Thanks Terry!

Cheers,

David



To unsubscribe from this group and stop receiving emails from it, send an email to hamsci+un...@googlegroups.com.

--
Please follow the HamSCI Community Participation Guidelines at http://hamsci.org/hamsci-community-participation-guidelines.
---
You received this message because you are subscribed to the Google Groups "HamSCI" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hamsci+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hamsci/CAPioHAapPDwQiTDPt2__W8bdEee%3DTedKZNdRK_vChJbO%3DE5DJA%40mail.gmail.com.

Willard Maier

unread,
Sep 19, 2021, 11:05:17 AMSep 19
to HamSCI
It sounds like writing Python code for the ionosonde files could be an interesting little project for me. I've got 40 years of experience in software engineering and have done similar things many times. I can't promise you anything, but I'd like to at least investigate how difficult it would be. Could you send me some sample data, both the raw ionosonde data and what you expect it to look like, or point me to a site where I could download that information? You can email me privately if you wish at through arrl.net with my callsign.

-Bill Maier, KG5RMJ

Terry Bullett

unread,
Sep 19, 2021, 1:28:22 PMSep 19
to ham...@googlegroups.com
Bill,

I'm sure the community would benefit greatly from such a tool.  I only really know FORTRAN and shell programming.

For completeness, the documentation is here:
ftp://ftp.ngdc.noaa.gov/ionosonde/documentation/Digisonde/D256_Tape_Format.pdf
(you want Appendix B:  MMM format description)

My FORTRAN code is in a tarball here:
ftp://ftp.ngdc.noaa.gov/ionosonde/software/Digisonde/dgsraw-0.51.tar.gz
You many need to look at the code to fully appreciate the tricks inside the MMM files.

The MMM files for Boulder (for day 001 of this year) are located here:
ftp://ftp.ngdc.noaa.gov/ionosonde/data/BC840/individual/2021/001/ionogram/
(one file per ionogram, every 5 minutes)

ftp://ftp.ngdc.noaa.gov/ionosonde/data/BC840/individual/2021/001/image/
The radar data are in terms of amplitude and 'status': a mix of Doppler and polarization, on a grid of frequency and range gate.  The plots are threshold plots

These data are from a radar that is over 30 years old that is doing a real time DFT using 7400 TTL chips and whopping 16 kilobytes of RAM. 

(note the black curves and scaled numbers (such as foF2) represent autoscaled results which are in different files
ftp://ftp.ngdc.noaa.gov/ionosonde/data/BC840/individual/2021/001/scaled/

with a different format:
ftp://ftp.ngdc.noaa.gov/ionosonde/documentation/SAO%20version%204.3.pdf
and different code to read it:
ftp://ftp.ngdc.noaa.gov/ionosonde/software/Digisonde/checksao-0.31.tar.gz


If you need more help, I can probably dust some cobwebs off old brain cells and answer specific questions.

Best of luck,
73
Terry W0ASP
--
Please follow the HamSCI Community Participation Guidelines at http://hamsci.org/hamsci-community-participation-guidelines.
---
You received this message because you are subscribed to the Google Groups "HamSCI" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hamsci+un...@googlegroups.com.

Willard Maier

unread,
Sep 20, 2021, 8:24:26 AMSep 20
to HamSCI
Thanks, Terry, for the links to the data, code, and documentation. I downloaded some sample data files and the code. First of all, I noticed there's over 5000 lines of Fortran code for reading the files, then another 3000+ lines for the scaled files. That's looking as if it would be quite a bit more than a little side project for me.

However, after studying the data format in the *.mmm files I think that just parsing that data and writing it out in some ASCII format would be achievable. Is that what is required? Is there some format you want the output data in, or should I just make up some reasonable text format?

I looked at a few .mmm files and only found record types 08 and 09 in those. Would it be enough to just handle those, and not implement the drift and dump record types?

-Bill  KG5RMJ

Kristina Collins

unread,
Sep 20, 2021, 1:06:50 PMSep 20
to ham...@googlegroups.com
Bill,
A python-based plotter would be a great help. I have emailed you some notes off-list.
73,
-KC

--

Terry Bullett

unread,
Sep 20, 2021, 1:28:11 PMSep 20
to ham...@googlegroups.com
Bill,

Reading the binary MMM files and making an equivalent ASCII file is what the FORTRAN code does.  My use case it to make a text file then use gnuplot to make an image, these tasks often coordinated by a shell script.   Check the text file format I use and see if you like it. 

I don't know if you can use python as such a wrapper.  You will still be stuck with the FORTRAN engine. 

The MMM files should only contain record types 09 and 08.  You probably don't want drift or 16 channel (dump) file types.  I wanted my code to be as complete a tool as possible. 

73,
Terry W0ASP

Willard Maier

unread,
Sep 20, 2021, 10:04:41 PMSep 20
to HamSCI
I guess I'm not clear on what is really wanted here. To convert one of the .mmm files to ASCII you can use the Linux utility "od" (octal dump). You can do that with any file, actually. I doubt that's what you're looking for, though. You would still have to parse the resulting ASCII into records, prefaces, blocks, preludes, data, etc. to get usable information.

-Bill  KG5RMJ
Reply all
Reply to author
Forward
0 new messages