[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