HIM: The Hallberg Isopycnal Model

HIM is a C-Grid isopycnal coordinate ocean model, developed by R. Hallberg at NOAA's Geophysical Fluid Dynamics Laboratory

HIM is so named because (1) R. Hallberg's wife is in marketing, and (2) it entirely describes what this model is: it uses an isopycnal vertical coordinate, and R. Hallberg is entirely responsible for its existence.

This web page describes several code features of HIM and algorithmic developments. A much more detailed overview of HIM is also available.

What is HIM?

HIM is a C-grid, isopycnal coordinate, primitive equation ocean model, written in a fairly modular C.

While HIM is qualitatively similar to MICOM, most of the details of the numerics differ.

A deliberately short User's Guide, describing how to use HIM is available. For ocean modelers with experience in Fortran, but not in C, a short list of tips may help get started.

An overview of the HIM code should provide enough further guidance for many people to figure out where to go to get started.

A deliberately long (but somewhat out of date) technical description is also available for the brave.

HIM1.10 went out for a beta release on June 30, 2002, and again with minor revisions on August 12, 2002. To obtain the HIM code, 3 working examples, and documentation, please go to the HIM page on the GFDL NOMADS Server. You will need to register to obtain the code. Information obtained from this list will not be used for any purpose beyond an indication to us who might be using the model. This registration can be done anonymously if you prefer, but I appreciate your cooperation.

Please e-mail R. Hallberg (Robert.Hallberg@noaa.gov) if you would like to be informed of future HIM releases or bug fixes.


Nice code features with HIM:

  1. HIM is sufficiently modular that the time step, parameterizations, and discretizations are easily changed. (For example, two very different time stepping schemes are implemented now within the code.)

  2. NetCDF output, containing a wide variety of instantaneous and time averaged diagnostic fields, is easily produced and is readily extended.

  3. Diagnostic code exists for calculating the exact time mean momentum, and continuity balances. (Work on exact energy and potential vorticity balances is underway.)

  4. HIM Runs on parallel machines using 1-D or 2-D message passing (via SHMEM or MPI).

  5. HIM works without change with any C compiler.

C is such a mature programming language there are no known exceptions to this last point. The NetCDF-3 library is required, but is freely available. An appropriate SHMEM or MPI library is also required for parallel implementations.

Please note that there is no inherent difference in speed between the HIM C-code and equivalent Fortran code. (The C-version was a negligible 1% faster in a recent test with the HIM core.) Historical anecdotes about C being much slower than F77 may be highly out of date, or may apply to a naive or devious C-programming style.


Developments with HIM:


This page has been visited times (since August 12, 2002).
Last updated on .