[cmor] 83/190: updated cmor_set_variable_attrubtes to go thru an 'internal' one
Alastair McKinstry
mckinstry at moszumanska.debian.org
Tue Jul 21 12:54:40 UTC 2015
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch debian/master
in repository cmor.
commit 9b999faaf5206fa7bdd7afecd603719f9d08febe
Author: Charles Doutriaux <doutriaux1 at llnl.gov>
Date: Mon Jan 24 16:09:24 2011 -0800
updated cmor_set_variable_attrubtes to go thru an 'internal' one
---
RELEASE-NOTES | 1 +
Src/cmor.c | 14 +++++------
Src/cmor_grids.c | 8 +++----
Src/cmor_variables.c | 65 ++++++++++++++++++++++++++++------------------------
4 files changed, 47 insertions(+), 41 deletions(-)
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index ad65614..1c042b5 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,3 +1,4 @@
+2011-01-24 : updated cmor_set_variable_attrubtes to go thru an 'internal' one
2010-12-06 : turned off udunits2 warnings when reading database in
2010-11-18 : added a '/' after output path for tmp file testing
2010-11-12 : Updated documentation
diff --git a/Src/cmor.c b/Src/cmor.c
index 1352d57..1749eda 100644
--- a/Src/cmor.c
+++ b/Src/cmor.c
@@ -2049,7 +2049,7 @@ int cmor_write(int var_id,void *data, char type, char *suffix, int ntimes_passed
/* } */
/* else { */
/* ncafid = ncid; */
-/* cmor_set_variable_attribute(var_id,"associated_files",'c',"self"); */
+/* cmor_set_variable_attribute_internal(var_id,"associated_files",'c',"self"); */
/* } */
ncafid = ncid;
/* Ok we need to set the associated_files attributes */
@@ -2231,7 +2231,7 @@ int cmor_write(int var_id,void *data, char type, char *suffix, int ntimes_passed
}
}
- cmor_set_variable_attribute(var_id,"associated_files",'c',ctmp);
+ cmor_set_variable_attribute_internal(var_id,"associated_files",'c',ctmp);
/* make sure we are in def mode */
ierr = nc_redef(ncafid);
@@ -2548,7 +2548,7 @@ int cmor_write(int var_id,void *data, char type, char *suffix, int ntimes_passed
else {
strncpy(msg,ctmp,CMOR_MAX_STRING);
}
- cmor_set_variable_attribute(var_id,"coordinates",'c',msg);
+ cmor_set_variable_attribute_internal(var_id,"coordinates",'c',msg);
l=0;
for (j=0;j<cmor_axes[cmor_vars[var_id].axes_ids[i]].length;j++) {
/* printf("ok reading value: %i\n",j); */
@@ -2693,7 +2693,7 @@ int cmor_write(int var_id,void *data, char type, char *suffix, int ntimes_passed
ctmp2[icdl+ierr]=msg[icdl];
ctmp2[icdl+1+ierr]='\0';
}
- cmor_set_variable_attribute(var_id,"cell_methods",'c',ctmp2);
+ cmor_set_variable_attribute_internal(var_id,"cell_methods",'c',ctmp2);
break;
}
}
@@ -2723,7 +2723,7 @@ int cmor_write(int var_id,void *data, char type, char *suffix, int ntimes_passed
/* first of all checks for grid_mapping */
if (strcmp(cmor_grids[cmor_vars[var_id].grid_id].mapping,"")!=0) {
/* ok we need to create this dummy variable that contains all the info */
- cmor_set_variable_attribute(var_id,"grid_mapping",'c',cmor_grids[cmor_vars[var_id].grid_id].mapping);
+ cmor_set_variable_attribute_internal(var_id,"grid_mapping",'c',cmor_grids[cmor_vars[var_id].grid_id].mapping);
ierr = nc_def_var(ncafid,cmor_grids[cmor_vars[var_id].grid_id].mapping,NC_INT,0,&nc_dims_associated[0],&m);
if (ierr != NC_NOERR) {
snprintf(msg,CMOR_MAX_STRING,"NetCDF error (%i: %s) while defining associated grid mapping variable %s for variable %s (table: %s)",ierr,nc_strerror(ierr),cmor_grids[cmor_vars[var_id].grid_id].mapping,cmor_vars[var_id].id,cmor_tables[cmor_vars[var_id].ref_table_id].table_id);
@@ -2785,7 +2785,7 @@ int cmor_write(int var_id,void *data, char type, char *suffix, int ntimes_passed
else {
strncpy(msg,cmor_vars[cmor_grids[cmor_vars[var_id].grid_id].associated_variables[i]].id,CMOR_MAX_STRING-strlen(msg));
}
- cmor_set_variable_attribute(var_id,"coordinates",'c',msg);
+ cmor_set_variable_attribute_internal(var_id,"coordinates",'c',msg);
m2[i]=1;
}
l++;
@@ -3768,7 +3768,7 @@ int cmor_close_variable(int var_id, char *file_name, int *preserve)
}
for (i=0;i<cmor_vars[var_id].nattributes;i++) {
if (strcmp(cmor_vars[var_id].attributes[i],"cell_methods")==0) {
- cmor_set_variable_attribute(var_id,"cell_methods",'c',cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].cell_methods);
+ cmor_set_variable_attribute_internal(var_id,"cell_methods",'c',cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].cell_methods);
}
}
}
diff --git a/Src/cmor_grids.c b/Src/cmor_grids.c
index bc35115..110002e 100644
--- a/Src/cmor_grids.c
+++ b/Src/cmor_grids.c
@@ -562,7 +562,7 @@ int cmor_time_varying_grid_coordinate(int *coord_grid_id, int grid_id, char *ta
else {
strncpy(msg,cmor_vars[*coord_grid_id].id,CMOR_MAX_STRING);
}
- cmor_set_variable_attribute(cmor_grids[cmor_vars[*coord_grid_id].grid_id].associated_variables[0],"bounds",'c',msg);
+ cmor_set_variable_attribute_internal(cmor_grids[cmor_vars[*coord_grid_id].grid_id].associated_variables[0],"bounds",'c',msg);
break;
case (3) :
if (nvertices == 0 ) {
@@ -590,7 +590,7 @@ int cmor_time_varying_grid_coordinate(int *coord_grid_id, int grid_id, char *ta
else {
strncpy(msg,cmor_vars[*coord_grid_id].id,CMOR_MAX_STRING);
}
- cmor_set_variable_attribute(cmor_grids[cmor_vars[*coord_grid_id].grid_id].associated_variables[1],"bounds",'c',msg);
+ cmor_set_variable_attribute_internal(cmor_grids[cmor_vars[*coord_grid_id].grid_id].associated_variables[1],"bounds",'c',msg);
break;
default:
sprintf(msg,"unknown coord type: %i",ctype);
@@ -690,7 +690,7 @@ int cmor_grid(int *grid_id, int ndims, int *axes_ids, char type, void *lat, void
else {
strncpy(msg,cmor_vars[cmor_grids[cmor_ngrids].associated_variables[2]].id,CMOR_MAX_STRING);
}
- cmor_set_variable_attribute(cmor_grids[cmor_ngrids].associated_variables[0],"bounds",'c',msg);
+ cmor_set_variable_attribute_internal(cmor_grids[cmor_ngrids].associated_variables[0],"bounds",'c',msg);
}
if (blon==NULL) {
if (cmor_grids[cmor_ngrids].istimevarying != 1) {
@@ -716,7 +716,7 @@ int cmor_grid(int *grid_id, int ndims, int *axes_ids, char type, void *lat, void
else {
strncpy(msg,cmor_vars[cmor_grids[cmor_ngrids].associated_variables[3]].id,CMOR_MAX_STRING);
}
- cmor_set_variable_attribute(cmor_grids[cmor_ngrids].associated_variables[1],"bounds",'c',msg);
+ cmor_set_variable_attribute_internal(cmor_grids[cmor_ngrids].associated_variables[1],"bounds",'c',msg);
}
/* if (area==NULL) { */
/* snprintf(msg,CMOR_MAX_STRING,"it is recommended you pass the area values when defining a grid"); */
diff --git a/Src/cmor_variables.c b/Src/cmor_variables.c
index d492e09..0e64048 100644
--- a/Src/cmor_variables.c
+++ b/Src/cmor_variables.c
@@ -72,12 +72,12 @@ int cmor_has_required_variable_attributes(int var_id)
}
-int cmor_set_variable_attribute(int id, char *attribute_name, char type, void *value)
+int cmor_set_variable_attribute_internal(int id, char *attribute_name, char type, void *value)
{
extern cmor_var_t cmor_vars[];
int i,index;
char msg[CMOR_MAX_STRING];
- cmor_add_traceback("cmor_set_variable_attribute");
+ cmor_add_traceback("cmor_set_variable_attribute_internal");
cmor_is_setup();
index=-1;
@@ -109,6 +109,11 @@ int cmor_set_variable_attribute(int id, char *attribute_name, char type, void *v
cmor_pop_traceback();
return 0;
}
+int cmor_set_variable_attribute(int id, char *attribute_name, char type, void *value)
+{
+ return cmor_set_variable_attribute_internal(id,attribute_name,type,value);
+}
+
int cmor_get_variable_attribute(int id, char *attribute_name, void *value)
{
extern cmor_var_t cmor_vars[];
@@ -528,7 +533,7 @@ int cmor_update_history(int var_id,char *add){
tmp[0]='\0';
}
snprintf(tmp2,CMOR_MAX_STRING,"%s %s altered by CMOR: %s.",tmp,date,add);
- cmor_set_variable_attribute(var_id,"history",'c',tmp2);
+ cmor_set_variable_attribute_internal(var_id,"history",'c',tmp2);
cmor_pop_traceback();
return 0;
}
@@ -616,26 +621,26 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
strncpy(cmor_vars[vrid].id,refvar.out_name,CMOR_MAX_STRING);
}
- cmor_set_variable_attribute(vrid,"standard_name",'c',refvar.standard_name);
- cmor_set_variable_attribute(vrid,"long_name",'c',refvar.long_name);
+ cmor_set_variable_attribute_internal(vrid,"standard_name",'c',refvar.standard_name);
+ cmor_set_variable_attribute_internal(vrid,"long_name",'c',refvar.long_name);
if ((refvar.flag_values!=NULL) && (refvar.flag_values[0]!='\0')) {
- cmor_set_variable_attribute(vrid,"flag_values",'c',refvar.flag_values);
+ cmor_set_variable_attribute_internal(vrid,"flag_values",'c',refvar.flag_values);
}
if ((refvar.flag_meanings!=NULL) && (refvar.flag_meanings[0]!='\0')) {
- cmor_set_variable_attribute(vrid,"flag_meanings",'c',refvar.flag_meanings);
+ cmor_set_variable_attribute_internal(vrid,"flag_meanings",'c',refvar.flag_meanings);
}
-/* cmor_set_variable_attribute(vrid,"realm",'c',refvar.realm); */
- cmor_set_variable_attribute(vrid,"comment",'c',refvar.comment);
+/* cmor_set_variable_attribute_internal(vrid,"realm",'c',refvar.realm); */
+ cmor_set_variable_attribute_internal(vrid,"comment",'c',refvar.comment);
if (strcmp(refvar.units,"?")==0) {
strncpy(cmor_vars[vrid].ounits,units,CMOR_MAX_STRING);
}
else {
strncpy(cmor_vars[vrid].ounits,refvar.units,CMOR_MAX_STRING);
}
- cmor_set_variable_attribute(vrid,"units",'c',cmor_vars[vrid].ounits);
+ cmor_set_variable_attribute_internal(vrid,"units",'c',cmor_vars[vrid].ounits);
strncpy(cmor_vars[vrid].iunits,units,CMOR_MAX_STRING);
- if ((original_name!=NULL) && (original_name[0]!='\0')) cmor_set_variable_attribute(vrid,"original_name",'c',original_name);
- if ((history!=NULL) && (history[0]!='\0')) cmor_set_variable_attribute(vrid,"history",'c',history);
+ if ((original_name!=NULL) && (original_name[0]!='\0')) cmor_set_variable_attribute_internal(vrid,"original_name",'c',original_name);
+ if ((history!=NULL) && (history[0]!='\0')) cmor_set_variable_attribute_internal(vrid,"history",'c',history);
if ((comment!=NULL) && (comment[0]!='\0')) {
if (cmor_has_variable_attribute(vrid,"comment")==0) {
@@ -648,15 +653,15 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
else {
strncpy(msg,comment,CMOR_MAX_STRING);
}
- cmor_set_variable_attribute(vrid,"comment",'c',msg);
+ cmor_set_variable_attribute_internal(vrid,"comment",'c',msg);
}
if (strcmp(units,refvar.units)!=0) {
- cmor_set_variable_attribute(vrid,"original_units",'c',units);
+ cmor_set_variable_attribute_internal(vrid,"original_units",'c',units);
snprintf(msg,CMOR_MAX_STRING,"Converted units from '%s' to '%s'",units,refvar.units);
cmor_update_history(vrid,msg);
}
- cmor_set_variable_attribute(vrid,"cell_methods",'c',refvar.cell_methods);
- cmor_set_variable_attribute(vrid,"cell_measures",'c',refvar.cell_measures);
+ cmor_set_variable_attribute_internal(vrid,"cell_methods",'c',refvar.cell_methods);
+ cmor_set_variable_attribute_internal(vrid,"cell_measures",'c',refvar.cell_measures);
/*if ((refvar.positive!='\0') && (positive!=NULL) && (positive[0]!=refvar.positive)) cmor_vars[vrid].sign=-1;*/
if ((positive!=NULL) && (positive[0]!='\0')) {
if ((positive[0]!='d') && positive[0]!='u') {
@@ -664,21 +669,21 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
cmor_handle_error(msg,CMOR_CRITICAL);
}
if (refvar.positive=='u') {
- if (cmor_is_required_variable_attribute(refvar,"positive")==0) cmor_set_variable_attribute(vrid,"positive",'c',"up");
+ if (cmor_is_required_variable_attribute(refvar,"positive")==0) cmor_set_variable_attribute_internal(vrid,"positive",'c',"up");
if (positive[0]!='u') {
cmor_vars[vrid].sign=-1;
cmor_update_history(vrid,"Changed sign");
}
}
else if (refvar.positive=='d') {
- if (cmor_is_required_variable_attribute(refvar,"positive")==0) cmor_set_variable_attribute(vrid,"positive",'c',"down");
+ if (cmor_is_required_variable_attribute(refvar,"positive")==0) cmor_set_variable_attribute_internal(vrid,"positive",'c',"down");
if (positive[0]!='d') {
cmor_vars[vrid].sign=-1;
cmor_update_history(vrid,"Changed sign");
}
}
else {
- snprintf(msg,CMOR_MAX_STRING,"variable '%s' (table %s) you passed positive value:%s, but table does not mention it, will be ignored, if you really want this in your variable output use cmor_set_variable_attribute function",cmor_vars[vrid].id,cmor_tables[cmor_vars[vrid].ref_table_id].table_id,positive);
+ snprintf(msg,CMOR_MAX_STRING,"variable '%s' (table %s) you passed positive value:%s, but table does not mention it, will be ignored, if you really want this in your variable output use cmor_set_variable_attribute_internal function",cmor_vars[vrid].id,cmor_tables[cmor_vars[vrid].ref_table_id].table_id,positive);
cmor_handle_error(msg,CMOR_WARNING);
}
}
@@ -689,11 +694,11 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
}
if (refvar.positive!='\0') {
if (refvar.positive=='u') {
- if (cmor_is_required_variable_attribute(refvar,"positive")==0) cmor_set_variable_attribute(vrid,"positive",'c',"up");
+ if (cmor_is_required_variable_attribute(refvar,"positive")==0) cmor_set_variable_attribute_internal(vrid,"positive",'c',"up");
snprintf(msg,CMOR_MAX_STRING,"you did not provide the 'positive' argument for variable: %s (table %s)",cmor_vars[vrid].id,cmor_tables[cmor_vars[vrid].ref_table_id].table_id);
}
else if (refvar.positive=='d') {
- if (cmor_is_required_variable_attribute(refvar,"positive")==0) cmor_set_variable_attribute(vrid,"positive",'c',"down");
+ if (cmor_is_required_variable_attribute(refvar,"positive")==0) cmor_set_variable_attribute_internal(vrid,"positive",'c',"down");
snprintf(msg,CMOR_MAX_STRING,"you did not provide the 'positive' argument for variable: %s (table %s)",cmor_vars[vrid].id,cmor_tables[cmor_vars[vrid].ref_table_id].table_id);
}
cmor_handle_error(msg,CMOR_CRITICAL);
@@ -891,7 +896,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
else {
snprintf(ctmp,CMOR_MAX_STRING,"%s %s",msg,cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].axes[cmor_axes[laxes_ids[i]].ref_axis_id].out_name);
}
- cmor_set_variable_attribute(vrid,"coordinates",'c',&ctmp[0]);
+ cmor_set_variable_attribute_internal(vrid,"coordinates",'c',&ctmp[0]);
}
else {
/* printf("in else\n"); */
@@ -989,23 +994,23 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
cmor_update_history(vrid,msg);
}
if (refvar.type=='d') {
- cmor_set_variable_attribute(vrid,"missing_value",'d',&cmor_vars[vrid].omissing);
- cmor_set_variable_attribute(vrid,"_FillValue",'d',&cmor_vars[vrid].omissing);
+ cmor_set_variable_attribute_internal(vrid,"missing_value",'d',&cmor_vars[vrid].omissing);
+ cmor_set_variable_attribute_internal(vrid,"_FillValue",'d',&cmor_vars[vrid].omissing);
}
else if (refvar.type=='f') {
afloat = (float)cmor_vars[vrid].omissing;
- cmor_set_variable_attribute(vrid,"missing_value",'f',&afloat);
- cmor_set_variable_attribute(vrid,"_FillValue",'f',&afloat);
+ cmor_set_variable_attribute_internal(vrid,"missing_value",'f',&afloat);
+ cmor_set_variable_attribute_internal(vrid,"_FillValue",'f',&afloat);
}
else if (refvar.type=='l') {
along = (long)cmor_vars[vrid].omissing;
- cmor_set_variable_attribute(vrid,"missing_value",'l',&along);
- cmor_set_variable_attribute(vrid,"_FillValue",'l',&along);
+ cmor_set_variable_attribute_internal(vrid,"missing_value",'l',&along);
+ cmor_set_variable_attribute_internal(vrid,"_FillValue",'l',&along);
}
else if (refvar.type=='i') {
aint = (int)cmor_vars[vrid].omissing;
- cmor_set_variable_attribute(vrid,"missing_value",'i',&aint);
- cmor_set_variable_attribute(vrid,"_FillValue",'i',&aint);
+ cmor_set_variable_attribute_internal(vrid,"missing_value",'i',&aint);
+ cmor_set_variable_attribute_internal(vrid,"_FillValue",'i',&aint);
}
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/cmor.git
More information about the debian-science-commits
mailing list