[cmor] 112/190: 2011-05-26 : File name for subhourly were wrongly constructed, upped version to 2.6

Alastair McKinstry mckinstry at moszumanska.debian.org
Tue Jul 21 12:54:44 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 e5d1799609e7027943956880fb7b7c075662ebbd
Author: Charles Doutriaux <doutriaux1 at llnl.gov>
Date:   Thu May 26 08:58:54 2011 -0700

    2011-05-26 : File name for subhourly were wrongly constructed, upped version to 2.6
---
 RELEASE-NOTES                  |   2 +
 Src/cmor.c                     |  28 +++++++------
 Src/cmor_axes.c                |  22 +++++-----
 Src/cmor_tables.c              |   8 ++++
 Test/test_python_bad_date.py   |  92 +++++++++++++++++++++++++++++++++++++++++
 Test/test_python_bentley_01.py |  55 +++++++++++++-----------
 configure                      |  18 ++++----
 configure.ac                   |   2 +-
 data/tas_sample.nc             | Bin 403952 -> 0 bytes
 include/cmor.h                 |   6 ++-
 10 files changed, 174 insertions(+), 59 deletions(-)

diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index cdfce8a..83a6a4f 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,3 +1,5 @@
+2011-05-26 : File name for subhourly were wrongly constructed, upped version to 2.6
+2011-05-24 : when we decide to add the extra time precision in the file name only for less than 6hr, i did this only for the first time, not the second one... Fixed.
 2011-04-27 : Tagging 2.5.9
 2011-04-27 : fixed file name for climatologies, last bounds was set improperly
 2011-04-26 : was setting coordinates attribute multiple times, now first check if the bit we are trying to add is already in
diff --git a/Src/cmor.c b/Src/cmor.c
index 6e26926..18f9431 100644
--- a/Src/cmor.c
+++ b/Src/cmor.c
@@ -15,7 +15,8 @@
 #define _POSIX_SOURCE
 #include <unistd.h>
 
-    /* this is defining NETCDF4 variable if we are using NETCDF3 not used anywhere else*/
+/* this is defining NETCDF4 variable if we are using NETCDF3 not used anywhere else*/
+
 #ifndef NC_NETCDF4
 #define NC_NETCDF4 0
 #define NC_CLASSIC_MODEL 0
@@ -25,7 +26,6 @@ int nc_def_var_chunking(int i,int j,int k,size_t *l) {return 0;};
 
 
 int USE_NETCDF_4;
-
 int cleanup_varid=-1;
 
 const char CMOR_VALID_CALENDARS[CMOR_N_VALID_CALS][CMOR_MAX_STRING] = { "gregorian","standard", "proleptic_gregorian","noleap","365_day","360_day","julian","none"};
@@ -3697,7 +3697,6 @@ int cmor_close_variable(int var_id, char *file_name, int *preserve)
 	cmor_pop_traceback();
 	return 1;
       }
-      
       /* ok makes a comptime out of input */
       i = cmor_vars[var_id].axes_ids[0];
       j=cmor_axes[i].ref_table_id;
@@ -3711,7 +3710,6 @@ int cmor_close_variable(int var_id, char *file_name, int *preserve)
       /* need to figure out the approximate interval */
       interval  = cmor_convert_interval_to_seconds(cmor_tables[cmor_axes[cmor_vars[var_id].axes_ids[0]].ref_table_id].interval,cmor_tables[cmor_axes[cmor_vars[var_id].axes_ids[0]].ref_table_id].axes[cmor_axes[cmor_vars[var_id].axes_ids[0]].ref_axis_id].units);
       
-      
       /* first time point */
       strncat(outname,"_",CMOR_MAX_STRING-strlen(outname));
       snprintf(msg2,CMOR_MAX_STRING,"%.4ld",comptime.year);
