2
* Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
3
* DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
4
* retains certain rights in this software.
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions are
10
* * Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
18
* * Neither the name of Sandia Corporation nor the names of its
19
* contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
/*****************************************************************************
37
* exgvp - ex_get_variable_param
41
* int exoid exodus file id
42
* int obj_type variable type
45
* int* num_vars number of variables in database
49
* $Id: exgvarparam.c,v 1.1 2010-01-06 16:33:38 kwleiter Exp $
51
*****************************************************************************/
54
#include "exodusII_int.h"
59
* reads the number of global, nodal, or element variables that are
60
* stored in the database
63
int ex_get_variable_param (int exoid,
64
ex_entity_type obj_type,
69
char errmsg[MAX_ERR_LENGTH];
73
exerrval = 0; /* clear error code */
78
dnumvar = DIM_NUM_GLO_VAR;
81
dnumvar = DIM_NUM_NOD_VAR;
84
dnumvar = DIM_NUM_EDG_VAR;
87
dnumvar = DIM_NUM_FAC_VAR;
90
dnumvar = DIM_NUM_ELE_VAR;
93
dnumvar = DIM_NUM_NSET_VAR;
96
dnumvar = DIM_NUM_ESET_VAR;
99
dnumvar = DIM_NUM_FSET_VAR;
102
dnumvar = DIM_NUM_SSET_VAR;
105
dnumvar = DIM_NUM_ELSET_VAR;
108
exerrval = EX_BADPARAM;
110
"Warning: invalid variable type %d requested from file id %d",
112
ex_err("ex_get_var_param",errmsg,exerrval);
116
if ((status = nc_inq_dimid (exoid, dnumvar, &dimid)) != NC_NOERR) {
118
if (status == NC_EBADDIM)
119
return(EX_NOERR); /* no global variables defined */
123
"Error: failed to locate %s variable names in file id %d",
124
ex_name_of_object(obj_type),exoid);
125
ex_err("ex_get_var_param",errmsg,exerrval);
130
if ((status = nc_inq_dimlen(exoid, dimid, &dimlen)) != NC_NOERR) {
133
"Error: failed to get number of %s variables in file id %d",
134
ex_name_of_object(obj_type),exoid);
135
ex_err("ex_get_var_param",errmsg,exerrval);