int ex_put_variable_names (int   exoid,
			   ex_entity_type obj_type,
			   int   num_vars,
			   char* var_names[])
{
  int varid, dimid, status; 
  char errmsg[MAX_ERR_LENGTH];

  exerrval = 0; /* clear error code */

  switch (obj_type) {
  case EX_GLOBAL:
    EX_PUT_NAMES(     "global",DIM_NUM_GLO_VAR,  VAR_NAME_GLO_VAR);
    break;
  case EX_NODAL:
    EX_PUT_NAMES(      "nodal",DIM_NUM_NOD_VAR,  VAR_NAME_NOD_VAR);
    break;
  case EX_EDGE_BLOCK:
    EX_PUT_NAMES(       "edge",DIM_NUM_EDG_VAR,  VAR_NAME_EDG_VAR);
    break;
  case EX_FACE_BLOCK:
    EX_PUT_NAMES(       "face",DIM_NUM_FAC_VAR,  VAR_NAME_FAC_VAR);
    break;
  case EX_ELEM_BLOCK:
    EX_PUT_NAMES(    "element",DIM_NUM_ELE_VAR,  VAR_NAME_ELE_VAR);
    break;
  case EX_NODE_SET:
    EX_PUT_NAMES(   "node set",DIM_NUM_NSET_VAR, VAR_NAME_NSET_VAR);
    break;
  case EX_EDGE_SET:
    EX_PUT_NAMES(   "edge set",DIM_NUM_ESET_VAR, VAR_NAME_ESET_VAR);
    break;
  case EX_FACE_SET:
    EX_PUT_NAMES(   "face set",DIM_NUM_FSET_VAR, VAR_NAME_FSET_VAR);
    break;
  case EX_SIDE_SET:
    EX_PUT_NAMES(   "side set",DIM_NUM_SSET_VAR, VAR_NAME_SSET_VAR);
    break;
  case EX_ELEM_SET:
    EX_PUT_NAMES("element set",DIM_NUM_ELSET_VAR,VAR_NAME_ELSET_VAR);
    break;
  default:
    exerrval = EX_BADPARAM;
    sprintf(errmsg,
            "Error: Invalid variable type %d specified in file id %d",
	    obj_type, exoid);
    ex_err("ex_put_var_names",errmsg,exerrval);
    return(EX_FATAL);
  }

  /* write EXODUS variable names */
  status = ex_put_names_internal(exoid, varid, num_vars, var_names, obj_type,
				 "variable", "ex_put_var_names");
  
  return(status);
}
Example #2
0
int ex_put_var_names (int   exoid,
                      const char *var_type,
                      int   num_vars,
                      char* var_names[])
{
   int i, varid; 
   long  start[2], count[2];
   char errmsg[MAX_ERR_LENGTH];
   int vartyp;

   exerrval = 0; /* clear error code */

   vartyp = tolower( *var_type );
   switch (vartyp) {
   case 'g':
     EX_PUT_NAMES(     "global",DIM_NUM_GLO_VAR,  VAR_NAME_GLO_VAR);
     break;
   case 'n':
     EX_PUT_NAMES(      "nodal",DIM_NUM_NOD_VAR,  VAR_NAME_NOD_VAR);
     break;
   case 'l':
     EX_PUT_NAMES(       "edge",DIM_NUM_EDG_VAR,  VAR_NAME_EDG_VAR);
     break;
   case 'f':
     EX_PUT_NAMES(       "face",DIM_NUM_FAC_VAR,  VAR_NAME_FAC_VAR);
     break;
   case 'e':
     EX_PUT_NAMES(    "element",DIM_NUM_ELE_VAR,  VAR_NAME_ELE_VAR);
     break;
   case 'm':
     EX_PUT_NAMES(   "node set",DIM_NUM_NSET_VAR, VAR_NAME_NSET_VAR);
     break;
   case 'd':
     EX_PUT_NAMES(   "edge set",DIM_NUM_ESET_VAR, VAR_NAME_ESET_VAR);
     break;
   case 'a':
     EX_PUT_NAMES(   "face set",DIM_NUM_FSET_VAR, VAR_NAME_FSET_VAR);
     break;
   case 's':
     EX_PUT_NAMES(   "side set",DIM_NUM_SSET_VAR, VAR_NAME_SSET_VAR);
     break;
   case 't':
     EX_PUT_NAMES("element set",DIM_NUM_ELSET_VAR,VAR_NAME_ELSET_VAR);
     break;
   default:
     exerrval = EX_BADPARAM;
     sprintf(errmsg,
            "Error: Invalid variable type %c specified in file id %d",
             *var_type, exoid);
     ex_err("ex_put_var_names",errmsg,exerrval);
     return(EX_FATAL);
   }



/* write EXODUS variable names */

   for (i=0; i<num_vars; i++)
   {
     start[0] = i;
     start[1] = 0;

     count[0] = 1;
     count[1] = strlen(var_names[i]) + 1;

     if (ncvarput (exoid, varid, start, count, (void*) var_names[i]) == -1)
     {
       exerrval = ncerr;
       sprintf(errmsg,
               "Error: failed to store variable names in file id %d",
                exoid);
       ex_err("ex_put_var_names",errmsg,exerrval);
       return (EX_FATAL);
     }
   }

   return(EX_NOERR);

}
Example #3
0
int ex_put_variable_names (int   exoid,
			   ex_entity_type obj_type,
			   int   num_vars,
			   char* var_names[])
{
  int i, varid, dimid, status; 
  size_t  start[2], count[2];
  char errmsg[MAX_ERR_LENGTH];

  exerrval = 0; /* clear error code */

  switch (obj_type) {
  case EX_GLOBAL:
    EX_PUT_NAMES(     "global",DIM_NUM_GLO_VAR,  VAR_NAME_GLO_VAR);
    break;
  case EX_NODAL:
    EX_PUT_NAMES(      "nodal",DIM_NUM_NOD_VAR,  VAR_NAME_NOD_VAR);
    break;
  case EX_EDGE_BLOCK:
    EX_PUT_NAMES(       "edge",DIM_NUM_EDG_VAR,  VAR_NAME_EDG_VAR);
    break;
  case EX_FACE_BLOCK:
    EX_PUT_NAMES(       "face",DIM_NUM_FAC_VAR,  VAR_NAME_FAC_VAR);
    break;
  case EX_ELEM_BLOCK:
    EX_PUT_NAMES(    "element",DIM_NUM_ELE_VAR,  VAR_NAME_ELE_VAR);
    break;
  case EX_NODE_SET:
    EX_PUT_NAMES(   "node set",DIM_NUM_NSET_VAR, VAR_NAME_NSET_VAR);
    break;
  case EX_EDGE_SET:
    EX_PUT_NAMES(   "edge set",DIM_NUM_ESET_VAR, VAR_NAME_ESET_VAR);
    break;
  case EX_FACE_SET:
    EX_PUT_NAMES(   "face set",DIM_NUM_FSET_VAR, VAR_NAME_FSET_VAR);
    break;
  case EX_SIDE_SET:
    EX_PUT_NAMES(   "side set",DIM_NUM_SSET_VAR, VAR_NAME_SSET_VAR);
    break;
  case EX_ELEM_SET:
    EX_PUT_NAMES("element set",DIM_NUM_ELSET_VAR,VAR_NAME_ELSET_VAR);
    break;
  default:
    exerrval = EX_BADPARAM;
    sprintf(errmsg,
            "Error: Invalid variable type %d specified in file id %d",
	    obj_type, exoid);
    ex_err("ex_put_var_names",errmsg,exerrval);
    return(EX_FATAL);
  }

  /* write EXODUS variable names */
  for (i=0; i<num_vars; i++) {
    start[0] = i;
    start[1] = 0;

    count[0] = 1;
    count[1] = strlen(var_names[i]) + 1;

    if ((status = nc_put_vara_text(exoid, varid, start, count, var_names[i])) != NC_NOERR) {
      exerrval = status;
      sprintf(errmsg,
	      "Error: failed to store variable names in file id %d",
	      exoid);
      ex_err("ex_put_var_names",errmsg,exerrval);
      return (EX_FATAL);
    }
  }
  return(EX_NOERR);
}