Adventures in kludgy software – Diving PAM edition

As a general rule, expensive pieces of lab equipment must come with software of questionable quality. In this case, I just want the raw data off a $20,000 submersible DIVING-PAM fluorometer, which can be used for measuring the photosynthetic yield of algae and plants out in the field, away from a computer. But downloading the data requires a mini-odyssey through some needlessly confusing software that comes with the unit.

To start with, the packaged instruction manual for our DIVING-PAM still references a DOS-era utility for downloading the data, because the (brand new, delivered in 2012) instruction manual was printed in 1998. Clearly that’s no help. The included CD has a modern day Windows program called WinControl-3.18, now updated to WinControl-3.21. This is clearly the right path, except that there are no instructions, on the CD or online, for WinControl-3.21. Great, I’m sure it will be totally intuitive, I can figure this out.

Load up WinControl-3.21. It searches the various COM ports for the attached DIVING-PAM unit, which is connected via a RS-232/USB adapter.

Let’s find your DIVING-PAM.

Once the DIVING-PAM is identified, the main window pops up.

The first screen.

There’s nothing particularly useful here right now. The next step is to go the Memory tab, located near the bottom-center of the chart window. This brings up the Memory display, which in theory would show you the contents of the onboard memory of the DIVING-PAM.

The Memory tab.

But here’s a fun little bug. The Download section near the top shows that there are data stored on the DIVING-PAM (3054 records in this case). But the Download button is grayed out, preventing you from downloading anything. If you sit there staring at it slack-jawed, nothing will ever happen.

There are two ways forward from here that I’ve found: 1. Scroll up or down in the window (or use the down scroll arrow), or 2. Resize the entire WinControl window. If you do either of these, the cells in the Memory tab will suddenly turn purple, and data will start appearing in them. That’s progress.

Hey look! Data.

The WinControl software is now slowly reading all of the lines in the memory banks of the DIVING-PAM. However, you haven’t actually downloaded anything, despite all these lines of data sitting in front of you on the screen. If you were to go to File>Save Data, you’d get a mostly empty data file with none of your field data in it. Instead, you must now officially download the data (even though it’s already on your screen) to the computer, by clicking the Download button that isn’t grayed out any more.

But wait! First you’re hit with a semi-threatening warning window, asking you whether you want to clear existing data before Download, or merge with existing data. It also mentions destroying data in there. This is totally reassuring when you have no documentation to explain what’s about to happen.

Uh-oh, what to do?

I spent some time leafing through the Junior-PAM fluorometer instruction manual that Walz points you to for some reason, since they claim it is the instruction manual for WinControl-3.21. Of course there’s nothing in there about downloading your DIVING-PAM or what this threatening message might mean. With 3.5 hours worth of field data on the line, I gambled and selected “Clear existing data before Download”, then hit OK.  That’s when you’re met with the equally threatening warning:

Are you really sure you want to do this thing that we don’t have any documentation on?

Roll the dice one more time, and hit OK. In the aftermath, I’ve decided that they must be referring to any data you might have taken with the DIVING-PAM hooked up to the computer (which puts the data directly into the WinControl software rather than into the DIVING-PAM’s memory). Eventually the download progress window shows up. Even in the year 2012, transferring the 3054 data points took roughly 5 minutes,  because the DIVING-PAM is still transmitting at 9600 baud, just like it did in the late 90’s.

Once the download is finished, the Memory cells turn yellow (I guess that’s good?). If you click over to the Report tab, you’ll see most of the same data.

The Report window.

In the Report window you can show a few additional columns of data, such as the Temperature, Depth, and other photosynthesis parameters. The layout of the Report window roughly mimics the layout of the data file that you’ll save. Now you can go to File>Save Data to save all this.

The output file has a .pam extension, but it is a text file that can be opened in most programs, including Excel. The file format uses semicolon-separated columns, and has 4 header rows that lack any helpful information, exactly as you’d expect given the overall quality of the software.

The raw output that I was after.

This is why the Report window is important, because it lists the column titles at the top, and you’ll need to match these up with the untitled columns in the .pam output file. As for why the file uses semicolons to separate columns, that’s anyone’s guess. Commas would make it much easier to open in most other software. You might suspect that it’s because the device originally comes from Europe, where they have this fetish for interchanging commas and decimal points when writing out the thousands separator and decimal marker (such as 1.154,00), but the data here use a decimal point as the decimal marker, and don’t use any thousands separator. I can only surmise that the semicolon was chosen to make my life more difficult.

At some point you might decide to click on the Options button in the Report tab, under which you’ll find an option to Export All. This might seem like a useful feature, especially because it gives you the option to save the output file as a .csv (comma-separate-value) file, which opens easily in Excel and other software. But no, you’d be mistaken. The “.csv” file that is produced still uses semicolons as column separators, and it still doesn’t include any useful column headers, so you’re stuck importing it in exactly the same way as the .pam files. Good job on that one.

I’m sure the WinControl-3.21 software does all kinds of other stuff wonderfully (as outlined in the Junior-PAM instruction guide), but it is frustrating to have to puzzle out the one single thing I need the software to do on my own. Hopefully this will help some other person in the future though.

Incidentally, there’s also an older version of WinControl-V2.8 available (instruction manual last updated in 2000) that might be more intuitive, and maybe it even labels the data columns in the output file, but it doesn’t run on 64-bit Windows, and I’m not going to load up a virtual machine just to deal with this.