aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortradke <tradke@0337457d-221f-4ee6-a5f0-14255d5370d8>2004-05-01 21:14:18 +0000
committertradke <tradke@0337457d-221f-4ee6-a5f0-14255d5370d8>2004-05-01 21:14:18 +0000
commit44e8c67c732b5b6ba4e2f0d14a8b4f2975fe6b9c (patch)
treeeb033d85b4be544256ac3e82359cdd3876149948
parentfbc29172b777426420f3285f7f1bcf2c2c65bf13 (diff)
Grid array variables don't have a default coordinate system associated with them.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/CoordBase/trunk@12 0337457d-221f-4ee6-a5f0-14255d5370d8
-rw-r--r--src/CoordBase.c369
1 files changed, 149 insertions, 220 deletions
diff --git a/src/CoordBase.c b/src/CoordBase.c
index eb3c777..dbbdc7f 100644
--- a/src/CoordBase.c
+++ b/src/CoordBase.c
@@ -1,11 +1,11 @@
/*@@
- @file CoordBase.c
- @date 23 July 2003
- @author Gabrielle Allen and David Rideout
- @desc
- Functions which implement the coordinate API.
+ @file CoordBase.c
+ @date 23 July 2003
+ @author Gabrielle Allen and David Rideout
+ @desc
+ Functions which implement the coordinate API.
@enddesc
- @version $Header$
+ @version $Id$
@@*/
#include <string.h>
@@ -47,10 +47,7 @@ static int longest_systemname=0;
@enddesc
@calls CCTK_GHExtension, Util_HashData, CCTK_VWarn, Util_TableCreate,
Util_TableSetString, Util_TableSetInt, Util_HashAdd
- @calledby
- @history
- @endhistory
@var GH
@vdesc cctkGH *
@vtype CCTK_POINTER_TO_CONST
@@ -80,16 +77,14 @@ static int longest_systemname=0;
@endreturndesc
@@*/
-CCTK_INT Coord_SystemRegister(CCTK_POINTER_TO_CONST GH, CCTK_INT dim,
- CCTK_STRING systemname)
+CCTK_INT Coord_SystemRegister(CCTK_POINTER_TO_CONST GH, CCTK_INT dim,
+ CCTK_STRING systemname)
{
- int ierr;
int retval;
int *systemhandle_ptr;
int systemname_length;
const coordbaseGH *GHex;
uHash *hash;
- void *perr;
/* Initialize variables */
retval = 0;
@@ -106,7 +101,7 @@ CCTK_INT Coord_SystemRegister(CCTK_POINTER_TO_CONST GH, CCTK_INT dim,
else
{
/* Get coordinate system name / handle hash table from GH Extension */
- GHex = (const coordbaseGH *) CCTK_GHExtension(GH,"CoordBase");
+ GHex = CCTK_GHExtension(GH,"CoordBase");
hash = GHex->coordsystems;
/* Has a coordinate system of this name already been registered? */
@@ -115,18 +110,17 @@ CCTK_INT Coord_SystemRegister(CCTK_POINTER_TO_CONST GH, CCTK_INT dim,
{
longest_systemname = systemname_length+1;
}
- perr = Util_HashData(hash, systemname_length, systemname, 0);
- if (perr!=NULL)
+ if (Util_HashData(hash, systemname_length, systemname, 0))
{
CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING,
- "Coordinate system %s already registered",systemname);
+ "Coordinate system %s already registered",systemname);
retval = COORDERROR_SYSTEMEXISTS;
}
}
-
+
if (retval == 0)
{
-
+
/* Now make a table for this system */
systemhandle_ptr = (int *) malloc(sizeof(int));
*systemhandle_ptr = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE);
@@ -141,35 +135,25 @@ CCTK_INT Coord_SystemRegister(CCTK_POINTER_TO_CONST GH, CCTK_INT dim,
}
/* Add coordinate system name */
- ierr = Util_TableSetString(*systemhandle_ptr, systemname, "NAME");
- if (ierr < 0)
+ if (Util_TableSetString(*systemhandle_ptr, systemname, "NAME") < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING,
- "Error %d when writing coordinate system name to table",
- ierr);
+ CCTK_WARN(0, "Internal error when writing coordinate system name to table");
retval = COORDERROR_TABLEERROR;
}
/* Add dimension information */
- Util_TableSetInt(*systemhandle_ptr, dim, "DIMENSION");
- if (ierr < 0)
+ if (Util_TableSetInt(*systemhandle_ptr, dim, "DIMENSION") < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING,
- "Error %d when writing coordinate system dimension to table",
- ierr);
+ CCTK_WARN(0, "Internal error when writing coordinate system dimension to table");
retval = COORDERROR_TABLEERROR;
}
/* Register it with the Coordinate GH Extension */
- ierr = Util_HashAdd(hash, systemname_length, systemname, 0,
- (void *) systemhandle_ptr);
- if (ierr < 0)
+ if (Util_HashAdd(hash, systemname_length, systemname, 0, systemhandle_ptr) < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING,
- "Error %d when storing coordinate system handle",
- ierr);
+ CCTK_WARN(0, "Internal error when storing coordinate system handle");
retval = COORDERROR_TABLEERROR;
- }
+ }
}
return retval;
@@ -180,26 +164,23 @@ CCTK_INT Coord_SystemRegister(CCTK_POINTER_TO_CONST GH, CCTK_INT dim,
@routine Coord_SystemHandle
@date 24 July 2003
@author Gabrielle Allen and David Rideout
- @desc
+ @desc
Returns the coordinate system handle for a given name.
- @enddesc
+ @enddesc
@calls CCTK_GHExtension, Util_HashData
- @calledby
- @history
-
- @endhistory
+
@var GH
@vdesc cctkGH *
@vtype CCTK_POINTER_TO_CONST
@vio in
- @vcomment
- @endvar
+ @vcomment
+ @endvar
@var systemname
@vdesc coordinate system name
@vtype CCTK_STRING
@vio in
- @vcomment
- @endvar
+ @vcomment
+ @endvar
@returntype int
@returndesc
@@ -216,7 +197,7 @@ CCTK_INT Coord_SystemHandle(CCTK_POINTER_TO_CONST GH, CCTK_STRING systemname)
uHash *hash;
/* Get coordinate system name / handle hash table from GH Extension */
- GHex = (const coordbaseGH *) CCTK_GHExtension(GH,"CoordBase");
+ GHex = CCTK_GHExtension(GH,"CoordBase");
hash = GHex->coordsystems;
/* Get coordinate handle from hash table */
@@ -225,15 +206,9 @@ CCTK_INT Coord_SystemHandle(CCTK_POINTER_TO_CONST GH, CCTK_STRING systemname)
{
retval = COORDERROR_NOSYSTEM;
}
- else
+ else
{
- if (*handle_ptr<0)
- {
- retval = COORDERROR_TABLEERROR;
- } else
- {
- retval = *handle_ptr;
- }
+ retval = *handle_ptr >= 0 ? *handle_ptr : COORDERROR_TABLEERROR;
}
return retval;
@@ -248,11 +223,8 @@ CCTK_INT Coord_SystemHandle(CCTK_POINTER_TO_CONST GH, CCTK_STRING systemname)
@enddesc
@calls Util_TableGetInt, CCTK_VWarn, Util_TableGetIntArray,
Util_TableSetIntArray, Util_TableGetString, Util_StrCmpi,
- Util_TableCreate, Util_TableSetInt, Util_TableSetString
- @calledby
- @history
+ Util_TableCreate, Util_TableSetInt, Util_TableSetString
- @endhistory
@var GH
@vdesc cctkGH *
@vtype CCTK_POINTER_TO_CONST
@@ -292,12 +264,11 @@ CCTK_INT Coord_SystemHandle(CCTK_POINTER_TO_CONST GH, CCTK_STRING systemname)
@@*/
CCTK_INT Coord_CoordRegister(CCTK_POINTER_TO_CONST GH,
- CCTK_INT systemhandle,
+ CCTK_INT systemhandle,
CCTK_INT direction,
- CCTK_STRING coordname)
+ CCTK_STRING coordname)
{
int coordinate_handle;
- int ierr;
CCTK_INT system_dimension;
CCTK_INT *coordinate_tables;
CCTK_INT i;
@@ -310,12 +281,10 @@ CCTK_INT Coord_CoordRegister(CCTK_POINTER_TO_CONST GH,
/* Check input arguments */
/* Get coordinate system dimension, and check for valid systemhandle */
- ierr = Util_TableGetInt(systemhandle, &system_dimension,
- "DIMENSION");
- if (ierr<0)
+ if (Util_TableGetInt(systemhandle, &system_dimension,"DIMENSION") < 0)
{
CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Invalid system handle "
- "%d", systemhandle);
+ "%d", systemhandle);
coordinate_handle = COORDERROR_INVALIDHANDLE;
}
@@ -323,60 +292,55 @@ CCTK_INT Coord_CoordRegister(CCTK_POINTER_TO_CONST GH,
if (direction<1 || direction>system_dimension)
{
CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Invalid 'direction'. "
- "It but be an integer from 1 to the coordinate system "
- "dimension %d.", system_dimension);
+ "It but be an integer from 1 to the coordinate system "
+ "dimension %d.", system_dimension);
coordinate_handle = COORDERROR_INVALIDDIM;
}
/* Get coordinate tables from system table */
- coordinate_tables = (CCTK_INT *) malloc(system_dimension*sizeof(CCTK_INT));
- ierr = Util_TableGetIntArray(systemhandle, system_dimension,
- coordinate_tables, "COORDINATES");
- if (ierr<0)
+ coordinate_tables = malloc(system_dimension*sizeof(CCTK_INT));
+ if (Util_TableGetIntArray(systemhandle, system_dimension,
+ coordinate_tables, "COORDINATES") < 0)
{
/* The only possibility is that this is a bad key, so add this entry */
for (i=0; i<system_dimension; ++i)
{
coordinate_tables[i] = -1;
}
- ierr = Util_TableSetIntArray(systemhandle, system_dimension,
- coordinate_tables, "COORDINATES");
- if (ierr<0)
+ if (Util_TableSetIntArray(systemhandle, system_dimension,coordinate_tables,
+ "COORDINATES") < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, "Error adding "
- "coordinate tables to system table");
+ CCTK_WARN(0, "Error adding coordinate tables to system table");
coordinate_handle = COORDERROR_TABLEERROR;
}
- }
+ }
/* Has a coordinate been registered for this 'direction'? */
if (coordinate_tables[direction-1]>=0)
{
CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Coordinate already "
- "registered for 'direction' %d", direction);
+ "registered for 'direction' %d", direction);
coordinate_handle = COORDERROR_COORDINATEEXISTS;
}
/* Has this coordinate name been used already in this system? */
- coordname_buffer = (char *) malloc((longest_coordname)*sizeof(char));
+ coordname_buffer = malloc(longest_coordname*sizeof(char));
for (i=0; i<system_dimension; ++i)
{
if (coordinate_tables[i]>=0)
{
- ierr = Util_TableGetString(coordinate_tables[i], longest_coordname,
- coordname_buffer, "NAME");
- if (ierr<0)
+ if (Util_TableGetString(coordinate_tables[i], longest_coordname,
+ coordname_buffer, "NAME") < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, "Error reading "
- "coordinate name from its table");
- coordinate_handle = COORDERROR_TABLEERROR;
- }
+ CCTK_WARN(0, "Error reading coordinate name from its table");
+ coordinate_handle = COORDERROR_TABLEERROR;
+ }
else if (Util_StrCmpi(coordname_buffer, coordname)==0)
{
- CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Coordinate named %s "
- "is already registered for this system", coordname_buffer);
- coordinate_handle = COORDERROR_DUPLICATENAME;
- break;
+ CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Coordinate named %s "
+ "is already registered for this system", coordname_buffer);
+ coordinate_handle = COORDERROR_DUPLICATENAME;
+ break;
}
}
}
@@ -384,7 +348,6 @@ CCTK_INT Coord_CoordRegister(CCTK_POINTER_TO_CONST GH,
/* Everything checks out */
if (coordinate_handle==0)
{
-
/* Is this coordinate name the longest yet? */
if (strlen(coordname)+1 > longest_coordname)
{
@@ -395,28 +358,23 @@ CCTK_INT Coord_CoordRegister(CCTK_POINTER_TO_CONST GH,
coordinate_handle = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE);
if (coordinate_handle < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, "Could not create "
- "coordinate table");
+ CCTK_WARN(0, "Could not create coordinate table");
coordinate_handle = COORDERROR_TABLEERROR;
- }
- ierr = Util_TableSetInt(coordinate_handle, systemhandle, "SYSTEM");
- ierr += Util_TableSetString(coordinate_handle, coordname, "NAME");
- ierr += Util_TableSetInt(coordinate_handle, direction, "DIRECTION");
- if (ierr<0)
+ }
+ if (Util_TableSetInt(coordinate_handle, systemhandle, "SYSTEM") < 0 ||
+ Util_TableSetString(coordinate_handle, coordname, "NAME") < 0 ||
+ Util_TableSetInt(coordinate_handle, direction, "DIRECTION") < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, "Error writing to"
- "coordinate table");
+ CCTK_WARN(0, "Error writing to coordinate table");
coordinate_handle = COORDERROR_TABLEERROR;
}
/* Register coordinate table with system table */
coordinate_tables[direction-1] = coordinate_handle;
- ierr = Util_TableSetIntArray(systemhandle, system_dimension,
- coordinate_tables, "COORDINATES");
- if (ierr<0)
+ if (Util_TableSetIntArray(systemhandle, system_dimension,
+ coordinate_tables, "COORDINATES") < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, "Error writing "
- "coordinate table to system table");
+ CCTK_WARN(0, "Error writing coordinate table to system table");
coordinate_handle = COORDERROR_TABLEERROR;
}
}
@@ -431,63 +389,58 @@ CCTK_INT Coord_CoordRegister(CCTK_POINTER_TO_CONST GH,
@routine Coord_CoordHandle
@date 25 July 2003
@author Gabrielle Allen and David Rideout
- @desc
- Returns the coordinate handle for a given coordinate name and
- system name
- @enddesc
- @calls CCTK_GHExtension, Util_HashData, CCTK_WARN, Util_TableGetInt,
- Util_TableGetIntArray, Util_TableGetString, CCTK_VWarn,
- Util_StrCmpi
- @calledby
- @history
-
- @endhistory
+ @desc
+ Returns the coordinate handle for a given coordinate name and
+ system name
+ @enddesc
+ @calls CCTK_GHExtension, Util_HashData, CCTK_WARN, Util_TableGetInt,
+ Util_TableGetIntArray, Util_TableGetString, Util_StrCmpi
+
@var GH
@vdesc cctkGH *
@vtype CCTK_POINTER_TO_CONST
@vio in
- @vcomment
- @endvar
+ @vcomment
+ @endvar
@var coordname
@vdesc coordinate name
@vtype CCTK_STRING
@vio in
- @vcomment
- @endvar
+ @vcomment
+ @endvar
@var systemname
@vdesc coordinate system name
@vtype CCTK_STRING
@vio in
- @vcomment
- @endvar
+ @vcomment
+ @endvar
@returntype int
@returndesc
coordinate table handle, or:
COORDERROR_NOSYSTEM no coordinate system of this name is registered
COORDERROR_TABLEERROR error from hash table
- COORDERROR_NOSUCHCOORD no coordinate of the name is registered for this
+ COORDERROR_NOSUCHCOORD no coordinate of the name is registered for this
system
@endreturndesc
@@*/
CCTK_INT Coord_CoordHandle(CCTK_POINTER_TO_CONST GH,
- CCTK_STRING coordname,
- CCTK_STRING systemname)
+ CCTK_STRING coordname,
+ CCTK_STRING systemname)
{
int coord_handle;
int *system_handle_ptr;
CCTK_INT system_dimension;
CCTK_INT *coordinate_table_handles;
int coordname_length;
- int ierr;
int i;
const coordbaseGH *GHex;
uHash *hash;
char *coordname_buffer;
/* Get coordinate system name / handle hash table from GH Extension */
- GHex = (const coordbaseGH *) CCTK_GHExtension(GH,"CoordBase");
+ GHex = CCTK_GHExtension(GH,"CoordBase");
hash = GHex->coordsystems;
/* Get system table handle */
@@ -497,56 +450,46 @@ CCTK_INT Coord_CoordHandle(CCTK_POINTER_TO_CONST GH,
CCTK_WARN(1, "No such coordinate system registered");
coord_handle = COORDERROR_NOSYSTEM;
}
-
- if (system_handle_ptr)
+ else
{
-
/* Get system dimension */
- ierr = Util_TableGetInt(*system_handle_ptr, &system_dimension,
- "DIMENSION");
- if (ierr<0)
+ if (Util_TableGetInt(*system_handle_ptr, &system_dimension,"DIMENSION") < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, "Error reading "
- "dimension from system table");
+ CCTK_WARN(0, "Error reading dimension from system table");
coord_handle = COORDERROR_TABLEERROR;
}
/* Get coordinate table handle */
- coordinate_table_handles =
- (CCTK_INT *) malloc(system_dimension*sizeof(CCTK_INT));
- ierr = Util_TableGetIntArray(*system_handle_ptr, system_dimension,
- coordinate_table_handles, "COORDINATES");
- if (ierr<0)
+ coordinate_table_handles = malloc(system_dimension*sizeof(CCTK_INT));
+ if (Util_TableGetIntArray(*system_handle_ptr, system_dimension,
+ coordinate_table_handles, "COORDINATES") < 0)
{
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, "Error reading "
- "coordinate tables from system table");
+ CCTK_WARN(0, "Error reading coordinate tables from system table");
coord_handle = COORDERROR_TABLEERROR;
}
/* Search for coordname */
coordname_length = strlen(coordname)+1;
- coordname_buffer = (char *) malloc(coordname_length*sizeof(char));
+ coordname_buffer = malloc(coordname_length*sizeof(char));
for (i=0; i<system_dimension; ++i)
{
if (coordinate_table_handles[i]>=0)
{
- ierr = Util_TableGetString(coordinate_table_handles[i],
- coordname_length, coordname_buffer, "NAME");
- if (ierr<0)
- {
- CCTK_VWarn(0,__LINE__,__FILE__,CCTK_THORNSTRING, "Error reading "
- "coordinate name");
- coord_handle = COORDERROR_TABLEERROR;
- }
- else if (Util_StrCmpi(coordname_buffer, coordname)==0)
- {
- coord_handle = coordinate_table_handles[i];
- break;
- }
+ if (Util_TableGetString(coordinate_table_handles[i],
+ coordname_length, coordname_buffer, "NAME") < 0)
+ {
+ CCTK_WARN(0, "Error reading coordinate name");
+ coord_handle = COORDERROR_TABLEERROR;
+ }
+ else if (Util_StrCmpi(coordname_buffer, coordname)==0)
+ {
+ coord_handle = coordinate_table_handles[i];
+ break;
+ }
}
if (i==system_dimension-1)
{
- coord_handle = COORDERROR_NOSUCHCOORD;
+ coord_handle = COORDERROR_NOSUCHCOORD;
}
}
@@ -560,17 +503,14 @@ CCTK_INT Coord_CoordHandle(CCTK_POINTER_TO_CONST GH,
@routine Coord_GroupSystem
@date 28 July 2003
@author David Rideout
- @desc
- Returns the coordinate system handle associated with a group of
+ @desc
+ Returns the coordinate system handle associated with a group of
grid variables
- @enddesc
- @calls CCTK_GroupTagsTable, CCTK_VWarn, Util_TableGetString,
- Coord_SystemHandle, CCTK_GHExtension, CCTK_GroupIndex,
- CCTK_GroupDimI
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls CCTK_GroupTagsTable, CCTK_VWarn, Util_TableGetString,
+ Coord_SystemHandle, CCTK_GHExtension, CCTK_GroupIndex,
+ CCTK_GroupDimI
+
@var GH
@vdesc cctkGH *
@vtype CCTK_POINTER_TO_CONST
@@ -593,16 +533,14 @@ CCTK_INT Coord_CoordHandle(CCTK_POINTER_TO_CONST GH,
@endreturndesc
@@*/
-CCTK_INT Coord_GroupSystem(CCTK_POINTER_TO_CONST GH,
- CCTK_STRING groupname)
+CCTK_INT Coord_GroupSystem(CCTK_POINTER_TO_CONST GH,
+ CCTK_STRING groupname)
{
int system_handle;
int group_tags_table;
- int ierr;
int gindex; /* group index */
int gdim; /* group dimension */
const coordbaseGH *GHex;
- int *default_coord_systems;
char *system_name;
system_handle = -9999;
@@ -612,45 +550,43 @@ CCTK_INT Coord_GroupSystem(CCTK_POINTER_TO_CONST GH,
if (group_tags_table < 0)
{
CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Invalid group name %s",
- groupname);
+ groupname);
system_handle = COORDERROR_INVALIDGROUPNAME;
}
else
{
/* Get associated coordinate system */
- system_name = (char *) malloc(longest_systemname*sizeof(char));
- ierr = Util_TableGetString(group_tags_table, longest_systemname,
- system_name, "COORDSYSTEM");
- if (ierr>=0)
+ system_name = malloc(longest_systemname*sizeof(char));
+ if (Util_TableGetString(group_tags_table, longest_systemname,
+ system_name, "COORDSYSTEM") >= 0)
{
system_handle = Coord_SystemHandle(GH, system_name);
if (system_handle < 0)
{
- CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Coordinate system "
- "%s associated with group %s does not exist", system_name,
- groupname);
- system_handle = COORDERROR_INVALIDNAME;
+ CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Coordinate system "
+ "%s associated with group %s does not exist", system_name,
+ groupname);
+ system_handle = COORDERROR_INVALIDNAME;
}
}
- if (system_handle == -9999)
+ /* Check for a default for all GF variables of this dimension */
+ gindex = CCTK_GroupIndex(groupname);
+ assert(gindex>=0);
+ if (system_handle == -9999 && CCTK_GroupTypeI(gindex) == CCTK_GF)
{
- /* Check for a default for all variables of this dimension */
- GHex = (const coordbaseGH *) CCTK_GHExtension(GH,"CoordBase");
- default_coord_systems = GHex->default_coord_systems;
- assert(default_coord_systems);
- gindex = CCTK_GroupIndex(groupname);
- assert(gindex>=0);
+ GHex = CCTK_GHExtension(GH,"CoordBase");
+ assert(GHex && GHex->default_coord_systems);
gdim = CCTK_GroupDimI(gindex);
assert(gdim>0);
- if ((system_handle = default_coord_systems[gdim-1]) < 0)
+ if ((system_handle = GHex->default_coord_systems[gdim-1]) < 0)
{
- CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "No coordinate "
- "system is associated with group %s", groupname);
- system_handle = COORDERROR_NOCOORDSYS;
+ CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "No coordinate "
+ "system is associated with group %s", groupname);
+ system_handle = COORDERROR_NOCOORDSYS;
}
}
- free(system_name);
+ free(system_name);
}
return system_handle;
@@ -660,16 +596,13 @@ CCTK_INT Coord_GroupSystem(CCTK_POINTER_TO_CONST GH,
@routine Coord_SetDefaultSystem
@date 28 July 2003
@author David Rideout
- @desc
- Set this coordinate system to be the default for grid functions
+ @desc
+ Set this coordinate system to be the default for grid functions
of the same dimension
- @enddesc
- @calls CCTK_GHExtension, Coord_SystemHandle, CCTK_VWarn,
+ @enddesc
+ @calls CCTK_GHExtension, Coord_SystemHandle, CCTK_VWarn,
Util_TableGetInt
- @calledby
- @history
- @endhistory
@var GH
@vdesc cctkGH *
@vtype CCTK_POINTER_TO_CONST
@@ -686,19 +619,17 @@ CCTK_INT Coord_GroupSystem(CCTK_POINTER_TO_CONST GH,
@returntype int
@returndesc
coordinate system handle, or
- COORDERROR_INVALIDNAME no coordinate system of this name has been
+ COORDERROR_INVALIDNAME no coordinate system of this name has been
registered
COORDERROR_NODIMENSION coordinate system does not have a valid dimension
- COORDERROR_DEFAULTEXISTS grid variables of this dimension already have a
+ COORDERROR_DEFAULTEXISTS grid variables of this dimension already have a
default coordinate system registered
@endreturndesc
@@*/
-CCTK_INT Coord_SetDefaultSystem(CCTK_POINTER_TO_CONST GH,
- CCTK_STRING systemname)
+CCTK_INT Coord_SetDefaultSystem(CCTK_POINTER_TO_CONST GH,
+ CCTK_STRING systemname)
{
- int ierr;
- int *default_coord_systems;
int system_handle;
CCTK_INT system_dimension;
int retval;
@@ -708,49 +639,47 @@ CCTK_INT Coord_SetDefaultSystem(CCTK_POINTER_TO_CONST GH,
#endif
/* Retrieve array from GH extension */
- GHex = (const coordbaseGH *) CCTK_GHExtension(GH,"CoordBase");
- default_coord_systems = GHex->default_coord_systems;
+ GHex = CCTK_GHExtension(GH,"CoordBase");
/* Get coordinate system handle */
system_handle = Coord_SystemHandle(GH, systemname);
if (system_handle<0)
{
CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Invalid system name "
- "%s", systemname);
+ "%s", systemname);
retval = COORDERROR_INVALIDNAME;
}
else
{
/* Get system dimension */
- ierr = Util_TableGetInt(system_handle, &system_dimension, "DIMENSION");
- if (ierr<0)
+ if (Util_TableGetInt(system_handle, &system_dimension, "DIMENSION") < 0)
{
CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "System %s does not "
- "have a registered dimension", systemname);
+ "have a registered dimension", systemname);
retval = COORDERROR_NODIMENSION;
}
else
{
/* Set the default for this dimension */
- if (default_coord_systems[system_dimension-1]>=0)
+ if (GHex->default_coord_systems[system_dimension-1]>=0)
{
- CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Default coordinate "
- "system for %d dimensional grid variables is already set. "
- "Overwriting to %s.", system_dimension, systemname);
- retval = COORDERROR_DEFAULTEXISTS;
+ CCTK_VWarn(1,__LINE__,__FILE__,CCTK_THORNSTRING, "Default coordinate "
+ "system for %d dimensional grid variables is already set. "
+ "Overwriting to %s.", system_dimension, systemname);
+ retval = COORDERROR_DEFAULTEXISTS;
}
else
{
- retval = system_handle;
+ retval = system_handle;
}
- default_coord_systems[system_dimension-1] = system_handle;
+ GHex->default_coord_systems[system_dimension-1] = system_handle;
}
}
#ifdef DEBUG
for (i=0; i<system_dimension; ++i)
{
- printf("def_coord_sys[%d] = %d\n", i, default_coord_systems[i]);
+ printf("def_coord_sys[%d] = %d\n", i, GHex->default_coord_systems[i]);
}
#endif