@@ -3725,20 +3723,22 @@ int cmor_close_variable(int var_id, char *file_name, int *preserve)
 	strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
       }
       if (interval<86000) { /* less than a day */
-	/* from now on add 1 more level of precision since that frequency */
 	snprintf(msg2,CMOR_MAX_STRING,"%.2i",(int)comptime.hour);
 	strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
       }
       if (interval<21000) { /* less than 6hr */
 	/* from now on add 1 more level of precision since that frequency */
-	snprintf(msg2,CMOR_MAX_STRING,"%.2i",(int)((comptime.hour-(int)(comptime.hour))*60.));
+	ierr = (int)((comptime.hour-(int)(comptime.hour))*60.);
+	snprintf(msg2,CMOR_MAX_STRING,"%.2i",ierr);
 	strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
       }
       if (interval<3000) { /* less than an hour */
-	snprintf(msg2,CMOR_MAX_STRING,"%.2i",(int)((comptime.hour-(int)(comptime.hour))*3600.));
+	snprintf(msg2,CMOR_MAX_STRING,"%.2i",(int)((comptime.hour-(int)(comptime.hour))*3600.)-ierr*60);
 	strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
       }
       
+      /* separator between first and last time */
+      strncat(outname,"-",CMOR_MAX_STRING-strlen(outname));
       
       if ((cmor_tables[j].axes[i].climatology==1) && (cmor_vars[var_id].last_bound!=1.e20)) {
       	cdRel2Comp(icalo,msg,cmor_vars[var_id].last_bound,&comptime);
@@ -3751,12 +3751,11 @@ int cmor_close_variable(int var_id, char *file_name, int *preserve)
 	}
       }
       else {
+	//printf("icalo final: %i, %f\n",icalo,cmor_vars[var_id].last_time);
 	cdRel2Comp(icalo,msg,cmor_vars[var_id].last_time,&comptime);
+	//printf("end retuned: %i-%i-%i : %f\n",comptime.year,comptime.month,comptime.day,comptime.hour);
       }
       
-      /* separator between first and last time */
-      strncat(outname,"-",CMOR_MAX_STRING-strlen(outname));
-      
       /* last time point */
       snprintf(msg2,CMOR_MAX_STRING,"%.4ld",comptime.year);
       strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
@@ -3769,14 +3768,17 @@ int cmor_close_variable(int var_id, char *file_name, int *preserve)
 	strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
       }
       if (interval<86000) { /* less than a day */
-	/* from now on add 1 more level of precision since that frequency */
 	snprintf(msg2,CMOR_MAX_STRING,"%.2i",(int)comptime.hour);
 	strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
-	snprintf(msg2,CMOR_MAX_STRING,"%.2i",(int)((comptime.hour-(int)(comptime.hour))*60.));
+      }
+      if (interval<21000) { /* less than 6hr */
+	/* from now on add 1 more level of precision since that frequency */
+	ierr = (int)((comptime.hour-(int)(comptime.hour))*60.);
+	snprintf(msg2,CMOR_MAX_STRING,"%.2i",ierr);
 	strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
       }
       if (interval<3000) { /* less than an hour */
-	snprintf(msg2,CMOR_MAX_STRING,"%.2i",(int)((comptime.hour-(int)(comptime.hour))*3600.));
+	snprintf(msg2,CMOR_MAX_STRING,"%.2i",(int)((comptime.hour-(int)(comptime.hour))*3600.)-ierr*60);
 	strncat(outname,msg2,CMOR_MAX_STRING-strlen(outname));
       }
       
