aboutsummaryrefslogtreecommitdiff
path: root/CarpetAttic
diff options
context:
space:
mode:
authorcott <>2003-12-10 13:49:00 +0000
committercott <>2003-12-10 13:49:00 +0000
commita142fa9154d6fb0cb32f442eb6b39df001c49898 (patch)
tree7ce7c1567ce5348128db61c0b628fd299089e8db /CarpetAttic
parent8b970795c0d42a103c9e0c649b19e10f5dbb179e (diff)
Fixed problems with zero-sized arrays/scalars.
darcs-hash:20031210134910-19929-33d792c63bb24c8d2da4cffcbf6c2432bf9f765b.gz
Diffstat (limited to 'CarpetAttic')
-rw-r--r--CarpetAttic/CarpetIOFlexIOCheckpoint/src/ioflexio.cc21
1 files changed, 14 insertions, 7 deletions
diff --git a/CarpetAttic/CarpetIOFlexIOCheckpoint/src/ioflexio.cc b/CarpetAttic/CarpetIOFlexIOCheckpoint/src/ioflexio.cc
index 240f1fe2b..ac9df7848 100644
--- a/CarpetAttic/CarpetIOFlexIOCheckpoint/src/ioflexio.cc
+++ b/CarpetAttic/CarpetIOFlexIOCheckpoint/src/ioflexio.cc
@@ -45,7 +45,7 @@
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/CarpetAttic/CarpetIOFlexIOCheckpoint/src/ioflexio.cc,v 1.12 2003/12/03 16:02:51 cott Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/CarpetAttic/CarpetIOFlexIOCheckpoint/src/ioflexio.cc,v 1.13 2003/12/10 14:49:10 cott Exp $";
CCTK_FILEVERSION(Carpet_CarpetIOFlexIO_ioflexio_cc);
}
@@ -189,8 +189,16 @@ namespace CarpetIOFlexIO {
//IOwriteAttribute(amrwriter->file,"name",IObase::Char,strlen(name)+1,name);
//free(name);
- const int gpdim = CCTK_GroupDimI(group);
-
+ int gpdim = CCTK_GroupDimI(group);
+
+ // need gpdim=1 if scalar (flexio wants this)
+ if(gpdim == 0)
+ if(grouptype == CCTK_SCALAR)
+ gpdim = 1;
+ else
+ CCTK_WARN(0,"Non-scalar variable with dimension 0!!!");
+
+
// Set coordinate information
CCTK_REAL lower[dim], upper[dim];
double origin[dim], delta[dim], timestep;
@@ -241,7 +249,7 @@ namespace CarpetIOFlexIO {
else
#endif
- if (verbose) CCTK_VInfo (CCTK_THORNSTRING, "GF reflevel: %d component: %d grouptype: %d",reflevel,component,grouptype);
+ //if (verbose) CCTK_VInfo (CCTK_THORNSTRING, "GF reflevel: %d component: %d grouptype: %d",reflevel,component,grouptype);
assert (var < (int)arrdata[group].data.size());
@@ -280,6 +288,7 @@ namespace CarpetIOFlexIO {
tmp->allocate (ext, 0);
+
for (comm_state<dim> state; !state.done(); state.step()) {
tmp->copy_from (state, data, ext);
}
@@ -291,10 +300,8 @@ namespace CarpetIOFlexIO {
origin[d] = (ext.lower() / ext.stride())[d];
dims[d] = (ext.shape() / ext.stride())[d];
}
- CCTK_VInfo (CCTK_THORNSTRING, "boguscheck");
- CCTK_VInfo (CCTK_THORNSTRING, "boguscheck2, dim0: %d dim1: %d dim2: %d",dims[0],dims[1],dims[2]);
- amrwriter->write (origin, dims, (void*)tmp->storage());
+ amrwriter->write (origin, dims, (void*)tmp->storage());
// dump attributes
DumpCommonAttributes(cgh,writer,request);