[cmor] 52/190: poping stash changes back here

Alastair McKinstry mckinstry at moszumanska.debian.org
Tue Jul 21 12:54:36 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 7cc48792557229de85c937715078587c382195f5
Author: Charles Doutriaux <doutriaux1 at llnl.gov>
Date:   Fri Sep 17 11:29:09 2010 -0700

    poping stash changes back here
---
 Src/cmor.c           |  2 +-
 Src/cmor_variables.c | 35 +++++++++++++++++++++++++++++------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/Src/cmor.c b/Src/cmor.c
index df6077b..d3e9cc6 100644
--- a/Src/cmor.c
+++ b/Src/cmor.c
@@ -347,7 +347,7 @@ int cmor_have_NetCDF3(void) {
   strncpy(version,nc_inq_libvers(),50);
   if (version[0]!='"') return 1;
   sscanf(version,"%*c%1d%*s",&major);
-  if (major!=3) return 1;
+  if (major!=3) { printf("not nc3 returned\n");return 1;}
   return 0;
 }
 int cmor_have_NetCDF363(void) {
diff --git a/Src/cmor_variables.c b/Src/cmor_variables.c
index 55fec59..9da88d3 100644
--- a/Src/cmor_variables.c
+++ b/Src/cmor_variables.c
@@ -691,6 +691,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
     laxes_ids[i] = axes_ids[i];
   }
   lndims=ndims;
+/*   printf("ok ndims is actually: %i\n",ndims); */
   aint=0; /* just to know if we deal with  a grid */
   /* ok we need to replace grids definitions with the grid axes */
   for (i=0;i<ndims;i++) {
@@ -698,7 +699,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
       sprintf(msg,"For variable (%s) you requested axis_id (%i) that has not been defined yet",cmor_vars[vrid].id,laxes_ids[i]);
       cmor_handle_error(msg,CMOR_CRITICAL);
     }
-    if (laxes_ids[i]<-9) { /* grid definition */
+    if (laxes_ids[i]<-CMOR_MAX_GRIDS+1) { /* grid definition */
       grid_id = -laxes_ids[i]-CMOR_MAX_GRIDS;
       if (grid_id>cmor_ngrids) {
 	sprintf(msg,"For variable (%s) you requested grid_id (%i) that has not been defined yet",cmor_vars[vrid].id,laxes_ids[i]);
@@ -726,12 +727,14 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
       }
     }
   }
-  /* for(i=0;i<refvar.ndims;i++) fprintf(stderr,"after the grid id section: %i, id: %i\n",i,laxes_ids[i]); */
+/*   printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&& refvar (%s), has: %i dimensions! aint: %i, lndims: %i\n",refvar.id,refvar.ndims,aint,lndims); */
+/*   for(i=0;i<lndims;i++) fprintf(stderr,"after the grid id section: %i, id: %i\n",i,laxes_ids[i]); */
   olndims = lndims;
   if (refvar.ndims+aint!=lndims) {
     lndims=0;
     /* ok before we panic we check if there is a "dummy" dim */
     j=refvar.ndims-olndims+aint;
+/*     printf("at the start: refvar: %i, ndims: %i, aint: %i, lndims: %i, olndims: %i, j:%i\n",refvar.ndims,ndims,aint,lndims,olndims,j); */
     for (i=0;i<refvar.ndims;i++) {
 /*       printf("ok none matchng # of dims, i: %d, id: %s, value: %lf, lndims is: %d\n",i,cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].id,cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].value,olndims); */
       if (cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].value!=1.e20) {
@@ -744,7 +747,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
 	    else {
 	      strcpy(msg,"nope");
 	    }
-	  /* printf("k: %d, axes_id: %d, stdnm: %s, ref stdnm: %s\n",k,laxes_ids[k],msg,cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].standard_name); */
+/* 	  printf("k: %d, axes_id: %d, stdnm: %s, ref stdnm: %s\n",k,laxes_ids[k],msg,cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].standard_name); */
 	  if (strcmp(msg,cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].standard_name)==0) {
 	    /* ok user did define this one on its own */
 	    l=k;
@@ -760,11 +763,14 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
 	  else {
 	    ierr = cmor_axis(&k,cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].id,cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].units,1,&cmor_tables[CMOR_TABLE].axes[refvar.dimensions[i]].value,'d',NULL,0,"");
 	  }
-	  laxes_ids[ndims+lndims]=k;
+/* 	  printf("messing up laxes: %i, replacing from %i to %i\n",olndims,laxes_ids[olndims],k); */
+	  laxes_ids[olndims]=k;
 	  lndims+=1;
 	}
+/* 	printf("after l is :%i, j is: %i\n",l,j); */
       }
     }
