aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOHDF5/src/OutputSlice.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2009-12-02 14:43:06 -0800
committerBarry Wardell <barry.wardell@gmail.com>2011-12-14 16:45:20 +0000
commit56c106d5ddc2c62937a8e56cfccbdcc97ac100fb (patch)
tree3d3b0aa16b4305c5d68ee210b32c7db649c4ccca /Carpet/CarpetIOHDF5/src/OutputSlice.cc
parentb02b147eb4702b219d4cf3e2c09e0cec7aec6fa7 (diff)
CarpetIOHDF5: Allow different numbers of ghost zones on different levels
Allow different numbers of ghost zones and different spatial prolongation orders on different refinement levels. This causes incompatible changes to the checkpoint file format.
Diffstat (limited to 'Carpet/CarpetIOHDF5/src/OutputSlice.cc')
-rw-r--r--Carpet/CarpetIOHDF5/src/OutputSlice.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/Carpet/CarpetIOHDF5/src/OutputSlice.cc b/Carpet/CarpetIOHDF5/src/OutputSlice.cc
index b1698b2a1..712844b3e 100644
--- a/Carpet/CarpetIOHDF5/src/OutputSlice.cc
+++ b/Carpet/CarpetIOHDF5/src/OutputSlice.cc
@@ -39,7 +39,7 @@ namespace CarpetIOHDF5 {
// routines which are independent of the output dimension
static ibbox GetOutputBBox (const cGH* cctkGH,
int group,
- int m, int c,
+ int rl, int m, int c,
const ibbox& ext);
static void GetCoordinates (const cGH* cctkGH, int m,
@@ -548,7 +548,7 @@ namespace CarpetIOHDF5 {
if (dist::rank() == proc or dist::rank() == ioproc) {
const ibbox& data_ext = dd->boxes.at(ml).at(rl).at(c).exterior;
- const ibbox ext = GetOutputBBox (cctkGH, group, m, c, data_ext);
+ const ibbox ext = GetOutputBBox (cctkGH, group, rl, m, c, data_ext);
CCTK_REAL coord_time;
rvect coord_lower, coord_upper;
@@ -950,7 +950,7 @@ namespace CarpetIOHDF5 {
// Omit symmetry and ghost zones if requested
ibbox GetOutputBBox (const cGH* const cctkGH,
const int group,
- const int m, const int c,
+ const int rl, const int m, const int c,
const ibbox& ext)
{
DECLARE_CCTK_PARAMETERS;
@@ -984,8 +984,8 @@ namespace CarpetIOHDF5 {
ivect hi = ext.upper();
const ivect str = ext.stride();
- const b2vect obnds = vhh.at(m)->outer_boundaries(reflevel,c);
- const i2vect ghost_width = arrdata.at(group).at(m).dd->ghost_width;
+ const b2vect obnds = vhh.at(m)->outer_boundaries(rl,c);
+ const i2vect ghost_width = arrdata.at(group).at(m).dd->ghost_widths.AT(rl);
for (int d=0; d<groupdim; ++d) {
bool const output_lower_ghosts =