Go to the previous, next section, or Table of Contents.
In an EPS file, a global attribute is referred to by attribute name, a variable attribute is referred to by attribute name and variable code, and an axis attribute is referred to by attribute name and axis name. The EPS attribute routines are provided to handle global attributes, variable attributes and axis attributes separately. The classic EPIC file does not have variable attributes and axis attributes, therefore, all functions which handle variable attributes and axis attributes only implement for netCDF files.
Operations supported on attributes are:
Global Attributes
The function ep_put_att_value(or epputattval and epputattvalc for Fortran) writes out a global attribute. The old value will be overwritten if it exists. Use epputattvalcto write out a character string in Fortran.
Possible causes of error to this routine call include:
ep_put_att_value: C Interface
void ep_put_att_value(Dbase* epf, char* name, int atype, int len,
void* value)
epf I EPIC system data structure
name I attribute name
atype I attribute type
len I array length
value[] I attribute array, or character string
epputattval: Fortran Interface
subroutine epputattval(integer epf, character*(*) name, integer atype,
integer len, dtype value(*))
epf I pointer file identifier
name I attribute name
atype I attribute type
len I array length
value I attribute array (numeric value)
epputattvalc: Fortran Interface
subroutine epputattvalc(integer epf, character*(*) name, integer len,
character*(*) string)
epf I pointer file identifier
name I attribute name
len I string length
string I attribute character string
Variable Attributes
The function ep_put_varatt_value(or epputvarattval and epputvarattvalc for Fortran) writes out a variable attribute. The old value will be overwritten if it exists. Use epputvarattvalcto write out a character string in Fortran. This function must be called before ep_put_var.
Possible causes of error to this routine call include:
ep_put_varatt_value: C Interface
void ep_put_varatt_value(Dbase* epf, int varcde, char* name, int atype,
int len, void* value)
epf I EPIC system data structure
varcde I variable code
name I attribute name
atype I attribute type
len I array length
value[] I attribute array, or character string
epputvarattval: Fortran Interface
subroutine epputvarattval(integer epf, integer varcde,
character*(*) name, integer atype,
integer len, dtype value(*))
epf I pointer file identifier
varcde I variable code
name I attribute name
atype I attribute type
len I array length
value I attribute array (numeric value)
epputvarattvalc: Fortran Interface
subroutine epputvarattvalc(integer epf, integer varcde,
character*(*) name, integer len,
character*(*) string)
epf I pointer file identifier
varcde I variable code
name I attribute name
len I string length
string I attribute character string
Axis Attributes
The function ep_put_axatt_value(or epputaxattval and epputvarattvalc for Fortran) writes out an axis attribute. The old value will be overwritten if it exists. Use epputaxattvalcto write out a character string in Fortran. This function must be called before ep_put_var.
Possible causes of error to this routine call include:
ep_put_axatt_value: C Interface
void ep_put_axatt_value(Dbase* epf, char* axname, char* name, int atype,
int len, void* value)
epf I EPIC system data structure
axname I axis name
name I attribute name
atype I attribute type
len I array length
value[] I attribute array, or character string
epputaxattval: Fortran Interface
subroutine epputaxattval(integer epf, char* axname,
character*(*) name, integer atype,
integer len, dtype value(*))
epf I pointer file identifier
axname I axis name
name I attribute name
atype I attribute type
len I array length
value I attribute array (numeric value)
epputaxattvalc: Fortran Interface
subroutine epputaxattvalc(integer epf, character*(*) axname,
character*(*) name, integer len,
character*(*) string)
epf I pointer file identifier
axname I axis name
name I attribute name
len I string length
string I attribute character string
Global Attributes
The function ep_get_att_num(or epgetattnum for Fortran) returns the total number of global attributes available in current data file.
ep_get_att_num: C Interface
void ep_get_att_num(Dbase* epf, int* natt)
epf I EPIC system data structure
natt O total number of global attributes in file
epgetattnum: Fortran Interface
subroutine epgetattnum(integer epf, integer natt)
epf I pointer file identifier
natt O total number of global attributes in file
Variable Attributes
The function ep_get_varatt_num(or epgetvarattnum for Fortran) returns the total number of variable attributes available for a variable indicated by variable code varcde.
ep_get_varatt_num: C Interface
void ep_get_varatt_num(Dbase* epf, int varcde, int* natt)
epf I EPIC system data structure
varcde I variable code
natt O total number of variable attributes for a variable.
epgetvarattnum: Fortran Interface
subroutine epgetvarattnum(integer epf, integer varcde, integer natt)
epf I pointer file identifier
varcde I variable code
natt O total number of variable attributes for a variable
Axis Attributes
The function ep_get_axatt_num(or epgetaxattnum for Fortran) returns the total number of axis attributes available for an axis indicated by axis name axname.
ep_get_axatt_num: C Interface
void ep_get_axatt_num(Dbase* epf, char* axname, int* natt)
epf I EPIC system data structure
axname I axis name
natt O total number of attributes for an axis
epgetaxattnum: Fortran Interface
subroutine epgetaxattnum(integer epf, charater*(*) axname, integer natt)
epf I pointer file identifier
axname I axis name
natt O total number of attributes for an axis
Global Attributes
The function ep_att_name(or epattname for Fortran) returns the global attribute name from its number. The first attribute number is 1 and the last is the value returned from ep_get_att_num. The values and information about the global attributes are obtained by calling ep_get_att_val and ep_inq_att given the global attribute name.
Possible causes of error to this routine call include:
ep_att_name: C Interface
void ep_att_name(Dbase* epf, int attnum, char** name)
epf I EPIC system data structure
attnum I attribute number
name O attribute name
epattname: Fortran Interface
subroutine epattname(integer epf, integer attnum, character*(*) name)
epf I pointer file identifier
attnum I attribute number
name O attribute name
Variable Attributes
The function ep_varatt_name(or epvarattname for Fortran) returns the variable attribute name from its number. The first attribute number is 1 and the last is the value returned from ep_get_varatt_ num. The values and information about the variable attributes are obtained by calling ep_get_ varatt_val and ep_inq_varatt given the variable attribute name.
Possible causes of error to this routine call include:
ep_varatt_name: C Interface
void ep_varatt_name(Dbase* epf, int varcde, int attnum, char** name)
epf I EPIC system data structure
varcde I variable code
attnum I variable attribute number
name O variable attribute name
epvarattname: Fortran Interface
subroutine epvarattname(integer epf, integer varcde, integer attnum,
character*(*) name)
epf I pointer file identifier
varcde I variable code
attnum I variable attribute number
name O variable attribute name
Axis Attributes
The function ep_axatt_name(or epaxattname for Fortran) returns the axis attribute name from its number. The first attribute number is 1 and the last is the value returned from ep_get_axatt_ num. The values and information about the axis attributes are obtained by calling ep_get_axatt_val and ep_inq_axatt given the axis attribute name.
Possible causes of error to this routine call include:
ep_axatt_name: C Interface
void ep_axatt_name(Dbase* epf, char* axname, int attnum, char** name)
epf I EPIC system data structure
axname I axis name
attnum I axis attribute number
name O axis attribute name
epaxattname: Fortran Interface
subroutine epaxattname(integer epf, character*(*) axname,
integer attnum, character*(*) name)
epf I pointer file identifier
axname I axis name
attnum I axis attribute number
name O axis attribute name
Global Attributes
The function ep_inq_att(or epinqatt for Fortran) returns information about a global attribute. All numeric attributes are assumed to be arrays.
Possible causes of error to this routine call include:
ep_inq_att: C Interface
void ep_inq_att(Dbase* epf, char* name, int* len, int* atype)
epf I EPIC system data structure
name I attribute name
len O length of character string, or array length
atype O attribute type; (e.g. EPCHAR)
epinqatt: Fortran Interface
subroutine epinqatt(integer epf, character*(*) name, integer len,
integer atype)
epf I pointer file identifier
name I attribute name
len O length of character string, or array length
atype O attribute type; (e.g. EPCHAR)
Variable Attributes
The function ep_inq_varatt(or epinqvaratt for Fortran) returns information about a variable attribute. All numeric attributes are assumed to be arrays.
Possible causes of error to this routine call include:
ep_inq_varatt: C Interface
void ep_inq_varatt(Dbase* epf, int varcde, char* name,
int* len, int* atype)
epf I EPIC system data structure
varcde I variable code
name I attribute name
len O length of character string, or array length
atype O attribute type
epinqvaratt: Fortran Interface
subroutine epinqvaratt(integer epf, integer varcde, character*(*) name,
integer len, integer atype)
epf I pointer file identifier
varcde I variable code
name I attribute name
len O length of character string, or array length
atype O attribute type
Axis Attributes
The function ep_inq_axatt(or epinqaxatt for Fortran) returns information about an axis attribute. All numeric attributes are assumed to be arrays.
Possible causes of error to this routine call include:
ep_inq_axatt: C Interface
void ep_inq_axatt(Dbase* epf, char* axname, char* name,
int* len, int* atype)
epf I EPIC system data structure
axname I axis name
name I attribute name
len O length of character string, or array length
dtype O attribute type
epinqaxatt: Fortran Interface
subroutine epinqaxatt(integer epf, character*(*) axname,
character*(*) name, integer len, integer atype)
epf I pointer file identifier
axname I axis name
name I attribute name
len O length of character string, or array length
atype O attribute type
Global Attributes
The function ep_get_att_value(or epgetattval and epgetattvalc for Fortran) returns the value of a global attribute. The data type of value must agree with atypefrom ep_inq_att. The EPS library will not check for an incorrect data type. User is responsible for assuring that enough storage exists for the array. When using Fortran interface, epgetattvalcmust be used for EPCHAR attribute type. All numeric attributes are assumed to be arrays.
Possible causes of error to this routine call include:
ep_get_att_value: C Interface
void ep_get_att_value(Dbase* epf, char* name, void* value)
epf I EPIC system data structure
name I attribute name
value[] O attribute array
epgetattval: Fortran Interface
subroutine epgetattval(integer epf, character*(*) name, dtype value(*))
epf I pointer file identifier
name I attribute name
value O attribute array for numerical value
epgetattvalc: Fortran Interface
subroutine epgetattvalc(integer epf, character*(*) name,
character*(*) string)
epf I pointer file identifier
name I attribute name
string O attribute character string
Variable Attributes
The function ep_get_varatt_value(or epgetvarattval and epgetvarattvalc for Fortran) returns the value of a variable attribute. The data type of value must agree with atypefrom ep_inq_varatt. The EPS library will not check for an incorrect data type. User is responsible for assuring that enough storage exists for the array. When using Fortran interface, epgetvarattvalcmust be used for EPCHAR attribute type. All numeric attributes are assumed to be arrays.
Possible causes of error to this routine call include:
ep_get_varatt_value: C Interface
void ep_get_varatt_value(Dbase* epf, int varcde, char* name, void* value)
epf I EPIC system data structure
varcde I variable code
name I attribute name
value[] O attribute array
epgetvarattval: Fortran Interface
subroutine epgetvarattval(integer epf, integer varcde,
character*(*) name, dtype value(*))
epf I pointer file identifier
varcde I variable code
name I attribute name
value O attribute array for numerical value
epgetvarattvalc: Fortran Interface
subroutine epgetvarattvalc(integer epf, integer varcde,
character*(*) name, character*(*) string)
epf I pointer file identifier
varcde I variable code
name I attribute name
string O attribute character string
Axis Attributes
The function ep_get_axatt_value(or epgetaxattval and epgetaxattvalc for Fortran) returns the value of an axis attribute. The data type of value must agree with atypefrom ep_inq_axatt. The EPS library will not check for an incorrect data type. User is responsible for assuring that enough storage exists for the array. When using Fortran interface, epgetaxattvalc must be used for EPCHAR attribute type. All numeric attributes are assumed to be arrays.
Possible causes of error to this routine call include:
ep_get_axatt_value: C Interface
void ep_get_axatt_value(Dbase* epf, char* axname,
char* name, void* value)
epf I EPIC system data structure
axname I axis name
name I attribute name
value[] O attribute array
epgetaxattval: Fortran Interface
subroutine epgetaxattval(integer epf, character*(*) axname,
character*(*) name, dtype value(*))
epf I pointer file identifier
axname I axis name
name I attribute name
value O attribute array for numerical value
epgetaxattvalc: Fortran Interface
subroutine epgetaxattvalc(integer epf, character*(*) axname
character*(*) name, character*(*) string)
epf I pointer file identifier
axname I axis name
name I attribute name
string O attribute character string
Global Attributes
The function ep_copy_atts(or epcopyatts for Fortran) copies all EPS global attributes from input file, epin, to output file, epout. The old value of attributes will be overwritten if the same names are found in output EPS file.
Possible causes of error to this routine call include:
ep_copy_atts: C Interface
void ep_copy_atts(Dbase* epin, Dbase* epout)
epin I input EPIC system data structure
epout I output EPIC system data structure
epcopyatts: Fortran Interface
subroutine epcopyatts(integer epin, integer epout)
epin I input pointer file identifier
epout I output pointer file identifier
Variable Attributes
The function ep_copy_varatts(or epcopyvaratts for Fortran) copies all variable attributes from one variable (varcdein) of the input EPS file (epin) to another variable (varcdout) of the output EPS file (epout). The old value of variable attributes will be overwritten if the same names are found under variable varcdeout. This function can be also used to copy variable attributes from one variable to other variable within the same EPS file. If the output variable does not exist, this function will create it.
Possible causes of error to this routine call include:
ep_copy_varatts: C Interface
void ep_copy_varatts(Dbase* epin, int varcdein,
Dbase* epout, int varcdeout)
epin I input EPIC system data structure
varcdein I input variable code
epout I output EPIC system data structure
varcdeout I output variable code
epcopyvaratts: Fortran Interface
subroutine epcopyvaratts(integer epin, integer varcdein,
integer epout, integer varcdeout)
epin I input pointer file identifier
varcdein I input variable code
epout I output pointer file identifier
varcdeout I output variable code
Axis Attributes
The function ep_copy_axatts (or epcopyaxatts for Fortran) copies all axis attributes from one axis (axnamein) of the input EPS file (epin) to another axis (axnameout), of the output EPS file (epout). The old value of axis attributes will be overwritten if the same name is found under axis name axnameout. The axnameout must be created using ep_set_axis or ep_set_t_axis for time axis (or epsetaxis and epsettaxis for Fortran) before this function call. This function can be also used to copy axis attributes from one axis to other axis within the same EPS file.
Possible causes of error to this routine call include:
ep_copy_axatts: C Interface
void ep_copy_axatts(Dbase* epin, char* axnamein,
Dbase* epout, char* axnameout)
epin I input EPIC system data structure
axnamein I input axis name
epout I output EPIC system data structure
axnameout I output axis name
epcopyaxatts: Fortran Interface
subroutine epcopyaxatts(integer epin, character*(*) axnamein,
integer epout, character*(*) axnameout)
epin I input EPIC system data structure
axnamein I input axis name
epout I output EPIC system data structure
axnameout I output axis name
Global Attributes
The function ep_del_att(or epdelatt for Fortran) deletes a global attribute from a file. Possible causes of error to this routine call include:
ep_del_att: C Interface
void ep_del_att(Dbase* epf, char* name)
epf I EPIC system data structure
name I attribute name
epdelatt: Fortran Interface
subroutine epdelatt(integer epf, character*(*) name)
epf I pointer file identifier
name I attribute name
Variable Attributes
The function ep_del_varatt(or epdelvaratt for Fortran) deletes a variable attribute.
Possible causes of error to this routine call include:
ep_del_varatt: C Interface
void ep_del_varatt(Dbase* epf, int varcde, char* name)
epf I EPIC system data structure
varcde I variable code
name I attribute name
epdelvaratt: Fortran Interface
subroutine epdelvaratt(integer epf, integer varcde, character*(*) name)
epf I pointer file identifier
varcde I variable code
name I attribute name
Axis Attributes
The function ep_del_axatt(or epdelaxatt for Fortran) deletes an axis attribute.
Possible causes of error to this routine call include:
ep_del_axatt: C Interface
void ep_del_axatt(Dbase* epf, char* axname, char* name)
epf I EPIC system data structure
axname I axis name
name I attribute name
epdelaxatt: Fortran Interface
subroutine epdelaxatt(integer epf, char* axname, character*(*) name)
epf I pointer file identifier
axname I axis name
name I attribute name
Global Attributes
The function ep_find_att(or epfindatt for Fortran) returns 1 if specified global attribute is found, otherwise returns 0.
ep_find_att: C Interface
int ep_find_att(Dbase* epf, char* name)
epf I EPIC system data structure
name I attribute name
epfindatt: Fortran Interface
subroutine epfindatt(integer epf, character*(*) name)
epf I pointer file identifier
name I attribute name
Variable Attributes
The function ep_find_varatt(or epfindvaratt for Fortran) returns 1 is specified variable attribute is found, otherwise returns 0.
ep_find_varatt: C Interface
int ep_find_varatt(Dbase* epf, int varcde, char* name)
epf I EPIC system data structure
varcde I variable code
name I attribute name
epfindvaratt: Fortran Interface
subroutine epfindvaratt(integer epf, integer varcde, character*(*) name)
epf I pointer file identifier
varcde I variable code
name I attribute name
Axis Attributes
The function ep_find_axatt(or epfindaxatt for Fortran) returns 1 is specified axis attribute is found, otherwise returns 0.
ep_find_axatt: C Interface
int ep_find_axatt(Dbase* epf, char* axname, char* name)
epf I EPIC system data structure
axname I axis name
name I attribute name
epfindaxatt: Fortran Interface
subroutine epfindaxatt(integer epf, char* axname, character*(*) name)
epf I pointer file identifier
axname I axis name
name I attribute name
The function ep_add_prog_comment (or epaddprogcmnt for Fortran) pushes a comment on the program comment attribute stack which can hold up to 4 program comments: EPPROGCMNT1, EPPROGCMNT2, EPPROGCMNT3 and EPPROGCMNT4. If the stack is already full, the oldest comment will be removed from the stack while others being pushed down by ep_add_prog_comment. The maximum length of character string comment is 40.
ep_add_prog_comment: C Interface
void ep_add_prog_comment(Dbase* epf, char* comment)
epf I EPIC system data structure
comment I comment to be added to the stack
epaddprogcmnt: Fortran Interface
subroutine epaddprogcmnt(integer epf, character*(*) comment)
epf I pointer file identifier
comment I comment to be added to the stack
The function ep_get_comments (or epgetcmnts for Fortran) gets the data comment attribute and program comment attributes in the current data file. These attributes are: EPDATACMNT, EPPROGCMNT1, EPPROGCMNT2, EPPROGCMNT3 and EPPROGCMNT4. The maximum length of data comment attribute is 80 and that of each program comment is 40. Refer to attribute Table 1 in Section 2.4 Attributes for detailed attributes information.
ep_get_comments: C Interface
void ep_get_comments(Dbase* epf, char** dcmnt, char** pc1, char** pc2,
char** pc3, char** pc4)
epf I EPIC system data structure
dcmnt O data comment
pc1 O program comment one
pc2 O program comment two
pc3 O program comment three
pc4 O program comment four
epgetcmnts: Fortran Interface
subroutine epgetcmnts(integer epf, character*(*) dcmnt,
character*(*) pc1, character*(*) pc2,
character*(*) pc3, character*(*) pc4)
epf I pointer file identifier
dcmnt O data comment
pc1 O program comment one
pc2 O program comment two
pc3 O program comment three
pc4 O program comment four
The function ep_get_hydro_atts (or epgethydroatts for Fortran) gets the attributes associated with hydrographic data. These attributes are: EPCRUISE, EPCAST, EPINSTTYPE, EPCRDATE and EPBOTTLE. The maximum string length of cruise is 11, cast is 3, inst is 26 and crdate is 15. Refer to attribute tables in Section 2.4 Attributes for detailed attributes information.
ep_get_hydro_atts: C Interface
void ep_get_hydro_atts(Dbase* epf, char** cruise, char** cast,
char** inst, char** crdate, int* bottle)
epf I EPIC system data structure
cruise O Cruise number
cast O consecutive STD cast number
insttype O instrument type
crdate O file creation date and time
bottle O =1 if bottle data
epgethydroatts: Fortran Interface
subroutine epgethydroatts(integer epf, character*(*) cruise,
character*(*) cast, character*(*) insttype,
character*(*) crdate, integer bottle)
epf I pointer file identifier
cruise O Cruise number
cast O consecutive STD cast number
insttype O instrument type
crdate O file creation date and time
bottle O =1 if bottle data
The function ep_get_t_series_atts (or epgetseriesatts for Fortran) gets the attributes associated with time series data. These attributes are: EPEXPERIMENT, EPPROJECT, EPMOORING, EPDELTAT, EPINSTTYPE and EPCRDATE. The maximum string length of expr is 5, proj is 10, moor is 5, delt is 10, inst is 26 and crdate is 15. Refer to attribute tables in Section 2.4 Attributes for detailed attributes information.
ep_get_t_series_atts: C Interface
void ep_get_t_series_atts(Dbase* epf, char** expr, char** proj,
char** moor, char** delt, char** inst,
char** crdate)
epf I EPIC system data structure
expr O experiment name
proj O project name
moor O mooring name
delt O series delta-t description
inst O instrument type
crdate O file creation date and time
epgetseriesatts: Fortran Interface
subroutine epgetseriesatts(integer epf, character*(*) expr,
character*(*) proj, character*(*) moor,
character*(*) delt, character*(*) inst,
character*(*) crdate)
epf I pointer file identifier
expr O experiment name
proj O project name
moor O mooring name
delt O series delta-t description
inst O instrument type
crdate O file creation date and time
The function ep_inq_composite(or epinqcomposite for Fortran) gets the information about the composite time series data. The information is store in following integer attributes: EPCOMPOSITE, EPPOSCONST and EPDEPTHCONST. Refer to attribute tables in Section 2.4 Attributes for detailed attributes information.
ep_inq_composite: C Interface
void ep_inq_composite(Dbase* epf, int* number, int* position, int* depth)
epf I EPIC system data structure
number O number of composite pieces
position O consistent position flag, =1 not consistent
depth O consistent depth flag, =1 not consistent
epinqcomposite: Fortran Interface
subroutine epinqcomposite(integer epf, integer number, integer position,
integer depth)
epf I pointer file identifier
number O number of composite pieces
position O consistent position flag, =1 not consistent
depth O consistent depth flag, =1 not consistent
The function ep_get_composite(or epgetcomposite for Fortran) gets information about a piece of a composite time series. The information is stored in the following attributes: EPLATPC, EPLONPC, EPSTARTPC, EPENDPC, EPINSTDEPTHPC and EPINDENTPC. Refer to attribute tables in Section 2.4 Attributes for detailed attributes information.
ep_get_composite: C Interface
void ep_get_composite(Dbase* epf, int num, float* lat, float* lng,
char** start, char** end, float* depth,
char** cmnt)
epf I EPIC system data structure
number I composite piece number
lat O latitude of piece
lng O longitude of piece
start O start date and time of piece
end O end date and time of piece
depth O measurement depth of piece
cmnt O identification of piece
epgetcomposite: Fortran Interface
subroutine epgetcomposite(integer epf, integer number, real lat,
real long, character*(*) start,
character*(*) end, real depth,
character*(*) cmnt)
epf I pointer file identifier
number I composite piece number
lat O latitude of piece
long O longitude of piece
start O start date and time of piece
end O end date and time of piece
depth O measurement depth of piece
cmnt O identification of piece
Go to the previous, next section, or Table of Contents.