PGI Guide to POP

This guide is intended to help build the Parallel Ocean Program (POP) for 64 bit Linux using PGI 2012 compilers.

Version Information

This guide was created for POP 2.0.1 compiled using the PGI 2012 compilers.

Application Notes

Information about POP can be found on the POP website at

"POP is an ocean circulation model derived from earlier models of Bryan, Cox, Semtner and Chervin in which depth is used as the vertical coordinate. The model solves the three-dimensional primitive equations for fluid motions on the sphere under hydrostatic and Boussinesq approximations. Spatial derivatives are computed using finite-difference discretizations which are formulated to handle any generalized orthogonal grid on a sphere, including dipole and tripole grids which shift the North Pole singularity into land masses to avoid time step constraints due to grid convergence."

Obtaining the Source Code

The POP 2.0.1 source code is available from the LANL climate website.


NetCDF. Please see one of the NetCDF build pages for information on building NetCDF.

Building POP

  1. Untar the POP package:

      zcat POP_2.0.1.tar.Z | tar -xv
      cd pop
      export ARCHIDR=linux
  2. Edit the file ./input_templates/linux.gnu and change CC to pgcc. Additionally, set the NETCDFINC and NETCDFLIB paths as appropriate for your installation.

      cd to ./testdir
  3. Edit the file domains_size.F90 and change the value of each of "max_blocks_clinic" and "max_blocks_tropic" to 92

  4. The executables will end up in the testdir directory.

    Edit the file "pop_in" and change the value of both "nprocs_clinic" and "nprocs_tropic" to 1. Run the model with the command

    mpirun -np 1 pop

    To verify output, edit the file ../tools/validation/pdiff and correct the path for perl. Then, from the testdir directory run ../tools/validation/pdiff ../input_templates/pop_sgi_log.test pop_diag.your_id_here.00000101

Known Issues and Limitations


Click me