aboutsummaryrefslogtreecommitdiff
path: root/src/Panda/Attribute.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/Panda/Attribute.C')
-rw-r--r--src/Panda/Attribute.C38
1 files changed, 26 insertions, 12 deletions
diff --git a/src/Panda/Attribute.C b/src/Panda/Attribute.C
index 0c50f04..31947e1 100644
--- a/src/Panda/Attribute.C
+++ b/src/Panda/Attribute.C
@@ -22,17 +22,17 @@ Attribute::Attribute()
void Attribute::init(char *name)
{
- int len = strlen(name);
+ int i, len = strlen(name);
name_ = (char *)malloc(sizeof(char) * (len + 1));
- for (int i=0; i<len; i++) name_[i] = name[i];
+ for (i=0; i<len; i++) name_[i] = name[i];
name_[i] = '\0';
}
void Attribute::init(char *name, int esize, int count, void *data)
{
- int len = strlen(name);
+ int i, len = strlen(name);
name_ = (char *)malloc(sizeof(char) * (len + 1));
- for (int i=0; i<len; i++) name_[i] = name[i];
+ for (i=0; i<len; i++) name_[i] = name[i];
name_[i] = '\0';
esize_ = esize;
count_ = count;
@@ -118,12 +118,19 @@ void Attribute::read(char *fname, char *n)
MPIFS_global_obj->send_attr_schema(this, fname, READ_TIMESTEP);
MPIFS_global_obj->receive_attr_schema();
- int len = strlen(fname);
+ int i, len = strlen(fname);
char *name = (char *)malloc(sizeof(char) * (len+1));
- char *name1 = (char *)malloc(sizeof(char) * (len+6));
- for (int i=0; i<len; i++) name[i] = fname[i];
+ char *name1 = (char *)malloc(sizeof(char) * (len+16));
+ for (i=0; i<len; i++) name[i] = fname[i];
name[i] = '\0';
- sprintf(name1, "%s.%d", name, MPIFS_global_obj->my_rank(IO_NODE));
+ if (MPIFS_global_obj->app_size(IO_NODE) > 1)
+ {
+ sprintf(name1, "%s.file_%d.ieee", name, MPIFS_global_obj->my_rank(IO_NODE));
+ }
+ else
+ {
+ sprintf(name1, "%s.ieee", name);
+ }
fp = MPIFS_global_obj->open_file(name1, READ_TIMESTEP);
read_data(fp);
if (MPIFS_global_obj->am_master_io_node()) {
@@ -150,12 +157,19 @@ void Attribute::write(char *fname, char *n, int esize, int count, void *data)
MPIFS_global_obj->receive_attr_schema();
IOFile fp;
- int len = strlen(fname);
+ int i, len = strlen(fname);
char *name = (char *)malloc(sizeof(char) * (len+1));
- char *name1 = (char *)malloc(sizeof(char) * (len+6));
- for (int i=0; i<len; i++) name[i] = fname[i];
+ char *name1 = (char *)malloc(sizeof(char) * (len+16));
+ for (i=0; i<len; i++) name[i] = fname[i];
name[i] = '\0';
- sprintf(name1, "%s.%d", name, MPIFS_global_obj->my_rank(IO_NODE));
+ if (MPIFS_global_obj->app_size(IO_NODE) > 1)
+ {
+ sprintf(name1, "%s.file_%d.ieee", name, MPIFS_global_obj->my_rank(IO_NODE));
+ }
+ else
+ {
+ sprintf(name1, "%s.ieee", name);
+ }
fp = MPIFS_global_obj->open_file(name1, TIMESTEP);