PRINTSCRIPT; print $script_style; include "/var/www/html/core/partc"; $linkpage = <<< PRINTLINK gfdl homepage > people > cobweb homepage > people > v. balaji homepage > this page PRINTLINK; print $linkpage; // GFDL header include "/var/www/html/core/partd"; $titlepage = <<< TITLEPAGE FMS Performance notes TITLEPAGE; print $titlepage; // GFDL header include_once( '/var/lib/php/counter.inc' ); error_reporting(E_ERROR); require_once('../magpierss/rss_fetch.inc'); require_once('../magpierss/rss_utils.inc'); include "/var/www/html/core/parte"; $pagecontent = <<< ENDCONTENT

This page will attempt to provide current information on performance of various model configurations being run or being conceived at GFDL. I plan to use this to track our progress towards the goals laid out in the CM3/ESM3 planning document sent out by Tom Delworth on 14 February 2006, and hence popularly known as the "Valentine document".

The Valentine document updates the "Halloween document" from the previous model development cycle, whose succinct goal — "the ability to run four copies of the complete coupled model, each copy running at no less than 100 model years a month, using in aggregate less than half the lab's available computational cycles" — served to guide us in planning CM2 development.

Highlights from the Valentine document:

  • a required model speed of 5 years/day on 120 processors, the "120" was picked as being a "reasonable" number in the light of available processors and projected queue wait times. I personally would prefer the Halloween method of phrasing in terms of a fraction of available compute cycles rather than a fixed PE count.
  • a Stream 1 model with a functional ESM (interactive carbon cycle spanning multiple components) at resolutions comparable to CM2.
  • a Stream 2 model with double the resolution in the atmosphere (M90 or equivalent cube-sphere) for SI studies initially, and as the workhorse if performance meets the guidelines above;
  • a Stream 3 model with atmospheric resolutions as in Stream 2, and 4X the resolution in the ocean along each horizontal axis.

We do not regard the Valentine numbers as cast in stone, but providing guidance.

Other points to note:

  • Choices of model components are still not done. For the atmosphere, still have the FV-classic-with-PSETs and FV-cube-sphere as candidate dycores.
  • For the ocean, MOM4p0, MOM4p1, HIMF and the "GOLD" models are still on the table
  • physics choices in the atmospheric physics component AM3 are narrowing: in particular we seem to be converging towards the choice of 48 vertical levels, double the current;
  • For land, LM3 based on the SHE core is rapidly coming up to speed, but is unlikely to play a role in performance. However, code issues related to generalizing the grid have still not been addressed.
  • For sea ice, SIS is stable code and is also unlikely to have a significant impact on performance.
Model name Components PE count model years/day notes
CM2.1 FV-PSET+AM2:M45L24, MOM4p0:OM3 120 12 |
ESM2.1 FV-PSET+AM2:M45L24, MOM4p0:OM3, GOB 120 7 "Stream1.0"
AM3 FV-PSET+AM3:M45L48 180 2.7 6 PSETs
OM3p25 MOM4p0:OM3p25 400 >3 Stream3-like with old dycore

More elaborate data will follow. For the moment please note the following:

  • the cube-sphere numbers aren't ready to report yet.
  • Coupled model configurations will run no faster overall than their components, of course, but also likely with the same throughput on a larger PE count: this is because we run in concurrent mode. In particular, Stream 1 will run no better than AM3.
  • similarly Stream 3 will run no better than the corresponding ocean core at p25 resolution.
ENDCONTENT; print $pagecontent; $subj = 'FMS'; $url = 'http://www.gfdl.noaa.gov/~vb/weblogs/journal2009.rdf'; $rss = fetch_rss($url); if( $rss ) { echo "\n"; foreach ($rss->items as $item) { $href = $item['link']; $title = $item['title']; if ( preg_match( "/\b$subj\b/i", $title ) ) { echo "\n"; } } } $url = 'http://www.gfdl.noaa.gov/~vb/weblogs/journal2008.rdf'; $rss = fetch_rss($url); if( $rss ) { echo "\n"; foreach ($rss->items as $item) { $href = $item['link']; $title = $item['title']; if ( preg_match( "/\b$subj\b/i", $title ) ) { echo "\n"; } } } $url = 'http://www.gfdl.noaa.gov/~vb/weblogs/journal2007.rdf'; $rss = fetch_rss($url); if( $rss ) { echo "\n"; foreach ($rss->items as $item) { $href = $item['link']; $title = $item['title']; if ( preg_match( "/\b$subj\b/i", $title ) ) { echo "\n"; } } } $pagecontent = <<
emacs-muse-mode created by v. balaji (balaji@princeton.edu) in emacs using the emacs-muse mode.
ENDCONTENT; print $pagecontent; print "last modified: ". date( "d F Y", getlastmod() ); print "
this page visited: ".getCount(). " times "; include "/var/www/html/core/partf"; include "/var/www/html/core/partg";