A Parallel Adaptive Mesh Refinement Library for Cartesian Meshes