So far this week I’ve been focusing my energies on getting the Hybrid Coordinate Ocean Model (HYCOM) up and running on my computer. For those of you who don’t know what HYCOM is a modeling platform sponsored by the National Ocean Partnership Program which includes–among others–FSU. Simply put, the HYCOM platform is a powerful ocean-atmospheric model for use in climatological and oceanographical research and prediction studies.
My goal is to use the HYCOM platform to do a preliminary study into the numerical artefacts and considerations when it comes to diapycnal mixing (mixing between less dense and more dense water parcels). While I certainly wont belabour the science here, be on the lookout for the results of my study in the coming weeks. So where to start such a project…
Accessing and downloading the HYCOM source was straightforward and quickly accomplished, but compiling the model took a little time and good-old trial and error. The majority of the task was found to be in determining the right compiler flags to use:
FC = ifort
FCFFLAGS = -g -fast -r8 -convert big_endian
CC = gcc
CCFLAGS = -O
CPP = cpp -P
CPPFLAGS = -DIA32 -DREAL8
LD = $(FC)
LDFLAGS = $(FCFFLAGS)
The one flag that turned out to be pesky was the -convert big_endian call since without it the program compiled beautifully yet wouldn’t run properly. So at first I didn’t consider the issue to be a compilation problem but rather a linkage or bash issues in the IO. As it turns out, that single flag fixed the issue. The rest are pretty standard flags for optimization and debug handles.
Now is a good time to remark on the excellent documentation that is available on the HYCOM website. There are a number of documents detailing various aspects of the platform including the available options (and why we care about the options), how to setup the model and even some simplified versions (e.g. BB86 two gyre configuration) to get started with. Thank you to all of those who helped contribute to those documents.
With the model up and running, I figure anything else I would have to do would be pretty simple; but just as all races are toughest in the final leg, so too was this one. The HYCOM model wrote all the output files without issue, but trying to figure out what to do with them was a bit of a chore. I had all this data but no clue on how to plot or analyze it.
This is the part of the story that is still evolving, but armed with a couple sample scripts and Matlab, I have made some marginal progress. Hopefully I’ll have colorful animations and insightful plots before too long.