06 February 2013

Candidacy!

This past Monday I finally made candidacy in my graduate program.

06 December 2012

Announcing the ESIO library

I've just publicly released a scientific library called ESIO used to generate the results I've recently presented.  ESIO has been used broadly within my research group and I consider it production-ready. 

ESIO simplifies getting high throughput input and output of structured data sets using parallel HDF5. The library is written in C99 and may be used by C89 or C++ applications. A Fortran API built atop the F2003 standard ISO_C_BINDING is also available.  ESIO is LGPL software and is available from https://red.ices.utexas.edu/projects/esio/wiki.

In particular, ESIO provides:

  • Distributed IO of 1D lines, 2D planes, and 3D fields of data
  • Support for scalar-, complex-, and vector-valued data
  • Single and double precision floating point storage
  • A mechanism for storing both string and numeric metadata
  • Support for contiguous and strided in-memory data
  • Support to simplify writing restart file sequences
  • A handy esio_bench utility for performance benchmarking
  • A comprehensive regression suite
I am long, long overdue on creating a paper introducing ESIO.

APS DFD 2012 Talk Slides

Here are the slides from the talk I gave at APS DFD 2012 just before Thanksgiving:
Turbulence statistics with quantified uncertainty in cold-wall supersonic channel flow

15 July 2012

Generating the Thorn fractal in binary PGM format

While looking to test a Burg recursion implementation I'd written, I stumbled across some AR(p) test cases by Paul Bourke.  I emailed him to ask a question and, while browsing for his address, I stumbled across his material on the Thorn Fractal.  His (9.984, 7.55) image really struck me so I downloaded Paul's sample code.  Alas, it produced output in some "raw" image format that I couldn't coax ImageMagick or The GIMP into reading.  After digging around a bit, I decided to roll my own code to dump the output in binary PGM so that nearly any tool can postprocess the data.


Tada.  A grayscale version of (9.984, 7.55) created at 10000x10000, cropped, and downsampled to 1600x900 suitable for background use:


While most of the code was a one-off, I could see the PGM bits being useful again.  Feedback from anyone who knows 16-bit grayscale details well much appreciated the Thorn fractal needs nothing like 16-bits of information.  Incidentally, one could save a factor of two on the memory by using uint8_t instead of uint16_t.