3I2VE3RJ4E4WZZSUGJKOMHP2FKOAZA6SLVMVYE3B54SZCYXGIU4QC
JN2TPHENEBIY2OE5FRCQ2E6QCL6FPVHJHUCP4UODD6DITRVV2LIQC
BPRNUTY7MHK7LK4EY5MY5OFFG3ABOL7LWXD574L35M74YSQPULFAC
722HZ7UFINNE3YKSYKP2NHZ5XEG5QQLQHSKC7PREJZR3EX6RDYUAC
BJDGFYBMECTJG7BHLNHLSCUCBVYHAY6OGY37FIJP6JDGNDXQNQVAC
KCIWCVZOHG44WBOLKI2XK33WPHPRI5FWCETF4AOGTPZISKCW3CLQC
R6B5YHARRV34JO6W4GAWBOQ4BW5H6VEKXWMVKJKPWC7MUO4ZYZVQC
UZAKARMGORRQG733ZUPJOEGL5FG243I32NCC2SRSFDCZKUQ5A52QC
BVR7DVINVPQG7PA6Z7QYVYNQ43YZL7XCC6AOMSMWMGAAB2Q43STAC
M5R6KQLXLGYSVKHVAX5AJKD6NYE6IM5Z6WVTR3BTKPJDNNKF3ARAC
GCJJ35BFUTRWJGWOVVMYNOSXEELH6YYX7FW4XL6QWPUD63TAL5NQC
groupdata.valid.at(tl).resize(groupdata.numvars);
for (int vi = 0; vi < groupdata.numvars; ++vi) {
groupdata.valid.at(tl).at(vi).set(valid_t(false),
[] { return "SetupLevel"; });
groupdata.valid.at(tl).resize(groupdata.numvars,
why_valid_t([] { return "SetupLevel"; }));
for (int vi = 0; vi < groupdata.numvars; ++vi)
why_valid_t() : why_valid_t([] { return "<unknown reason>"; }) {}
// The constructor that doesn't give a reason should never be called. We need
// to define it because several container types require such a constructor.
why_valid_t() : why_valid_t([] { return "<unknown reason>"; }) { assert(0); }
unique_ptr<MultiFab> tmp = move(groupdata.mfab.at(ntls - 1));
for (int tl = ntls - 1; tl > 0; --tl)
groupdata.mfab.at(tl) = move(groupdata.mfab.at(tl - 1));
auto tmp_valid = move(groupdata.valid.at(ntls - 1));
for (int tl = ntls - 1; tl > 0; --tl)
groupdata.valid.at(tl) = move(groupdata.valid.at(tl - 1));
groupdata.valid.at(0) = move(tmp_valid);
rotate(groupdata.mfab.begin(), groupdata.mfab.end() - 1,
groupdata.mfab.end());
rotate(groupdata.valid.begin(), groupdata.valid.end() - 1,
groupdata.valid.end());
auto tmp = move(scalargroupdata.data.at(ntls - 1));
for (int tl = ntls - 1; tl > 0; --tl)
scalargroupdata.data.at(tl) = scalargroupdata.data.at(tl - 1);
scalargroupdata.data.at(0) = tmp;
auto tmp_valid = move(scalargroupdata.valid.at(ntls - 1));
for (int tl = ntls - 1; tl > 0; --tl)
scalargroupdata.valid.at(tl) = move(scalargroupdata.valid.at(tl - 1));
scalargroupdata.valid.at(0) = move(tmp_valid);
rotate(scalargroupdata.data.begin(), scalargroupdata.data.end() - 1,
scalargroupdata.data.end());
rotate(scalargroupdata.valid.begin(), scalargroupdata.valid.end() - 1,
scalargroupdata.valid.end());