77XDU2XWBUFSYA3SVNTYTVYUOGWWPUX7SDEDSYTMFICKPBZ2YOXQC
5B6D6UREX556XOAM75B3WOIGE6DT43HIS6JOVJYNXUT3FSZDUPBAC
PU3YB5FX7NK65435O3H3AHCTUDHFRW7IOARLJJ4NBFG3GTIYVLCQC
M5R6KQLXLGYSVKHVAX5AJKD6NYE6IM5Z6WVTR3BTKPJDNNKF3ARAC
722HZ7UFINNE3YKSYKP2NHZ5XEG5QQLQHSKC7PREJZR3EX6RDYUAC
WV2J4VRLSW42SGIRDLF326LLC7L2ABAMSZ3YKABS532K27U3X3CAC
ANVJBTFKJDVQBSYMHQ455IQVAOCD3YVYZLDH5K2BS67UTSF5JNBQC
FS7Q6TUHBK5WSRDC3TM6KV2BPGWATRBLDHFGEJ72BR3FRDEOC3WAC
struct ScalarGroupData : public CommonGroupData {
vector<vector<CCTK_REAL> > data; // [time level][var index]
int dimension;
int activetimelevels;
int lsh[dim];
int ash[dim];
int gsh[dim];
int nghostzones[dim];
int bbox[2*dim];
int lbnd[dim];
int ubnd[dim];
ScalarGroupData() {
dimension = -1;
activetimelevels = -1;
for (int d = 0; d < dim; d++) {
lsh[d] = -1;
ash[d] = -1;
gsh[d] = -1;
lbnd[d] = -1;
ubnd[d] = -1;
bbox[2*d] = bbox[2*d+1] = -1;
nghostzones[d] = -1;
}
}
friend YAML::Emitter &operator<<(YAML::Emitter &yaml,
const ScalarGroupData &scalargroupdata);
};
// TODO: right now this is sized for the total number of groups
vector<unique_ptr<ScalarGroupData> > scalargroupdata; // [group index]