[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