+
     if (j!=0) {
       snprintf(msg,CMOR_MAX_STRING,"You are defining variable '%s' with %i dimensions, when it should have %i",name,ndims,refvar.ndims);
       cmor_handle_error(msg,CMOR_CRITICAL);
@@ -779,6 +785,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
   k=-1;
   for (i=0;i<lndims;i++) {
     for (j=0;j<refvar.ndims;j++) {
+/*       printf("i,j: %i, %i, laxes_ids[i]: %i\n",i,j,laxes_ids[i]); */
       if ((strcmp(cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].axes[cmor_axes[laxes_ids[i]].ref_axis_id].id,cmor_tables[CMOR_TABLE].axes[refvar.dimensions[j]].id)==0) ||((cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].axes[cmor_axes[laxes_ids[i]].ref_axis_id].axis=='Z') && (refvar.dimensions[j]==-2))){ 
 /* || ((cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].axes[cmor_axes[laxes_ids[i]].ref_axis_id].axis==cmor_tables[CMOR_TABLE].axes[refvar.dimensions[j]].axis) && cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].axes[cmor_axes[laxes_ids[i]].ref_axis_id].axis!='\0'))  { */
 	k++;
@@ -804,6 +811,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
   /* ok now loop thru axes */    
 /*   printf("lndims is: %i\n",lndims); */
   for (i=0;i<lndims;i++) { 
+/*     printf("i and k: %i, %i, %i \n",i,k,laxes_ids[i]); */
     if (laxes_ids[i]>cmor_naxes) {
       snprintf(msg,CMOR_MAX_STRING,"Axis %i not defined",axes_ids[i]);
       cmor_handle_error(msg,CMOR_CRITICAL);
@@ -814,6 +822,8 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
       snprintf(msg,CMOR_MAX_STRING,"You are passing axis %i (named %s) which has been defined using table %i (%s) but the current table is %i (%s) (and isgridaxis says: %i)",laxes_ids[i],cmor_axes[laxes_ids[i]].id,cmor_axes[laxes_ids[i]].ref_table_id,cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].table_id,CMOR_TABLE,cmor_tables[CMOR_TABLE].table_id,cmor_axes[laxes_ids[i]].isgridaxis);
       cmor_handle_error(msg,CMOR_CRITICAL);
     }
+/*     printf("ok: %s \n" , cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].axes[cmor_axes[laxes_ids[i]].ref_axis_id].id); */
+/*     printf("ok: %lf \n" , cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].axes[cmor_axes[laxes_ids[i]].ref_axis_id].value); */
     if (cmor_tables[cmor_axes[laxes_ids[i]].ref_table_id].axes[cmor_axes[laxes_ids[i]].ref_axis_id].value != 1.e20) {
       /*singleton dim */
       snprintf(msg,CMOR_MAX_STRING,"Treated scalar dimension: '%s'",cmor_axes[laxes_ids[i]].id);
@@ -834,6 +844,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
       cmor_set_variable_attribute(vrid,"coordinates",'c',&ctmp[0]);
     }
     else {
+/*       printf("in else\n"); */
       cmor_vars[vrid].original_order[k]=laxes_ids[i];
       k++;
     }
@@ -841,6 +852,9 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
   /* Now figures out the real order... */
   k=0;
 
+/*   for (i=0;i<lndims;i++) {  */
+/*     printf("OK IN CMOR VAR (%s),ORIGINAL ORDER FOR %i is: %i\n",cmor_vars[vrid].id,i,cmor_vars[vrid].original_order[i]); */
+/*   } */
 
   for (i=0;i<lndims;i++) { 
     if (((strcmp(cmor_tables[refvar.table_id].axes[refvar.dimensions[i]].id,"latitude")==0) ||
@@ -870,7 +884,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
     }
     else if (refvar.dimensions[i]==-CMOR_MAX_GRIDS) {
       /* ok this is either a lat/lon */
-      for(j=0;j<ndims;j++) if (axes_ids[j]<-9) break;
+      for(j=0;j<ndims;j++) if (axes_ids[j]<-CMOR_MAX_GRIDS+1) break;
       l=j;
       for (j=0;j<cmor_grids[grid_id].ndims;j++) {
 	cmor_vars[vrid].axes_ids[k]=cmor_grids[grid_id].axes_ids[j];
@@ -881,6 +895,7 @@ int cmor_variable(int *var_id, char *name, char *units, int ndims, int axes_ids[
     }
   }
 
+/*   printf("OK WE ARE SAYING THAT THIS VARIABLE HAS %i DIMENSIONS\n",k); */
   cmor_vars[vrid].ndims=k;
   cmor_vars[vrid].itype=type;
   k=0;
@@ -1230,10 +1245,15 @@ int cmor_write_var_to_file(int ncid,cmor_var_t *avar,void *data,char itype, int
     nelements = nelements*counts[i];
   }
   if (avar->isbounds==1) nelements*=2;
-/*   printf("we detected: %i elts over %i dims\n",nelements,avar->ndims); */
+/*   printf("we detected: %i elts over %i dims, var: %s\n",nelements,avar->ndims,avar->id); */
   /* This section counts how many elements are needed before you increase the index in each dimension */
   counter[avar->ndims]=1; /* dummy */
   counter_orig[avar->ndims]=1; /*dummy */
+
+/*   for (i=0;i<avar->ndims;i++) { */
+/*     printf("dimension: %i, alength: %i, id: %s, counts:%i\n",i,cmor_axes[avar->axes_ids[i]].length,cmor_axes[avar->axes_ids[i]].id,counts[i]); */
+/*     printf("dimension: %i, olength: %i, id: %s, counts:%i\n",i,cmor_axes[avar->original_order[i]].length,cmor_axes[avar->original_order[i]].id,counts[i]); */
+/*   } */
   for (i=avar->ndims-1;i>=0;i--) {
     /* we need to do this for the order in which we will write and the order the user defined its variable */
     if (cmor_axes[avar->axes_ids[i]].axis!='T') counter[i]=cmor_axes[avar->axes_ids[i]].length*counter[i+1];
@@ -1241,6 +1261,9 @@ int cmor_write_var_to_file(int ncid,cmor_var_t *avar,void *data,char itype, int
     if (cmor_axes[avar->original_order[i]].axis!='T') counter_orig[i]=cmor_axes[avar->original_order[i]].length*counter_orig[i+1];
     else counter_orig[i]=counts[0]*counter_orig[i+1];
   }
+/*   for (i=0;i<avar->ndims;i++) { */
+/*     printf("dimension: %i, counter_orig:%i\n",i,counter_orig[i]); */
+/*   } */
   /* Now we need to map, i.e going ahead by 2 eleemnts of final array eq going ahaead of n elements originally */
   for (i=0;i<avar->ndims;i++) {
     for (j=0;j<avar->ndims;j++) {

-- 
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