This is a brief report of memory size requirements for HadCM3.
These are virtual size figures for various parallel configurations of the model. They are obtained by watching output from "top" command, and are a maximum over time (the memory usage varies with time because some subroutines have more dynamically allocated arrays than others; memory usage is greatest during the ocean sub-model), and relate to PE0 (marginally greater than for the other PEs).
They should be treated as approximate.
HadCM3 64-bit, stash on (reasonably full set of diags) 16 Proc 162 MB 8 Proc 180 MB 4 Proc 270 MB (*) 2 Proc 420 MB 1 Proc 766 MB HadCM3 64-bit, stash off 16 Proc 96 MB 4 Proc 127 MB 1 Proc 214 MB HadCM3 32-bit (stash on, as above) 16 proc 88 MB 8 proc 118 MB 4 proc 155 MB 2 proc 231 MB 1 proc 400 MB
Note: it is not disastrous to exceed physical memory by a small amount. This is because the virtual size includes static arrays for both atmos and ocean model (as well as the maximum size of dynamic arrays). The static arrays for the currently inactive sub-model are swapped out, but this swapping only need happen twice per coupling period. For example, two copies of the 270MB code (marked (*) above), plus maybe a few tens of MB for the operating system, running on a dual-processor shared-memory node with 512MB physical RAM do not show any obvious performance hit on scaling benchmark curves. But the 2-proc, 420MB, equivalent is very slow on the same hardware, presumably because swapping is within an inner loop.