diff --git a/Src/cmor_axes.c b/Src/cmor_axes.c
index e62180c..e4fc738 100644
--- a/Src/cmor_axes.c
+++ b/Src/cmor_axes.c
@@ -903,7 +903,7 @@ int cmor_check_interval(int axis_id, char *interval, double *values, int nvalues
   char ctmp2[CMOR_MAX_STRING];
   char msg[CMOR_MAX_STRING];
   int i,j,n,nval;
-  double interv,diff,tmp;
+  double interv,diff,diff2,tmp;
   extern ut_system *ut_read;
   ut_unit *user_units=NULL, *cmor_units=NULL;
   cv_converter *ut_cmor_converter=NULL;
@@ -995,7 +995,7 @@ int cmor_check_interval(int axis_id, char *interval, double *values, int nvalues
   }
   user_units = ut_parse(ut_read, ctmp2, UT_ASCII);
   if (ut_get_status() != UT_SUCCESS) {
-    snprintf(msg,CMOR_MAX_STRING,"In udunuits parsing user units: %s, axis: %s (table: %s)",ctmp2,cmor_axes[axis_id].id,cmor_tables[cmor_axes[axis_id].ref_table_id].table_id);
+    snprintf(msg,CMOR_MAX_STRING,"In udunits parsing user units: %s, axis: %s (table: %s)",ctmp2,cmor_axes[axis_id].id,cmor_tables[cmor_axes[axis_id].ref_table_id].table_id);
     cmor_handle_error(msg,CMOR_CRITICAL);
   }
   if (ut_are_convertible(cmor_units,user_units)==0 ) {
@@ -1015,28 +1015,28 @@ int cmor_check_interval(int axis_id, char *interval, double *values, int nvalues
     /* now converts to seconds */
     tmp = cv_convert_double(ut_cmor_converter,diff);
     if (ut_get_status() != UT_SUCCESS) {
-      snprintf(msg,CMOR_MAX_STRING,"In udunuits converting, axis: %s (table: %s)",cmor_axes[axis_id].id,cmor_tables[cmor_axes[axis_id].ref_table_id].table_id);
+      snprintf(msg,CMOR_MAX_STRING,"In udunits converting, axis: %s (table: %s)",cmor_axes[axis_id].id,cmor_tables[cmor_axes[axis_id].ref_table_id].table_id);
       cmor_handle_error(msg,CMOR_CRITICAL);
     }
-    diff = tmp;
-    tmp = (double)fabs(diff-interv);
+    diff2 = tmp;
+    tmp = (double)fabs(diff2-interv);
     tmp = tmp/interv;
-    if (tmp>.2) { /* more than 20% diff issues an error */
+    if (tmp>cmor_tables[cmor_axes[axis_id].ref_table_id].interval_error) { /* more than 20% diff issues an error */
       if (isbounds==1) {
-	snprintf(ctmp,CMOR_MAX_STRING,"approximate time axis interval is defined as %f seconds (%s), for value %i we got a difference (based on bounds) of %f %s, which is %f %% , seems too big, check your values", interv, interval, i+1, diff, ctmp2,tmp*100.);
+	snprintf(ctmp,CMOR_MAX_STRING,"approximate time axis interval is defined as %f seconds (%s), for value %i we got a difference (based on bounds) of %f seconds, (%f %s), which is %f %% , seems too big, check your values", interv, interval, i+1, diff2,diff, ctmp2,tmp*100.);
       }
       else {
 	if (isbounds==1) {
-	  snprintf(ctmp,CMOR_MAX_STRING,"approximate time axis interval is defined as %f seconds (%s), for value %i we got a difference (based on bounds) of %f %s, which is %f %% , seems too big, check your values", interv, interval, i+1, diff, ctmp2, tmp*100.);
+	  snprintf(ctmp,CMOR_MAX_STRING,"approximate time axis interval is defined as %f seconds (%s), for value %i we got a difference (based on bounds) of %f seconds (%f %s), which is %f %% , seems too big, check your values", interv, interval, i+1, diff2, diff, ctmp2, tmp*100.);
 	}
 	else {
-	  snprintf(ctmp,CMOR_MAX_STRING,"approximate time axis interval is defined as %f seconds (%s), for value %i we got a difference of %f %s, which is %f %% , seems too big, check your values", interv, interval, i+1, diff, ctmp2, tmp*100.);
+	  snprintf(ctmp,CMOR_MAX_STRING,"approximate time axis interval is defined as %f seconds (%s), for value %i we got a difference of %f seconds (%f %s), which is %f %% , seems too big, check your values", interv, interval, i+1, diff2, diff, ctmp2, tmp*100.);
 	}
       }
       cmor_handle_error(ctmp,CMOR_CRITICAL);
     }
-    else if (tmp>.1) { /* more than 10% diff issues a warning */
-      snprintf(ctmp,CMOR_MAX_STRING,"approximate time axis interval is defined as %f seconds (%s), for value %i we got a difference of %f %s, which is %f %% , seems too big, check your values", interv, interval, i+1, diff, ctmp2,tmp*100.);
+    else if (tmp>cmor_tables[cmor_axes[axis_id].ref_table_id].interval_warning) { /* more than 10% diff issues a warning */
+      snprintf(ctmp,CMOR_MAX_STRING,"approximate time axis interval is defined as %f seconds (%s), for value %i we got a difference of %f seconds (%f %s), which is %f %% , seems too big, check your values", interv, interval, i+1, diff2, diff, ctmp2,tmp*100.);
       cmor_handle_error(ctmp,CMOR_WARNING);
     }
   }
diff --git a/Src/cmor_tables.c b/Src/cmor_tables.c
index 78553e8..04415ab 100644
--- a/Src/cmor_tables.c
+++ b/Src/cmor_tables.c
@@ -34,6 +34,8 @@ void cmor_init_table(cmor_table_t *table, int id)
   table->date[0]='\0';
   table->missing_value=1.e20;
   table->interval=0.;
+  table->interval_warning=.1;
+  table->interval_error=.2;
   table->URL[0]='\0';
   strcpy(table->product,"output");
   table->path[0]='\0';
@@ -188,6 +190,12 @@ int cmor_set_dataset_att(cmor_table_t *table, char att[CMOR_MAX_STRING],char val
   else if (strcmp(att,"approx_interval")==0) {
     sscanf(value,"%lf",&table->interval);
   }
+  else if (strcmp(att,"approx_interval_error")==0) {
+    sscanf(value,"%f",&table->interval_error);
+  }
+  else if (strcmp(att,"approx_interval_warning")==0) {
+    sscanf(value,"%f",&table->interval_warning);
+  }
   else if (strcmp(att,"missing_value")==0) {
     sscanf(value,"%f",&table->missing_value);
   }
diff --git a/Test/test_python_bad_date.py b/Test/test_python_bad_date.py
new file mode 100644
index 0000000..f194b47
--- /dev/null
+++ b/Test/test_python_bad_date.py
@@ -0,0 +1,92 @@
+import cmor
+import numpy
+
+def cmor_initialisation():
+    cmor.setup(inpath='Tables',
+               netcdf_file_action = cmor.CMOR_REPLACE_3,
+               create_subdirectories = 0)
+    cmor.dataset('pre-industrial control', 'ukmo', 'HadCM3', '360_day',
+                 institute_id = 'ukmo',
+                 model_id = 'HadCM3',
+                 history = 'some global history',
+                 forcing = 'N/A',
+                 parent_experiment_id = 'N/A',
+                 parent_experiment_rip = 'N/A',
+                 branch_time = 0.,
+                 contact = 'bob',
+                 outpath = 'Test')
+
+def setup_data():
+    ntimes=7200
+    tvals = numpy.arange(ntimes)*6.
+    tbnds = list(tvals)
+    tbnds.append(43200)
+    tbnds=numpy.array(tbnds)-3.
+    print "tvals:",tvals
+    print "tbnds:",tbnds
+    import cdtime
+    tunits='hours since 209-01-01 06:00:00'
+    t1=cdtime.reltime(tvals[0],tunits)
+    t2=cdtime.reltime(tvals[-1],tunits)
+    t3=cdtime.reltime(tbnds[-1],tunits)
+    print t1.tocomp(),t1.tocomp(cdtime.Calendar360)
+    print t2.tocomp(),t2.tocomp(cdtime.Calendar360)
+    print t3.tocomp(),t3.tocomp(cdtime.Calendar360)
+    
+    axes = [ {'table_entry': 'time1',
+              'units': tunits,
+              'coord_vals' : tvals,
+              'cell_bounds' : tbnds,
+              },
+             {'table_entry': 'latitude',
+              'units': 'degrees_north',
+              'coord_vals': [0],
+              'cell_bounds': [-5,5]},
+             {'table_entry': 'longitude',
+              'units': 'degrees_east',
+              'coord_vals': [0],
+              'cell_bounds':[-10,10]},
+             ## {'table_entry': 'depth',
+             ##  'units': 'm',
+             ##  'coord_vals': [10],
+             ##  'cell_bounds': [5,15]},
+             ]
+
+    values = numpy.ones(ntimes)*1013.
+    return values.astype("f"), axes
+
+def cmor_define_and_write(values, axes):
+    table = '/git/cmip5-cmor-tables/Tables/CMIP5_6hrPlev'
+    cmor.load_table(table)
+    ## lev_axis_id = cmor.axis(**axes[2])
+    lon_axis_id = cmor.axis(**axes[2])
+
+    lat_axis_id = cmor.axis(**axes[1])
+
+    time_axis_id = cmor.axis(**axes[0])
+
+    #gid = cmor.grid([site_axis_id,],latitude=numpy.array([-20,]),longitude=numpy.array([150,]))
+
+
+    axis_ids = [time_axis_id,lat_axis_id,lon_axis_id]
+    varid = cmor.variable('psl',
+                          'hPa',
+                          axis_ids,
+                          history = 'variable history',
+                          missing_value = -99,
+                          )
+
+    cmor.write(varid, values)
+    return varid
+    
+    
+def main():
+    
+    cmor_initialisation()
+    values,axes = setup_data()
+    vid = cmor_define_and_write(values, axes)
+    print cmor.close(var_id=vid,file_name=True)
+    
+if __name__ == '__main__':
+
+    main()
diff --git a/Test/test_python_bentley_01.py b/Test/test_python_bentley_01.py
index 621349f..c50dc81 100644
--- a/Test/test_python_bentley_01.py
+++ b/Test/test_python_bentley_01.py
@@ -1,8 +1,9 @@
 import cmor
 import numpy
+import cdtime
 
 def cmor_initialisation():
-    cmor.setup(inpath='Tables',
+    cmor.setup(inpath='/git/cmip5-cmor-tables/Tables',
                netcdf_file_action = cmor.CMOR_REPLACE_3,
                create_subdirectories = 0)
     cmor.dataset('pre-industrial control', 'ukmo', 'HadCM3', '360_day',
@@ -14,58 +15,66 @@ def cmor_initialisation():
                  parent_experiment_rip = 'N/A',
                  branch_time = 0.,
                  contact = 'bob',
-                 outpath = 'Test')
+                 outpath = './out')
 
 def setup_data():
-    tvals = [ 149.833333333333, 149.854166666667, 149.875, 149.895833333333,
-              149.916666666667, 149.9375, 149.958333333333, 149.979166666667]
-    tbnds = list(tvals)
-    tbnds.append(150)
     axes = [ {'table_entry': 'time1',
               'units': 'days since 2000-01-01 00:00:00',
-              'coord_vals' : tvals,
-              'cell_bounds' : tbnds,
               },
              {'table_entry': 'site',
               'units': '',
               'coord_vals': [0]},
-             {'table_entry': 'smooth_level',
+             {'table_entry': 'hybrid_height',
               'units': 'm',
-              'coord_vals': [10],
-              'cell_bounds': [5,15]},
+              'coord_vals': range(2),
+              'cell_bounds': [[x-0.5, x+0.5] for x in range(2)],
+              },
              ]
 
-    values = numpy.array([215.], numpy.float32)
+    values = numpy.array([0.5, 0.5], numpy.float32)
     return values, axes
 
 def cmor_define_and_write(values, axes):
     table = 'CMIP5_cfSites'
     cmor.load_table(table)
-    lev_axis_id = cmor.axis(**axes[2])
-    site_axis_id = cmor.axis(**axes[1])
 
-    time_axis_id = cmor.axis(**axes[0])
+    axis_ids = list()
+    for axis in axes:
+        axis_id = cmor.axis(**axis)
+        axis_ids.append(axis_id)
 
-    gid = cmor.grid([site_axis_id,],latitude=numpy.array([-20,]),longitude=numpy.array([150,]))
+    igrid = cmor.grid([axis_ids[1]], [0.], [0.])
+    cmor.zfactor(axis_ids[2], 'b', axis_ids = [axis_ids[2]],
+                 zfactor_values = range(2),
+                 zfactor_bounds = [[x-0.5, x+0.5] for x in range(2)])
 
+    cmor.zfactor(axis_ids[2], 'orog', 'm', axis_ids = [igrid],
+                 zfactor_values = [0])
 
-    axis_ids = [time_axis_id,gid,lev_axis_id]
+    ids_for_var = [axis_ids[0], igrid, axis_ids[2]]
     varid = cmor.variable('tnhus',
                           's-1',
-                          axis_ids,
+                          ids_for_var,
                           history = 'variable history',
                           missing_value = -99,
                           )
 
-    cmor.write(varid, values)
-    
-    
+    for time in [x * 1800./ 86400 for x in range(48)]:
+        time += 1./3600./24.
+        tr = cdtime.reltime(time,axes[0]["units"])
+        print "Writing: %.03f" % time,"|",tr.tocomp(cdtime.Calendar360),"|",tr.tocomp()
+        cmor.write(varid, values, time_vals = [time])
+    return varid
+
+
 def main():
     
     cmor_initialisation()
     values, axes = setup_data()
-    cmor_define_and_write(values, axes)
-    print cmor.close(file_name=True)
+    varid = cmor_define_and_write(values, axes)
+    fname =  cmor.close(varid, file_name = True)
+    print "Done:",fname
+
     
 if __name__ == '__main__':
 
diff --git a/configure b/configure
index 190aa39..d7c2172 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for cmor 2.5.9.
+# Generated by GNU Autoconf 2.61 for cmor 2.6.0.
 #
 # Report bugs to <doutriaux1 at llnl.gov>.
 #
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='cmor'
 PACKAGE_TARNAME='cmor'
-PACKAGE_VERSION='2.5.9'
-PACKAGE_STRING='cmor 2.5.9'
+PACKAGE_VERSION='2.6.0'
+PACKAGE_STRING='cmor 2.6.0'
 PACKAGE_BUGREPORT='doutriaux1 at llnl.gov'
 
 ac_default_prefix=/usr/local/cmor
@@ -1185,7 +1185,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures cmor 2.5.9 to adapt to many kinds of systems.
+\`configure' configures cmor 2.6.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1251,7 +1251,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of cmor 2.5.9:";;
+     short | recursive ) echo "Configuration of cmor 2.6.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1350,7 +1350,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-cmor configure 2.5.9
+cmor configure 2.6.0
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1364,7 +1364,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by cmor $as_me 2.5.9, which was
+It was created by cmor $as_me 2.6.0, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -4989,7 +4989,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by cmor $as_me 2.5.9, which was
+This file was extended by cmor $as_me 2.6.0, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5032,7 +5032,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-cmor config.status 2.5.9
+cmor config.status 2.6.0
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index d8ada66..904d354 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ dnl                                                -*- Autoconf -*-
 dnl  Process this file with autoconf to produce a configure script.
 
 dnl AC_PREREQ(2.59)
-AC_INIT(cmor, 2.5.9, doutriaux1 at llnl.gov)
+AC_INIT(cmor, 2.6.0, doutriaux1 at llnl.gov)
 
 GIT_TAG=`./get_git_version.sh`
 
diff --git a/data/tas_sample.nc b/data/tas_sample.nc
deleted file mode 100644
index 602789c..0000000
Binary files a/data/tas_sample.nc and /dev/null differ
diff --git a/include/cmor.h b/include/cmor.h
index 55c34e0..51076c1 100644
--- a/include/cmor.h
+++ b/include/cmor.h
@@ -2,8 +2,8 @@
 #define CMOR_H
 
 #define CMOR_VERSION_MAJOR 2
-#define CMOR_VERSION_MINOR 5
-#define CMOR_VERSION_PATCH 9
+#define CMOR_VERSION_MINOR 6
+#define CMOR_VERSION_PATCH 0
 
 #define CMOR_CF_VERSION_MAJOR 1
 #define CMOR_CF_VERSION_MINOR 4
@@ -255,6 +255,8 @@ typedef struct cmor_table_ {
   cmor_mappings_t mappings[CMOR_MAX_ELEMENTS];
   float missing_value;
   double interval;
+  float interval_warning;
+  float interval_error;
   char URL[CMOR_MAX_STRING];
   char product[CMOR_MAX_STRING];
   char realm[CMOR_MAX_STRING];

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