7 Appendices

7.1 Ancestry of POP

POP is a member of the Bryan-Cox-Semtner class of ocean models first developed by Kirk Bryan and Michael Cox at the NOAA Geophysical Fluid Dynamics Laboratory in Princeton, NJ in the late 1960’s. POP had its origins in the Semtner-Chervin model, which was rewritten in CM Fortran for the Connection Machine CM-2 and CM-5 massively parallel computers. Experience with the resulting model led to the improvements summarized in Chapter 1. The complete “family tree” of the BCS models is displayed in Figure 1 (courtesy of Bert Semtner, Naval Postgraduate School).

POPFamilyTree Figure 1: Bryan-Cox-Semtner model family tree

Return to Contents

Return to top of Chapter 7

7.2 Generating grid and bottom topography files

This section will be written later. There are currently no tools for this included in the POP distribution. However, some tools do exist and we are attempting to put them in a form usable by others.

7.2.1 Horizontal grid

Return to Contents

Return to top of Chapter 7

7.2.2 Vertical grid

There is a vertical grid generating routine in the tools/grids subdirectory. This code is essentially the same code used to generate vertical grids in POP, but can be used to generate a vertical grid file off-line which can be edited to suit your simulation.

Return to Contents

Return to top of Chapter 7

7.2.3 Bottom topography

Return to Contents

Return to top of Chapter 7

7.2.4 Examples

Return to Contents

Return to top of Chapter 7

7.2.5 Displaced-pole grid details

Description of DP-grid with picture

POP-DPgrid

Return to Contents

Return to top of Chapter 7

7.2.6 Land-ocean grid incompatibilities in coupled models

Return to Contents

Return to top of Chapter 7

7.3 Benchmark test problem (LANL POP only)

The LANL POP 1.4.3 distribution includes a simple test case that can be used for a variety of purposes, including validation, performance and scaling. The key point is that there are no input fields: the model grid, topography, initial state, equation of state coefficients and wind stress (there is no other forcing enabled) are all generated internally. The only file that is read is pop_in.

The CCSM2.0 POP distribution does not provide this test case. Instead, refer to the CCSM2.0 User's Guide for recommended test procedures for the CCSM2.0 system.

To run the test problem, type ./setup_run_dir test and a directory called test will be created that contains all of the appropriate files. The default model size is 192x128x20 grid points (equal spacing for each of the horizontal dimensions) and the model domain is global with idealized landmasses. Make the executable as described earlier in the guide. The pop_in file defaults to running 20 steps with full diagnostics output every step. Note that for performance benchmarks diagnostics should be output sparingly as in a production run as the diagnostic sums are expensive.

To use this test case for validation, the user can compare their ouput with the file pop/input_templates/pop_sgi.log.test which contains the output of a 20 step calculation run on 4 processors of an SGI Origin2000. The results from other computer platforms should agree reasonably well.

Once the answers have been validated using the 192x128x20 grid, performance and scaling can be investigated by varying the grid size (in model_size.F) and the number of processors (in the *.gnu file).

In addition to the methods mentioned above, a standard set of benchmarks has been developed as part of a Climate-Ocean-Weather (COWbench) benchmarking effort. These benchmarks test three different model sizes using a process similar to that above. There is a README file as part of the distribution that describes how to set up and run these benchmarks.

Return to Contents

Return to top of Chapter 7

7.4 Performance on selected computers

Return to Contents

Return to top of Chapter 7

7.5 bin2nc and extract programs (LANL POP only)

The bin2nc program accepts an input file that contains the name of a POP binary file that is to be converted to netCDF format and the metadata needed to make the netCDF file self describing. The code is invoked as bin2nc input_file, where input_file contains the following namelist:

&bin2nc_nml Description
runid id for this run-sequence
binary_file_name file to be converted
netcdf_file_name output file name; defaults to binary_file_name.nc
imax global range of i = 1:imax
jmax global range of j = 1:jmax
kmax range of k = 1:kmax
horizontal_grid_file defines lon(i,j) and lat(i,j)
vertical_grid_file defines dz(k), the thickness (cm) of the k-th layer
topography_file defines kmt(i,j), the k-index of the deepest layer at (i,j)
time-indicator time or time-interval (in days since beginning of run-sequence)

Return to Contents

Return to top of Chapter 7

7.6 Running POP on PCs with Windows NT

POP has been successfully run on a single-processor Intel PC with Windows NT. POP was built with Digital Visual Fortran 5.0 as a Win32 console application (meaning you run it with a command line in a DOS window).

The make system used for other platforms was not used on the PC. Instead, a standard Visual Studio project was created.

Source files added to the project were

In addition to the defaults, these Fortran preprocessor options needed were

To enable POP to run the test problem without stack overflow, one additional link option was needed: reserve stack memory was set to 64 MB. A lower value may be possible, but 48 MB was not enough.

The debug version required one more link option: /nodefaultlib:libc.

The release version (optimized) ran the test problem in about four minutes (262 seconds) on a 450 MHz, 256 MB Pentium II PC.

Return to Contents

Return to top of Chapter 7