GFDL - Geophysical Fluid Dynamics Laboratory

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:

  • HIM uses any generalized orthogonal grid, including all metric terms in
    the Primitive Equations.

  • HIM is coupled to a bulk surface mixed layer through a variable density
    buffer layer to avoid some of the difficulties associated with detrainment. There may be an
    arbitrary number of sublayers within the mixed layer, to facilitate the introduction of
    horizontal processes or biology in the mixed layer representation.

  • HIM uses a novel diapycnal time stepping scheme, which is qualitatively correct
    everywhere in parameter space with no time step limit.

  • Richardson number dependent mixing based on Turner’s parameterization is
    an available option. This dramatically improves the representation of mixing
    in the gravity currents downstream of sills.

  • Vertical viscosity is used to essentially eliminate Montgomery potential
    gradient errors near the intersection of isopycnal surfaces with topography.

  • Numerics handle thin layers sufficiently well that a minimum layer thickness
    of 1 Angstrom works well.

  • The Smagorinsky biharmonic viscosity has been implemented.This is a scale-selective,
    grid- and flow state-dependent viscosity. Only the time steps must now be
    adjusted to insure stability as resolutions are changed.

  • Potential temperature and salinity are state variables, with the user’s choice of a
    linear or fully nonlinear equation of state.

  • Tracers are advected with the monotonic flux-form scheme of Easter (1993),
    implemented in such a way as to avoid any CFL constraint.

  • User-provided tracer packages (taking care of vertical tracer processes,
    boundary conditions, chemistry, biology, etc.) may be added with minimal (1-line) changes to the generic
    HIM code.

  • HIM is driven with a flexible range of surface fluxes – whatever is appropriate for a
    particular simulation.

  • HIM uses 3-way time splitting: the barotropic mode, baroclinic dynamics,
    and thermodynamics can all use different time steps. In some instances, this allows the
    addition of many additional tracers at very modest computational cost.