@InProceedings{ding:oceanmodel,
  author = {Chris H.~Q. Ding and Yun He},
  title = {Data Organization and {I/O} in a Parallel Ocean Circulation Model},
  booktitle = {Proceedings of SC99: High Performance Networking and Computing},
  year = {1999},
  month = {November},
  publisher = {ACM Press and IEEE Computer Society Press},
  address = {Portland, OR},
  URL = {http://www.sc99.org/proceedings/papers/ding.pdf},
  keywords = {scientific application, parallel I/O, ocean modeling, climate
  modeling, pario-bib},
  comment = {They describe the approaches taken to optimize an out-of-core
  parallel ocean model simulation on parallel distributed-memory machines. The
  original code used fixed size memory windows to store the in-core portions of
  dataset on the machine. The code used the same approach for machines that had
  enough memory to store the entire data set in-core, except rather than
  reading and writing to disk, the code copied to/from ramdisk (very copy
  intensive). The new code added an option to allow the entire dataset to be
  run in-core. Another place where the code could be optimized was in the
  writing of the dataset. For computational efficiency, the data was stored in
  memory as an array U(ix,iz,iy), but other applications needed the data stored
  on disk as U(ix,iy,iz). To optimize the I/O, the new code allocated
  additional processors to gather and re-organize and write the data to disk
  (much like Salvo).}
}

